Преобразование с помощью ffmpeg.mov в несжатый формат.avi приводит к появлению черного экрана в virtualdub.

Я пытаюсь преобразовать.mov в несжатый.avi с помощью ffmpeg. Поскольку я не хочу потери качества, я использую следующую команду ffmpeg:

ffmpeg -i toto.mov -vcodec copy -y toto.avi

Преобразование работает отлично (видео работает в VLC) за исключением того, что, когда я открываю файл с помощью virtualdub, я получаю черный экран.

В VirtualDub, под информацией о файле я получаю следующее:

Frame size: 800x600, 30.000fps
Length: 802 frames
Decompressor: Internal DIB decoder

Если я не указываю аргументы -pix_fmt и -vcodec, ffmpeg преобразуется в mpeg-4 и yuv420p, но я теряю качество, поскольку мой файл сократился примерно с 400Mo до 1Mo, но видео работает в virtualdub, и на этот раз установлен декомпрессор видео кодек ffdshow (FMP4). Я сомневаюсь, что это ffdshow, поскольку у меня было другое видео, прекрасно работающее с внутренним DIB-декодером.

Есть идеи, чтобы получить образ в virtualdub?

1 ответ

Решение

В первом случае вы просто меняете медиа-контейнер, но не кодек. Возможно VirtualDub не может декодировать тот кодек, который есть в вашем оригинале toto.mov контейнер. Вы можете перекодировать кодек в MPEG-4 с помощью -q:v установите в 1, это приведет к достаточно хорошему качеству.

ffmpeg -i toto.mov -q:v 1 -vcodec mpeg4 -y toto.avi
Другие вопросы по тегам