GStreamer vs FFmpeg

Я пытаюсь записать видео с OpenCV Framework, хотел бы сохранить его в контейнере Matroska (mkv) вместе с некоторыми дополнительными потоками данных.

Сначала я подумал, что использование FFmpeg - это так. Но, изучая исходный код OpenCV и поиск в сети, я нашел GStreamer.

Поскольку документация в GStreamer намного лучше, чем документация FFmpeg, я бы предпочел использовать эту Framework.

В моем понимании GStreamer в основном используется для потоковой передачи, но также может использовать rncode и мультиплексированные видеоданные.

Есть ли недостаток при использовании GStreamer вместо FFmpeg?

Спасибо заранее Horst

Ответ 1

Я пытаюсь записать видео с OpenCV Framework, хотел бы сохранить это в Matroska (mkv)

Я не думаю, что OpenCV может хранить видео как MKV,

вместе с некоторыми дополнительными потоками данных.

OpenCV не предоставляет функции для этой операции.

облегченное обходное решение - это просто вызов ffmpeg или gstreamer cmd-line application, чтобы выполнить преобразование для вас.

GStreamer действительно имеет приличную документацию, и он также может выполнять эту работу. Очевидным недостатком является то, что если вы знаете, как работать с FFmpeg, для перехода на GStreamer потребуется некоторое дополнительное время, чтобы понять, как он работает, поскольку оба имеют совершенно разные API: архитектура GStreamer была вдохновлена ​​DirectShow и Quicktime.

Преимущество заключается в том, что GStreamer (помимо кросс-платформенной) также используется в нескольких больших проектах и ​​, чтобы узнать, что GStreamer, безусловно, добавит отличный навык в ваш арсенал программирования strong > .