web-dev-qa-db-ja.com

nvdecode(nvidia video sdk 7.1)およびffmpegでビデオをデコードします

ビデオをデコードするためにnvdecode(nvidia video sdk 7.1)とffmpegを有効にして使用するにはどうすればよいですか?

ありがとうございました

2

FFmpeg Wiki:Hardware Acceleration :によると

CUVIDは、H264、HEVC、MJPEG、mpeg1/2/4、vp8/9、vc1のデコーダーを提供しています。コーデックのサポートはハードウェアによって異なります。コーデックのフルセットは、VP9および10ビットのサポートを追加するPascalハードウェアでのみ使用可能です。

この場合、フレームをシステムメモリにコピーするCUVIDを使用したサンプルデコード:

ffmpeg -c:v h264_cuvid -i input output.mkv

CUVIDおよびNVENCを使用した完全なハードウェアトランスコード:

ffmpeg -hwaccel cuvid -c:v h264_cuvid -i input -c:v h264_nvenc -preset slow output.mkv

フレームがシステムメモリを通過する部分的なハードウェアトランスコード(10ビットコンテンツのトランスコードに必要):

ffmpeg -c:v h264_cuvid -i input -c:v h264_nvenc -preset slow output.mkv

Ffmpegがlibnppのサポート付きでコンパイルされた場合、GPUベースのスケーラーをチェーンに挿入するために使用できます。

ffmpeg -hwaccel_device 0 -hwaccel cuvid -c:v h264_cuvid -i input -vf scale_npp=-1:720 -c:v h264_nvenc -preset slow output.mkv

-hwaccel_deviceオプションを使用して、ffmpegのcuvid hwaccelで使用されるGPUを指定できます。

2
llogan