Gstreamer - Преобразование командной строки gst-launch в код C

Я провел несколько экспериментов с GStreamer, используя утилиту gst-launch. Однако в конечном итоге цель состоит в том, чтобы реализовать ту же функциональность в моем собственном приложении с использованием библиотек GStreamer.

Проблема в том, что в конечном итоге сложно (по крайней мере, для тех, кто не привык к GStreamer API) «портировать» то, что я test в командной строке на код C / C ++.

Пример команды, которую мне может понадобиться перенести:

gst-launch filesrc location="CLIP8.mp4" ! decodebin2 ! jpegenc ! multifilesink location="test%d.jpg"

Какой самый "прямой" способ / подход взять такую ​​команду и написать ее на C на мое собственное приложение.

Кроме того, в качестве побочного вопроса, как я могу заменить мультифайловую ссылку возможностью выполнять эту работу с памятью (я использую OpenCV для выполнения некоторых вычислений для данного изображения, которое должно быть извлечено из видео). Можно ли декодировать напрямую в память и сразу же использовать без сохранения в файловую систему? Он может (и должен) быть последовательным, я имею в виду, что он перейдет к следующему кадру только после того, как я закончу обработку текущего, чтобы мне не пришлось хранить тысячи кадров в памяти.

Что делать. вы говорите?

8
задан genpfault 26 July 2011 в 22:03
поделиться