web-dev-qa-db-ja.com

avconvを使用してサイズを変更すると、出力にピクセレーションが発生します

電話で視聴できるように、ビデオのサイズを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`

出力は確かに正しい解像度ですが、アーティファクトが発生します。

入力:

input

出力:

output

出力の詳細:

enter image description here

4
Matthew Piziak

ビデオのビットレートを指定しない場合、MKVコンテナのmpeg4ビデオエンコーダが選択されます。デフォルトの200kBit/sを使用しますが、これは低いため、視覚的なアーティファクトが発生します。

品質を向上させたい場合は、次の3つのオプションがあります。

  • より高いビットレートを選択してください(例:-b:v 1000K
  • 可変品質を選択します(例:-q:v 1)。低いほど良いことを意味します。適切な値は1〜4です。
  • より高品質のビデオコーデックを選択してください。 H.264(-c:v libx264)および品質のCRFを設定します(例:-crf 23)。低いほど良いことを意味し、正常な値は18〜28です。
8
Paul