2010-12-20 4 views

답변

68

ffmpeg이이 기능을 제공합니다.

ffmpeg -i <inputfilename> -s 640x480 -b:v 512k -vcodec mpeg1video -acodec copy <outputfilename> 

640의 크기의 비디오 입력 비디오 파일을 변환 : 당신이해야 할 모든 당신이 -b-b:v에 변경할 필요는 FFmpeg의 새 버전

ffmpeg -i <inputfilename> -s 640x480 -b 512k -vcodec mpeg1video -acodec copy <outputfilename> 

같이가 someting를 실행 MPEG1 비디오 코덱을 사용하고 원본 오디오 스트림을 복사하는 것만으로 512 비트/초의 비트율을 제공합니다. 물론 원하는 크기와 비트 레이트로 필요한 모든 값을 연결하여 찾고자하는 품질/크기 트레이드 오프를 달성 할 수 있습니다. documentation

사용할 수있는 모든 형식 및 코덱 목록을 보려면 ffmpeg -formats 또는 ffmpeg -codecs을 실행하십시오. 최종 출력을 위해 특정 코덱을 대상으로하지 않아도되는 경우 H.264와 같은 최첨단 코덱을 사용하여 최소한의 품질 손실로 더 나은 압축 비율을 얻을 수 있습니다.

+2

고마워요 당신은 내 일했다 -b 할 필요가 -b 즐거운 휴일 : – Vignesh

+7

:. 비디 비트 레이트 –

+4

@MrAH에 대한 V 업데이트에 대한 감사합니다. 내가 게시 한 이후 인터페이스가 변경된 것 같습니다. 비디오 비트 레이트는'-b' 였고 오디오 비트 레이트는'-ab' 이었지만'-b : [스트림 지정자]'로 변경되었습니다. –

20

고정 비트 전송률을 선택하는 대신 H.264 코덱을 사용하여 https://trac.ffmpeg.org/wiki/x264EncodingGuide에 설명 된대로 다른 사전 설정을 선택할 수도 있습니다. 나는 또한 Video encoder comparison at KeyJ's blog (archived version) 흥미로운 읽기를 발견, 그것은 테라와 다른 사람에 대한 H.264를 비교합니다.

다음은 내가 시도한 다양한 옵션을 비교 한 것입니다. 녹화 된 비디오는 원래 크기가 673M이며, RecordMyScreen을 사용하는 iPad에서 촬영되었습니다. 해상도는 1024x768로 약 20 분이 소요됩니다 (동영상의 절반은 공백이므로 768x768로 자릅니다). 크기를 줄이기 위해 해상도를 480x480으로 낮 춥니 다. 오디오가 없습니다. 특별한 옵션

  • : 95M 동일한 1024 염기 (및 적용 자르기, 스케일링 및 a filter)로서 고려

    결과 (부호화 시간 : 1m19s).

  • -b 512k 만 추가하면 크기가 77M (인코딩 시간 : 1 분 17 초)으로 줄어 듭니다. 단 -preset veryslow 않음 (-b)를
  • , 그것은 70M (부호화 시간 : 6m14s)되었다 -b 512k-preset veryslow 모두
  • , 크기 77M (단지 -b 512k 100K보다 작음)된다.
  • -preset veryslow -crf 28으로 39M의 파일을 얻었습니다.이 파일은 5m47s (나에게 시각적 인 차이가 없음)를 사용했습니다.

N = 1이므로 결과를 소금으로 채취하고 자체 테스트를 수행하십시오.

25

는 동일한 화면 크기를 유지하려면, 당신은 CRF 계수를 사용하여 고려할 수 있습니다 : 여기

https://trac.ffmpeg.org/wiki/Encode/H.264 나를 위해 작동하는 명령입니다 : (Mac에서 당신은 AAC 오디오 코덱을 사용할 수 있도록 -strict -2를 추가해야 ..

ffmpeg -i input.mp4 -c:v libx264 -crf 24 -b:v 1M -c:a aac output.mp4 
관련 문제