Como adicionar elementos de áudio e vídeo para gstreamer com qtdemux

Como adicionar elementos de áudio e vídeo para gstreamer com qtdemux

Quero transmitir um vídeo do YouTube usando o gstreamer. Então dei o seguinte comando na linha de comando:

gst-launch-0.10 souphttpsrc location=$(/usr/local/bin/youtube-dl -g -f 18 i4jTHhXuKLA) ! typefind ! qtdemux name=demux demux.audio_00 ! multiqueue ! aacparse ! faad ! audioconvert ! pulsesink demux.video_00 ! multiqueue ! h264parse ! video/x-h264 ! ffdec_h264 ! videoscale ! video/x-raw-yuv,width=1024,height=768 ! sdlvideosink

Depois disso, uma janela é aberta sem reprodução de vídeo ou áudio. Obtive a seguinte saída na linha de comando:

Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...

Então tentei o seguinte comando apenas com elementos de áudio:

gst-launch-0.10 souphttpsrc location=$(/usr/local/bin/youtube-dl -g -f 18 i4jTHhXuKLA) ! typefind ! qtdemux name=demux demux.audio_00 ! multiqueue ! aacparse ! faad ! audioconvert ! pulsesink 

Tudo bem, consigo ouvir a saída de áudio.

Da mesma forma, quando dei o seguinte comando apenas com elementos de vídeo:

gst-launch-0.10 souphttpsrc location=$(/usr/local/bin/youtube-dl -g -f 18 i4jTHhXuKLA) ! typefind ! qtdemux name=demux demux.video_00 ! multiqueue ! h264parse ! video/x-h264 ! ffdec_h264 ! videoscale ! video/x-raw-yuv,width=1024,height=768 ! sdlvideosink

Consigo ver o vídeo sendo reproduzido sem áudio.

Por favor me ajude onde errei...

Responder1

Você pode conseguir a mesma coisa com playbin2:

gst-launch-0.10 playbin2 uri=$(/usr/local/bin/youtube-dl -g -f 18 i4jTHhXuKLA)

Para obter informações, este é o pipeline criado por playbin2 (use "Exibir imagem" do seu navegador para obtê-lo em tamanho real):

insira a descrição da imagem aqui

Se você precisar renderizar o stream de vídeo em 1024x768, tente o seguinte pipeline:

gst-launch-0.10 uridecodebin name=dec uri=$(/usr/local/bin/youtube-dl -g -f 18 i4jTHhXuKLA)  ! queue ! autoaudiosink dec. ! queue  ! videoscale ! video/x-raw-yuv,width=1024,height=768 ! autovideosink

Ambos testaram OK em 14.04.

informação relacionada