FFmpeg를 사용하여 비디오 크기를 작게 만드는 방법


101

FFmpeg를 사용하여 비디오 크기를 작게 만들 수 있습니까?

원본 비디오 크기가 1024x576이며 이제 요구 사항에 맞게 비디오 크기를 720x480으로 조정하려고합니다.

어떻게해야합니까?


ffmpeg더 이상 사용되지 않을 수 있습니다. 여기여기를
natty에 관한 nutty

13
@nuttyaboutnatty "더 이상 사용되지 않는"메시지 는 15.04에 반환 된 FFmpeg가 ffmpeg아닌 Libav 포크 의 오래된 "죽은 가짜" " 에만 적용 ffmpeg되었습니다.
llogan

답변:


163

가장 기본적인 예는 다음과 같습니다.

ffmpeg -i input.avi -s 720x480 -c:a copy output.mkv

필터 를 사용 하면scale 유연성이 향상됩니다.

ffmpeg -i input.avi -filter:v scale=720:-1 -c:a copy output.mkv

-1자동으로 가로 세로 비율을 유지하기 위해 제공되는 폭과 관련하여 정확한 높이를 선택할 수는 FFmpeg을 말할 것이다. -1주어진 높이를 제공하면 너비에도 사용할 수 있습니다.


사용시 스케일의 한 가지 단점은 libx264이 인코더가 짝수 값을 요구하고 스케일이 자동으로 홀수 값을 선택하여 오류가 발생할 수 있다는 것 width or height not divisible by 2입니다. 주어진 높이에 대해 짝수 값을 선택하도록 스케일에 지시 할 수 있습니다 (이 예에서는 720).

scale="trunc(oh*a/2)*2:720"

... 또는 주어진 너비 (이 예에서는 1280) :

scale="1280:trunc(ow/a/2)*2"

ffmpeg 빌드는 인식하지 못 -c하거나 -filter옵션 에 대해 불평 할 수 있습니다. 또한 지원하지 않을 수 있습니다 scale. 이 경우 정적 빌드로 다운로드 하거나 직접 컴파일 있는 최신 ffmpeg를 사용해야합니다 .


1
나는 ffmpeg -i output.mkv -filter:v scale=720:-1 -acodec copy -threads 12 output_shrink.mkv(ffmpeg 버전 0.8.6-6 : 0.8.6-0ubuntu0.12.10.1에서) 시도했지만 오류가 발생했습니다Unrecognized option 'filter:v'
doug65536

6
ffmpeg에 대한 매뉴얼 페이지를 여러 번 파고 들자. 대신에 -filter:v옵션이 (으)로 변경된 것으로 나타났습니다 -vf.
doug65536

2
@ doug65536 -filter:v그리고 -vf둘 다 괜찮습니다. 사용하고있는 우분투 버전은 깨졌고 구식입니다. 실제로 FFmpeg는 ffmpeg아니지만 Libav (FFmpeg 포크)가 같은 이름으로 제공 한 바이너리입니다.
slhck

1
@MightyPork 아마도 ffmpeg 빌드가 오래되었습니다-어떤 문제가 발생합니까?. 어쨌든 이것은 ffmpeg version 2.4.10공간을 확보하기 위해 거대한 비디오의 크기를 줄이는 데 정말로 도움이되었습니다 .
Wilf

4
'-c'는 -codec의 약자이며, ': a'는 오디오 스트림을 지정하고, 'copy'는 재 코딩없이 스트림 (이 경우 오디오)을 복사하는 복사 코덱을 지정합니다. 기본적으로 오디오 스트림이 통과합니다. 비디오 스트림 만 조작 할 때 일반적입니다.
jimhark

14

다음 명령을 사용하여 비디오 및 이미지의 크기를 조정합니다. 고정 너비와 높이의 경우-

ffmpeg -i input.avi -vf scale="720:480" output.avi

가로 세로 비율을 유지하려면 높이를 -1로 지정하면 너비에 따라 자동으로 크기가 조정됩니다-

ffmpeg -i input.avi -vf scale="720:-1" output.avi

입력 크기를 기준으로 스케일링하려는 경우 (예 : Eg.) 너비 / 높이를 절반으로 줄이십시오.

ffmpeg -i input.avi -vf scale="iw/1:ih/2" output.avi

노트 :

iw : input width
ih : input height

정적 빌드는 https://johnvansickle.com/ffmpeg/ 에서 다운로드 할 수 있습니다.

설명서 : https://ffmpeg.org/ffmpeg.html#filter_005foption


작동 안함. handler_name에 붙어 : 사운드 핸들
Rushi M Thakker

이 명령으로 끔찍한 비디오 품질을 얻었습니다. avi가 아닌 output.mp4를 만들면 훨씬 좋습니다. 따라서 확장이 중요합니다.
sekrett
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.