2010-04-30 4 views
0

나는 비트율에 대해 매우 큰 문제를 다루고 있습니다. ffmpeg는 비트율에 대해 -b 옵션을 제공하고 조정을 위해 -minrate-maxrate, -bufsize을 제공하지만 올바르게 작동하지 않습니다. -b 옵션에서 256kbps를 제공하면 트랜스 코딩이 끝나면 380kbps를 제공합니다. ffmpeg를 사용하여 어떻게 일정한 비트율을 얻을 수 있습니까? 그들의 크기가 + -10Kb라면 조절할 수 있습니다. 비디오 비트율은 항상 50-100kbps를 초과합니다. 트랜스 코딩이 완료되면 내가 다음 명령을 사용하고FFmpeg 비트율 문제

ffmpeg -i "demo.avs" -vcodec libx264 -s 320x240 -aspect 4:3 -r 15 -b 256kb \ 
    -minrate 200kb -maxrate 280kb -bufsize 256kb -acodec libmp3lame -ac 2 \ 
    -ar 22050 -ab 64kb -y "output.mp4" 

, 미디어 정보는 (은 320킬로바이트해야한다) 전체 비트 레이트 4백40킬로바이트을 보여줍니다.

명령에서 뭔가 잘못되었습니다. 아니면 다른 매개 변수를 사용해야합니까? Plz은 당신의 제안을 매우 중요하게 생각합니다.

답변

2

이러한 옵션은 사용자가 생각하는대로 수행하지 않습니다. FFmpeg FAQ에서 :

3.18 FFmpeg does not adhere to the -maxrate setting, some frames are bigger than 
    maxrate/fps. 

      Read the MPEG spec about video buffer verifier. 

3.19 I want CBR, but no matter what I do frame sizes differ. 

      You do not understand what CBR is, please read the MPEG spec. Read 
      about video buffer verifier and constant bitrate. The one sentence 
      summary is that there is a buffer and the input rate is constant, the 
      output can vary as needed. 

내가 당신을 위해 Sentance와를 강조하자

한 문장 요약은 필요에 따라 출력이 변화 할 수있다 버퍼이며, 입력 속도가 일정하다는 것입니다. 당신은 그들이했던 생각처럼 -maxrate 및 기타 설정이 출력 스트림 속도를 제어하지 않는 것이 본질적으로 의미

.