web-dev-qa-db-ja.com

FFMPEGビデオエンコーディング用のハードウェア?

だから私はFFMPEGを使ってトランスコードする最良の方法が商業規模で何であるかを見つけようとしています。私は現在、速度と品質のバランスとして設定されたパラメーターを使用してFFMPEGを実行する非常にCPUの重いクラウドインスタンスを持っています。しかし、私は現在、毎日数百、おそらく一度に数十のビデオファイルを実際にトランスコードできるようにする長期的なソリューションを検討しています。そこで、GPUアクセラレーションを調べましたが、圧縮アルゴリズムの構造が原因で、CPUは一般的にGPUよりも高速であるようです(詳細は ここ )。次は専用ハードウェアですが、FFMPEGトランスコーディングを高速化する専用のh.264/h.264エンコーダーを取得してサーバーに物理的にインストールできるものはありますか?

1
CMOS

ハードウェアエンコーダーは通常、同じビットレートでわずかに低品質の画像(または同じ品質の大きなファイル)を生成することを理解する必要があります。それでよければ、最善の選択肢は、Intel CPUでのクイック同期、またはNvidiaGPUでのnvencです。 Nvidiaを使用する場合は、カードの仕様を確認してください。ほとんどの仕様は2つの並列エンコードに制限されています。

2
szatmary

ハードウェアエンコーダーは一般にライブエンコーディングに使用され、汎用オペレーティングシステムに依存するソフトウェアよりもはるかに安定性があります。

また、ハードウェアエンコーダーは特定のオプションセットに制限されていますが、ソフトウェアエンコーダーは考えられるあらゆるオプションに対応しています。ハードウェアエンコーダの開発には数百万ドルの費用がかかり、柔軟なものではありません。例えば。 Nvidia NVENCチップは、4:2:2色空間プロファイルをまだサポートしていません(ただし、将来の世代はサポートします)。 Nvidiaがすべてのグラフィック機能なしでエンコーダボードを構築しないのはなぜですか? ...それはこのビジネスにお金がないからです。

エンコードされた結果を「ハードドライブ上のファイル」として保存することが必要であると仮定すると、ハードウェアエンコーダーはあなたのために行く方法ではありません。私が知っているプロのハードウェアエンコーダーは、ネットワーク配信と「ライブ」使用のみを目的として構築されています。

したがって、クラウド環境にいる限り、CPUエンコーディングを使用し、速度が必要な場合は最も頻度の高いCPUを選択することをお勧めします。

1
Harry