Как я могу переименовать файлы ts в плейлисте m3u8

У меня есть команда ffmpeg, которая преобразует поток rtmp в прямую трансляцию http:

ffmpeg.exe -loglevel info -i %stream_input% -g 250 -r 15 -sc_threshold 0 -preset slow -keyint_min 15 -c:v libx264 -ar 44100 -b:v 200k -b:a 64k -profile:v baseline -level 3.0 -s 400x224 -aspect 16:9 -maxrate 200k -bufsize 1000k -map 0 -flags -global_header -f segment -segment_time 10 -segment_wrap 3 -segment_list_flags +live -segment_list_type m3u8 -segment_list playlist.m3u8 -segment_format mpegts segment%05d.ts 1>output.txt

Эта команда создает файлы ts и плейлист m3u8. Что я хочу сделать, так это сохранить имена файлов ts одинаковыми, но переименовать их в списке воспроизведения. Например, файл сегмента: segment00000.ts, в списке воспроизведения: Segment.aspx?ts=00000

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-ALLOW-CACHE:YES
#EXT-X-TARGETDURATION:17
#EXTINF:16.692244,
segment00000.ts -> Rename it to Segment.aspx?ts=00000
#EXTINF:16.680789,
segment00001.ts

Возможно ли это с ffmpeg?


person Okan Guner    schedule 10.11.2013    source источник


Ответы (2)


Я предполагаю, что вы делаете это, потому что вы запускаете службу перед сервером для управления правами на контент или что-то в этом роде. В этом случае я бы попросил сервер обработать запрос на .m3u8 и сгенерировать новый с именем файла, которое вы ищете. Это тривиальный формат файла, и любой язык, который вы используете, должен очень легко это сделать.

person jeremy    schedule 11.11.2013

Нет, в ffmpeg это невозможно. Достаточно просто изменить способ генерации имен файлов и перекомпилировать его.

person vipw    schedule 11.11.2013
comment
Похоже, это вызовет массу проблем, если он захочет в будущем обновиться до более новых версий FFmpeg... - person jeremy; 11.11.2013
comment
да, поддержание патча в 1 строку — это куча проблем. - person vipw; 12.11.2013