LINUX.ORG.RU

C++: какой сторонней либой лучше декодировать видос?

 


0

1

Зачем: запускать научные алгоритмы на видосе. На одном видосе много раз месяцами и годами. Можно взять ffmpeg и один раз сделать .mp4 -> *.png и потом юзать *.png, но место жалко. Причём декодирование видео в наши дни вроде бы не занимает какого-то существенного времени, особенно на фоне этих моих тяжёлых научных алгоритмов, обрабатывающих кадр, допустим, по 1/10 секунды.

Есть livavcodec или как там её. Лежащая в основе ffmpeg. Можно взять её и она должна жрать любые файлы. Чем это плохо? Она тормозная?

Будет ли лучше пререкодировать один раз все видосы в какой-нибудь H.265 или Vorbis а потом использовать не универсальный livavcodec, а специфический кодек под то, во что я перекодирую? Или этот кодек специфический кодек я всё равно нигде кроме libavcodec не найду и вообще libavcodec нормальная и не надо трахать моск?

Входные видосы закодированы хрен пойми чем (снято разными мобилами), поэтому libavcodec привлекает всеядностью. Незнаю сколько я выиграю CPU перекодировав все эти видосы однократно во что-то более экологически чистое, не думаю что много.

Диск жрать не хочется, т.е. например хранить некие жирные видосы в каком-нибудь raw формате.



Последнее исправление: hlamotron (всего исправлений: 2)

Я несколько лет назад использовал для таких целей libvlc, но обработка была достаточно быстрая. Обрати внимание, может это именно то, что тебе надо.

soton
()

Библиотеки из состава ffmpeg попробуй первым делом. Нужна очень серьезная причина, чтобы что-то еще юзать, а не их.

roof ★★
()

gstreamer конечно.

anonymous
()

libvav, она должна жрать любые файлы

Да

Она тормозная?

Нет

лучше пререкодировать один раз все видосы

Нет

Бери либав, декодируй видосики в рав фреймы (какиенить RGBA32 например) и обрабатывай. И все это на лету.

deep-purple ★★★★★
()

Посмотри VideoCapture класс из OpenCV 3. Если не зайдет, то добавь к нему либы из ffmpeg - самый надежный способ + с OpenCV mat (в котором у тебя кадр будет) будет куча готовых фильтров и алгоритмов и документации.

P.S. Если видео будет идти real time с IP камеры, то ffmpeg бери, голый VideoCapture не справится. Там нужно городить доп хаки вокруг (внутри там ffmepeg как бекенд, но что-то там не правильно сделано). Если найду время, то замучу обертку опенсорсную и выложу на гитхаб, но со временем сейчас у меня не очень так что если и сделаю то через месяц другой, не раньше.

Norgat ★★★★★
()
Последнее исправление: Norgat (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.