Log in

View Full Version : Помощь в ffmpeg -> rtmp -> nginx -> HLS Streaming



Sedoy
28.01.2015, 17:44
Вляпался в задачку стриминга видео с устройства видеозахвата , на JS/Flash плеер. Удалось побороть собственно стриминг видео и аудио в HLS и даже прикрутить пару плееров к этому :mad:
Но осталась огромная проблемма с EIA-607/708 captions (субтитрами) встроенными в изначальное видео в метаданных , их нужно в итоге перекинуть в HLS.
Пока встал на том что ffmepg не может сконвертить изначальный поток субтитров в стрим , дабы засунуть его в rtmp.
параметры видео:



Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'E:\Distr\nginx_rtmp_171_114\var\videos\
cpcdemo.mov':
Metadata:
major_brand : qt
minor_version : 512
compatible_brands: qt
encoder : Lavf56.19.100
Duration: 00:01:45.91, start: 0.000000, bitrate: 942 kb/s
Stream #0:0(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, flt
p, 131 kb/s (default)
Metadata:
handler_name : DataHandler
Stream #0:1(eng): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yu
v420p(tv, smpte170m/smpte170m/bt709), 480x270 [SAR 1:1 DAR 16:9], 800 kb/s, 23.9
8 fps, 23.98 tbr, 23976 tbn, 47952 tbc (default)
Metadata:
handler_name : DataHandler
Stream #0:2(eng): Subtitle: eia_608 (c608 / 0x38303663), 480x270, 4 kb/s (de
fault)
Metadata:
handler_name : DataHandler
[flv @ 02eed660] Subtitle codec 'eia_608' for stream 2 is not compatible with FLV
Output #0, flv, to 'rtmp://localhost/live-hls/mystream':
Metadata:
major_brand : qt
minor_version : 512
compatible_brands: qt
encoder : Lavf56.19.100
Stream #0:0(eng): Audio: mp3 (libmp3lame) ([2][0][0][0] / 0x0002), 44100 Hz,
stereo, fltp (default)
Metadata:
handler_name : DataHandler
encoder : Lavc56.20.100 libmp3lame
Stream #0:1(eng): Video: flv1 (flv) ([2][0][0][0] / 0x0002), yuv420p, 480x27
0 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 23.98 fps, 1k tbn, 23.98 tbc (default)
Metadata:
handler_name : DataHandler
encoder : Lavc56.20.100 flv
Stream #0:2(eng): Subtitle: eia_608 (c608 / 0x38303663), 480x270, 4 kb/s (de
fault)
Metadata:
handler_name : DataHandler
Stream mapping:
Stream #0:0 -> #0:0 (aac (native) -> mp3 (libmp3lame))
Stream #0:1 -> #0:1 (h264 (native) -> flv1 (flv))
Stream #0:2 -> #0:2 (copy)
Could not write header for output file #0 (incorrect codec parameters ?): Invali
d data found when processing input

Видео публикуется так


ffmpeg -re -i E:\Distr\nginx_rtmp_171_114\var\videos\cpcdemo.mov -c copy -f flv rtmp://localhost/live-hls/mystream