ffmpeg를 사용하여 비디오 압축, 변환 및 크기 조정
주어진 소스 비디오
source.mp4
:약 1.5Mbps 비디오/128kbps 오디오의 합리적인 광대역 비트 전송률로 웹용으로 압축하려면:
ffmpeg -i source.mp4 -c:v libx264 -b:v 1.5M -c:a aac -b:a 128k target.mp4
압축하고 WebM으로 변환하려면:
ffmpeg -i source.mp4 -c:v libvpx-vp9 -b:v 1M -c:a libopus -b:a 128k target.webm
(33% 낮은 비트 전송률(VP9의 경우 1M, H.264의 경우 1.5M)은 의도적입니다. VP9는 H.264보다 약 20-50% 더 효율적으로 인코딩합니다. Opus와 AAC는 거의 동일합니다.)
고해상도 소스 비디오를 웹( qHD for cellular, HD for broadband )에 더 적합한 것으로 축소하려면
-filter:v
인수가 사용됩니다.ffmpeg -i source.mp4 -c:v libvpx-vp9 -b:v 0.33M -c:a libopus -b:a 96k \
-filter:v scale=960x540 target.webm
명령줄 옵션:
-c:v
비디오 코덱을 지정합니다. -b:v
비디오 비트 전송률을 지정합니다. -c:a
오디오 코덱을 지정합니다. -b:a
오디오 비트 전송률; -filter:v
는 비디오 스트림에 필터(이 경우 스케일)를 적용합니다.WebM에서 이전 VP8 코덱을 사용하려면
libvpx
대신 libvpx-vp9
를 사용하십시오.소스 비디오에 오디오 트랙이 없으면
-c:a
및 -b:a
인수를 생략하십시오.컨테이너 형식을 명시적으로 지정하려면
-f
명령줄 옵션인 -f mp4
또는 -f webm
를 사용하십시오.MP4 컨테이너의 경우 사용된 비디오 코덱은 H.264이고 오디오 코덱은 거의 보편적인 브라우저 지원을 즐기는 AAC입니다.
Chrome 및 관련 브라우저용. WebM 컨테이너는 VP8/9 및 Opus를 사용합니다.
Chrome은 MP4(H.264/AAC)도 지원하므로 파일 크기 및/또는 품질이 향상되지 않는 한 WebM을 제공하는 것은 의미가 없습니다.
비트 전송률은 분명히 다양할 수 있습니다. 나는 0.5M 비디오와 96k 오디오를 셀룰러에 사용합니다.
Reference
이 문제에 관하여(ffmpeg를 사용하여 비디오 압축, 변환 및 크기 조정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/benjaminblack/use-ffmpeg-to-compress-and-convert-videos-458l텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)