Векторы движения и коэффициенты постоянного тока из потока MPEG4

Мне нужно извлечь информацию о векторах движения и коэффициентах постоянного тока из видео MPEG4. Я искал соответствующие сайты и темы, и я нашел, что хорошим решением является работа с кодом кодека ffmpeg. Особенно функция ff_print_debug_info в libavcodec/mpegvideo.c вычисляет соответствующую информацию.

Тем не менее, я новичок в области C/C++, и если есть какой-либо пример кода, который описывает или объясняет, как извлекать MV и коэффициенты DC, это было бы очень полезно.

В более поздней версии я использую (FFmpeg 0.10.2 из http://ffmpeg.org/download.html) есть еще файл mpeg4videodec.c. Есть ли шанс получить нужную информацию по этому коду?


person Lampis    schedule 19.04.2012    source источник
comment
Я обнаружил, что ffmpeg может предоставлять информацию о векторах движения и коэффициентах постоянного тока, определяя соответствующие значения в качестве источников во время выполнения. Раздел 4.11 в [ссылка] (ffmpeg.org/ffmpeg.html#Advanced-Video-Options) описывает, как распечатать конкретную отладочную информацию, в моем случае это будут -debug dct_coeff и -debug mv. Кто-нибудь знает, какую команду использовать? Все, что я хочу, это декодировать видео mpeg4 в его кадры с помощью ffmpeg, параллельно извлекая информацию о mv и dct на этих кадрах.   -  person Lampis    schedule 20.04.2012


Ответы (1)


Взгляните на этот фрагмент кода: http://www.princeton.edu/~jiasic/cos435/motion_vector.c

Это дает основную идею доступа к векторам движения в кадре, декодированном с помощью ffmpeg.

Что касается DC-коэффициентов, я не вижу другого пути, кроме как внедрить свой код в декодер, чтобы сбрасывать коэффициенты по мере декодирования.

person Tosha    schedule 25.02.2013