현재 제가 애니들 인코딩하면서 일정 해상도 범위에서 인코딩을 하고 있습니다.
아래에 1번 방식에서 2번 방식으로 바꾸려는데 어떤게 더 좋은건지는 모르겠네요..
1번 프리셋은 인코딩 속도가 2~3x 정도 나오고, 2번 프리셋은 0.7~0.8x 정도 나옵니다.
왠만하면 화질을 좀더 퀄리티 높히려고 코덱 프리셋을 medium으로 시도 했는데
시간상 너무 느려서 시도 엄두가 안나네요...;;
만약 이거보다 더 좋은 방식이 있다면 조언 부탁드립니다. ㅠㅠ
1. 기존에 사용했던 프리셋
2. 변경할 프리셋
1. 리사이즈 필터
해상도를 줄이는 경우(downscaling 또는 downsampling) 계산이 많이 걸리는 spline이나 lanczos보다는 bicubic을 쓰시는 게 퀄리티 대비 속도 개선에 도움이 되실 겁니다. lanczos나 spline 같은 경우 일반적으로 연산 시간이 오래 걸리는 대신 해상도를 늘릴 때 유용하다고 평가됩니다.
이 게시물의 댓글 부분을 참고해 보십시오.
원본이 애니일 경우 bilinear나 area 알고리듬도 시도해 보시고 결과에 따라 적용하시면 연산 시간이 절약될 것으로 생각됩니다.
2. 코덱
HEVC(x265)은 압축 효율이 좋은 대신 효율의 증가 이상으로 연산 시간이 H264(x264)보다 오래 걸립니다.
HEVC은 고해상도에 적합한 코덱입니다. FHD 이상의 해상도가 아니라면 H264로 가시는 게 좋을 겁니다.
3. 코덱 프리셋
H264(x264)의 veryfast는 디폴트 프리셋인 medium에서 움직임 관련(P-프레임, B-프레임) 세밀한 계산 부분을 어느 정도 생략해서 연산 속도를 증가시킨 프리셋입니다.
(정확히는 고유 옵션에서 --no-mixed-refs --rc-lookahead 10 --ref 1 --subme 2 --trellis 0 --weightp 1 을 설정)
설정하신 비트레이트에서 화질이 만족스럽지 못하다면 프리셋을 faster ⇒ fast ⇒ medium 등 순차적으로 낮춰보면서 인코딩 시도해 보시죠.
경우에 따라 다르겠지만, 일반적으로 필터나 코덱 종류 변경보다는 연산 속도 저하가 좀 덜할 겁니다.