ffmpeg - GStreamer force tipo de salida decodebin2
pipeline (2)
Intento escribir un programa en C que replique la canalización:
gst-launch -v filesrc location="bbb.mp4" ! decodebin2 ! ffmpegcolorspace ! autovideosink
DecodeBin2 tiene una plataforma dinámica y he adjuntado una devolución de llamada para manejar su creación. Sin embargo, no puedo vincularlo a ffmpegcolorspace porque la capacidad del pad es siempre de video / quicktime. Me gustaría que sea video / x-raw-yuv o algo más que sea compatible con ffmpegcolorspace.
¿Es posible forzar / seleccionar el tipo de salida de decodebin2?
Gracias.
EDITAR: no recomiende playbin. Estoy tratando de aprender cómo hacer tuberías.
Is this possible to force/select the output type of decodebin2?
No, no puede forzar o seleccionar el tipo de su fuente de teclado.
decoderbin2 selecciona el elemento demuxer apropiado y ese elemento demultiplexador analiza ese archivo multimedia y, dependiendo del códec de flujo elementry en ese archivo multimedia, crea las mayúsculas / tipo de la salida / fuente Pad.so que ese tipo de decodificador puede vincular con él y funciona la tubería .
todo esto sucede en el código gstremer-plugin
así que si quieres eso, entonces necesitas escribir un plugin solo.
Puedes probar el plugin playbin en lugar de generar tu pipeline a mano.
Eche un vistazo en https://code.google.com/p/gstmultimedialib/source/browse/trunk/gstmultimedialib/Multimedia/Multimedia/FilterGraph/PlaybinFilterGraph.h de mi proyecto gstmultimedialib.
¡¡¡Buena suerte!!!