동영상 트랜스코더 프로그램을 다시 다룬 지 얼마 안 되어 공부할 게 많다. 모르는 것도 많고.
오디오는 64kHz AAC로 정했다. 블루레이나 DVD원본과 64kHz 열화본을 교대로 들으면 그 품질이 조악하다고 자연스럽게 불평하겠지만, 그래도 이 정도면 아날로그 지상파 방송(VHF, UHF, FM)의 오디오 품질과 비교할 만할 것 같다고 생각하는데.. 일단 오디오를 중시한 보관용은 아니다. TV 다큐멘터리, 대담물 등에는 무난.
영상이 문제인데.. 오디오와 마찬가지로,
마마마 블루레이를 리핑할 건 아니니까 고화질은 필요없고,
옛날 TV프로그램 등을 적당히 봐줄 만하고 부담없이 적은 용량으로 압축 보관하는 게 목적.
소스가 고화질이면 압축테스트를 엄청 하고 최적화해도 그러는 보람이 있다.
하지만 소스 포맷이 MPEG, DivX, ASF, DivX이런 거면서 그나마 신경을 덜 썼거나 고압축이라 아티팩트가 많고 VHS나 초창기 DVD나 TV영상물로 짐작되는 주사선과 색번짐과 필름노이즈가 나는 놈이라면, 인코딩 옵션 최적화도 고화질도 사치다. 대충 기준잡아 1시간 분량에 80 ~ 320MB면 충분. 마치 역사적 기록처럼 고품질로 보관하는 사람은 내가 아니라도 세상에 많을 테니까.
1.
약 50분짜리 동영상 A를 HEVC 인코딩했을 때 결과물 파일 크기.
- CRF Q=26 preset=ultrafast 조건으로 162MB
- CRF Q=26 preset=superfast 조건으로 182MB ??????
- CRF Q=26 preset=veryfast 조건으로 167MB
- CRF Q=26 preset=medium 조건으로 211MB가 나왔다.
. - CRF Q=23 preset=ultrafast 조건으로 236MB
- CRF Q=23 preset=veryfast 조건으로 250MB
- CRF Q=23 preset=medium 조건으로 325MB가 나왔다(23 ultrafast대비 ~40% 늘었다).
veryfast가 2배속에 가깝게 나올 때
ultrafast, superfast는 3배속대 초반까지는 간다.
medium은 1배속내외.
veryfast는 샤나인코더 기본값이다. "프리셋을 좀 바꾼다 해서 용량차이는 별로 안 난다"는 글을 여기 저기서 봤지만, 그게 아니었군. 저 정도면 같은 프리셋에 Q값을 1~2 정도 올린 것과 비슷하지 않을까. 인코딩 방식에 영향을 받는 모양이다.
예를 들어, CRF모드와 CQP모드는 고정 비트레이트가 아니라 품질 기준이기 때문에, 옵션 여럿이 겹치다 보면 영상 종류에 따라서는 마치 자동차 하위트림에 옵션질하면 상위트림보다 비싸지는 형국을 보는 게 아닐까. 한편 비트레이트를 고정한(예를 들어 스트리밍용) 인코딩 방식에서는 한계를 잡아 놓았을 테니까 프리셋을 바꿔도 결국 그 안에서 지지고 볶을 테니 용량변화는 별로 없을 테고.
또 하나, 알다시피 CRF는 고정비트레이트가 아니다. 그래서 같은 CRF Q값이라도 저 둘은 비트레이트가 다르다. veryfast 프리셋에서 400, 1200이 나온다면 medium 프리셋에서는 800, 1500이 나올 수 있다.
2.
약 50분짜리 동영상 B를 HEVC 인코딩했을 때 결과물 파일 크기.
이번에는 preset=veryfast (디폴트값)조건으로 고정하고
- CRF Q=26 일 때, 182, 168, 211, 187, 172, 178, 183, 167, 177, 223 MB가 나왔다(=1848MB).
- CRF Q=23 일 때, 284, 257, 325, 296, 274, 271, 273, 302, 325, 439 MB가 나왔다(=3046MB, 65% 늘었다).
앞서 다른 글에서 알아본 것처럼 프리셋은 값 하나가 아니라, 그 프리셋이란 이름으로 묶어 놓은 여러 값의 집합이다. 그리고 프리셋은 인코딩 방식이 ABR이든 CRF든 CQP든 보다 하위에서 적용되는 것인 듯.
3.
앞서의 글
에서 인용한 차트에서는,
veryfast에서 Q=22, 24, 26일 때 31.2, 23.4, 18.0 MB이다. 26을 기준으로 22는 73% 늘었다. 이것은 2번에서 경험한 것과 일치한다.
한편 Q=22 기준으로 veryfast 31.2 -> medium 32.4MB 로 비슷하고,
Q=24기준으로 veryfast 23.4 -> medium 24.2MB로 비슷하다.
1번에서 내가 만든 영상은 veryfast에서 medium으로 프리셋을 바꿨을 때 30%나 용량이 늘었는데, 이것은 아래 차트에서는 찾아볼 수 없다. 그 비슷한 것은 superfast이하에서 veryfast이상으로 올렸을 때나 볼 수 있다. 내 착각? 샤나인코더 특성?
인코딩 시간 문제.
CRF는 여러 Q값을 시험해보았는데,
프리셋은 아직 veryfast와 medium 프리셋만 쓰고 있다.
ultrafast로 하면 어느 정도 효과가 있을까. (이걸 적고 나서 1번에서 추가 시험했다)
여기서 질문.
HEVC CRF 인코딩할 때,
파일A는 superfast 프리셋인 대신 낮은 Q값을 주고
파일B는 medium프리셋이지만 높은 Q값을 주어
파일 크기는 A와 B가 동일하게 나오게 만들 때
둘 중 어느 것이 품질(화질)이 좋을까?
예를 들어, 위 3번의 첫 번째 차트, 프리셋, CRF, 용량 그림에서,
CRF 20 superfast = 24.9MB (45.4s)
CRF 24 medium = 24.2MB (131s)
CRF 22 ultrafast = 18.8MB (36.2s)
CRF 26 medium = 18.5MB (124.7s)
이렇다. 저 차트를 봐서는 CRF값을 고품질로 주고 프리셋을 낮게 주는 게, 파일 크기가 같으면서 인코딩시간이 1/3정도밖에 안 되어 더 좋다. 하지만 결과물 파일의 품질은 어떨까?
뭔가 크게 득볼 것 같은 짐작은, 해보면 역시나 그렇게 편하게 될 리가 없지로 끝난 적이 많기는 하지만.. (간단히 해보니, 같은 용량이라면 시간을 더 쓴, 그러니까 계산을 더 많이 한 것이 좀 나은 것 같기도 하다. 논리적으로 당연한 이야기다.
상대적으로 쉽게 구할 수 있는 짧은 초고화질 영화 트레일러 영상으로 시험해보면 차이를 확실하게 알 수 있을 것 같다)
CRF 20 superfast = 24.9MB (45.4s)
CRF 24 medium = 24.2MB (131s)
CRF 22 ultrafast = 18.8MB (36.2s)
CRF 26 medium = 18.5MB (124.7s)
이렇다. 저 차트를 봐서는 CRF값을 고품질로 주고 프리셋을 낮게 주는 게, 파일 크기가 같으면서 인코딩시간이 1/3정도밖에 안 되어 더 좋다. 하지만 결과물 파일의 품질은 어떨까?
뭔가 크게 득볼 것 같은 짐작은, 해보면 역시나 그렇게 편하게 될 리가 없지로 끝난 적이 많기는 하지만.. (간단히 해보니, 같은 용량이라면 시간을 더 쓴, 그러니까 계산을 더 많이 한 것이 좀 나은 것 같기도 하다. 논리적으로 당연한 이야기다.
상대적으로 쉽게 구할 수 있는 짧은 초고화질 영화 트레일러 영상으로 시험해보면 차이를 확실하게 알 수 있을 것 같다)
댓글 없음:
댓글 쓰기