ffmpeg는 실제로 내 그래픽 카드를 사용하여 인코딩합니까?

ffmpeg는 실제로 내 그래픽 카드를 사용하여 인코딩합니까?

NVIDIA Quadro P620이 있습니다. 그래픽 카드를 사용하여 트랜스코딩을 가속화하는 방법에 대해 많은 연구를 했습니다.

나는 이 페이지를 우연히 발견했다 https://trac.ffmpeg.org/wiki/HWAccelIntro#Usewiththeffmpeg 명령줄 도구

그래서 나는 노력했다.

ffmpeg -hwaccel cuda -i input.avi output.mp4

생각보다 빨리 나오지는 않았어요

ffmpeg -i input.avi output.mp4

실제로 트랜스코딩하는 데 시간이 더 오래 걸렸습니다.

동일한 CPU 사용량을 사용하는 것을 볼 수 있습니다.레스몬-hwaccel 옵션이 없는 것처럼.

내가 뭐 잘못 했어요? ffmpeg가 내 GPU를 올바르게 사용하고 있는지 어떻게 알 수 있나요?

답변1

에 따르면 비디오 인코딩 및 디코딩 GPU 지원 매트릭스, GPU는 하드웨어 지원 디코드 및 인코딩(라고도 함)을 지원합니다. NVENC.

여기서 유일한 문제는 GPU가 지원하는 코덱 목록(H.264 및 H.265)입니다. 비디오가 이러한 코덱으로 인코딩되지 않으면 하드웨어 가속이 작동하지 않을 수 있습니다.

올바른 코덱 및 참조를 위해 Stack Overflow 게시물을 참조하세요. ffmpeg가 Intel QSV 대신 Nvidia CUDA를 선택하도록 만드세요. 하드웨어 가속이 다음 명령으로 작동한다고 언급했습니다.

ffmpeg -hide_banner -hwaccel cuda -i "input.avi" -c:a copy -ac 1 -c:v h264_nvenc -preset hq -movflags faststart -qp 30 "output.mp4"

관련 정보