web-dev-qa-db-ja.com

GPUを使用してffmpegでビデオを変換する

ビデオ共有サイトがあり、ffmpegでビデオを変換していますが、変換には時間がかかります。どうすれば速く安全にできますか? ffmpegがGPUと一致するとき、それは私を助けると思いますが、使用する良い参照が見つかりません。どのアプリケーションまたはリファレンスを使用すると、パフォーマンスが向上します。

17
sdnaghdi

2017年第4四半期に更新私の最初の回答以来、GPUベースのエンコーディングが広く利用可能になりました。最新の NVIDIAビデオカードがあり、ffmpegをコンパイルできる場合 をお勧めします。 Dmytro DzyubakFFmpeg docs を指摘してくれたことに感謝します。実際に「CPUベースのエンコーディングは一般にGPUベースのエンコーディングよりも優れた品質を生み出します」と述べています。

-

GPUベースのエンコードはコーデック/ GPUコンピューティング標準(CUDA、OpenCL)に固有であるため、ケースで使用するものを指定する必要があります。 ffmpegは、特にビデオ用のx264やVP8などの一般的なコーデックのラッパーです。

X264を使用したすべての試みは、これまでのところ最高の混合結果を生み出しています。生産に引き継ぐことができるものは何も日の目を見ることはありません。

メインコンセプトは、H264 GPUベースのエンコーディングに使用できるSDKを提供します。 詳細 についてはこちらをご覧ください。私は彼らのSDKの値札を見たことはありませんが、それは高価だと思います。

使用するコーデックによっては、エンコード設定を微調整して品質と速度を犠牲にする方が良いでしょう。ちなみに、CPUベースのエンコードは、GPUベースのエンコードよりも高品質になる傾向があります。

12
Arnaud Leyder

NVidia GPUを使用している場合、これが役立つ場合があります。

https://developer.nvidia.com/nvidia-codec-libraries

4
Justin Buser

それはまだ「開発中」かもしれませんが、「LookAhead」機能が「on GPU」のときに、いくつかのDoom9スレッドがx264エンコーダー(lib ffmpegが使用)の大幅な改善を行っていることがわかりましたが、OpenCL

役立つかもしれません。

2
alexbuisson