›QSV対応ffmpegでエンコードー最適パラメータ設定QSV対応ffmpegでエンコードー最適パラメータ設定(2019年11月23日追記)2019年版自宅録画サーバーのQSV最適化について紹介しました。固定量子化モードを深堀りしてみました。R2を利用して作成したffmpeg(今後「QSV対応ffmpeg」と略す)で、QSVエンコードを行っている。多くの人が知りたいことは、「鑑賞に耐える画質で、どこまでファイルサイズを小さくできるのか。インターネットを検索しても、なかなかその答えは見つかりません。この記事では、とりあえず私が満足する画質でどこまでファイルサイズを小さくできるのか、明らかにしたいと思います。今回目標値は、以下のとおりです。圧縮率=エンコード後のファイルサイズ/元のファイルサイズ×100(%)エンコード速度=元のファイルの録画時間/エンコードに要した時間4K55型ディスプレイの表示を考慮して、地デジ、BSは、それぞれの解像度1440×1080、1920×1080のまま変換することにした。解像度を変えてエンコードすると、エンコード時間が遅くなることがあるので、その危険は避けられる。QSV対応ffmpegの最適なエンコード方法は?エンコードモードについて今回作成したQSV対応ffmpegの場合、以下のエンコードモードでの動作が確認できました。固定量子化量(品質一定)なお、以下のモードは、今回作成したQSV対応ffmpegでは実行できませんでした。Factor)品質固定モード以下のようなエラーメッセージがでます。mode.」それぞれのコマンドオプションの設定例は、以下の通り。"sample.mp4"今回は、CBR、上限付きVBR、CQPの3モードについて考えます。CBRモードとファイルサイズの関係CBRモードでQSVエンコード(1Mbps~5Mbps)を行うと、圧縮率は次のグラフのような結果になります。圧縮率は、固定ビットレートに比例して大きくなります。固定ビットレートが大きくなると、ファイルサイズは大きくなります。地デジとBSでは、勾配が異なります。これは、元のTSファイルのビットレートが、地デジ16Mbps、BS20Mbpsとすると一致します。(BSは、24Mbpsと文献には書いてありますが、実験結果とは異なります。この記事を書いていた2017年9月時点では、NHKBSプレミアムの帯域は21.5Mbpsでした。2018年4月24日現在は、18Mbpsになっている。2.25GB一方、エンコード速度は、次のグラフのような結果となりました。エンコード速度は、固定ビットレートに関係なくほぼ一定、ただしファイルの内容及び地デジ、BSによっても変わります。地デジは7~8、BSは5.5~6.5でした。「ファイルサイズを1/3以下に圧縮する(圧縮率<33%)を実現するために、CBRモードの固定ビットレートは5Mbps以下にする必要がある。」CBRモードで、映画やドラマを観るのに最適なビットレートは?今までの経験から、同じビットレートのCBRモードでも、エンコーダーやツールによってその画質は大きく異なります。8Mbpsのmp4の画質は、劣化をまったく感じませんでした。地上ではファイルサイズが半分にしかなりません。5Mbps(地デジ31.25%、BS25%)、4Mbps(地デジ25%、BS20%)の画質を評価してみた。Playerを使って再生した時、私の主観的画質評価は以下の通り。画質の劣化を感じない。時々ブロックノイズが見える。ブロックノイズが目立つ。4M~5Mbpsで遜色ない。」このファイルサイズを維持しながら、さらに画質を向上させるために、上限付きVBRモード、CQPモードを検証した。上限付きVBRモードとCBRモードを比較する上限付きVBRモードで、上限ビットレートを変えた時のファイルサイズ、画質を調べてみました。これは、地デジで放送された「ジュラシックワールド」を上限付きVBRモードでQSVエンコードした結果をグラフにしたものです。基準ビットレートを2M~5Mに設定し、各ビットレートで上限値を0M(固定ビットレートになる)~+5Mまで変化させました。結果を見ると、圧縮率(ファイルサイズ)も圧縮速度(エンコード時間)もほとんど変わりませんでした。いくつかの映画、ドラマでデータを取った結果、上限ビットレートが上がるとファイルサイズが小さくなる傾向はありましたが、わずか1%程度の違いでした。そこで、CBRモード4Mと上限付きVBRモード4M(上限値8M)の「ジュラシックワールド」を観て、品質を確認してみました。「CBRモード4Mと上限付きVBRモード4M(上限8M)では、その違いがわからなかった。続いて、CQPモードを調べた。CQPモードは、内容によってファイルサイズが変わる地デジ3ファイル、BS3ファイルで、パラメータqを19~27の間で変化させ、QSVエンコードを行った。この結果で注目すべきことは、qが同じ値でも圧縮率が異なること、特に一部のファイルでは倍になることである。(ビットレートは、q=23で10Mbps程度)「ハードデイズナイト」ビートルズの映画で白黒です。「ジュラシックパーク」恐竜の映画です。内容を確認すると、やはり動きの激しい場面が、他のファイルと比較して多いことがわかりました。以前から白黒の古い映画で、ファイルサイズが異常に大きくなることが経験的にわかっていました。この2つの映画を、CBRモード4MbpsでQSVエンコードして、観てみましたが、遜色はありませんでした。そこで、多くのファイルが圧縮率が25~30%程度になる、q=23に設定して、運用してみました。地デジ、BSのドラマや映画をchinachuで1週間録画して、CQPモードでQSVエンコードした結果は以下のとおりです。BSは、主にNHKBSプレミアムのプレミアムシネマを録画しているので、ファイルサイズが大きくなります。圧縮率が低い(50%以上)のは、地デジ、BSに関係なく、ファイルサイズにも関係ありません。中身によるということです。圧縮率が20%程度のものが多く、さらに高いファイルもいくつかあります。今回圧縮したファイルのファイルサイズを合計して、元の録画ファイルのファイルサイズの合計で割った、全体の平均圧縮率を計算してみました。こちらのサイトによれば、QSV対応ffmpegでは概ね23程度に設定をすると支障がないとのこと。コメントをキャンセルメールアドレスが公開されることはありません。コメントデータの処理方法の詳細はこちらをご覧ください。キャンセル投稿を送信できませんでした。メールアドレスを確認してください。メール送信チェックに失敗しました。このブログではメールでの投稿共有はできません。