x264 低遅延、低ビットレート、高品質パラメータ調整

H264 デコード遅延の最適化_H264 エンコード パラメータの最適化:
参考記事: ビデオ コーデックの分析とチューニング、ドキュメントのダウンロード アドレス: http://www.yuvsoft.com/pdf/x264_parameters_comparison.pdf
この記事では、48 個の異なる x264 パラメータの組み合わせを詳細に比較しています。 6 種類の最適な x264 コンパイル パラメーター。記事内の x264 パラメーターを次のように ffmpge コマンド パラメーターに変換しました。 1)
fastest preset
ffmpeg -i NFSCAR_x360_trackDrift_HD720P.mov -f mp4 -vcodec libx264 -me_method dia -directpred 1 -me_range 16 -subq 1 -b_qfactor 1.5 -bf 1 -acodec libfaac sample_fastest.mp4

2) 高速プリセット
ffmpeg -i NFSCAR_x360_trackDrift_HD720P.mov -f mp4 -vcodec libx264 -subq 1 -acodec libfaac sample_fast.mp4
3) トレードオフ プリセット
ffmpeg -i NFSCAR_x360_trackDrift_HD720P.mov -f mp4 -vcodec libx264 -subq 3 -acodec libfaacサンプル_トレードオフ.mp4
4)良いプリセット
ffmpeg -i NFSCAR_x360_trackDrift_HD720P.mov -f mp4 -vcodec libx264 -bf 3 -bframebias 5 -flags2 +dct8x8+wpred+bpyramid -trellis 1 -acodec libfaac sample_good.mp4

5)ベストプリセット
ffmpeg -i NFSCAR_x360_trackDrift_HD720P.mov -f mp4 -vcodec libx264 -bf 4 -flags2 +dct8x8+wpred+bpyramid -trellis 1 -refs 10 -directpred 3 -me_method umh -subq 7 -acodec libfaac sample_best.mp4

6) 追加品質プリセット
ffmpeg -i NFSCAR_x360_trackDrift_HD720P.mov -f mp4 -vcodec libx264 -bf 4 -flags2 +dct8x8+wpred+bpyramid -refs 8 -directpred 3 -me_method umh -subq 7 -pass 1 -acodec libfaac > dev&null
ffmpeg- i NFSCAR_x360_trackDrift_HD720P.mov -f mp4 -vcodec libx264 -bf 4 -flags2 +dct8x8+wpred+bpyramid -refs 8 -directpred 3 -me_method umh -subq 7 -pass 2 -acodec libfaac sample_extra.mp4 以下の表は、デフォルトのパラメータを示しています
。エンコード速度と平均ビットレートの相対パーセンテージ:
プリセット名 速度、% 平均ビットレート%
最速 47 114
高速 56 109
トレードオフ 70 102
良好 121 89
最高 369 77
最高品質 710 72

解像度 1280 x 720、20 フレームのレーシング ビデオをテストしました。ビデオの元のサイズは 100442K です。ビデオは Sorenson Video 3 を使用してエンコードされ、オーディオは MPEG-1 Layer 3 を使用してエンコードされています。上記の 5 つを使用し
ます
。パラメータを指定すると、エンコード結果は 53897K、59303K、60251K、63670K、55405K、55405K になります。
個人的にはプリセットパラメータが一番好みです。
次の最適なパラメータでエンコードされた h264 ビデオを使用すると、再生中の最大 CPU 使用率は 4% を超えませんが、その効果は FLV の効果よりも大幅に高くなります。 ffmpeg -i NFSCAR_x360_trackDrift_HD720P.mov -f mp4 -vcodec libx264
-bf
4 -flags2 +bpyramid+wpred +8x8dct -trellis 1 -refs 10 -directpred 3
-me_method umh -subq 7 -s 352*288 -r 7.5 -aspect 16:9 -acodec libfaac
-ab 32k sample_best_352_288_7.mp4
ffmpeg -i NFSCAR_x360_trackドリフト_HD 720P .mov -f flv -vcodec flv -acodec libmp3lamesample_352_288.flv
ビデオ サイズは 4212K (x264)、4816K (Flash/Sorenson)

概要: x264:
プロファイル: ベースライン
プリセット: 超高速
チューン: ゼロレイテンシー
固定ビット レート crf: 28
GOP: 50
フレーム レート: 25
ビット レート (表
1 に示す) x264 --preset Ultrafast --tune zerolatency --bframes 0 --qp 20 - -keyint 60 --min-keyint 60 --bitrate 1024 --vbv-maxrate 1024 --vbv-bufsize 1024 --profilebaseline --level 3 --input-res 1920x1080 --fps 30 --output 出力。 h264 入力 .mp4
x264 --preset Ultrafast --tune zerolatency --bframes 0 --qp 20 --keyint 60 --min-keyint 60 --bitrate 1024 --vbv-maxrate 1024 --vbv-bufsize 1024 --profileベースライン - -レベル 3 --input-res 1080x720 --fps 30 --output Output.h264 input.mp4

2)ffmpeg -i input.mp4 -c:v libx264 -preset 超高速 -tune zerolatency -profile:v ベースライン -b:v 1500k -s 1280x720 -r 25 -c:a aac -b:a 128k -f flv rtmp: //yourserver.com/app/streamkey

3) より高いビデオ品質:
ffmpeg -i input.mp4 -c:v libx264 -profile:v Baseline -level 3.0 -preset Ultrafast -tune zerolatency -b:v 2M -maxrate 2M -bufsize 1M -c:a aac -b : a 128k -f flv rtmp://server/live/stream
このコマンドは、x264 エンコーダを使用し、ベースライン プロファイルとレベル 3.0 を設定し、超高速プリセットと zerolatency オプションを使用してレイテンシを低減し、固定ビット レートと最大ビットを設定します。レートを調整して、ビデオ品質と圧縮ビット レートのバランスを確保します。ケースバイケースで調整が必要です。このコマンドでは、出力形式は FLV であり、ビデオ ストリームは RTMP プロトコルを通じて指定されたサーバーにプッシュできます。

4) このコマンドは、x264 エンコーダを使用し、CRF 値と最大ビット レートを低く設定し、QP パラメータを調整してエンコード品質とビット レートを制御し、他のパラメータを使用してより良いパフォーマンスと効果を実現します。ケースバイケースで調整が必要です。このコマンドの出力形式は H.264 であり、必要に応じて変換できます。
x264 --プリセット高速 --チューンフィルム --crf 28 --vbv-maxrate 1000 --vbv-bufsize 2000 --レベル 3.1 --プロファイルベースライン --出力 Output.h264 input.mp4

おすすめ

転載: blog.csdn.net/huapeng_guo/article/details/131954667