FFMPEG
1. Penggunaan
Untuk konversi format bisa dengan perintah ini.
$ ffmpeg -i input.mp4 output.mkv
Untuk meninjau dan memastikan hasil sebelum disimpan pakai ffplay.
$ ffplay -i input.mp4 ...
Resize
Mengubah ukuran video ke 1080
$ ffmpeg -i input.mp4 -vf "scale=1080:-1" resize.mp4
Potong (Trim) video
$ ffmpeg -i input.mkv -ss 00:10:55 -to 00:12:39 -c copy potongan.mkv
Potong video dari sumber yang lebih dari 1
Concat artinya menggabungkan dan jangan lupa pakai tanda |.
$ ffmpeg -i 'concat:00000.MTS|00001.MTS' -c copy -ss 00:16:28 -to 00:33:30 output.mts
Crop video
Potong bagian video dengan filter crop, contoh crop bagian atas 20 pixel:
$ ffmpeg -i input.mp4 -vf "crop=in_w:in_h-20:0:in_h-20" -c:a copy crop.mp4
in_w :: input width in_h :: input height crop=*lebar output*:*tinggi output*:*titik awal horizontal*:*titik awal vertikal*
Blur video
Untuk blur bisa menggunakan filter gblur, boxblur, unsharp, smartblur, dst.
$ ffmpeg -i input.mp4 -vf "gblur=sigma=10:enable='between(t,0,1.2)'" -c:a copy blur.mp4
Filter enable bisa pakai antara waktu between(t,0,10)
, antra frame between(n,20,30)
.
Bikin video dari gambar
Untuk gambar timelapse khususnya. Jangan pakai shell glob.
$ ffmpeg -framerate 25 -i img%03d.jpg -c:v libx264 -vf "fps=25,format=yuv420p" out.mp4
Untuk gambar dari kamera dengan nama file mulai dari IMG_0288.JPG.
$ ffmpeg -framerate 25 -start_number 288 -i IMG_0%3d.JPG -c:v libx264 -vf "fps=25,format=yuv420p" TimeLapse.mp4
Biasanya filenya besar jadi harus diresize.
Untuk yang ada fadenya
$ ffmpeg -framerate 0.5 -i IMG_%3d.JPG -vf fps=2,"framerate=25,format=yuv420p" -c:v libx264 -crf 17 -s:v 1920:1080 OUTPUT.mp4
Memperlambat video
Untuk memperlambat video gunakan filter setpts
$ ffmpeg -i input.mp4 -filter:v "setpts=4*PTS" slow.mp4
Angka 4 untuk memperlambat 4 kali.
Gabung video
Pakai concat diatas tadi juga bisa, yang ini pakai file redirection jadi hasil command find jadi input ke ffmpeg.
$ ffmpeg -f concat -safe 0 -i <(find . -maxdepth 1 -name '*.mkv' -printf "file '$PWD/%p'\n") -c copy output.mkv
DivX
$ ffmpeg -i "$input" -c:v mpeg4 -vtag DIVX -s 640x480 -qscale:v 10 -c:a libmp3lame -qscale:a 0 "$output"
Kualitas video: 10 dan kualitas audio: 0 (terbaik).
Rekam layar
Untuk rekam layar di sistem Linux harus tahu ukuran layar. Disini saya gunakan xrandr.
ffmpeg -video_size $(xrandr | grep "*+" | awk '{print $1; exit}') \
-framerate 25 -f x11grab -i ${DISPLAY} output-$(date +%s).mp4
Tambah lagu/musik ke video (loop)
Untuk menambahkan musik background ke video dan durasi video lebih panjang.
$ ffmpeg -i video.webm -stream_loop -1 -i audio.mp4 -shortest -map 0:v:0 -map 1:a:0 -c:v copy output.mkv