※ 주의: 반드시 [FFmpeg] 4.9.0.5r2 사용자용 패치가 적용돼 있어야 합니다.
※ 주의: 샤나인코더 4.9.0.6 이상 버전 사용자는 이 프리셋 대신 HDR -> SDR 변환 (H264(x264), FHD, 톤매핑) (4.9.0.6 이상만 해당)의 프리셋을 이용하시기 바랍니다.
팁게의 'tonemap, zscale 필터를 이용한 HDR->SDR 변환 (FFmpeg CLI)'을 샤나인코더 FFmpeg v4.2.1.146 패치에 추가된 zscale 필터와 tonemap 필터를 이용해 프리셋으로 구성했습니다.
4K 이상의 해상도를 가진 HDR 영상을 H264 코덱의 FHD(1080p) SDR 영상으로 제대로 톤매핑해 변환하는 프리셋입니다.
HDR to SDR H264(x264) tonemapped slow crf FHD AAC 48 128k.xml
■ 입력 설정
=============================================================================
-analyzeduration 100M -probesize 50M
// 전역 헤더가 없는 ts 파일에서 스트림 정보를 파악하기 위해 미리 앞부분을 읽도록 하는 옵션
// https://shana.pe.kr/shanaencoder_tip/69673 참고
=============================================================================
■ 비디오 필터 매개변수 (붉은색으로 표시한 것은 사용시 변경할 부분)
=============================================================================
-vf "zscale=t=linear:npl=100,format=gbrpf32le,zscale=p=bt709,tonemap=tonemap=hable:desat=0,zscale=1920:-1:f=spline36:t=bt709:m=bt709,format=yuv420p"
// Output 영상의 색공간을 SDR 용인 BT.709로
// HD(720p) 사이즈로 해상도 변경할 경우 앞의 1920 값을 1280으로
// 해상도 변경을 하지 않을 경우 앞의 1920 값을 -1로
=============================================================================
■ 인코딩 옵션 설정
=============================================================================
-f mp4
-c:v libx264 -profile:v high -level auto -tune:v none -preset slow -crf 18.0
// 프리셋과 crf 값은 적당히 변경
-pix_fmt yuv420p
// 픽셀 포맷은 yuv420p
-color_primaries bt709 -color_trc bt709 -colorspace bt709
// SDR에 맞는 BT.709에 맞춰 설정
-c:a libfdk_aac -b:a 128k -ac 2
// 오디오 설정 (필요에 따라 변경)
-sn -map_metadata -1 -map_chapters -1
// 자막 없음, 전역 메타데이터 복사 안 함, 챕터 정보 없음
-metadata:s:v:0 language=kor -metadata:s:a:0 language=kor
// 비디오와 오디오의 언어를 한국어로 (필요에 따라 변경)
=============================================================================
※ 샤나인코더의 GUI에서는 zscale 필터를 이용한 해상도 변경이 인식되지 않아 화면 하단부에 해상도 정보가 정확하지 않으니 유념해 주시기 바랍니다.