Более качественное преобразование FFMPEG из МТС в AVI

Я получил следующий код с какого-то форума. Я новичок, поэтому, пожалуйста, ответьте на мои вопросы...

Мне нужно конвертировать видео из МТС в AVI в очень хорошем качестве. В настоящее время я использую следующий код для преобразования.

for %%a in ("*.mts") do ffmpeg.exe -i "%%a" -vcodec libxvid -vtag XVID -aspect 16:9 -maxrate 1800k -b 1500k -qmin 10 -qmax 42 -bufsize 5120  -acodec libmp3lame -ac 2 -ab 160k -y "%%~na_xvid.avi" 
for %%a in ("*.m2ts") do ffmpeg.exe -i "%%a" -vcodec libxvid -vtag XVID -aspect 16:9 -maxrate 1800k -b 1500k -qmin 10 -qmax 42 -bufsize 5120 -acodec libmp3lame -ac 2 -ab 160k -y "%%~na_xvid.avi" 

Но я ожидаю лучшего качества, чем выше. Как мне это получить?

2 ответа

MPEG-4 часть 2 видео

При кодировании видео в формате MPEG-4 часть 2 с использованием кодеров mpeg4 или же libxvid использование -qscale:v (или псевдоним -q:v).

ffmpeg -i input -c:v libxvid -qscale:v 2 -c:a libmp3lame -ac 2 -q:a 4 output.avi
  • регулировать -qscale:v для качества видео и -q:a (похожий на lame -V) для качества звука.

  • Чем ниже значение, тем выше качество для обоих вариантов. Вы не сможете определить разницу между входом и выходом с помощью -qscale:v 2,

Также см:

Видео H.264 и H.265/HEVC

Видео MPEG-4 Part 2 устарело. Использование более современного формата обеспечит лучшее качество при более низких битрейтах.

Простой пример, предполагающий ваше ffmpeg имеет поддержку libx264/libx265 (вероятно, имеет):

ffmpeg -i input output.mp4

В приведенном выше примере будет использоваться настройка по умолчанию, аналогичная приведенной ниже:

ffmpeg -i input -c:v libx264 -crf 23 -preset medium -c:a aac -b:a 128k output.mp4
  • Избегайте AVI, если это возможно, с этими кодировщиками.
  • Используйте AAC вместо MP3.

Также см:

Будучи любителем, я использую Linux. ffmpeg -i video.MTS -acodec copy -vcodec rawvideo -y video.avi сохранить сырое видео и оригинальные аудиоданные. Флаги плюс варианты

-i: input file
-acodec copy: copy audio codec
-vcodec rawvideo: keep raw data for video codec
-y: silently overwrite output files

Для кучки .mts файлы в одном каталоге, запустите

for f in *.MTS; do ffmpeg -i $f -acodec copy -vcodec rawvideo -y  ${f%.*}.avi; done

Это сохраняет качество видео, хотя приводит к довольно огромным .avi файлы.

Другие вопросы по тегам