Esto funciona:¿Por qué se bloquea este gstreamer pipeline?
gst-launch-0.10 \
videotestsrc ! ffmpegcolorspace ! 'video/x-raw-yuv' ! mux. \
audiotestsrc ! audioconvert ! 'audio/x-raw-int,rate=44100,channels=1' ! mux. \
avimux name=mux ! filesink location=gst.avi
puedo dejar correr el agua durante un tiempo, lo mata, y luego totem gst.avi
muestra una tarjeta de prueba con buen tono.
Sin embargo, tratando de hacer algo más útil como
gst-launch-0.10 \
filesrc location=MVI_2034.AVI ! decodebin name=dec \
dec. ! ffmpegcolorspace ! 'video/x-raw-yuv' ! mux. \
dec. ! audioconvert ! 'audio/x-raw-int,rate=44100,channels=1' ! mux. \
avimux name=mux ! filesink location=gst.avi
sólo muestra
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
y luego puestos indefinidamente.
¿Cuál es el truco para obtener la versión con decodebin rodando?
Cuando se produce muxing o demuxing, se requieren búferes. Ahí es donde entran los elementos de cola. Puede ajustarlo más especificando el número de almacenamientos intermedios en la cola. –
Gracias por la sugerencia. Resulta que mientras la tubería de arriba funciona para un video de 640x480, tuve que aumentar los bytes de tamaño máximo de la cola de video para lograr que no se bloqueara con el contenido de 1280x720. – timday