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

8271

Я пытаюсь преобразовать .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?

0

1 ответ на вопрос

0
Nick van Tilborg

In first instance you are just changing the media container, but not the codec. Probably VirtualDub can not decode that codec which is in your original toto.mov container. You can transcode the codec to MPEG-4 with the -q:v set to 1, this results in good enough quality.

ffmpeg -i toto.mov -q:v 1 -vcodec mpeg4 -y toto.avi 
Исходное видео в формате rawvideo и pal8 для формата пикселей ... Я получаю предупреждение о -qscale 1: Пожалуйста, используйте -q: a или -q: v, -qscale неоднозначно, я переключаю на -q: v 1 10 лет назад 0
Извините, это действительно -q: v, изменил его в моем ответе. Поскольку вы говорите, что данные уже являются rawvideo, кажется, что VirtualDub не может «декодировать» необработанные данные таким образом. VLC делает, так как он может воспроизводить практически любое видео. Возможно, я не смогу помочь вам в дальнейшем использовании необработанного видео, так как я никогда не работал с VirtualDub. Nick van Tilborg 10 лет назад 0
Есть ли способ извлечь видео информацию из оригинального mov? 10 лет назад 0
Вы можете использовать [`ffprobe -i toto.mov`] (http://www.ffmpeg.org/ffprobe.html) для анализа вашего видеофайла и извлечения всех данных из командной строки. Nick van Tilborg 10 лет назад 0
Sry, без `-i`, только` ffprobe toto.mov` Nick van Tilborg 10 лет назад 0
Хорошо, мне придется скомпилировать все, так как ffprobe предназначен для Linux (я использую Windows). Вместо этого я буду использовать ваше предыдущее решение, так как оно работает, и результаты удовлетворительные ... Спасибо 10 лет назад 0
FFprobe также включен в [Zeranoe Windows builds] (http://ffmpeg.zeranoe.com/builds/) по умолчанию, если вы этого хотите. Nick van Tilborg 10 лет назад 0
Слишком много вещей, чтобы установить только для одного крошечного видео ... Но все равно спасибо 10 лет назад 0

Похожие вопросы