Skip to menu

본문시작

방문자

Total : 8,170,833
today : 2,161
yesterday : 12,174

Pageview

Total : 48,355,481
today : 4,298
yesterday : 69,024


Views 2512 Votes 0 Comment 7
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print Attachment
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print Attachment

HDR => SDR 트랜스코딩은 상당히 까다로운 작업 중 하나입니다.

 

HDR => SDR은 색 공간 자체를 HDR의 BT.2020에서 그것의 subset인 BT.709(=sRGB)로 맞춰줘야 하기 때문에 원본에서 표현하는 색들 중 BT.709의 표현 범위 밖에 있는 것들을 어떻게 처리해야 하나를 생각해야 합니다. 그냥 무시하고 강제로 인코딩하는 방법도 있겠지만 그렇게 되면 원본에 있는 범위 밖 색상들(out-of-range colors) 이 BT.709의 어떤 색상으로 매핑될지 장담할 수 없습니다. 그냥 가장 가까운 경계선의 색상으로 바뀌는 거 아니냐고 생각하실 수 있겠지만 그렇지는 않고 임의로 변환됩니다.

 

 

그래서 나온 해결책이 두 가지인데,

 

1) Target media의 LUT(Look-Up Table)가 있는 경우 lut3d 필터와 LUT를 이용해 변환한다. ( 참고: https://developers.google.com/media/vp9/hdr-encoding/ )

 

2) LUT가 없는 일반적인 경우 FFmpeg의 zscale과 tonemap 필터를 사용해 변환한다. ( 참고: https://stevens.li/guides/video/converting-hdr-to-sdr-with-ffmpeg/ )

 

 

1)의 단점은 특정 SDR 장비에 맞는 LUT를 따로 생성하거나 찾아야 하기 때문에 일반적인 방법이 아니라는 것이고,

2)는 일단 tonemap 필터 자체가 시간이 많이 걸린다는 단점 외에 샤나에서는 사용할 수 없다는 단점도 있습니다. 샤나에는 tonemap, zscale 필터가 없기 때문이죠.

 

 

그래서 제가 아는 한 현재 샤나에서는 scale 필터를 이용한 color matrix 변환을 이용해야 하는데 앞에 언급한 바와 같이 색 열화를 감수할 수밖에 없습니다. (샤나가 빨리 업데이트되어야 하는 또 하나의 이유입니다.)

 

물론 이때 Bit depth 8로 픽셀 포맷 변경은 당연히 해야 합니다.

 

 

이를 반영해 만든 프리셋입니다.

 

MKV HDR to SDR x264 HE-AAC 44.1 56k.xml

 

파일 형식은 MP4보다 코덱 선택이 까다롭지 않은 MKV, 비디오 코덱은 x264(H264), 오디오는 44.1 kHz 샘플레이트의 64kbps 비트레이트를 가진 스테레오 HE-AAC로 인코딩합니다.

 

 

<x264 추가 옵션에 관해>

 

잘 아시겠지만 F8을 눌러보면 맨 밑부분에 'x264 설정(읽기 전용)' 부분이 나옵니다. 이것은 [빠른 설정(F6)]의 [코덱 설정] 버튼을 누르면 나오는 추가 옵션 중 맨 밑의 '고급 설정 사용' 박스에 체크하고 [고급 설정] 버튼을 눌러 나오는 [x264 고급 설정] 창에서 설정한 값들입니다. 매개변수 설정창에서는 변경이 불가능하니 꼭 [빠른 설정]에서 원하는 적절한 값으로 변경해 주십시오.

 

 

비디오 필터 매개변수에 대한 설명은 아래와 같습니다. (오디오 필터 설명 생략)

 

=============================================================================

 

scale=1920:-1:flags=spline:out_color_matrix=bt709

        // Output 영상의 color matrix를 SDR 용인 BT.709로

        // 해상도 변경을 하지 않을 경우 앞의 1920 값을 -1로

 

setsar=1/1,shanasubtitle=0

        // 레터박스 사용 안 함, 샤나 자막 사용 안 함

 

=============================================================================

 

 

인코딩 옵션 설정에 대한 설명

 

=============================================================================

 

 -f mkv

 

 -c:v libx264 -profile:v high -level auto -crf 18.0 -preset veryslow -tune:v none

 

 -pix_fmt yuv420p

        // 픽셀 포맷은 yuv420p

 

 -color_primaries bt709 -color_trc bt709 -colorspace bt709

        // color primaries, color transfer charateristics, color matrix

        // SDR HD에 맞는 BT.709에 맞춰 설정

 

 -c:a libfdk_aac -b:a 64k -ac 2 -fdkprofile he

        // 오디오 설정

 

 -sn -map_metadata -1 -map_chapters -1 -metadata creation_time=now

        // 자막 없음, 메타데이터 복사 안 함, 챕터 정보 없음, 인코딩 시간을 파일 생성 시간으로

 

 -metadata:s:v:0 language=kor

        // 비디오의 언어를 한국어로. 영어는 eng, 일본어는 jpn, 중국어는 chi

 

 -metadata:s:a:0 language=kor

        // 오디오의 언어를 한국어로

 

=============================================================================

 

이상입니다.

 

 

사족을 달자면, 제가 만든 프리셋이긴 하지만 웬만하면 샤나에서는 HDR -> SDR 인코딩은 안 하시는 게 좋습니다. 업데이트되어 tonemap과 zscale 필터가 포함되기까지는요. :)

 

  • ?
    해피해피 2018.06.25 12:25
    프리셋받아서 인코딩해보니 오류나네요 ㅠㅠ
  • ?
    sSTSs 2018.06.25 14:26
    colorspace 필터가 잘 작동하지 않네요. 할 수 없이 colorspace를 빼고 scale에서 변환하는 방법을 써서 다시 변경했습니다.
  • ?
    해피해피 2018.06.25 15:16
    와 정말 감사합니다 못할줄알고 포기하고있었는데 ㅎㅎ
    이렇게 해결해주시니 어떻게 감사를 드려야할지 너무 감사해요
  • ?
    sSTSs 2018.06.25 15:39

    위의 프리셋을 응용하여 4K HDR UHD 동영상(http://4kmedia.org/ 에서 받은 4K HDR UHD 동영상 샘플인 'LG New York HDR UHD 4K Demo')을 FHD(1080p) SDR로 트랜스코딩해 본 결과입니다.

    (영상에 관한 설명은 http://4kmedia.org/lg-new-york-hdr-uhd-4k-demo/ 에서)

     

     

    <원본(448MB, ts 형식)>

    https://drive.google.com/open?id=1-aAC4KrW8YBZKSjBx4OWuQKOOJ-DiJAz

     

    <원본 캡쳐(2MB, jpg 형식)>

    https://drive.google.com/open?id=1vsdFfkKybnpWIDeFU5YakTCw7FOFOIBs

     

     

    <FHD SDR(101MB, mkv 형식)>

    https://drive.google.com/open?id=1ZX6d1N3YMY5Ynu9FS9ILodfrt44oT5iF

     

    <FHD SDR 캡쳐(494kB, jpg 형식)>

    https://drive.google.com/open?id=1RXILmygf6477WOuy1y5deC2ozr1wQSri

     

     

    둘을 비교해 보면 아시겠지만 SDR 영상이 마치 Gamma correction을 하지 않은 모니터에서 보는 것처럼 상당히 어둡게 보이고 푸른 계열 색이 많이 씻겨져 나간 것같이 보이실 겁니다. 이는 적절한 tonemapping 하지 않고 HDR을 SDR로 그냥 색공간을 변경했기 때문에 나타나는 당연한 현상입니다. 그렇기 때문에 tonemap, zscale 필터가 샤나에 반영될 때까지 기다리시는 게 낫다고 말씀드린 것입니다.

     

    그래서 컴퓨터에서 이 영상을 보시려면 시간이 좀 걸리더라도 같은 HDR로 인코딩해서 팟플레이어에서 [메뉴] -> [영상] -> [픽셀 셰이더] 설정에서 'HDR SMPTE ST 2084/2086 자동 보정'을 체크해 필터를 적용해 보시는 게 훨씬 나을 듯합니다.

     

  • ?
    해피해피 2018.06.25 16:36
    아 그렇군요 감사해요
    언제나 빠르고 상세한답변 해주시는 sSTSs 님 복받으실거에요
    좋은하루되세요
  • ?
    Prophet 2018.07.11 16:38

    이렇게 하는 것은 소용이 없고, 수출의 색채는 여전히 잘못된 것이다.

     

    (기계 번역)

  • ?
    sSTSs 2018.07.15 23:40
    That's why I don't recommend this preset.

    Although the most recent version of the Shana Encoder (v 4.9.0.1) comes with the tonemap filter, it still lacks the zscale filter, which is indispensable for using the tonemap filter in the HDR/SDR conversion.

    I'm planning to update this preset as soon as the zscale filter becomes available in the Shana Encoder. Meanwhile, you can refer to my posting on the HDR -> SDR conversion using a pre-built FFmpeg deployment: https://shana.pe.kr/shanaencoder_tip/49794

  1. GIF 움짤 만들기 (수정)

    Date2019.09.08 BysSTSs Views334 Votes0
    Read More
  2. H264(NVENC) 화질향상 0.1

    Date2019.06.23 By문화보호물 Views3143 Votes2
    Read More
  3. 레터박스 대신 흐린 원본 영상을 배경으로 까는 프리셋

    Date2018.11.05 BysSTSs Views1466 Votes0
    Read More
  4. 영상에 텍스트 로고를 입히는 프리셋

    Date2018.10.11 BysSTSs Views1510 Votes1
    Read More
  5. HEVC(x265) 2패스 인코딩 프리셋

    Date2018.09.15 BysSTSs Views4852 Votes0
    Read More
  6. 인코딩된 파일의 PSNR, SSIM 값 계산을 위한 프리셋

    Date2018.09.05 BysSTSs Views1119 Votes0
    Read More
  7. HEVC(x265) 디테일 개선을 위한 프리셋

    Date2018.08.30 BysSTSs Views5512 Votes1
    Read More
  8. 오로지 확장자만 변경하기 위해서 만든 프리셋

    Date2018.07.28 By문화보호물 Views3989 Votes0
    Read More
  9. 부드러운 움직임의 60fps 인코딩 (minterpolate 필터를 이용)

    Date2018.07.16 BysSTSs Views5297 Votes0
    Read More
  10. HEVC(NVENC)를 이용한 일반 HDR 동영상 인코딩

    Date2018.07.16 BysSTSs Views3067 Votes0
    Read More
  11. HDR -> HDR(HDR10) 인코딩 (HEVC(x265), 1080p)

    Date2018.06.25 BysSTSs Views3261 Votes0
    Read More
  12. HDR -> SDR 변환 (H264(x264), 1080p)

    Date2018.06.25 BysSTSs Views2512 Votes0
    Read More
  13. HEVC(NVENC) 화질 향상 프리셋

    Date2018.06.19 BysSTSs Views7651 Votes1
    Read More
  14. HEVC 영상의 코덱 ID만 hev1에서 hvc1으로 변경하는 프리셋

    Date2018.05.21 BysSTSs Views1590 Votes0
    Read More
  15. VP9, Opus 코덱으로 인코딩하는 WebM 프리셋 (1080p, 720p, VOD 용)

    Date2018.05.20 BysSTSs Views1901 Votes0
    Read More
  16. A slow but high quality and low size x264 setting

    Date2018.05.20 ByProphet Views1505 Votes1
    Read More
  17. 그랜져 IG 블루링크2.0 고화질용 8인치 네비

    Date2018.02.16 By흠냐룽 Views2608 Votes0
    Read More
  18. 2160p to 1080p 변환 (수정)

    Date2018.01.29 By황금별똥 Views4201 Votes0
    Read More
  19. [Slow attention !!] HEVC advanced setting preset - Blu-ray backup

    Date2017.04.20 ByJohnMunga Views14466 Votes0
    Read More
  20. H264 Advanced settings (for backup)

    Date2017.03.05 By리미터 Views17240 Votes1
    Read More
Board Pagination Prev 1 2 Next
/ 2