FFmpegSource 활용
이전 포스팅에서도 언급했듯이, DGDecNV를 보내주고 FFmpegSource를 활용을 검토중이다.
만약 Big Navi를 장착하게 되면 기존 환경으로는 영상 품질 비교가 제대로 이루어지기 힘든 상황.
ffmpeg nvenc의 cq 옵션
예전 포스팅에서 언급한 내용인데, ffmpeg/nvenc에서 공식적으로 얘기하는 품질 지정 옵션은 cq이다.
ffmpeg -i input.avs -c:v h264_nvenc -preset slow -cq 22 -an out.mp4
하지만, 당시에는 그 옵션은 정상적으로 동작하지 않았다.
대신, 아래와 같은 옵션을 적용해야 되었다.
ffmpeg -i input.avs -c:v h264_nvenc -preset slow -rc constqp -global_quality 22 -an out.mp4
그런데, 최근 시험삼아 옵션을 적용해보니 공식 옵션인 cq가 동작하는 것을 확인했다.
그렇다면 어느 옵션이 더 품질 대비 용량이 우수한지 등을 확인해야 한다.
인코딩 품질 비교 기준은 SSIM으로
기존에 인코딩 옵션의 적정성을 분석할 때 비교 기준으로 PSNR을 사용했다.
다른 기준을 적용하려니 손이 많이 가기도 했고, PSNR로도 신뢰도 높은 결과를 얻을 수 있기 때문이었다.
하지만, 확인해보니 FFmpeg에서 SSIM을 간단하게 확인 가능했다.
PSNR은 수치상의 오차만을 계산하는 방식임에 비해 SSIM은 구조적 유사성을 분석하므로 인간의 시각 인지 메커니즘을 상당히 반영한다.
그래서, 영상 품질 비교의 기준을 PSNR에서 SSIM으로 변경하기로 했다.