FFMPEG가 비디오에 추가 비트 전송률을 추가하는 이유는 무엇입니까?

FFMPEG가 비디오에 추가 비트 전송률을 추가하는 이유는 무엇입니까?

내 비디오를 특정 출력 형식으로 변환하기 위해 FFMPEG(명령줄 입력)를 사용합니다. 내가 직면한 문제는 FFMPEG에 일정한 비트 전송률(700kbps)을 전달하려고 할 때 결과가 다른 비트 전송률(예: 1000kbps)의 출력 비디오라는 것입니다. 이 현상은 모든 영상에서 항상 발생합니다. 왜 이런 현상이 발생하는 걸까요? 일정한 비트 전송률을 유지해야 합니다. 누구든지 나를 도와 줄 수 있습니까?

내 FFMPEG 버전은 0.5입니다.

FFMPEG에 전달하는 명령줄 매개변수는 다음과 같습니다.

-i {inputfile}
-b 700k -ab 64k
-vcodec libx264
-acodec libfaac -ac 2 -ar 44100
-y -s 320x240 
{outputfile}

편집하다:

다음 매개변수를 사용했을 때 +/- 3%의 변동으로 CBR을 강제할 수 있었습니다.

 ffmpeg -i myfile.avi
 -b 4000k -minrate 4000k 
 -maxrate 4000k -bufsize 1835k   out.m2v

그러나 매개변수 세트와 함께 -maxrate 및 - minrate를 사용했을 때 CBR을 강제할 수 없었습니다. 내 매개변수 세트는 다음과 같습니다.

-i {inputfile}
-b 1200k -minrate 1200k 
 -maxrate 1200k -bufsize 1200k 
-ab 64k -vcodec libx264
-acodec libfaac -ac 2 -ar 44100
-y -s 320x240 
{outputfile}

왜 이런 일이 발생합니까?

답변1

minrateCBR을 강제 실행하려면 , maxrate및를 사용해야 합니다 bufsize(참조:여기)

ffmpeg -i myfile.avi
       -b 4000k -minrate 4000k -maxrate 4000k -bufsize 1835k
       out.m2v

관련 정보