web-dev-qa-db-ja.com

ハンドブレーキ:エンコード中にビデオをダウンサンプリングするときにシャープネスを維持するにはどうすればよいですか?

1280x720の解像度のビデオがたくさんありますが、実際にはそれほど高解像度である必要はないので、スペースを節約するために再エンコードして852x480にサイズ変更することを考えましたが、Handbrakeエンコードの結果が少しぼやけたビデオになることに気付きましたウィンドウのサイズを変更するだけでVLCビデオプレーヤーに表示されるよりも。

そこで、VLCとまったく同じようにビデオのサイズを変更する方法を探しています。これは、Handbrakeでは見つけることができなかった通常のサイズ変更アルゴリズムやサイズ変更+シャープアルゴリズムよりも実際に優れた品質を提供するためです。ただし、Handbrakeを使用してビデオをシャープにする方法はありますか?

7
Rookie

Handbrakeのバージョンやオプションの詳細、ソースのコーデックとビットレート、またはトランスコードの結果は提供されていませんが、私はそれを突き刺します。 「シャープネス」の喪失と呼ばれるのは、3世代の不可逆ビデオエンコーディングの結果です。つまり、元のソースの品質を間引いたため、状況がぼやけました。

まず、期待を管理しましょう。 1280x720から852x480にすると、ピクセル数は50%以上減少しますが、ファイルが50%小さくなり、品質基準を満たすものになることはほとんどありません。たぶん、同じ元のソースから2つのファイルをエンコードしていたとしても、解像度/ビットレートの高いファイルが、ビットレート/スケーリング/再圧縮されたバージョンよりも優れた画像(任意のサイズのウィンドウに投影)を生成できることは驚くに値しません。

私の推測では、あなたのビデオは高品質の720p/1080pソース(高ビットレートh264またはVC-1、おそらくBluRay)からファイル(720pミッドレンジビットレートh264)、そしてこの試みられたトランスコード(480p低ビットレートh264)に行きました。このファイルはすでに非可逆圧縮アルゴリズムを2回実行されており、ビットレートの削減とスケーリングを組み合わせた3回目の圧縮によってファイルのシャープさが低下したことに驚いていますか?それは常識です。

そこからリッピングする元のソースにアクセスできる場合は、品質基準を満たす最小のファイルを確実に取得できます。損失のある世代を1つだけ削除すると、結果が大幅にシャープになります。はるかに小さいファイルが本当に重要である場合(たとえば、16 GBのiPadを購入し、それぞれの品質ではなくビデオの量を最大化したい場合)、平均ビデオビットレートを自由に設定し、2パスエンコーディングで時間を無駄にして目標サイズに近いファイル。

しかし、実際に品質が心配な場合は、x264設定を「一定の品質」に設定し、さまざまなCRF値(定数レート係数-任意の単位)を使用して30秒のクリップを複数回レンダリングし、ニーズを満たすCRF値を経験的に見つけます。 。 HandBrakeはCRFに対して0から51までの大きなスライダーを提供しますが、正気の値は19〜24の範囲です(デフォルトは20)。ソースを選択した後、トグルをチャプターから秒に変更し、比較したい20〜30秒の範囲を選択できます。宛先ファイルの名前を変更します(「test-crf20.m4v」など)、[キューに追加]をクリックし、CRFを少し変更して繰り返します。半ダースをバッチレンダリングし、それぞれをサイズ変更されたVLCウィンドウと比較します。劣化していないように見える最小のファイルを選択し、そのCRFを使用してビデオ全体をエンコードしてみて、「十分にシャープ」なビデオで探しているファイルサイズを節約できるかどうかを確認します。

4
notpeter