Ответы:
В зависимости от того, как был закодирован ваш исходный файл, возможно, не удастся сохранить размер файла.
ffmpeg -i infile.avi youroutput.mp4
должны сохранять размеры и частоту кадров при создании файла mp4.
ffmpeg -i infile.avi
предоставит вам информацию о вашем входном файле - размер кадра, используемые кодеки, битрейт и т. д.
Вы также можете играть с acodec
и vcodec
вариантами , когда вы создаете свой выход. Помните также, что в файлах mp4 и avi могут использоваться различные кодеки, а пробег зависит от выбранного кодека.
Мне было очень интересно конвертировать AVI файлы в MP4. Читая ваш пост, я вспомнил эту команду ffmpeg:
ffmpeg -i input.avi -strict -2 output.mp4
Команда -strict -2
необходима для кодека AAC, который является экспериментальным, но работает (libaac), если вы добавите эти два параметра. Выходной файл высокого качества по умолчанию.
Насколько я понимаю, необходимо заменить avi-контейнер на mp4 (формально - базовый формат медиафайлов ISO / IEC 14496-12).
если вы выполните следующую команду:
ffmpeg -i input.avi -y output.mp4
В таком случае ffmpeg перекодирует элементарные потоки в файле input.avi (для контейнеров и повторного кодирования используется режим по умолчанию для ffmpeg ). Стоит отметить, что перекодирование может ухудшить визуальное и / или качество слуха.
Поэтому рекомендуется отключить перекодирование с помощью параметров кодека " c: v copy c: a copy ":
ffmpeg -i input.avi -c:v copy -c:a copy -y output.mp4
В приведенном выше случае ffmpeg просто меняет оболочки (контейнеры)
ffprobe -i infile.avi
вместоffmpeg -i infile.avi
получения информации, так как последнее приводит к ошибке «По крайней мере, один выходной файл должен быть указан».