Как я могу использовать libavfilter для деинтерлейсинга кадров в моем программном обеспечении видеоплеера - PullRequest
0 голосов
/ 02 февраля 2012

Я использую libavformat / libavcodec / libswscale / libavutil / libavfilter (библиотеки, связанные с ffmpeg) для создания видеоплеера.

У меня возникли проблемы с чересстрочным видео, оно просто неправильно связывает их ... Он всегда рисует предыдущий нижний кадр с текущим верхним. Что приводит к тому, что я не хочу. И я пытался возиться с переменными вокруг этого, это просто не будет работать. (Я не нашел плеер, который бы воспроизводил видео, которые у меня есть правильно, нет, вы не можете их получить, извините)

Мне удалось найти способ обойти это, перекодировав видео с помощью следующей команды:

ffmpeg -i video.mp4 -фильтр: v yadif -vcodec mpeg4 out.avi

Теперь мне нужны инструкции о том, как сделать это с кодом C ++ внутри моего видеоплеера.

Я не нашел никаких учебников по этому вопросу, и исходный код ffmpeg.c слишком чужд для меня.

Ссылка на учебник была бы в порядке, я просто не нашел ее ..

Edit:

Также этот пример стоило проверить:

https://github.com/krieger-od/imgs2video/blob/master/imgs2video.c

Джентльмен по имени Андрей Уткин

1 Ответ

1 голос
/ 02 февраля 2012

См. doc / examples / filtering.c из источника FFMPEG.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...