UP | HOME

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=2 5,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=2 5,format=yuv420p" TimeLapse.mp4

Biasanya filenya besar jadi harus diresize.

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
Aldo Ridhoni / 01-10-2020 14:24 Emacs 26.1 (Org mode 9.1.9)