使用 avconv 调整大小会导致输出像素化

Mat*_*iak 4 video-conversion libav

我试图从调整的视频1920x1800,以1280x720供手机观看。

这是我使用的命令:

avconv -i input.mkv \
-map 0:v -map 0:a:1 -map 0:s:0 \ # map video, 2nd audio stream, and subtitles
-s 1280x720 \                    # resize
-c:a copy -c:s copy \            # copy audio and subtitles
output.mkv`
Run Code Online (Sandbox Code Playgroud)

输出确实是正确的分辨率,但它受到伪影的影响。

输入:

输入

输出:

输出

输出细节:

在此处输入图片说明

Pau*_*aul 8

如果您没有为视频指定比特率,它将mpeg4为 MKV 容器选择视频编码器。它使用默认值 200 kBit/s,这是很低的,因此会产生视觉伪影。

如果你想提高质量,你有三个选择:

  • 选择更高的比特率(例如-b:v 1000K
  • 选择可变质量(例如-q:v 1)。低意味着更好。良好的值介于 1 和 4 之间。
  • 选择更高质量的视频编解码器,例如 H.264 ( -c:v libx264) 并为质量设置 CRF (例如-crf 23)。越低越好,理智值在 18 到 28 之间。