8

私は ffmpeg 4.3.1 を使用してビデオを h264 から h265 に変換しています。最初は、Mac の GPU を使用して、フラグ hevc_videotoolbox で変換を高速化できることを発見して興奮しました。

私の Mac ハードウェアは、AMD Radeon Pro 5300 を搭載した第 10 世代 Intel i5 です。

私はこのコマンドを使用しています:

ffmpeg -i input_h264.mp4 -c:v hevc_videotoolbox -b:v 6000K -c:a copy -crf 19 -preset veryslow output_h265.mp4

変換速度が 0.75x から 4x に増加し、ほぼ 500% の改善です!

しかし、その後、ファイルサイズが大きく、結果が少しあいまいであることに気付きました。次に、crfまたはプリセットを変更しても違いがないことに気付きました。ffmpegはそれらの設定を無視しているようです。機能しているように見える唯一の設定は、ビデオ ビット レート (-b:v) です。

それで、どうすればより良い結果が得られるかを調べるために、グーグルで検索し始めました。

しかし、あちこちのいくつかの投稿を除いて、私はほとんど空白になっています.

hevc_videotoolbox を使用してより良い結果を得る方法に関するドキュメントはどこで入手できますか? どの設定が機能し、どの設定が無視されているかを確認するにはどうすればよいですか?

4

3 に答える 3

10

リストオプション

実行ffmpeg -h encoder=hevc_videotoolboxして、hevc_videotoolbox に固有のオプションを一覧表示します。

品質管理に使用-b:vします。-crflibx264、libx265、libvpx、および libvpx-vp9 のみです。他のエンコーダーでは無視されます。も無視し-presetます。

hevc_videotoolbox は libx265 ほど良くはありませんが、高速です

ほとんどのハードウェア アクセラレーション エンコーダーと同様に、hevc_videotoolbox は libx265 ほど効率的ではありません。そのため、libx265 と比較して同等の品質に合わせるには、ビットレートを大幅に高くする必要がある場合があります。これにより、H.264 から HEVC/H.265 への再エンコードの目的が無効になる可能性があります。

再エンコードはできるだけ避けてください

個人的には、オリジナルが非常に非効率的にエンコードされていて、ドライブ容量がより重要でない限り、世代の損失を防ぐために再エンコードは避けます。

于 2020-11-22T02:34:29.047 に答える
7

Apple シリコン上の videotoolbox の CFR (Constant Quality Mode) を使用して、高速、高品質、および小型化を実現

(rosetta2 では動作しません)

変更ログ https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/efece4442f3f583f7d04f98ef5168dfd08eaca5c

簡単にテストしました。私の手順は次のとおりです。

  1. ffpmpeg をコンパイルします。入手可能な既成のバイナリはありません https://trac.ffmpeg.org/wiki/CompilationGuide/macOS

  2. [値は 1 ~ 100 にする必要があります-q:v 65。数値が大きいほど品質が高くなります。65 は許容できるようです]

例えば

ffmpeg -i in.avi -c:v hevc_videotoolbox -q:v 65 -tag:v hvc1 out.mp4
于 2021-10-21T20:07:18.317 に答える