- H.264 비디오 인코딩시 적절한 비트레이트?
- 컴퓨터야그/멀티미디어
- 2009. 2. 15. 21:07
비디오 인코딩시 용량대비 최적의 화질을 보여주는 비트레이트를 쉽게 정할 수는 없습니다.
컨텐츠의 내용이나, 화면의 변화량, 전체적인 색감 등에 따라 천차만별이니까요.
그래도 나름 스스로의 기준 즉, 저 만의 매직 넘버를 찾기 위해 나와있는 컨텐츠들의 비트레이트를 알아봤습니다.
대상은 [다크 나이트]입니다.
1. 블루레이 버전
[다크 나이트]의 블루레이는 ㅎㄷㄷ한 화면의 엄청난 정보량을 깔끔하게 보여주는 극강의 타이틀입니다.
이 물건은 VC1 코덱을 사용하며, 1920x1280, 23.976 fps를 30.72 Mbps의 비트레이트로 인코딩되었습니다.
(편의상 24 fps로 통칭하겠습니다)
이걸 1초당 정보량으로 계산해보겠습니다.
일단 영화의 raw 데이터는 1초당 1920x1280x24x3 B = 176,947,200 B 즉, 168.75 MB입니다.
이것이 30.72 Mbps = 3.84 MB/s로 인코딩된 것이니 1/44로 압축된 것이군요.
다시 말해, [다크 나이트]는 VC1으로 1/44로 압축되었단 뜻입니다.
이 물건은 VC1 코덱을 사용하며, 1920x1280, 23.976 fps를 30.72 Mbps의 비트레이트로 인코딩되었습니다.
(편의상 24 fps로 통칭하겠습니다)
이걸 1초당 정보량으로 계산해보겠습니다.
일단 영화의 raw 데이터는 1초당 1920x1280x24x3 B = 176,947,200 B 즉, 168.75 MB입니다.
이것이 30.72 Mbps = 3.84 MB/s로 인코딩된 것이니 1/44로 압축된 것이군요.
다시 말해, [다크 나이트]는 VC1으로 1/44로 압축되었단 뜻입니다.
2. 립버전 - 1080P
1080P 립버전은 H.264로 인코딩되었으며, 용량은 15.7816 GB입니다.
그리고, 이 영화의 러닝타임은 2:32:13 즉, 9133 초입니다.
나누기를 해보면 1.77 MB/s가 되는군요.
여기서 오디오의 크기를 비디오의 대략 1/10인 0.17 MB/s로 가정하면 1.6 MB/s 정도의 비트레이트가 되는군요.
H.264로 1/105.5... 생각하기 편하게 1/100으로 압축된 것이네요.
그리고, 이 영화의 러닝타임은 2:32:13 즉, 9133 초입니다.
나누기를 해보면 1.77 MB/s가 되는군요.
여기서 오디오의 크기를 비디오의 대략 1/10인 0.17 MB/s로 가정하면 1.6 MB/s 정도의 비트레이트가 되는군요.
H.264로 1/105.5... 생각하기 편하게 1/100으로 압축된 것이네요.
3. 립버전 - 720P
720P 립버전 역시 H.264로 인코딩되었으며, 해상도는 1280x720, 24fps이고, 용량은 5.8854 GB입니다.
(러닝타임은 역시 9133 초입니다)
나누기를 해보면 0.66 MB/s가 되고, 역시 오디오는 0.17 MB/s로 가정하면 0.49 MB/s가 되는군요.
한편, raw 데이터는 1초당 1280x720x24x3 B = 66,355,200 B 즉, 63.28125 MB입니다.
H.264로 1/129.1... 생각하기 편하게 1/130으로 압축된 것이군요.
(러닝타임은 역시 9133 초입니다)
나누기를 해보면 0.66 MB/s가 되고, 역시 오디오는 0.17 MB/s로 가정하면 0.49 MB/s가 되는군요.
한편, raw 데이터는 1초당 1280x720x24x3 B = 66,355,200 B 즉, 63.28125 MB입니다.
H.264로 1/129.1... 생각하기 편하게 1/130으로 압축된 것이군요.
제가 결정한 매직 넘버는 1/150입니다.
위에서 언급한 컨텐츠들은 극강의 화질을 유지한 상태에서의 비트레이트이기도 하거니와, 저는 립을 전혀 업으로 삼지도 않을 뿐더러 나름의 기준을 잡기 위한 것일 뿐이라 약간 작은 크기도 상관이 없을 것 같더군요.
1/150가 어느 정도인가 즉, 해상도에 따라 몇 kbps의 비트레이트인가를 계산하려면 아래와 같이 하면 됩니다.
폭 x 높이 x 3 x fps x 8 / 1024 / 150 kbps = 폭 x 높이 x fps / 6400 kbps
그렇다면 1280 x 720, 24fps의 동영상이 있다면 3456 kbps로 인코딩해야겠군요. ^^;;;
※ 1/200이라면 8533.3으로 나누면 됩니다. 그럼 1280 x 720, 24fps는 2592 kbps가 되는군요.
덧1. 파일의 용량을 알 때 비트레이트를 계산할 때는 아래와 같이 계산하면 됩니다.
파일 크기(Byte) / 시간(초) * 8 / 1024 = 파일 크기(Byte) / 시간(초) / 128 kbps
덧2. 파일의 용량과 해상도를 알 때 압축률을 계산할 때는 아래와 같이 계산하면 됩니다.
(폭 x 높이 x 3 x fps x 시간(초)) / 파일 크기(Byte)
'컴퓨터야그 > 멀티미디어' 카테고리의 다른 글
동영상 변환시 싱크 문제가 생기는 이유들 (0) | 2010.11.20 |
---|---|
여러 개로 분리된 동영상을 다시 합치면 싱크문제가 생기는 이유 (12) | 2010.01.31 |
블루레이에서 동영상을 추출하는 방법 (2) | 2009.02.15 |
AVISynth를 이용한 로고 제거법 (12) | 2008.09.27 |
AVISynth와 dgavcdec를 이용한 H.264 동영상 편집 (18) | 2008.09.26 |
Recent comment