ffmpeg로 media file을 다루어 보자.

ffmpeg로 할 수 있는 일들을 Cookbook 스타일로 정리해 본다.

media file을 편집하는데 가장 유명한 프로그램 중 하나는 ffmpeg이다. 동영상을 자르고 붙이는 일부터 형식을 바꾸는 일까지 사용 범위는 매우 넓다. 게다가 cli 기반이기 때문에 어렵기는 하지만 bash에서 대량의 작업을 자동으로 수행할 수 있다는 장점이 있다.

하고자 하는 일에 따라 정리해 보았다. 계속 업데이트 할 생각이다.

merge mp3

ref : https://trac.ffmpeg.org/wiki/Concatenate

printf "file '%s'\n" ./*.mp3 > mylist.txt
ffmpeg -f concat -safe 0 -i mylist.txt -c copy output.mp3
printf "file '%s'\n" ./*.mp3 > mylist.txt && ffmpeg -f concat -safe 0 -i mylist.txt -c copy output.mp3

convert stereo to mono

FILES=*
for f in $FILES
do
	ffmpeg -i "${f}" -ac 1 "mono/${f}"
done

convert m4a to mp3

for foo in *.m4a; do ffmpeg -i "$foo" -acodec libmp3lame -aq 2 "${foo%.m4a}.mp3"; done

convert mp3 to mp4 (for uploading to youtube)

ref

# must prepare picture.jpg
for foo in *.mp3; do ffmpeg -loop 1 -i "background.jpg" -i "$foo" -shortest -acodec copy "${foo%.mp3}.mp4" -crf 0; done

slice, segment

# slice per 120 seconds
ffmpeg -i LONGVIDEO.mkv -codec copy -f segment -segment_time 120 -reset_timestamps 1 tmp/out%03d.mkv

reduce mp3 bitrate

ffmpeg -i INPUT.mp3 -codec:a libmp3lame -b:a 64k OUTPUT.mp3

REF

... ... ... ...
Back