GPU 하드웨어 가속을 사용하여 ffmpeg를 사용하여 여러 파일 연결

GPU 하드웨어 가속을 사용하여 ffmpeg를 사용하여 여러 파일 연결

가속 필터가 포함된 여러 mp4, h264 인코딩 파일을 하나의 파일로 연결하려면 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.

아마도. :-)

관련 정보