일반

FFmpeg에서 NVENC 관련 옵션이 몇몇 변경되었습니다 (업데이트)

by JKyle posted Sep 19, 2020
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

5.1 버전이 나온 지 하루가 좀 지났는데 이제야 이 주제를 얘기한다는 게 좀 죄송해지긴 합니다만, 엔비디아 비디오 코덱 SDK가 버전 10.0부터 API가 달라져서 FFmpeg의 하드웨어 디코딩과 프리셋 등 몇몇 옵션에 변경이 생겼습니다.

 

참고: https://docs.nvidia.com/video-technologies/video-codec-sdk/ffmpeg-with-nvidia-gpu/index.html

 

[하드웨어 디코딩 쪽]

-hwaccel cuvid 옵션은 deprecated

대신 -hwaccel cuda -hwaccel_output_format cuda 옵션을 사용하도록 권고

실제 10.0이 적용된 FFmpeg로 테스트해본 결과 -hwaccel_output_format cuda 옵션을 하드웨어 디코더(-c:v h264_cuvid 등)와 함께 사용하면 되고 -hwaccel cuda 옵션은 필요 없음을 확인

 

[프리셋]

P1(퍼포먼스) ~ P7(퀄리티) 추가 (P4가 미디엄으로 디폴트)

 

 

하드웨어 디코딩 쪽은 현재의 샤나인코더로서도 별 상관은 없을 것 같지만, 프리셋 메뉴는 개선이 필요할 것 같습니다.

 

그리고 NVENC에서 cq(constant quality) 매개변수를 지원하는 만큼 현재 퀀타이저와 비트레이트만 있는 RC 선택 옵션에 퀄리티도 추가하고 cq 값을 선택할 수 있도록 개선이 필요하지 않을까 생각됩니다. 물론 이때 적용되는 RC 설정은 vbr_hq가 되어야겠죠.

실제 10.0이 적용된 FFmpeg로 테스트해본 결과 p1~p7 프리셋은 x264/x265에서의 프리셋(ultrafast ~ placebo)과 비슷한 방식으로 사용하면 됨

vbr_hqcbr_hq 같은 예전 2패스 RC 모드는 에러 발생(Preset P1 to P7 not supported with older 2 Pass RC Modes(CBR_HQ, VBR_HQ) and cbr low delay.)

 

...라고 하고 다시 확인해보니 샤나인코더 내장 FFmpeg은 10.0이 아직 적용되지 않은 상태인 것 같군요.

새로 추가된 프리셋들이 이번 버전인 5.1에는 아직 포함되지 않은 것 같습니다.

 

하지만 그래도 vbr_hqcq로 퀄리티 모드 인코딩은 가능해 보이니 NVENC 쪽 빠른 설정에 해당 옵션들을 반영해 주실 수 있는지 궁금합니다.

TAG •