Поток метаданных HLS MPEG-TS с использованием FFMPEG
Я хочу создать сегмент MPEG TS для потоковой передачи HLS. TS должны содержать метаданные в виде отдельного потока, как показано ниже:
**Stream #0:0**[0x102]: Data: timed_id3 (ID3 / 0x20334449)
**Stream #0:1**[0x100]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p, 426x240, 25 fps, 25 tbr, 90k tbn, 6k tbc
**Stream #0:2**[0x101]: Audio: aac ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp, 98 kb/s
Я использую ffmpeg и пробовал различные варианты. Я получаю следующую структуру
**service_name** : Service01
**service_provider**: FFmpeg
**Stream #0:0[0x100]**: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv), 720x576 [SAR 1:1 DAR 5:4], max. 104857 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
**Stream #0:1[0x101]**: Audio: mp2 ([3][0][0][0] / 0x0003), 16000 Hz, mono, s16p, 143 kb/s
используя следующую команду:
ffmpeg -i news.ts -t 10 -metadata:s:v:0 TITLE="Some Provider" -id3v2_version 4 -write_id3v1 1 segid3.ts
Как получить метаданные в виде отдельного потока в файле ts с помощью ffmpeg?
1 ответ
Пытаться:
ffmpeg -i news.ts -t 10 -metadata:s:v:0 TITLE="Some Provider" -id3v2_version 4 -write_id3v1 1 -map 0:0 -map 0:1 -map 0:2 -c copy segid3.ts
Объяснение: -map 0:0 -map 0:1 -map 0:2 отобразит входной поток 0:0, 0:1 и 0:2 на выходной поток 0:0, 0:1 и 0:2 соответственно. -c copy скопирует входной поток в выходной поток.