GPUハードウェアアクセラレーションを使用したffmpegを使用した複数のファイルの関連付け

GPUハードウェアアクセラレーションを使用したffmpegを使用した複数のファイルの関連付け

加速フィルタを含む複数のmp4、h264エンコーディングファイルを1つのファイルにリンクするには、GPUハードウェアアクセラレーションを使用する必要があります。私はDebian 10 Buster 64bitを使っていて、私が使っているグラフィックカードはNvidia Gainward GTX960です。

CUDAおよびNvidiaドライバをインストールし、次のパラメータを使用してffmpegを設定しました。

./configure --enable-nonfree -–enable-cuda-sdk –enable-libnpp --extra-cflags=-I/usr/local/cuda/include --extra-ldflags=-L/usr/local/cuda/lib64`

問題は、GPUが100%動作しないため、接続に時間がかなり長くかかるということだと思います。

ファイルをリンクして速度を上げるために使用するコマンドは次のとおりです。

./ffmpeg -c:v h264_cuvid -f concat -i mylist.txt -c:a copy -c:v h264_nvenc -y -filter:v 'setpts='0.0625'*PTS' -an merged.mp4

上記のコマンドを実行すると、nvidia-smiの出力は次のようになります。

図.png

ffmpeg version: ffmpeg version N-102801-gb74beba9a9
CUDA version: 11.2
Nvidia driver version: 460.84

接続速度を上げるために何をすべきかわかりません。

答え1

これは答えの一部にすぎません。公開したコマンドラインを見ると、デコーダとエンコーダを介してソースビデオを実行しているようです。つまり、録音。なぜ?

必要なものが速度、接続、圧縮だけであれば、ビデオフレームを直接配信できると思います。音声と同じ: -c:v copy

おそらく。 :-)

関連情報