렌더링에 걸리는 시간은 매우 다릅니다.
-b 3500K -minrate 0K -maxrate 8000K
1 시간 17 분 소요vb=3000k
2.5 시간 소요
무엇 vb 3000k
이며 어떻게 -b 3500K -minrate 0K -maxrate 8000K
다릅니 까? 이 가변 비트 전송률 설정입니까?
로 변경하면 -b 3500K -minrate 3500K -maxrate 3500K
고정 비트 전송률입니까?
답변
제발 문서 읽기 는 FFmpeg를 들어, 실행 ffmpeg -h full
옵션의 목록. 또한 x264 및 x265와 같은 인코더의 속도 제어 모드 간의 차이점 을 보여주는이 기사를 살펴 보십시오.
일반적으로 옵션의 의미는 다음과 같습니다.
-
-b:v
(또는-vb
동일) 인코더가 사용할 대상 평균 비트 전송률을 지정합니다.-b
<int>
E..VA
. 비트 전송률 설정 (비트 / 초) (0에서 INT_MAX까지) -
-minrate
사용할 최소 공차를 지정합니다.-minrate
<int>
E..VA
. 최소 비트 전송률 허용 (비트 / 초)을 설정하십시오. CBR 인코딩을 설정하는 데 가장 유용합니다. 그렇지 않으면 거의 쓸모가 없습니다. (INT_MIN에서 INT_MAX까지) -
-maxrate
최대 공차를 지정합니다. 그러나 설명서에서 알 수 있듯이 이것은 다음과 함께 사용됩니다bufsize
.-maxrate
<int>
E..VA
. 최대 비트 레이트 허용 오차를 설정하십시오 (비트 / 초).bufsize
설정 해야합니다 . (INT_MIN에서 INT_MAX까지)-bufsize
<int>
E..VA
. ratecontrol 버퍼 크기 설정 (비트) (INT_MIN에서 INT_MAX까지)이는 고정 비트 레이트 또는 고정 품질 모델을 사용하는 대신 인코더에서 가상 버퍼로 전송을 시뮬레이션하는 가변 비트 레이트 인코딩에만 적합합니다.
-minrate
/-maxrate
/-bufsize
옵션은 버퍼 크기를 제어한다. 이 기술은 디코더 버퍼가 오버플로 또는 언더 플로되는 특정 값을 초과하지 않도록 비트 전송률을 제한하므로 일반적으로이 모드 만 스트리밍에 사용합니다.
요약하면 비트 전송률을 제한하는 몇 가지 옵션이 있습니다.
-
CBR 프로세스를 설정하려면 인코더가 제공하는 것을 확인해야합니다. 일반적으로 인코더는 비트를 낭비하지 않기 때문에 “완벽한”고정 비트 전송률을 달성 할 수 없습니다. 설정
-b:v
,-minrate
및-maxrate
libx264 예를 들어, 그것을 달성 동일한 수준 :ffmpeg -i input.mp4 -c:v libx264 -x264-params "nal-hrd=cbr" -b:v 1M -minrate 1M -maxrate 1M -bufsize 2M output.ts
경고 : 인코딩하기 어려운 비디오의 품질이 떨어질 수 있으며 비트가 낭비 될 수 있습니다. 일정한 속도로 출력해야하는 경우가 아니면이 옵션을 사용하지 마십시오.
-
스트리밍을 위해 제한된 / 가변 비트 레이트 프로세스를 설정하십시오.
-b:v 3500K -maxrate 3500K -bufsize 1000K
예를 들어을 사용하십시오 . 속도와 버퍼 크기를 컨텍스트에 맞게 조정해야합니다. 버퍼 크기가 클수록 허용되는 비트 전송률 변화가 더 큽니다. -
일정한 품질의 대상을 사용하고 스파이크 만 포착하도록 비트 전송률을 제한하십시오. 예를 들어
-c:v libx264 -crf 23 -maxrate 4M -bufsize 4M
대상 CRF가 23 인 가변 비트 전송률로 인코딩하는 데 사용 하지만 출력을 최대 4MBit / s로 제한합니다.