VP9 비트 전송률 모드(세부정보)

소개

Google에서는 기본 인코딩 페이지에서 비트 전송률 모드에 관한 간략한 정보를 제공하지만 CQ (제한적 품질) 모드만 처리합니다.

이 문서에서는 다양한 시나리오에 맞게 VP9 비트 전송률을 조정할 수 있는 다른 실용적인 방법을 설명합니다. 아래 예에서는 FFmpeg를 사용합니다.

압축

VP9과 같은 동영상 압축 기술은 최종 사용자에게 이해하기 쉬운 사진과 움직임을 전달하는 데 필요한 데이터의 양을 줄이는 것을 목표로 합니다.

이를 위해 사용되는 주요 기법 중 하나가 양자화입니다. 양자화는 이미지의 다양한 디지털 요소를 단순화합니다. 예를 들어 사용되는 색상 범위의 범위를 줄일 수 있으며, 더 낮은 색상 범위 내에서 인식된 미세 해상도가 부족한 데이터에 대해 수학 함수를 실행하여 '부드럽게' 처리할 수 있습니다. 이러한 함수는 많이 있습니다.

양자화 (또는 'Q")는 위키백과 도움말에 명시되어 있습니다.

VP9에서 변환 계수를 기반으로 양자화가 수행됩니다. 이렇게 하면 인코딩에 추가하여 인지된 품질을 유지하기 위해 필요한 비트 전송률이 줄어듭니다.

궁극적으로 양자화가 더 많으면 (Q 수가 높을수록) 세부정보는 손실되고 품질이 낮지만 프레임을 저장하는 데 필요한 데이터는 더 적어집니다. 대부분의 경우 VP9 인코더는 각 프레임의 복잡도에 따라 시간 경과에 따라 Q를 변경하여 비트 전송률 목표를 달성합니다.

사용 사례 최적화

사용자가 VP9 압축을 특정 요구사항에 맞게 조정할 수 있도록 초기 압축 시 여러 프로그래밍 인터페이스를 통해 품질과 비트 전송률의 균형을 조정할 수 있습니다.

인코더는 속도, 품질, 비트 전송률 간에 슬라이딩 절충이 있습니다.

  • 사용자가 품질에 중점을 두는 경우 인코딩 시간을 늘리거나 보다 빠르고 풍부한 처리 리소스를 제공해야 합니다.

  • 사용자가 출력 VP9로 인코딩된 파일이 작고 빠르게 전달될 수 있도록 하는 데 중점을 두는 경우, 양자화기에서 이미지가 처리되는 시간을 줄일 수 있도록 준비해야 하며, 따라서 양자화 작업이 더 짧아집니다.

  • 사용자가 전송 속도에만 초점을 맞추는 경우 (예: 실시간 웹캐스트 또는 양방향 화상 회의) 양자화가 사용 가능한 데이터 바이트의 네트워크 전달 속도 ("bitrate")에 완전히 종속될 수 있습니다.

올바른 선택은 각 사용 사례에 따라 달라집니다. 이 균형을 사용 사례에 맞게 더 쉽게 조정할 수 있도록 VP9은 네 가지 비트 전송률 모드에서 간단한 구성을 지원합니다.

VP9 비트 전송률 모드

먼저 VP9이 지원하는 기본 비트 전송률 모드를 살펴보겠습니다.

모드
Constant Quantizer (Q) 고정된 퀀타이저 값을 지정할 수 있습니다. 비트 전송률은 경우에 따라 다릅니다.
제한된 품질 (CQ) 최고 품질 수준을 설정할 수 있습니다. 화질은 비트 전송률 매개변수 내에서 다를 수 있습니다.
가변 비트 전송률 (VBR) 비트 전송률에 대한 제약조건 내에서 시간 경과에 따라 품질과 비트 전송률의 균형을 맞춥니다.
상수 비트 전송률 (CBR) 품질이 다양한 상태에서 비트 전송률을 일정하게 유지하기 위해 시도합니다.

Q

Q 모드 차트

Constant Quantizer 모드는 파일 크기 및 비트 전송률에 관한 우려가 최종 품질에 전적으로 종속되는 시나리오에 적합합니다.

Q 설정 사용 사례는 콘텐츠가 실제로 사용되기 전과 비교하여 원하는 출력의 품질이 높아야 하는 디지털 영화관, 디지털 편집 도구 모음, 디지털 사이니지 애플리케이션에서 확인할 수 있습니다.

VP9 Q 모드 비트 전송률 최적화

Constant Quantizer 모드에서는 최소한의 구성이 필요합니다. 이름에서 알 수 있듯이 Q 모드는 양자화가 타겟 '품질' 수준으로 유지되고 양자화에서 처리하려는 데이터의 흐름을 결정하는 데 집중합니다. 사용자가 정의하기만 하면 되는 것은 대상 품질입니다.

기본 인코딩 도움말에서 이미지 처리 초점 (비트 전송률 포커스 아님)의 타겟 품질에 관한 자세한 정보를 확인할 수 있습니다.

Q 모드 비트 전송률 최적화에 다음 FFmpeg 명령줄 매개변수를 사용합니다.

ffmpeg
-b:v 0 동영상 비트 전송률을 0로 표시하면 &qt;Q" 모드가 명시적으로 설정됩니다.
-g <arg> 키프레임 간격을 설정합니다 (기본값: 240).
-crf <arg> 최대 품질 수준을 설정합니다. 유효한 값은 0~63입니다. 숫자가 낮을수록 품질이 높습니다.
-quality good -speed 0 대부분의 애플리케이션에 기본값 및 권장 best-quality good -speed 0보다 미미한 개선이 있는 연구 도구의 역할을 했습니다.
-lossless 무손실 모드

Q 모드 비트 전송률 : FFmpeg 예

첫 번째 예시는 매우 극단적인 Q 모드 설정이며 삽화에만 제공됩니다. (이 예시에서 120초 클립을 처리하는 경우에도 몇 시간이 걸리며 일반적으로 생성된 출력 파일이 원본 소스보다 훨씬 큽니다.)

ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9 -g 1 -b:v 0 -crf 0 -quality good \
  -speed 0 -lossless 1 -c:a libvorbis Q_g_1_crf_0_120s_tears_of_steel_1080p.webm.webm

-crf의 효과를 비교하기 위해 다음 예는 -crf에만 적용됩니다. -g은 정의되어 있지 않으므로 기본적으로 240로 설정되며, -crf는 기본적으로 10로 설정됩니다. 따라서 세 가지 예시 중 두 번째에 두 매개변수를 포함하지 않고 동일한 결과를 얻었습니다.

ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9 -b:v 0 -crf 0 -quality good \
  -speed 0 -c:a libvorbis Q_crf_0_120s_tears_of_steel_1080p.webm
ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9 -b:v 0 -crf 10 -quality good \
  -speed 0 -c:a libvorbis Q_crf_10_120s_tears_of_steel_1080p.webm
ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9 -b:v 0 -crf 63 -quality good \
  -speed 0 -c:a libvorbis Q_crf_63_120s_tears_of_steel_1080p.webm

이 예시의 출력은 디스크에서 다릅니다. -crf0로 설정된 파일은 711.8MB이고 -crf10로 설정된 파일 크기는 125.3MB이고 -crf63로 설정하면 4.5MB입니다. 간단히 말해 -crf 인수의 값을 높여 결과 VP9 인코딩 파일의 품질을 낮췄음을 강조합니다. 모든 결과 파일의 전체 요약은 아래 결과 표에 나와 있습니다.

이제 다양한 -g 설정의 효과를 비교해 보겠습니다.

ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -g 1 -b:v 0 -quality good \
  -speed 0  -c:a libvorbis Q_g_1_120s_tears_of_steel_1080p.webm
ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -g 240 -b:v 0 -quality good \
  -speed 0 -c:a libvorbis Q_g_240_120s_tears_of_steel_1080p.webm
ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -g 480 -b:v 0 -quality good \
  -speed 0 -c:a libvorbis Q_g_480_120s_tears_of_steel_1080p.webm

-g 1 설정은 크기가 25.9MB인 매우 큰 파일을 생성합니다. 이를 -g 240(기본값으로 동일하게 설정)을 변경하여 4.5MB 파일을 생성하고 -g 480 4.4MB 파일을 확보하는 것과 비교해 보세요.

CQ

CQ는 파일 기반 동영상에 권장되는 모드입니다.

CQ 모드 차트

대부분의 콘텐츠 유형에서는 비트 전송률이 제한된 제한 (CQ) 모드를 사용하는 것이 좋습니다. 대부분의 동영상에는 모션이 높은 장면 (예: 작업 시퀀스)과 덜 세부적인 장면 (예: 대화)이 혼합되어 있습니다. CQ 모드를 사용하면 인코더가 비트를 낭비하지 않고 더 길고 쉬운 장면에서 적절한 품질 수준을 유지하는 동시에 어려운 시퀀스에 더 많은 비트를 할당할 수 있습니다.

그렇더라도 상위 범위를 제공하여 프로세스를 제한해야 합니다. 그러지 않으면 압축이 전혀 없을 수도 있습니다. 또한 이미지가 검은색이고 인코딩 프로세스에서 할 수 있는 일이 거의 없는 경우에도 낮은 범위를 설정할 수 있습니다. 그러나 이 경우 데이터 처리량이 줄어들기 때문에 검은색까지는 압축되지 않아 '매우 검은색'처럼 보입니다.

또한 양자화 기준도 설정해야 합니다. VP9에서 양자화 임계값은 0에서 63까지 다양할 수 있습니다.

다음 FFmpeg 명령줄 매개변수는 CQ 모드에 사용됩니다.
ffmpeg
-b:v <arg> 타겟 비트 전송률 (예: 500k)을 설정합니다.
-minrate <arg>
-maxrate <arg>
최소 비트 전송률 및 최대 비트 전송률을 설정합니다.
-crf <arg> 최대 품질 수준을 설정합니다. 유효한 값은 0~63이며, 숫자가 작을수록 품질이 높습니다.
CQ 비트 전송률 모드: FFmpeg 예

첫 번째 예는 상당히 넓은 제약 조건을 제공합니다. 그러나 Q의 경우 위의 예와 비교해 비트 전송률이 더 높은 범위로 강제되고 출력 품질이 특히 더 높은 것으로 나타났습니다. 특히 파일 크기가 훨씬 큽니다.

ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -b:v 2000k \
  -minrate 1000k -maxrate 4000k -crf 10  -c:a libvorbis \
  CQ_4000_1000_crf_10_120s_tears_of_steel_1080p.webm

이 인스턴스의 출력 파일은 디스크에서 20.2MB로, 위 예에서 Q 모드 인코딩보다 훨씬 작습니다.

반면에 다음 예와 달리 비트 전송률을 훨씬 더 정의된 범위의 범위로 제한했습니다.

ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -b:v 2000k \
  -minrate 1500k -maxrate 2500k -crf 10  -c:a libvorbis \
  CQ_2500_1500_crf_10_120s_tears_of_steel_1080p.webm

이 경우 출력 파일 크기는 24.1MB였고, 복잡성과 움직임이 많은 경우 이전 예시와 비교하여 동영상 품질이 눈에 띄게 줄었습니다.

ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -b:v 1000k \
  -minrate 750k -maxrate 1400k -crf 10  -c:a libvorbis \
  CQ_1400_750_crf_10_120s_tears_of_steel_1080pp.webm

이 마지막 예에서는 출력 크기가 크게 감소하여 디스크 크기가 13.2MB로 감소했습니다.

VBR

가변 비트 전송률 모드 (VBR)는 움직임이 많은 콘텐츠 (예: 스포츠)의 VOD 파일을 스트리밍하는 데 권장됩니다. HTTP 기반 전송에 적합합니다.

VBR 모드 차트

VBR 모델에서는 작업 장면이 키프레임과 일치하는 '더 쉬운' 장면보다 높은 비트 전송률로 인코딩될 수 있습니다.

대규모 스트리밍 전송 모델의 경우 배포 및 인프라 측면에서 VBR 이점이 상당히 증가할 수 있습니다. 많은 VBR 스트림이 동일한 인프라에서 제공될 경우 시스템을 사용하는 모든 시청자에게 도움이 될 수 있습니다.

VP9 VBR은 높은 움직임으로 스포츠와 기타 콘텐츠를 인코딩하는 경우에도 권장됩니다. 매우 복잡한 콘텐츠의 경우 VBR은 모션이 낮은 기간 동안 높은 품질을 달성합니다.

다음 FFmpeg 명령줄 매개변수는 VBR 모드에 사용됩니다.
ffmpeg
-quality good 이러한 설정이 있는 경우 FFmpeg는 후속 -speed 설정을 고려합니다.
-speed <arg> VOD 사용의 경우 유효한 값은 0~4이며 0은 가장 높은 품질, 4는 가장 낮은 품질입니다. (실시간 스트리밍의 경우 범위 5~8, 아래 CBR 참조)
VBR 비트 전송률 모드: FFmpeg 예
ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -b:v 2000k \
  -minrate 1500k -maxrate 2500k -quality good -speed 0  -c:a libvorbis \
  VBR_good_0_120s_tears_of_steel_1080p.webm
ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -b:v 2000k \
  -minrate 1500k -maxrate 2500k -quality good -speed 5  -c:a libvorbis \
  VBR_good_5_120s_tears_of_steel_1080p.webm
ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -b:v 2000k \
  -minrate 1500k -maxrate 2500k -quality good -speed 8  -c:a libvorbis \
  VBR_good_8_120s_tears_of_steel_1080pp.webm

CBR

VP9을 사용하는 실시간 스트리밍에는 상수 비트 전송률 모드 (CBR)가 권장됩니다.

CBR 모드 차트

CBR은 기본적으로 높은 비트 전송률을 하드코딩 상한선으로 설정합니다. 즉, 인코딩 프로세스는 네트워크가 전송할 수 없는 속도로 데이터를 생성할 수 없습니다.

예를 들어 실시간 통신 (화상 회의) 스트림의 경우 인코딩 애플리케이션이 처리할 수 있는 것보다 더 많은 데이터로 네트워크를 가득 채우지 않는 것이 중요합니다. 이렇게 하면 오디오/동영상 동기화 문제 또는 정지된 프레임이 압축 효율성보다 훨씬 중요한 것은 사용자 환경에 상당한 영향을 줍니다. 하드 천장이 정의되면 VP9은 천장에 도달했을 때 품질을 낮춥니다.

CBR 모드에는 다음과 같은 FFmpeg 명령줄 매개변수가 사용됩니다.
ffmpeg
-quality realtime 이러한 설정이 있는 경우 FFmpeg는 후속 -speed 설정을 고려합니다.
-speed <arg> 실시간 스트리밍의 경우 유효한 값은 5~8점이며 5점은 최고 품질이며 8점은 가장 낮습니다. (VOD의 경우 0~4) 위의 VBR을 참고하세요.)
-minrate <arg>
-maxrate <arg>
최소 및 최대 비트 전송률을 설정합니다. ** CBR 모드의 경우 동일한 -b:v 비트 전송률 값으로 설정해야 합니다.** .

매우 간단하게 설명하면 목표, 최소 비트 전송률, 최대 비트 전송률을 동일한 값으로 수정하고 양자화에 작업이 시간에 민감합니다.

CBR 비트 전송률 모드: FFmpeg 예

아래 예에서는 비트 전송률을 2Mbps 및 500kbps로 설정하는 방법을 살펴봅니다.

ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -b:v 2000k \
  -minrate 2000k -maxrate 2000k -quality realtime -speed 0 -c:a libvorbis \
  CBR_2000_realtime_0_120s_tears_of_steel_1080p.webm
ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -b:v 2000k \
  -minrate 2000k -maxrate 2000k -quality realtime -speed 5 -c:a libvorbis \
  CBR_2000_realtime_5_120s_tears_of_steel_1080p.webm
ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -b:v 2000k \
  -minrate 2000k -maxrate 2000k -quality realtime -speed 8 -c:a libvorbis \
  CBR_2000_realtime__8_120s_tears_of_steel_1080p.webm
ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -b:v 500k \
  -minrate 500k -maxrate 500k -quality realtime -speed 0 -c:a libvorbis \
  CBR_500_realtime__0_120s_tears_of_steel_1080p.webm
ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -b:v 500k \
  -minrate 500k -maxrate 500k -quality realtime -speed 5 -c:a libvorbis \
  CBR_500_realtime_5_120s_tears_of_steel_1080p.webm
ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -b:v 500k \
  -minrate 500k -maxrate 500k -quality realtime -speed 8 -c:a libvorbis \
  CBR_500_realtime_8_120s_tears_of_steel_1080p.webm

결과

위의 각 인코딩은 Ubuntu Linux 시스템에서 다음 사양으로 실행되었습니다.

  • 프로세서: 4x Intel(R) Core(TM) i5-6500 CPU @ 3.20GHz
  • 메모리 (RAM): 8060MB (1492MB 사용)
  • 그래픽: Intel HD Graphics 530 (Skylake GT2)
  • OS: Ubuntu 16.04 LTS

모든 경우에 사용된 소스 파일은 1분 20초 (1:20) 클립으로 Tears of Steel로부터 선별되었습니다.

파일 최소 인코딩 디스크의 파일 크기
Q_g_1_crf_0_120s_tears_of_steel_1080p.webm 81 1.06GB
Q_crf_0_120s_tears_of_steel_1080p.webm 131 711.8MB
Q_crf_10_120s_tears_of_steel_1080p.webm 118 125.3MB
Q_crf_63_120s_tears_of_steel_1080p.webm 27 4.5MB
Q_g_1_120s_tears_of_steel_1080p.webm 51 25.9MB
Q_g_240_120s_tears_of_steel_1080p.webm 28 4.5MB
Q_g_480_120s_tears_of_steel_1080p.webm 10 4.4MB
CQ_4000_1000_crf_10_120s_tears_of_steel_1080p.webm 11 20.2MB
CQ_2500_1500_crf_10_120s_tears_of_steel_1080p.webm 9 24.1MB
CQ_1400_750_crf_10_120s_tears_of_steel_1080p.webm 50 13.2MB
VBR_good_0_120s_tears_of_steel_1080p.webm 3 23.4MB
VBR_good_5_120s_tears_of_steel_1080p.webm 4 23.9MB
VBR_good_8_120s_tears_of_steel_1080p.webm 1 23.9MB
CBR_2000_realtime_speed_0_120s_tears_of_steel_1080p.webm 98 21MB
CBR_2000_realtime_speed_5_120s_tears_of_steel_1080p.webm 2 24.8MB
CBR_2000_realtime_speed_8_120s_tears_of_steel_1080p.webm 1 21MB
CBR_500_realtime_speed_0_120s_tears_of_steel_1080p.webm 73 6.2MB
CBR_500_realtime_speed_5_120s_tears_of_steel_1080p.webm 1 8.5MB
CBR_500_realtime_speed_8_120s_tears_of_steel_1080p.webm 1 7.1MB

-speed 값을 5보다 높게 설정하면 VP9 처리 속도가 변환됩니다. 이는 매우 낮은 품질의 빠른 비트 전송률에 미치는 영향 (강한 쿼터;

재조정 (크기 조절) 사용 사례 고려 사항

VP9# 비트 전송률 모드는 명확하게 격리되지 않으며, 다른 여러 인수 및 매개변수와 결합하여 사용 사례를 구체적으로 타겟팅할 수 있습니다. 일반적인 사용 사례 중 하나는 출력 동영상의 크기를 조정하여 특정 기기를 타겟팅하는 것입니다.

일반적인 예로는 HD 스트림을 SD 출력으로 변경하는 경우를 들 수 있습니다. 이는 처리 시간과 출력 비트 전송률에 상당한 영향을 미칩니다. 두 개의 FFmpeg 명령어가 동일한 경우에도 출력 동영상의 크기만 조정하면 결과 파일의 크기가 변경되며 실제로 스트리밍 모델에서 비트 전송률이 변경됩니다.

예를 들어 각 비트 전송률 모드에서 중간 지점 예시를 가져와서 단순히 크기 조절 매개변수를 추가했습니다.

Q 모드
ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9 -b:v 0 -crf 10 -quality good \
  -speed 0 -vf scale=640x480 -c:a libvorbis 640x480_Q_crf_10_120s_tears_of_steel_1080p.webm
CQ 모드
ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -b:v 2000k \
  -minrate 1500k -maxrate 2500k -crf 10 -vf scale=640x480 -c:a libvorbis \
  640x480_CQ_crf_0_120s_tears_of_steel_1080p.webm
VBR 모드
ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -b:v 2000k \
  -minrate 1500k -maxrate 2500k -quality good -speed 5 -vf  scale=640x480 \
  -c:a libvorbis 640x480_VBR_good_5_120s_tears_of_steel_1080p.webm
CBR 모드
ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -b:v 2000k \
  -minrate 2000k -maxrate 2000k -quality realtime -speed 5 -vf  scale=640x480 \
  -c:a libvorbis 640x480_CBR_2000_realtime_5_120s_tears_of_steel_1080p.webm

재조정 결과 표

파일 최소 인코딩 디스크의 파일 크기
640x480_Q_crf_10_120s_tears_of_steel_1080p.webm 5 3.4MB
640x480_CQ_crf_0_120s_tears_of_steel_1080p.webm 2 22.4MB
640x480_VBR_good_5_120s_tears_of_steel_1080p.webm 1 22.6MB
640x480_CBR_2000_realtime_5_120s_tears_of_steel_1080p.webm 4 23MB

쉽게 비교할 수 있도록, 이 예는 이전 예의 FFmpeg 명령어이지만 배율은 제외됩니다.

파일 최소 인코딩 디스크의 파일 크기
Q_crf_10_120s_tears_of_steel_1080p.webm 56 126MB
CQ_2500_1500_crf_10_120s_tears_of_steel_1080p.webm 9 24.1MB
VBR_good_5_120s_tears_of_steel_1080p.webm 4 23.9MB
CBR_2000_realtime_speed_5_120s_tears_of_steel_1080p.webm 1 24.8MB

보시다시피 각 파일의 출력 파일 크기가 눈에 띄게 감소합니다. 대부분의 경우 인코딩 시간이 감소하지만 Q 모드에서는 인코딩 시간이 실제로 증가합니다. 동영상을 압축하려면 더 많은 작업이 필요하므로, 품질 제한이 적용되지 않는 출력 파일(Q 모드에서처럼)은 출력 파일이 더 작을 것으로 예상되더라도 출력 파일을 생성하는 데 걸리는 시간이 늘어날 수 있습니다. 더 작은 파일을 항상 인코딩 프로세스로 더 빠르게 전송할 수 있다고 가정하지 마세요.

재조정 비트 전송률 조합 감소

최종 비교에서는 CQ, VBR 및 CBR 재조정 예시가 다시 재실행되지만, 이번에는 타겟 비트 전송률을 약 1/4(5분의 1/4) 수준(이미지 크기의 축소에 맞춰)으로 제한합니다.

CQ 모드
ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -b:v 500k \
  -minrate 350k -maxrate 550k -crf 10 -vf  scale=640x480 -c:a libvorbis \
  640x480_CQ_crf_0_120s_tears_of_steel_1080p.webm
VBR 모드
ffmpeg -i "120s_tears_of_steel_1080p.webm" -c:v vp9  -b:v 500k \
  -minrate 350k -maxrate 500k -quality good -speed 5 -vf scale=640x480 -c:a libvorbis \
  640x480_VBR_good_5_120s_tears_of_steel_1080p.webm
CBR 모드
ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -b:v 500k \
  -minrate 500k -maxrate 500k -quality realtime -speed 5 -vf scale=640x480 -c:a libvorbis \
  640x480_CBR_2000_realtime_5_120s_tears_of_steel_1080p.webm

재조정 및 타겟 비트 전송률 감소 결과 표

파일 최소 인코딩 디스크의 파일 크기
640x480_CQ_500_crf_0_120s_tears_of_steel_1080p.webm 1 7MB
640x480_VBR_500_good_5_120s_tears_of_steel_1080p.webm 1 7MB
640x480_CBR_500_realtime_5_120s_tears_of_steel_1080p.webm 1 7.6MB

보시다시피 인코딩 시간이 더 짧아졌습니다.