2012-06-06 6 views
14

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

내 FFMPEG 버전은 0.5

내가 FFMPEG에 전달하고 명령 줄 매개 변수이며,

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

편집 : 나는의 변동과 CBR을 강제 할 수 있었다

+/- 3 % 다음 매개 변수를 사용했을 때.

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} 

왜 이런 일이 발생합니까?

답변

11

이 시도 :

ffmpeg 
-i input 
-b 1200k 
-minrate 1200k 
-maxrate 1200k 
-bufsize 1200k 
-ab 64k 
-vcodec libx264 
-acodec aac -strict -2 
-ac 2 
-ar 44100 
-s 320x240 
-y output.mp4 

는 "-strict -2"요구 대신 libfaac의 AAC를 사용했다.

또한 출력 파일 이름에 ".mp4"를 추가해야했습니다.

"-y"는 출력 파일 이름 옆에 파일을 덮어 쓰겠다 고했기 때문에 "- y"를 옮겼지 만, 그 위치에서 작동하는 것처럼 보였습니다.

64 비트 OS X 10.8.4에서이 작업을 수행했습니다. ffmpeg 버전 1.2.1-tessus.

동일한 ffmpeg 버전이 32 비트 및 64 비트 Linux 시스템에서 다르게 작동하는 것을 보았습니다. 따라서이 옵션을 사용할 수 있는지 누가 알 수 있습니다.

+0

답변 해 주셔서 감사합니다. 32 비트와 64 비트의 차이점은 무엇입니까 ?? – Jet

+0

.mp4 파일에 대한 비디오 및 오디오의 비트 전송률을 어떻게 구별 할 수 있습니까? https://superuser.com/questions/1195622/change-audio-and-video-bitrate-of-mpg-file-to-mp4-file – utdev

관련 문제