Difference between revisions of "User:StasFomin/GstreamerTranslation"

From Wiki4Intranet
Jump to: navigation, search
(Sample 04)
(Sample 04)
Line 112: Line 112:
 
! x264enc bitrate=768 tune=zerolatency pass=17  \
 
! x264enc bitrate=768 tune=zerolatency pass=17  \
 
! mux. mux. ! filesink location="out.flv"
 
! mux. mux. ! filesink location="out.flv"
 +
</pre>
 +
 +
=== Sample 05 ===
 +
Проверенный работающий пример от gmelnikov.
 +
 +
Пытался запустить на своем тестовом
 +
https://cloud.mail.ru/public/2KtUehQBJLx2/mydump.ts
 +
 +
<pre>
 +
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
 +
</pre>
 +
 +
Получил ошибки
 +
<pre>
 +
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...
 +
Освобождение конвейера...
 
</pre>
 
</pre>

Revision as of 01:41, 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.


Stas-gst-sample-02.svg

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.

Stas-gst-sample-03.svg

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"

Stas-gst-sample-04.svg

Вариант, который можно тестировать на тестовом входном файле 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

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...
Освобождение конвейера...