×

    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