2-х проходное кодирование с помощью avconv

Я не понимаю, почему качество видео с многопроходным кодированием хуже одного прохода?

Когда я это делаю, это правильно:

avconv -i video.mpg -s 640x360 -threads auto \
       -vcodec libxvid -b 800k -r 24 -g 300 -bf 2 \
       -acodec libmp3lame -ac 2 -ab 128k -ar 48000 \
       video.avi

Это худшее :

avconv -i video.mpg -s 640x360 -pass 1 -threads auto \
       -vcodec libxvid -b 800k -r 24 -f avi -an -y /dev/null
avconv -i video.mpg -s 640x360 -pass 2 -threads auto \
      -vcodec libxvid -b 800k -r 24 -g 300 -bf 2 \
      -acodec libmp3lame -ac 2 -ab 128k -ar 48000 \
      video.avi

Что я делаю не так?

5
задан 17 February 2016 в 04:47

1 ответ

Если у вас плохое качество, возможно, вы неправильно используете флаг -b. Он использовал для обозначения только битрейта видео, но с недавним пересмотром синтаксиса ffmpeg / avconv теперь он относится к общему битрейту. Таким образом, первый проход говорит avconv, что он имеет 800 кбит / с для воспроизведения видео, но второй проход говорит, что он имеет (800-128) = 672 кбит / с для работы.

То, что делает первый проход, это создание своего рода дорожной карты для второго прохода, чтобы воспользоваться - это место - сцена действия, ему нужен более высокий битрейт; это медленный разговор, ему нужно меньше - такого рода вещи. Поскольку он работает с неверной информацией, дорожная карта неверна.

Используйте -b: v вместо (и -b: a вместо -ab), например так:

avconv -y -i video.mpg -s 640x360 -pass 1 -threads auto -c:v libxvid -b:v 672k -r 24 -f avi -an /dev/null
avconv -i video.mpg -s 640x360 -pass 2 -threads auto -c:v libxvid -b:v 672k -r 24 -g 300 -bf 2 -c:a libmp3lame -ac 2 -b:a 128k -ar 48000 video.avi

Кроме того, многие из этих опций, возможно, не нужны, так как avconv будет использовать тот же Варианты ввода. Если вы не изменяете размер видео, пропустите бит -s 640x360. Аналогично, если вам не нужно изменять частоту кадров, пропустите -r 24, и, если вам действительно не нужно менять частоту дискретизации, пропустите -ar 48000. Очевидно, если вы знаете, что они вам нужны, оставьте их.

0
ответ дан 17 February 2016 в 04:47

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

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