web-dev-qa-db-ja.com

GPUを使用してffmpegフィルターの処理速度を加速する方法

NVIDIAの開発者Webサイトによると、GPUを使用してffmpegフィルターのレンダリングを高速化できます。

FFmpegのビルトイン>フィルターを使用して、ハードウェアアクセラレーションによる高速エンドツーエンドビデオ処理、1:Nエンコーディング、1:Nトランスコーディングパイプラインを作成する

FFmpegの共有CUDAコンテキスト実装を使用して、独自のカスタム高性能CUDAフィルターを追加する機能

今私が抱えている問題は、GPUを使用して複数のffmpegフィルター処理を高速化する方法ですか?

例えば:

ffmpeg -loop 1 -i dog.jpg -filter_complex "scale=iw*4:-1,zoompan=z='zoom+0.002':x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)':s=720x960" -pix_fmt yuv420p -vcodec libx264 -preset ultrafast -y -r:v 25 -t 5 -crf 28 dog.mp4
3
Zedd W

拡張機能を使用して独自のffmpegビルドをコンパイルする必要があります。標準バイナリにはこれらの機能が含まれていないため、手順については https://developer.nvidia.com/ffmpeg を参照してください。

0
Offbeatmammal

可能な解決策。未テストなので、エラーがあれば教えてください...

ffmpeg -loglevel debug -hwaccel NVENC -loop 1 -i dog.jpg -filter_complex "scale=iw*4:-1,zoompan=z='zoom+0.002':x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)':s=720x960" -pix_fmt yuv420p -vcodec h264_nvenc -preset ultrafast -y -r:v 25 -t 5 -crf 28 dog.mp4

どこに...

  • -hwaccel NVENCでNVIDIAエンコーディングを初期化します。

  • コーデックを-vcodec h264_nvencに設定します。

0
VC.One