Windows의 하드웨어 가속 FFMPEG

Windows의 하드웨어 가속 FFMPEG

Windows 10에 최신 gyan.dev 전체 빌드를 설치했습니다. 일련의 png를 h265 .mp4 동영상으로 변환하고 싶고 이 명령을 성공적으로 사용하고 있습니다.

ffmpeg -r 60 -f image2 -s 3840x2160 -i TEST_%04d.png -vcodec libx265 -crf 1 -pix_fmt yuv440p -hwaccel cuvid Y:\TEST.mp4

프로세스 중에 RTX2080의 하드웨어 가속을 활용하고 싶지만 이후 추가할 리소스나 명령을 찾을 수 없습니다.-화셀충분하다고 생각했는데 작동하지 않습니다.

어떤 힌트라도 높이 평가됩니다! 최선을 다하고 안전하게 지내십시오.

답변1

libx265소프트웨어 인코더입니다. 하드웨어 인코딩을 지원하지 않습니다.

당신이 원하는 것은 다음 중 하나를 사용하는 것입니다하드웨어 인코더. 하드웨어 h.264의 경우 비디오 코덱을 사용 h264_nvenc하거나 h.265의 경우hevc_nvenc

ffmpeg -r 60 -f image2 -s 3840x2160 -i TEST_%04d.png -vcodec hevc_nvenc -crf 1 -pix_fmt yuv440p -hwaccel cuvid Y:\TEST.mp4

사용 가능한 인코더를 나열 하고 목록에 ffmpeg.exe -encoders언급된 인코더를 찾을 수 있습니다. NVIDIA내 ffmpeg의 경우 해당 목록에 다음 Nvidia 인코더가 있습니다.

 V..... h264_nvenc           NVIDIA NVENC H.264 encoder (codec h264)
 V..... nvenc                NVIDIA NVENC H.264 encoder (codec h264)
 V..... nvenc_h264           NVIDIA NVENC H.264 encoder (codec h264)
 V..... nvenc_hevc           NVIDIA NVENC hevc encoder (codec hevc)
 V..... hevc_nvenc           NVIDIA NVENC hevc encoder (codec hevc)

예를 들어 다음을 사용하여 인코더 매개변수를 나열할 수 있습니다.ffmpeg -h encoder=hevc_nvenc

답변2

답변을 주신 @Mokubai, @Gyan 및 @llogan에게 감사드립니다.

누군가 h265에서 h264로 변환하기 위해 ffmepg hwaccel을 사용하려는 경우 다음을 사용하십시오.

ffmpeg -encoders | findstr /ic:"NVIDIA"

넌 봐야 해:

 V....D h264_nvenc           NVIDIA NVENC H.264 encoder (codec h264)
 V....D hevc_nvenc           NVIDIA NVENC hevc encoder (codec hevc)

ffmpeg 명령:

ffmpeg.exe -vsync 0 -hwaccel cuda -i <input_file> -map 0  -c:a copy -c:v h264_nvenc -pix_fmt yuv420p -preset hq <output_file>

GTX1060 카드를 사용하면 30분짜리 비디오의 실행 시간이 4배 단축되었습니다.

건배

관련 정보