3

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

Мне нужно конвертировать видео из МТС в 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 ответа2

4

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

При кодировании видео в формате MPEG-4 Part 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.

Также см:

0

Я сам любитель, в 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 .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .