VP9, Opus 코덱으로 인코딩하는 WebM 프리셋 (1080p, 720p, VOD 용)

by JKyle posted May 20, 2018
?

Shortcut

PrevPrev Article

NextNext Article

ESCClose

Larger Font Smaller Font Up Down Go comment Print

비디오는 VP9, 오디오는 Opus 코덱으로 인코딩하는 WebM 파일 프리셋입니다.

 

Google의 권고안을 바탕으로 1080p, 720p 용으로 만들었습니다.

참고) https://developers.google.com/media/vp9/settings/vod/

 

2 pass가 아닌 1 pass를 적용했습니다. Constrained Quality(CQ) 모드로, maximum quality level을 crf로 정하고 목표 평균 비트레이트와 최대, 최소 비트레이트를 정합니다.

 

인코딩 설정에 대한 설명입니다. (1080p 기준)

 

======================================================================

 

 -f webm // 컨테이너 포맷(파일 형식)을 webm으로 지정

 

 -c:v libvpx-vp9 -crf 31 -b:v 1800k -minrate 900k -maxrate 2610k // crf는 31, 목표 평균 비트레이트는 1800kbps, 최소 비트레이트 900k, 최대 비트레이트 2610k로 설정. 720p의 경우 이보다 낮춤.

 

 -tile-columns 2 -g 240 // 원본 비디오를 디코딩할 때 세로로 몇 조각으로 나누느냐는 옵션이 '-tile-columns'인데 2의 지수값을 설정함. 여기서는 2^2 = 4의 세로 조각으로 설정. -g는 key frame(I-frame) 사이에 최대 몇 개까지의 프레임을 허용할지 결정. 30fps의 영상이라면 240/30 = 8, 즉 8초까지 허용한다는 의미.

 

 -threads 8 -quality good -speed 4 // -thread는 인코딩 중 사용할 쓰레드 갯수. quality는 good, best, realtime 중 good을, speed는 0에서 4 중 가장 빠른 4를 선택

 

 -c:a libopus -ac 2 -b:a 56k // 오디오를 libopus 코덱으로 인코딩. 채널은 스테레오, 비트레이트는 56k

 

 -sn -map_metadata -1 -map_chapters -1 // 자막 없음, 메타데이터 초기화, 챕터 정보 없음

 

 -metadata:s:v:0 language=kor // 비디오 언어 한국어로 설정

 -metadata:s:a:0 language=kor // 오디오 언어 한국어로 설정

 

======================================================================

 

이상입니다.

TAG •