애드센스(728x90)


유튜브(YouTube) 인코딩 비법



유튜브(YouTube)에서 사용자가 비디오 파일을 업로드 시도하려고 하면 동영상 관리자를 통해서 미국 LA 소재의 구글(Google) 본사 서버로 사용자의 비디오 파일이 전송됩니다. (1편당 128GB 용량 제한, 분량 무제한) KT 기가인터넷 회선에서 최대 120Mbps의 업로드 속도를 보여줍니다.

미국 LA 소재의 구글(Google) 본사 서버로 전송된 동영상은 인코딩되기 전에 먼저 저작권 위반 여부 및 음란성을 자체 DB와 대조를 함으로써 검증하는 과정을 거칩니다. 이 때 저작권 위반 사항이 발견되면 해당 동영상에 대하여 비공개로 강제적으로 변경되거나 광고 수익이 제한됩니다. 또한 음란성이 높은 동영상으로 검증될 경우 해당 동영상에 대한 강제 삭제는 물론 그 업로더에 대한 제재도 이루어질 수 있습니다.

이 과정이 통과되면 구글(Google) 본사 내부망에 있는 인코딩 서버로 동영상이 전송되어 인코딩 과정을 거치게 됩니다. 구글(Google)의 유튜브(YouTube) 권장 업로드 인코딩 설정은 유튜브(YouTube)의 동영상 화질을 가늠할 수 있는 잣대일 뿐 사용자가 업로드하는 모든 동영상들은 예외없이 구글(Google) 서버에서 반드시 인코딩을 거쳐서 유튜브(YouTube)에 개시됩니다.

또한 실제 유튜브(YouTube)의 인코딩 결과물과는 전혀 맞지않는 내용도 있어 이용자들에게 혼란을 야기하고 있습니다. 특히 구글(Google)이 제시하는 유튜브(YouTube)의 권장 업로드 인코딩 화질의 비트레이트는 실제로는 유튜브(YouTube) 서버에서 최고값으로 세팅된 수치일 뿐 평균 비트레이트는 이보다 훨씬 낮은 것으로 드러났습니다.

https://support.google.com/youtube/answer/1722171?hl=ko

유튜브(YouTube)에서 여러개의 소스를 다운로드 받아서 실제 유튜브(YouTube)의 인코딩 설정을 분석하였습니다.


1. H.264 코덱으로 스트리밍되는 비디오 소스 (*.mp4)

지원되는 브라우저: 마이크로소프트 인터넷 익스플로러 10(Microsoft Internet Explorer 10), 마이크로소프트 인터넷 익스플로러 11(Microsoft Internet Explorer 11), 마이크로소프트 엣지(Microsoft Edge), 구글 크롬(Google Chrome), 모질라 파이어폭스(Mozilla Firefox), 오페라(Opera)
인코딩 화질: 무난하거나 좋지 않음

비디오: H.264 High Profile (YUV 4:2:0으로 크로마 서브샘플링)
2개의 연속된 B프레임, 폐쇄 GOP

720p
평균 2Mbps, 최고 5Mbps

720p HFR
평균 3Mbps, 최고 7.5Mbps

1080p
평균 3Mbps, 최고 8Mbps

1080p (2K, 2048x1152, H.264 스트리밍 단독 해상도)
평균 7Mbps, 최고 18Mbps

1080p HFR
평균 5Mbps, 최고 12Mbps

1440p (2K)
평균 8Mbps, 최고 16Mbps

2160p (4K)
평균 20Mbps, 최고 45Mbps

오디오: AAC-LC
44.1Khz 16비트 스테레오 128~256kbps



2. VP9 코덱으로 스트리밍되는 비디오 소스 (*.mkv)

지원되는 브라우저: Google Chrome, FireFox, Opera
*Microsoft Edge는 Windows 10 RS1_Release 정식 빌드에서 지원 예정

인코딩 화질: 좋음 (동일 비트레이트에서 H.264 코덱 대비 2배의 압축률)

*1440p 및 1440p HFR 또는 그 이상의 원본 해상도를 지닌 동영상을 업로드 할 경우에만 스트리밍 가능

비디오: VP9 (YUV 4:2:0으로 크로마 서브샘플링)
2개의 연속된 B프레임, 폐쇄 GOP

720p
평균 2Mbps, 최고 5Mbps

720p HFR
평균 3Mbps, 최고 7.5Mbps

1080p
평균 3Mbps, 최고 8Mbps

1080p HFR
평균 5Mbps, 최고 12Mbps

1080p HFR (2K, 2048x1152, VP9 스트리밍 단독 해상도)
평균 6Mbps, 최고 14Mbps

1440p (2K)
평균 8Mbps, 최고 16Mbps

1440p HFR (2K, VP9 스트리밍 단독 해상도)
평균, 14Mbps, 최고 24Mbps

2160p (4K)
평균 20Mbps, 최고 45Mbps

2160p HFR (4K, VP9 스트리밍 단독 해상도)
평균 28Mbps, 최고 68Mbps

오디오: Vorbis
44.1Khz 16비트 스테레오 128kbps



인코딩 시의 주의해야 될 사항으로 이 글을 정리하겠습니다.
유튜브(YouTube)는 어떤 동영상을 올리던지 반드시 인코딩을 거친 후에 개시합니다. 그러므로 최대한 원본에 대해서 화질 손실없이 유튜브(YouTube)에 업로드 하는 것이 좋습니다.

마스터링 또는 동영상 편집 및 후처리 과정을 거치는 경우 가급적 무압축 RAW 또는 MPEG2 Intra 코덱 (I-프레임만 사용), H.264 Intra 코덱 (소니 XAVC Intra) 등의 인트라 코딩 압축 (시간적 압축을 하지 않음으로 인해 개별 프레임이 전부 최상의 화질을 보장하므로 후반 작업에 유리한 화질을 보장)으로 원본을 촬영 및 캡쳐하고 H.264와 같은 DCT 양자화 코덱보다는 Apple ProRes나 모션 JPEG 2000처럼 최대한 원본에 가까운 화질을 보장할 수 있는 Wavelet 양자화 코덱으로 업로드를 하는 것이 좋습니다. 막연하게 비트레이트가 높고 화질이 좋은 것으로는 충분하지 않습니다.
이 경우 최대한 크로마 서브샘플링을 거치지 않은 상태로 유튜브(YouTube) 배포용 비디오를 출력하는 것이 좋으며 12비트 또는 10비트 컬러로 출력하는 것이 유튜브(YouTube) 서버에서 인코딩될 때의 컬러 밴딩을 최대한 최소화할 수 있습니다.

한편으로는 아무리 최고화질로 작업해서 업로드하더라도 유튜브(YouTube)의 지나친 속도 위주의 인코딩으로 인한 색수차 손실 (낮은 비트레이트 할당에 YUV 4:2:0 색수차 손실 압축까지 겹처서 생긴다고 보는 것이 더 타당합니다.)은 피해갈 수 없는 큰 문제입니다. 결국 시간이 지날수록 구글(Google)이 원하는대로 VP9 코덱을 통한 스트리밍 이용률이 올라가거나 VP9의 실패를 인정하고 뒤늦게 H.265 코덱을 도입하거나 현재의 유튜브(YouTube)의 할당 비트레이트로는 H.264 코덱을 통해 스트리밍을 이용하는 것은 이용자들로 하여금 지글거리는 색상에 픽셀 현상이 보일 정도로 정말로 끔찍한 경험을 야기하고 있다는 것은 확실합니다.

유튜브(YouTube) 호환 가능 코덱
H.264 (*.mkv, *.mp4, *.mxf), MPEG-2, VP9 (*.webm, *.mkv), 모션 JPEG, 모션 JPEG 2000 (*.mkv, *.mxf), Apple ProRes (해외 다수 Mac 이용자들로부터 호환 가능하다는 정보 입수)

유튜브(YouTube) 호환 불가 코덱
Avid DNxHD/DNxHR (인코딩 오류 자주 발생), GoPro Cineform, H.265 (삼성 미러리스 카메라 사용자들로부터 H.265 녹화본이 유튜브(YouTube)에서 호환 불가능하다는 정보 입수)



통계 위젯 (화이트)

13
34
18656

mouse block