Здравствуйте, night beast, Вы писали:
NB>а почему ffmpeg?
NB>у гстримера более-менее нормальные либы.
NB>если работает пайплайн с консоли, то запустить его програмно не должно быть большой проблемой.
я 3 года работал с avcodec и неделю с gstreamer
поэтому не могу адекватно оценить (но вы можете меня поправить)
1) я читал что нехватает производительности при получении видопотка по ndi и записи в mp4 например
поэтому приходиться использовать компроненты
source streaming thread
queue streaming thread
main thread (gst-launch runs a GLib main-loop, though this is optional)
Some thread pool.
https://stackoverflow.com/questions/69521161/how-many-total-threads-in-a-given-gstreamer-pipeline
https://developer.ridgerun.com/wiki/index.php/Embedded_GStreamer_Performance_Tuning
что при этом у pipeline превышается лимит на резмер и он не собираеться (мопед не мой я только перенсказал прочитанное)
вот еще обсуждение производительности
http://gstreamer-devel.230.s1.nabble.com/Don-t-kown-how-to-make-avdec-h264-working-under-multi-threads-modes-seems-not-working-with-max-threas-td4696996.html
это все только при одном записываемом видео а надо 4 видео одновременно
и это все при HD и 30 FPS
gstreamer может использовать vaapi но есть проблемы с onevpl а значит они не смогут использовать 13th поколение CPU
конечно же они это пофиксят рано или поздно
так же gstreamer имеет плагин ffmpeg API который рекомендуют прикрутить для повышения производительности (обратного я пока не встречал)
когда по любой причине этот рекордер будет падать придеться разбираться в исходниках gstreamer и плагинов к нему и как то отлажитвать и логировать
рекордер на базе ffmpeg заработал через 2 дня но мне сказали хотим что бы ты сам написал на базе avcodec я потратил 4 недели и несколько дней
оно может записывать 24 видео одновременно (тк мне сказали минимум 20 видео) в 4k качестве и 60fps
можно создать любое разумное количество thread
работает поддержка vaapi onevpl
в случаи ошибок можно локазлизовать проблемму и отлаживать под отладчиком
одной строчкой меняеться выходной формат файлов
из личного опыта можно подпилить код и оно будет работать с нестандартными камерами