He estado haciendo algunos experimentos con GStreamer usando la utilidad gst-launch. Sin embargo, en última instancia, el objetivo es implementar esta misma funcionalidad en mi propia aplicación utilizando las bibliotecas GStreamer.Gstreamer - Convertir la línea de comando gst-launch en el código C
El problema es que en última instancia es difícil (al menos para alguien que no está acostumbrado a la API GStreamer) "portar" lo que pruebo en la línea de comandos al código C/C++.
Un ejemplo de un comando que puedo necesitar puerto es:
gst-launch filesrc location="CLIP8.mp4" ! decodebin2 ! jpegenc ! multifilesink location="test%d.jpg"
¿Cuál es la "sencillo" manera/el método más para tomar tales comandos y escribir en C en mi propia aplicación.
Además, como una pregunta complementaria, ¿cómo podría reemplazar el multifilesink con la posibilidad de hacer este trabajo en la memoria (estoy usando OpenCV para realizar algunos cálculos en una imagen determinada que debe extraerse del video). ¿Es posible decodificar directamente en la memoria y usarlo de inmediato sin guardar primero en el sistema de archivos? Podría (y debería) ser secuencial, quiero decir que solo pasaría al siguiente cuadro una vez que haya terminado de procesar el actual, de modo que no tenga que guardar miles de cuadros en la memoria.
¿Qué dice usted?
Una posibilidad interesante. A pesar de que preferiría seguir unos sencillos pasos para leer una línea de comando para codificar la tubería equivalente en C. , solo pregunto esto porque la documentación de GStreamer no es la más "amigable para el desarrollador";) – petersaints