인코딩 왕초보 입니다.
원본 영상이 2160p x265 10bit HDR10.mkv (용량:10.5GB, 오디오 제외) 입니다.
General
Unique ID : 165349255917911661362111292197401311826 (0x7C651BBB3765811D0BA1A7AF31E8BA52)
Complete name : 2160p x265 10bit HDR10.mkv
Format : Matroska
Format version : Version 4
File size : 15.7 GiB
Duration : 2 h 11 min
Overall bit rate mode : Variable
Overall bit rate : 17.0 Mb/s
Encoded date : UTC 2017-12-19 23:39:21
Writing application : mkvmerge v19.0.0 ('Brave Captain') 64-bit
Writing library : libebml v1.3.5 + libmatroska v1.4.8
Video
ID : 1
Format : HEVC
Format/Info : High Efficiency Video Coding
Commercial name : HDR10
Format profile : Main 10@L5.1@High
Codec ID : V_MPEGH/ISO/HEVC
Duration : 2 h 11 min
Bit rate : 11.4 Mb/s
Width : 3 840 pixels
Height : 1 600 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
Bits/(Pixel*Frame) : 0.077
Stream size : 10.5 GiB (67%)
Writing library : x265 2.5+58-06979c042350:[Windows][GCC 6.2.1][64 bit] 10bit
Encoding settings : cpuid=1173503 / frame-threads=4 / numa-pools=20 / wpp / no-pmode / no-pme / no-psnr / no-ssim / log-level=2 / input-csp=1 / input-res=3840x1600 / interlace=0 / total-frames=189480 / 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 / bframes=4 / b-adapt=2 / b-pyramid / bframe-bias=0 / rc-lookahead=25 / lookahead-slices=4 / scenecut=40 / 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 / analysis-reuse-mode=0 / 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(11000000,0) / max-cll=0,0 / 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 / a
nalysis-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.0000 cd/m2, max: 1100 cd/m2
동일한 조건으로 용량만 8GB로 줄이는 방법을 잘 모르겠습니다.
프리셋 자료실 30번 HDR10 HEVC crf 18 1080p HE-AAC 44.1 64k.xml 프리셋을 사용하려고 하는데
고수님들의 조언 부탁드립니다.~~
인코딩 왕초보이신 분이 도전하기엔 만만치 않은 과제입니다만, 어쨌든 프리셋을 만들어서 올린 죄(?)로 댓글 답니다.
프리셋 게시물에 충분히 설명을 했다고 생각했지만 설명이 부족했나 봅니다. 흠...
인코딩하실 때 가장 먼저 결정해야 할 부분이, 내가 이걸 퀄리티 모드로 할 것이냐, 아니면 비트레이트 모드로 할 것이냐 하는 겁니다. 화질을 우선순위로 둔다면 퀄리티 모드겠고, 용량이 우선순위라면 비트레이트 모드겠죠.
원본 메타데이터를 보니 x265 퀄리티 모드로 crf 17을 주고 인코딩했군요. 그래서 최종적으로 비디오 평균 비트레이트 11.4 Mb/s로 인코딩 됐고. x265의 crf 디폴트값이 28이니 상당히 높은 퀄리티를 주어서 인코딩한 셈입니다. 그러니 용량도 그렇게 큰 거겠고...
제가 올린 프리셋에서 바꿔야 할 부분은 다음과 같습니다.
1) 퀄리티 모드로 인코딩한다면 -crf 18.0 => -crf 22.0 정도.
원본보다 crf 값을 높게 주어서 화질을 약간 희생하고 용량을 줄입니다. (x265의 crf 디폴트값은 28인데, DVD 동영상 변환에 많이들 쓰는 crf 값은 22입니다.)
물론 인코딩된 최종 용량을 보시고 crf 값을 적절하게 변경할 것을 권장합니다.
참고로 crf 값이 높을수록 화질은 희생되지만 용량은 줄고 인코딩 속도는 나아집니다.
만약 비트레이트 모드로 인코딩하고 싶다면 -crf 18.0 대신 (8 Mb/s로 비디오를 인코딩한다고 한다면) -b:v 8M 과 같이 줍니다.
이 역시 비트레이트 값은 본인이 원하는 용량 기준으로 계산해서 넣어 주시면 됩니다.
2) 해상도 변경을 하지 않으니 scale=1920:-1 => scale=-1:-1
이 뒷부분인 flags 어쩌고...는 그대로 둡니다.
3) -preset slower => -preset medium
slower로 하면 최종 용량이 좀 줄어들긴 하겠지만 느린 인코딩 속도로 속터지실 겁니다. 그렇지만 fast, faster 등등 medium보다 빠른 프리셋은 별로 추천하고 싶지 않습니다.
4) master-display="G(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450)L(10000000,500)"
=> master-display="G(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450)L(11000000,0)"
원본의 메타데이터에 나와 있는 대로 master-display의 L(휘도) 설정 부분을 바꿔줍니다.
5) 오디오 쪽은 재생기기가 HE-AAC를 잘 지원하는지 확인하셔야 합니다. 지원하지 않는다면 그냥 AAC-LC로 인코딩하시면 무난합니다.
그리고 오디오 채널과 비트레이트, 샘플레이트는 적절하게 변경하실 것을 권합니다.
원본 메타데이터를 보니 기타 몇 가지 소소한 인코딩 옵션을 적용했는데, 일일이 설명하기엔 너무 방대한 내용이니 나머지 부분은 그냥 넘어가도록 하겠습니다. 관심 있으시면 추가로 공부하시길...
(no-strong-intra-smoothing, deblock=-3:-3, no-sao 등을 적용해서 x265 고유의 blurring 효과를 억제한 거나, no-open-gop로 closed GOP를 적용한 것 등등...)