Я провел несколько экспериментов с GStreamer, используя утилиту gst-launch. Однако в конечном итоге цель состоит в том, чтобы реализовать ту же функциональность в моем собственном приложении с использованием библиотек GStreamer.
Проблема в том, что в конечном итоге сложно (по крайней мере, для тех, кто не привык к GStreamer API) «портировать» то, что я test в командной строке на код C / C ++.
Пример команды, которую мне может понадобиться перенести:
gst-launch filesrc location="CLIP8.mp4" ! decodebin2 ! jpegenc ! multifilesink location="test%d.jpg"
Какой самый "прямой" способ / подход взять такую команду и написать ее на C на мое собственное приложение.
Кроме того, в качестве побочного вопроса, как я могу заменить мультифайловую ссылку возможностью выполнять эту работу с памятью (я использую OpenCV для выполнения некоторых вычислений для данного изображения, которое должно быть извлечено из видео). Можно ли декодировать напрямую в память и сразу же использовать без сохранения в файловую систему? Он может (и должен) быть последовательным, я имею в виду, что он перейдет к следующему кадру только после того, как я закончу обработку текущего, чтобы мне не пришлось хранить тысячи кадров в памяти.
Что делать. вы говорите?