VCi의 핵심 프로그램인 ffmpeg에 적용한 옵션들이 적절한지를 확인해보기로 했다.
현재 선택 가능한 옵션이 너무 많다는 생각이 들었기 때문이다.
비디오와 오디오를 구분해서 인코딩 시험을 해봤다.
소스는 [다크 나이트 라이즈]의 어떤 장면…
BGM: "Why Do We Fall?"
1. 비디오
비디오 시험의 초점은 세 가지이다.
a. 2-passes slow / fast / very fast / ultra fast 는 정말로 성능과 품질의 차이가 있는가
b. 1-pass default의 성능과 품질은 다른 것과 비교해서 어떠한가?
c. 현재 VCi 배포본에 포함된 0.11.1과 최신 버전인 git-498e1c6(2013.1.4)의 차이는 있는가
동일한 소스에 대해 인코딩해본 결과 아래와 같은 결과가 나왔다.
old는 0.11.1을, new는 git-498e1c6을 의미한다.
눈에 잘 띄지 않는 숫자를 좀 더 쉽게 볼 수 있도록 그래프로 그려봤다.
우선 처리 시간…
일단, ffmpeg의 버전에 따른 처리 시간의 차이는 미미했다.
그리고, very fast와 ultra fast의 처리 시간 차이가 거의 없다는 것을 알 수 있었다.
또한, default(1-pass)는 ultra fast를 제외한 모든 2-passes보다 빨랐다.
심지어는 very fast보다도 조금 빨랐다.
다음은 PSNR…
ultra fast는 다른 프리셋에 비해 PSNR이 상당히 낮다.
very fast와 ultra fast의 처리시간이 별 차이가 없다는 점을 보면 ultra fast의 필요성 자체가 의문이다.
그리고, default(1-pass)가 fast(2-passes)보다 미미하게 PSNR이 높다.
비디오 시험 결론…
a. fast preset은 사실상 별 의미 없고, 이 자리는 default가 대체
b. ultra fast preset는 전혀 의미 없고, 그냥 삭제
c. 버전에 따른 차이는 미미함
2. 오디오
오디오 시험의 초점 역시 세 가지이다.
a. ffmpeg은 Nero 인코더를 대체할 수 있는 수준인가[각주:1]
b. ffmpeg의 기본 AAC 인코더(시험 버전임)와 libvo_aacenc의 차이는 있는가[각주:2]
c. 현재 VCi 배포본에 포함된 0.11.1과 최신 버전인 git-498e1c6(2013.1.4)의 차이는 있는가
역시 동일한 소스에 대해 인코딩해본 결과 아래와 같은 결과가 나왔다.
f-old/new는 기본 AAC 인코더를, f-old/new vo는 libvo-aac를 의미한다.
PSNR만 보면 가볍게 Nero를 발라버리는 나머지 인코더들… ㄷㄷㄷ
처리 시간을 그래프로 나타내면 아래와 같다.
Nero와 ffmpeg의 기본 AAC 인코더는 처리 시간이 비슷한 수준이고, libvo-aac는 세 배 이상 빠르다.
다음은 PSNR…
ffmpeg의 인코더들은 오디오 용량에 따라 PSNR이 달라진다.
용량이 작을수록 PSNR이 떨어지고, 클수록 높아진다.
그런데, Nero는 특이하게도, 오디오 용량에 무관하게 일정한 값을 보여준다.
위의 데이터만으로는 Nero 인코더를 쓸 필요가 없다.
속도도 무척 빠르고, PSNR도 높은 libvo-aacenc가 최고다.
게다가, 시험용 버전도 아니다.
그러나…
이 오디오들을 직접 귀로 들어보면 얘기는 달라진다.
ffmpeg의 인코더들은 전체적으로 오디오가 많이 뭉개진다.
높은 PSNR이 보여주는 건 단지 수치적으로 원본과 차이가 적다는 것 뿐이다.
게다가, 더 큰 문제가 있다.
ffmpeg으로 만들어진 AAC를 다시 PCM-WAVE 파일로 변환해보면 크기가 미묘하게 변한다.
단지 몇 ms에 지나지 않기는 하지만, 디지털 세상에서 데이터의 크기가 변한다니!
오디오 시험 결론...
a. Nero가 여전히 갑임
b. ffmpeg의 AAC 인코더 및 libvo-aacenc는 관심 끊어야겠음
최종 결론은 아래와 같다.
a. 비디오 인코딩 preset 중 fast, ultra fast는 별 의미 없으므로 삭제 (super fast도 같은 이유로 삭제)
b. 비디오 인코딩 preset 중 default는 fast를 대체
c. 오디오 인코딩은 여전히 Nero가 갑임. 앞으로도 변하진 않을 듯
키보드 보안 프로그램을 찾아서 지우는 프로그램 업데이트 (1.2) (11) | 2014.01.05 |
---|---|
한/글(HwpML) 파일 압축기(HIS) 1.6 업데이트 (2) | 2013.05.06 |
SRT 자막 관리 도우미 SRTier 공개 (19) | 2012.10.03 |
VC6에서 윈도 7/8의 태스크바 프로그레스 기능 적용하기 (0) | 2012.09.19 |
한/글(한컴) 파일의 크기를 줄여주는 프로그램 HIS 공개 (6) | 2012.08.11 |