Quiero transmitir un video de youtube usando gstreamer. Entonces di el siguiente comando en la línea 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
Después de eso, se abre una ventana sin reproducción de video ni audio. Obtuve el siguiente resultado en la línea de comando:
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Entonces probé el siguiente comando solo con elementos de audio:
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
Está bien, puedo escuchar la salida de audio.
De manera similar, cuando di el siguiente comando solo con elementos de video:
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
Puedo ver el video reproduciéndose sin audio.
Por favor, ayúdenme en qué me equivoqué...
Respuesta1
Puedes lograr lo mismo con playbin2
:
gst-launch-0.10 playbin2 uri=$(/usr/local/bin/youtube-dl -g -f 18 i4jTHhXuKLA)
Para obtener información, este es el canal creado por playbin2 (use "Ver imagen" desde su navegador para verlo en tamaño completo):
Si necesita renderizar la transmisión de video a 1024x768, pruebe con la siguiente canalización:
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 dieron positivo el 14.04.