LINUX.ORG.RU

Не показывает metadata в segment.ts на hls потоке

 


0

1

Ffmpeg не хочет отдавать метаданные к hls

Input #0, ffmetadata, from ‘/radio/metadata.txt’: Metadata: composer : Willie Royal title : Napali artist : Willie & Lobo album : Caliente genre : Jazz track : 2/11 date : 1997 album_artist : Willie & Lobo Duration: N/A, start: 0.000000, bitrate: N/A Output #0, hls, to ‘/radio/stream.m3u8’: Output file #0 does not contain any stream

Как решить?



Последнее исправление: Diman779 (всего исправлений: 2)
Ответ на: комментарий от Tanger

У вас телеграмм есть ? Если там объяснить подробнее можно?

Мой телеграмм https://t.me/Diman779 Чиркните пожалуйста

Проблема такова ffmpeg не хочет отдавать метаданные в hls segment.ts что только не пытались делать …

Diman779
() автор топика
Ответ на: комментарий от Diman779

ffmpeg не отдает segment.ts. Его отдает медиа-сервер. А какой он и как ему передается поток - в посте информации нет.

Tanger ★★★★★
()
Ответ на: комментарий от Diman779

Если хочешь, чтобы тебе кто-то помог решить проблему - опиши её нормально. У тебя же написано «у меня не работает, помогите».

Если хочешь, чтобы кто-то решил проблему за тебя - пиши в раздел Job.

Почитай вот это: https://www.opennet.ru/docs/RUS/smart_question/ (частично устарело)

Tanger ★★★★★
()
Ответ на: комментарий от Tanger

Можно в телеграмм ?

Версия самая последняя…

Способы разные были

И через nginx и напрямую

ffmpeg -i /radio/metadata.txt -map_metadata 1 /radio/stream.m3u8

Не помогает

Diman779
() автор топика
Ответ на: комментарий от Tanger

ffmpeg version 4.2.1 Copyright (c) 2000-2019 the FFmpeg developers built with gcc 9 (Ubuntu 9.3.0-17ubuntu1~20.04) configuration: –prefix=/root/ffmpeg_build –extra-cflags=-I/root/ffmpeg_build/include –extra-ldflags=-L/root/ffmpeg_build/lib –bindir=/root/bin –extra-libs=-ldl –enable-gpl –enable-libass –enable-libfdk-aac –enable-libmp3lame –enable-nonfree libavutil 56. 31.100 / 56. 31.100 libavcodec 58. 54.100 / 58. 54.100 libavformat 58. 29.100 / 58. 29.100 libavdevice 58. 8.100 / 58. 8.100 libavfilter 7. 57.100 / 7. 57.100 libswscale 5. 5.100 / 5. 5.100 libswresample 3. 5.100 / 3. 5.100 libpostproc 55. 5.100 / 55. 5.100

Diman779
() автор топика
Ответ на: комментарий от Diman779

Можно в телеграмм ?

не…

ffmpeg -i /radio/metadata.txt -map_metadata 1 /radio/stream.m3u8

Так добавляй метаданные во время генерации всего потока. Какой командой ты ts получаешь?

Tanger ★★★★★
()
Ответ на: комментарий от Diman779

Или так делай:

mkdir old_ts
mv *.ts old_ts
cd old_ts
for i in *ts; do
  ffmpeg -i $i -i /radio/metadata.txt -map_metadata 1:s:0 -map 0:0 -c copy ../$i
done;
Tanger ★★★★★
()
Ответ на: комментарий от Tanger

Этой командой ffmpeg_cmd = ’ffmpeg -i - -y -c:a aac -flags global_header -metadata title=«Название» -f hls -hls_flags delete_segments -segment_time 15 -initial_offset 10 -segment_list_type m3u8 -segment_list_size 10 -segment_format mpegts -segment_list «stream.m3u8» «segment_%d.ts»

Diman779
() автор топика
Ответ на: комментарий от Tanger

На выходе получаю

Output #0, hls, to ‘segment_%d.ts’: Metadata: title : Название encoder : Lavf58.29.100 Stream #0:0: Audio: aac (LC), 44100 Hz, stereo, fltp, 128 kb/s Metadata: encoder : Lavc58.54.100 aac

Diman779
() автор топика
Ответ на: комментарий от Diman779

я правильно понял, что ты через ffmpeg нарезаешь поток на ts и хочешь динамически менять метаданные на выходе?

Tanger ★★★★★
()
Ответ на: комментарий от Tanger

Stream #0:0: Audio: aac (LC) ([10][0][0][0] / 0x000A), 44100 Hz, stereo, fltp, 128 kb/s Metadata: title : AUDIO_TITLE encoder : Lavc58.54.100 aac

Diman779
() автор топика
Ответ на: комментарий от Tanger

Output #0, flv, to ‘rtmp://localhost/show/stream’: Metadata: icy-br : 128 icy-description : Stream transcoder based on liquidsoap icy-genre : various icy-name : europaplus icy-pub : 1 icy-url : http://95.213.143.165:8010/europaplus320.mp3 StreamTitle : service_name : PROGRAM_TITLE encoder : Lavf58.29.100 Stream #0:0: Audio: aac (LC) ([10][0][0][0] / 0x000A), 44100 Hz, stereo, fltp, 128 kb/s Metadata: title : AUDIO_TITLE encoder : Lavc58.54.100 aac

Diman779
() автор топика
Ответ на: комментарий от Diman779

обновляете ffmpeg до последней версии

если это не помогает, идете к разработчикам ffmpeg

либо идете на в джоб и предлагаете за деньги решить другим вашу проблему

anonymous
()
Ответ на: комментарий от Diman779

К чему этот выхлоп? При чем тут rtmp? Осиль форматирование в markdown.

http://95.213.143.165:8010/europaplus320.mp3

Это вообще какой-нибудь icecast/shoutcast вещает.

Ты вообще какую задачу глобально решаешь?

ffmpeg режет метаданные и на выходе выходит голый ts фрагмент …

Так тебе надо чтобы просто статичные метаданные были? Или что бы ты мог их поменять без остановки потока?

Если первое - просто добавь -map_metadata 0:s:0 в ffmpeg_cmd. Если второе - то не уверен, что это вообще возможно штатно через ffmpeg.


ffmpeg -i /radio/metadata.txt -map_metadata 1 /radio/stream.m3u8

Так ты хочешь изменить данные в /radio/stream.m3u8? ffmpeg так не работает. Ему нужны явно заданные входные данные и выходные.


Можешь поизучать/пропатчить код для hls: https://github.com/FFmpeg/FFmpeg/blob/master/libavformat/hls.c


Точно ли тебе hls нужен? Тот же icecast не подходит?

Tanger ★★★★★
()
Ответ на: комментарий от Tanger

Тяну радио потоковую ссылку через трасдекодер и на выходе hls получаю правда голый без метаданных

Diman779
() автор топика
Ответ на: комментарий от Tanger

Есть такое решение но не можем запустить нормально https://github.com/dusterio/hlsinjector

пытаюсь но нужен план как скормить в ts

я сделал но выводит ошибку

4.2.1 TALB [#TALB Album/Movie/Show title]

./injector.php -i segment_1.ts -e 1meta.txt -o out.ts -m inject Empty metadata file or wrong format

Есть предложение?

Diman779
() автор топика
Ответ на: комментарий от Diman779

Никуда, тут пиши. Переход в личные сообщения для решения проблем не приняты тут. Если проблема решается, то не только для тебя, а для всех кто с ней может столкнуться и потом найти решение тут если оно будет.

anonymous
()
Ответ на: комментарий от anonymous

Тут это крайне долго .. а решение можно сюда в конце тестов выложить

Diman779
() автор топика
Ответ на: комментарий от Tanger

Так из файла надо написать правильный формат

содержание файла

Diman779
() автор топика
Ответ на: комментарий от Diman779

формат файла на гитхабе написан

иди уже на фриланс, поставь адекватный ценник

и пусть за тебя кто то решит твою задачу

а то еще долго будешь опусы на форуме толкать

балерины не разбираются в нанотехнологиях

а ты не разбираешься в целом в ИТ, это очевидно

anonymous
()
Ответ на: комментарий от anonymous

А ты здесь не умничи не знаешь не суй свой нос вовсе дыры … ещё под анонимом сидит кукарекает там

Diman779
() автор топика
Ответ на: комментарий от anonymous

Ставить свои предложения своей жене … если помочь не можете не суйте свой нос

Diman779
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.