Difference between revisions of "User:StasFomin/GstreamerTranslation"
(→Sample 04) |
(→Sample 05) |
||
Line 120: | Line 120: | ||
https://cloud.mail.ru/public/2KtUehQBJLx2/mydump.ts | https://cloud.mail.ru/public/2KtUehQBJLx2/mydump.ts | ||
+ | Версия 0.10 зафейлилась | ||
<pre> | <pre> | ||
gst-launch-0.10 \ | gst-launch-0.10 \ | ||
Line 162: | Line 163: | ||
Освобождение конвейера... | Освобождение конвейера... | ||
</pre> | </pre> | ||
+ | |||
+ | Версия 1.0 не упала, | ||
+ | <pre> | ||
+ | gst-launch-1.0 \ | ||
+ | filesrc location=mydump.ts \ | ||
+ | ! tsdemux name=dem \ | ||
+ | ! queue \ | ||
+ | ! ac3parse \ | ||
+ | ! a52dec \ | ||
+ | ! audioconvert \ | ||
+ | ! audioresample \ | ||
+ | ! flvmux streamable=1 name=mux \ | ||
+ | dem. \ | ||
+ | ! queue \ | ||
+ | ! mpegvideoparse \ | ||
+ | ! mpeg2dec \ | ||
+ | ! x264enc bitrate=768 tune=zerolatency pass=17 ! \ | ||
+ | mux. mux.! \ | ||
+ | filesink location=test.flv | ||
+ | </pre> | ||
+ | |||
+ | но тестовый файл пустой. |
Revision as of 01:43, 23 April 2015
gst-launch hdv1394src ! queue ! decodebin name=d ! queue ! xvimagesink d. ! queue ! alsasink
— Работает, показывает.
Надо задемуксить, и собрать FLV-поток в RTMP.
Путаюсь в mux-demux синтаксисе.
Sample 01
Без звука уже получается... осталось засунуть звук
gst-launch-1.0 -v \ hdv1394src \ ! queue \ ! tsdemux name=demux\ ! queue \ ! mpeg2dec \ ! queue \ ! x264enc bitrate=700 tune=zerolatency pass=17 \ ! queue \ ! flvmux streamable=1 name=mux \ ! fakesinc
Sample 02
Вот тут я считал, что demux. в предпоследней строчке даст аудиопоток, который придет в flvmux. Но по графу, видно, что не пришел, т.е. «demux.» ссылка почему-то не работает..
gst-launch-1.0 -v \ hdv1394src \ ! queue \ ! tsdemux name=demux\ ! queue \ ! mpeg2dec \ ! queue \ ! x264enc bitrate=700 tune=zerolatency pass=17 \ ! queue \ ! flvmux streamable=1 name=mux \ ! filesink location="output.flv" \ demux. ! audioresample ! voaacenc bitrate=64 \ ! mux.
Sample 03
Попытки указать порт для звука (с видео все и так вроде отлично) не помогают.
gst-launch-1.0 -v \ filesrc location=mydump.ts \ ! queue \ ! tsdemux name=demux\ ! queue \ ! mpeg2dec \ ! queue \ ! x264enc bitrate=700 tune=zerolatency pass=17 \ ! queue \ ! flvmux streamable=1 name=mux \ ! fakesink \ demux.audio_0814 ! audioresample ! voaacenc bitrate=64 \ ! mux.
Sample 04
Помощь от gmelnikov
gst-launch hdv1394src \ ! tsdemux name=dem \ ! queue \ ! ac3parse \ ! a52dec \ ! audioconvert \ ! audioresample \ ! flvmux streamable=1 name=mux \ dem. \ ! queue \ ! mpegvideoparse \ ! mpeg2dec \ ! x264enc bitrate=768 tune=zerolatency pass=17 \ ! mux. mux. ! filesink location="out.flv"
Вариант, который можно тестировать на тестовом входном файле https://cloud.mail.ru/public/2KtUehQBJLx2/mydump.ts
gst-launch filesrc location="mydump.ts" \ ! tsdemux name=dem \ ! queue \ ! ac3parse \ ! a52dec \ ! audioconvert \ ! audioresample \ ! flvmux streamable=1 name=mux \ dem. \ ! queue \ ! mpegvideoparse \ ! mpeg2dec \ ! x264enc bitrate=768 tune=zerolatency pass=17 \ ! mux. mux. ! filesink location="out.flv"
Sample 05
Проверенный работающий пример от gmelnikov.
Пытался запустить на своем тестовом https://cloud.mail.ru/public/2KtUehQBJLx2/mydump.ts
Версия 0.10 зафейлилась
gst-launch-0.10 \ filesrc location=mydump.ts \ ! tsdemux name=dem \ ! queue \ ! ac3parse \ ! a52dec \ ! audioconvert \ ! audioresample \ ! flvmux streamable=1 name=mux \ dem. \ ! queue \ ! mpegvideoparse \ ! mpeg2dec \ ! x264enc bitrate=768 tune=zerolatency pass=17 ! \ mux. mux.! \ filesink location=test.flv
Получил ошибки
No accelerated IMDCT transform found Подготовка конвейера (PREROLL)... 0:00:00.039853666 14497 0x1cb20f0 WARN mpegtsbase mpegtsbase.c:843:mpegts_base_apply_pmt: Got pmt without pat first. Returning 0:00:00.039918622 14497 0x1cb20f0 WARN mpegtsbase mpegtsbase.c:961:mpegts_base_handle_psi:<dem> bad crc in psi pid 0x810 0:00:00.040253360 14497 0x1cb20f0 WARN mpegtsbase mpegtsbase.c:961:mpegts_base_handle_psi:<dem> bad crc in psi pid 0x814 0:00:00.040726205 14497 0x1cb20f0 WARN mpegtsbase mpegtsbase.c:961:mpegts_base_handle_psi:<dem> bad crc in psi pid 0x810 0:00:00.040803007 14497 0x1cb20f0 WARN mpegtsbase mpegtsbase.c:961:mpegts_base_handle_psi:<dem> bad crc in psi pid 0x814 0:00:00.041350560 14497 0x1cb20f0 WARN mpegtsbase mpegtsbase.c:961:mpegts_base_handle_psi:<dem> bad crc in psi pid 0x814 0:00:00.041469962 14497 0x1cb20f0 WARN mpegtsbase mpegtsbase.c:961:mpegts_base_handle_psi:<dem> bad crc in psi pid 0x810 0:00:00.041866178 14497 0x1cb20f0 WARN mpegtsbase mpegtsbase.c:961:mpegts_base_handle_psi:<dem> bad crc in psi pid 0x814 0:00:00.043802936 14497 0x1cb20f0 ERROR mpegtsbase mpegtsbase.c:895:mpegts_base_apply_pmt: Attempted to apply a PMT on a program that wasn't created 0:00:00.049958082 14497 0x1cb20f0 WARN mpegtsbase mpegtsbase.c:1409:mpegts_base_loop:<dem> error: Внутренняя ошибка потока данных. 0:00:00.050013169 14497 0x1cb20f0 WARN mpegtsbase mpegtsbase.c:1409:mpegts_base_loop:<dem> error: stream stopped, reason error ОШИБКА: из элемента /GstPipeline:pipeline0/GstTSDemux:dem: Внутренняя ошибка потока данных. Дополнительная отладочная информация: mpegtsbase.c(1409): mpegts_base_loop (): /GstPipeline:pipeline0/GstTSDemux:dem: stream stopped, reason error ОШИБКА: конвейер не хочет подготавливаться (PREROLL). Установка конвейера в состояние NULL... Освобождение конвейера...
Версия 1.0 не упала,
gst-launch-1.0 \ filesrc location=mydump.ts \ ! tsdemux name=dem \ ! queue \ ! ac3parse \ ! a52dec \ ! audioconvert \ ! audioresample \ ! flvmux streamable=1 name=mux \ dem. \ ! queue \ ! mpegvideoparse \ ! mpeg2dec \ ! x264enc bitrate=768 tune=zerolatency pass=17 ! \ mux. mux.! \ filesink location=test.flv
но тестовый файл пустой.