질문

4K HDR 영상의 화질과 오디오를 그대로 보존하고 자만만 입히고(Hardburn) 싶습니다.

by 진짜사나이 posted Dec 23, 2020
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

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

안녕하세요. 저는 인코딩 디코딩에 대한 지식이 전무한 사람입니다.

 

어쩌다가 PLEX라는 것을 알게 되었고, PLEX의 라이브러리를 구성하고... 

트랜스코딩과 다이렉트 플레이라는 것을 알게 되었습니다.

 

재생해본 결과 다이렉트 플레이가 훨씬 원활하고, 원본 화질 그대로 즐길 수 있다는 이점이 있어서 다이렉트 플레이를 고집하고 있습니다.

 

그런데 자막의 폰트를 변경하고 싶었습니다. 알아본 결과 ass 형식의 자막을 쓰면 된다는 것을 알았습니다.

 

여기서 문제가 생겼는데, PLEX 클라이언트가 자막이 srt이면 다이렉트 플레이가 가능하지만,

ass나 smi면 강제 트랜스코딩이 진행되어버려서 버퍼링이 엄청나게 걸리는 문제가 있었습니다.

 

그럼 srt 자막을 쓰고, 클라이언트에서 자막 폰트를 바꾸면 될 문제이지 않느냐고 생각하실 수 있는데, 클라이언트는 LG 스마트 TV이고, srt 형식의 자막의 경우 LG 스마트 TV가 정한 폰트(고딕체)로만 나와서 변경할 수 없었습니다. 바꾸고 싶다면 LG스마트TV를 루팅해야겠지만 저는 그런 능력이 없습니다. ㅠㅠ

 

그래서 이 영상에 자막을 입혀서(Hardburn) 다이렉트 플레이를 시켜야겠다고 결론을 내렸습니다.

 

검색을 하다가 하다가 여기까지 오게되었고, 이틀에 걸쳐서 많은 분들의 질문과 팁, 프리셋 등을 읽어보았습니다.

그리고 어느정도 해답을 찾았는데... 제가 생각한 바가 맞는지 확인하고 싶어서 이렇게 질문을 올립니다.

 

다시 말씀드리지만, 저는 영상 인코딩 디코딩에 대한 지식이 전무합니다. 그래도 이틀동안 몇번을 반복해 읽으면서 아주 조금 이해했습니다.

 

독서백편의자현(讀書百遍義自見) - 책을 백번 읽으면 그 뜻은 저절로 알게 된다.

 

어릴 때부터 이 마음을 가지고 살아왔던지라... 이해가 안되어도 몇 번을 반복해 읽으면 어느 순간 정말 이해가 되기 시작하더군요.

물론 또 설명을 매우 잘해주신 많은 분들 덕분입니다.

(여담이지만 PLEX 라이브러리 구성하고 ass 자막에 대해서 알게되고 트랜스코딩과 다이렉트 플레이에 대해서 알게되는데에 두달 걸렸네요 ㅠㅠ)

 

그리고 제가 이해한 부분에 대해서 점검을 받을려고 합니다.

 

 

본론을 말씀드리겠습니다.

제가 변환시키고 싶은 영상의 정보는 이렇습니다.

 

먼저 샤나인코더 밑에 나오는 요약된 비디오, 오디오 정보를 보여드리고, 오른쪽 마우스 클릭해서 파일정보를 눌렀을 때의 정보를 올리겠습니다.

 

요약

비디오 hevc, 3840x1596, 23.98fps, HDR, yuv420p10le(tv,   bt2020nc/bt2020/smpte2084)

오디오 dts, 48000Hz, 8ch

 

----------------------------------------------------------------------------------------------------------------------------------------------------------------------

General

Unique ID                                : 330454167508358052994626647783965339941 (0xF89B285B6F686DE699C9BDEF53523125)

Complete name                            : D:\PLEX\미국영화\해리포터 시리즈\해리 포터와 마법사의 돌 2160p.mkv

Format                                   : Matroska

Format version                           : Version 4

File size                                : 21.5 GiB

Duration                                 : 2 h 32 min

Overall bit rate mode                    : Variable

Overall bit rate                         : 20.2 Mb/s

Encoded date                             : UTC 2018-01-19 17:47:15

Writing application                      : mkvmerge v20.0.0 ('I Am The Sun') 64-bit

Writing library                          : libebml v1.3.5 + libmatroska v1.4.8

 

Video

ID                                       : 1

Format                                   : HEVC

Format/Info                              : High Efficiency Video Coding

Format profile                           : Main 10@L5.1@High

HDR format                               : SMPTE ST 2086, HDR10 compatible

Codec ID                                 : V_MPEGH/ISO/HEVC

Duration                                 : 2 h 32 min

Width                                    : 3 840 pixels

Height                                   : 1 596 pixels

Display aspect ratio                     : 2.40:1

Frame rate mode                          : Constant

Frame rate                               : 23.976 (24000/1001) FPS

Color space                              : YUV

Chroma subsampling                       : 4:2:0 (Type 2)

Bit depth                                : 10 bits

Writing library                          : x265 2.6+22-ff02513b92c0:[Windows][GCC 6.3.0][64 bit] 10bit

Encoding settings                        : cpuid=1173503 / frame-threads=4 / numa-pools=16 / wpp / no-pmode / no-pme / no-psnr / no-ssim / log-level=2 / input-csp=1 / input-res=3840x1596 / interlace=0 / total-frames=219173 / level-idc=51 / high-tier=1 / uhd-bd=0 / ref=4 / no-allow-non-conformance / repeat-headers / annexb / aud / hrd / info / hash=0 / no-temporal-layers / no-open-gop / min-keyint=1 / keyint=24 / gop-lookahead=0 / bframes=4 / b-adapt=2 / b-pyramid / bframe-bias=0 / rc-lookahead=25 / lookahead-slices=4 / scenecut=40 / radl=0 / no-intra-refresh / ctu=64 / min-cu-size=8 / rect / no-amp / max-tu-size=32 / tu-inter-depth=1 / tu-intra-depth=1 / limit-tu=0 / rdoq-level=2 / dynamic-rd=0.00 / no-ssim-rd / signhide / no-tskip / nr-intra=0 / nr-inter=0 / no-constrained-intra / no-strong-intra-smoothing / max-merge=3 / limit-refs=3 / limit-modes / me=3 / subme=3 / merange=57 / temporal-mvp / weightp / no-weightb / no-analyze-src-pics / deblock=-3:-3 / no-sao / no-sao-non-deblock / rd=4 / no-early-skip / rskip / no-fast-intra / no-tskip-fast / no-cu-lossless / no-b-intra / no-splitrd-skip / rdpenalty=0 / psy-rd=2.00 / psy-rdoq=1.00 / no-rd-refine / no-lossless / cbqpoffs=0 / crqpoffs=0 / rc=crf / crf=17.0 / qcomp=0.60 / qpstep=4 / stats-write=0 / stats-read=0 / vbv-maxrate=160000 / vbv-bufsize=160000 / vbv-init=0.9 / crf-max=0.0 / crf-min=0.0 / ipratio=1.40 / pbratio=1.30 / aq-mode=1 / aq-strength=1.00 / cutree / zone-count=0 / no-strict-cbr / qg-size=32 / no-rc-grain / qpmax=69 / qpmin=0 / no-const-vbv / sar=1 / overscan=0 / videoformat=5 / range=0 / colorprim=9 / transfer=16 / colormatrix=9 / chromaloc=1 / chromaloc-top=2 / chromaloc-bottom=2 / display-window=0 / master-display=G(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450)L(40000000,50) / max-cll=552,190 / min-luma=0 / max-luma=1023 / log2-max-poc-lsb=8 / vui-timing-info / vui-hrd-info / slices=1 / no-opt-qp-pps / no-opt-ref-list-length-pps / no-multi-pass-opt-rps / scenecut-bias=0.05 / no-opt-cu-delta-qp / no-aq-motion / hdr / hdr-opt / no-dhdr10-opt / analysis-save=(null) / analysis-load=(null) / analysis-reuse-level=5 / scale-factor=0 / refine-intra=0 / refine-inter=0 / refine-mv=0 / no-limit-sao / ctu-info=0 / no-lowpass-dct / refine-mv-type=0 / copy-pic=1

Default                                  : Yes

Forced                                   : No

Color range                              : Limited

Color primaries                          : BT.2020

Transfer characteristics                 : PQ

Matrix coefficients                      : BT.2020 non-constant

Mastering display color primaries        : Display P3

Mastering display luminance              : min: 0.0050 cd/m2, max: 4000 cd/m2

Maximum Content Light Level              : 552 cd/m2

Maximum Frame-Average Light Level        : 190 cd/m2

 

Audio

ID                                       : 2

Format                                   : DTS XLL X

Format/Info                              : Digital Theater Systems

Commercial name                          : DTS-HD Master Audio

Codec ID                                 : A_DTS

Duration                                 : 2 h 32 min

Bit rate mode                            : Variable

Channel(s)                               : 8 channels

Channel(s)_Original                      : Object Based

ChannelLayout_Original                   : Object Based

Sampling rate                            : 48.0 kHz

Frame rate                               : 93.750 FPS (512 SPF)

Bit depth                                : 24 bits

Language                                 : English

Default                                  : Yes

Forced                                   : No

 

Text

ID                                       : 3

Format                                   : PGS

Muxing mode                              : zlib

Codec ID                                 : S_HDMV/PGS

Codec ID/Info                            : Picture based subtitle format used on BDs/HD-DVDs

Language                                 : English

Default                                  : No

Forced                                   : No

----------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

 

이렇습니다.

저는 용량 줄일 생각도 없고, 화질 조정을 할 생각도 없습니다. 자막만 입히고 싶습니다.

빠른 설정을 들어가보니 스트림 복사가 있더군요.

 

오디오는 스트림 복사를 하면 될 것 같았습니다만, 비디오는 스트림 복사를 하면 자막을 입힐 수 없었습니다.(Hardburn)

자막을 영상에 새기는 것이니 재인코딩이 당연히 필요하겠지요.

 

저는 그럼 비디오를 똑같은 코덱과 똑같은 방식으로 설정해놓고, 자막 입히기를 체크하고 인코딩하면 되지 않을까 생각했습니다.

 

그래서 제가 가지고 있는 파일에 대해 공부를 좀 해보았습니다.

 

HDR 영상과 10비트 영상

https://shana.pe.kr/shanaencoder_tip/80753

 

이 글을 읽고 10비트와 HDR에 대해서 공부를 하였습니다만 아직 20%밖에 이해못했습니다.

 

그러다가 몇 번의 검색을 하다가 제가 원하는 프리셋을 발견했습니다.

 

HDR -> HDR(HDR10) 인코딩 (HEVC(x265), 1080p)

https://shana.pe.kr/shanaencoder_presets/49641

 

이 글이었습니다. 그러나 문제가 있는 것이 이 프리셋은 1080p HDR로 변환시키는 세팅이었습니다.

jKyle님께서 쓰신 글을 천천히 읽어보았고 이 부분을 발견했습니다.

 

--------------------------------------------------------------------------------------------------

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

 

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

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

        // 1080p로 해상도 변경, 알고리듬을 spline으로

        // 해상도 변경시 color matrix를 HDR 용인 bt2020_ncl로

        // 해상도 변경을 하지 않을 경우 지워도 무방

 

setsar=1/1

        // 레터박스 사용 안 함

 

shanasubtitle=0

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

 ---------------------------------------------------------------------------------------------------

 

여기에 따르면 해상도 변경을 하지 않을 경우 지워도 된다고 되어있는데,

필터 매개변수에서

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

이 한 줄을 지우면 된다는 뜻인건지요?

 

프리셋을 살펴봤을 때, 이 한 줄만 지우고, 자막입히기 체크를 하고 진행을 하면

제가 원하는 4k HDR(비디오 hevc, 3840x1596, 23.98fps, HDR, yuv420p10le(tv,   bt2020nc/bt2020/smpte2084)의 화질을 보존하면서 자막을 입혀서 인코딩하는 것이 가능할까요?

 

혹시나 싶어서 다시 한번 더 언급드리는데, 저는 oepn Subtitle을 해야합니다. closed subtitle로 먹싱해버리면, 결국 클라이언트에서 제공하는 폰트로 재생될 것이기 때문입니다.

 

답변주시면 정말 감사하겠습니다.

 

닫기