ビデオエンコード用のEC2
-
27-10-2019 - |
質問
FFMPEGとX264でビデオエンコードを行う必要がある潜在的な仕事があります。一度エンコードする必要がある一連のファイルを用意し、インスタンスを倒すことができます。 X264とFFMPEGのリソース利用が本当にわからないので、どのようなインスタンスを入手すればよいですか?どちらかを考えています
ハイCPU特別なインスタンス
7 GBのメモリ
20 EC2コンピューティングユニット(それぞれ2.5 EC2コンピューティングユニットを備えた8つの仮想コア)
1690 GBのインスタンスストレージ
64ビットプラットフォーム
I/Oパフォーマンス:高
API名:C1.xlarge
または、あるいはa
Cluster GPU四重材Extral Margeインスタンス
22 GBのメモリ
33.5 EC2コンピューティングユニット(2 x Intel Xeon X5570、Quad-Core“ Nehalem”アーキテクチャ)
2 x nvidia tesla“ Fermi” M2050 GPU
1690 GBのインスタンスストレージ
64ビットプラットフォーム
I/Oパフォーマンス:非常に高い(10ギガビットイーサネット)
API名:CG1.4XLARGE
何を使うべきですか? X264/FFMPEGは、より速い/より多くのCPUでより良くパフォーマンスを発揮しますか、それともGPUを実際に叩きますか?いずれにせよ、クラスターGPUはより高いパフォーマンスインスタンスのようです。何を好むべきですか?
解決
FFMPEGは最近、VAAPIとVDPAUのサポートを追加しましたが、これにより、H.264ビデオのデコードにのみGPUを使用できます。エンコーディングには、CPUを使用します。
他のヒント
現在、Amazon EC2は、最新のNVIDIA GPUを使用して(一部の)GPU加速インスタンスを提供しています。つまり、NVENCを活用できます。
おそらくZencoder.comのようなサービスを使用する方が良いでしょう。それらは優れたAPIを備えており、それから得られる品質は、おそらくFFMPEGパラメーターの最適化を伴う時間の数時間よりも優れているでしょう。