개발/유용한 툴

[유용한 툴][FFMpeg] 동영상을 MP4, GIF로 변환하기

ENFP Jake 2023. 2. 24. 17:36
728x90
반응형

# ffmpeg를 사용해서 웹에 첨부하기 좋게 영상을 변환하는 방법 소개 

- 본 포스팅에서는 FFMpeg 라이브러리를 활용하여 간단하게 동영상을 웹에 포함시킬 수 있는 작은 용량의 포맷으로 변환하는 방법을 소개하려고 합니다. (출처: https://avioli.github.io/blog/post/ffmpeg-for-web-videos.html)

 

# ffmpeg를 설치 방법

- 설치 방법은 https://ffmpeg.org/download.html 에서 자신의 운영체제에 따라 다운로드 받으시면 됩니다. 아래의 예시들은 MacOS 기준으 명령이기 때문에 FILENAME.mov로 되어있습니다. 자신의 경로, 파일 명으로 교체하시면 됩니다.

 

# 변환 방법

- MP4 - 높이 720px에 24fps로 변경하기

ffmpeg -y -i FILENAME.mov -c:v libx264 -minrate 1M -b:v 1828K -vf 'scale=-1:720' -r 24 -preset fast -threads 0 FILENAME-720-24fps-1828k.mp4

 

- MP4 - 앞뒤 10 프레임에 페이드 인/아웃 넣기

ffprobe -i FILENAME.mov -count_frames -show_entries stream=nb_frames
# 위의 방법으로 프레임 길이를 측정합니다.
# nb_frames=2000
ffmpeg -y -i FILENAME.mov -c:v libx264 -minrate 1M -b:v 1828K -vf 'scale=-1:720,fade=in:0:10,fade=out:1990:10' -r 24 -preset fast -threads 0 FILENAME-720-24fps-1828k-fadeinout.mp4
# fade=in:0:10,fade=out:1990:10 --> 0부터 10개 프레임에 페이드 인, 1990부터 10개의 프레임에 페이드 아웃을 적용

 

- GIF로 변환하기

예제에서는 너비 320px, 10fps로 지정하였습니다. 수치들은 원하는대로 변경하시면 됩니다

ffmpeg -i FILENAME.mov -vf 'scale=320:-1:sws_dither=ed' -gifflags -transdiff -r 10 -y FILENAME-320-10fps-dither.gif
 
 

# 마치며

- ffmpeg를 활용하면, 거의 모든 원하는 영상 관련 작업을 터미널에서 진행하실 수 있습니다. 본 포스팅에는 정말 필요할 때 바로 가져다 쓸 수 있는 최소한의 예제들만 포함하였지만, 원하시는 명령을 ffmpeg의 문서 페이지에서 검색하시거나 구글링으로 쉽게 찾으실 수 있으니, 한 번 사용해보시길 권해드립니다

 


728x90
반응형