Ketika kita memutar suatu video, terkadang ada bagian momen penting yang perlu diambil. Entah itu momen lucu, konyol atau momen yang sangat perlu dikenang, dan momen tersebut ada pada menit-menit tertentu. Oleh karenanya, kita perlu memotong cuplikan video tersebut untuk dijadikan suatu kenangan atau sekadar bahan lucu-lucan.

Ada banyak sekali program atau aplikasi yang dapat menangani hal ini dengan mudah. Namun, perlu diketahui bahwa FFmpeg juga dapat melakukan hal itu. FFmpeg merupakan suatu aplikasi yang sangat powerful dalam hal penangan audio ataupun video. Jadi cukup dengan FFmpeg sebetulnya kita sudah dapat melakukan banyak hal. Sesuai judul artikel, kali ini saya akan memberikan sedikt tips-trik bagaimana cara memotong video menggunakan FFmpeg dengan mudah.

Penyangkalan (Disclaimer)

Sebebelum beranjak ke praktek. Perlu diketahui skrip ini hanya dapat berjalan pada GNU/Linux. Hemat saya sepertinya di MacOS juga dapat dijalankan, namun saya belum mencobanya. Untuk Anda pengguna Windows, mungkin bisa memasang Linux Subsystem yang berada pada Windows 10.

Tahap Praktek

Sederhananya kita hanya perlu melakukan berikut di Terminal:

ffmpeg -i in.mp4 -ss [start] -t [duration] -c copy out.mp4

Parameter -ss ditulis dengan hh:mm:ss contoh 00:02:31, kemudian parameter -t durasinya format sama hh:mm:ss. Ingat Anda harus menghitung durasi video yang ingin Anda potong tersebut.

Contoh:

Ada video berdurasi 30 menit. Kemudian Anda ingin memotong mulai dari menit ke 00:10:00 sampai 00:20:15 maka durasinya berarti 10 menit 15 detik.

Jika Anda kesulitan untuk menghitung durasi. Berikut ini saya telah membuatkan skrip untuk menghitung durasi dengan mudah.

Buat berkas bernama timecalc kemudian ubah permission-nya dengan menambahkan eksekusi.

touch timecalc && chmod +x timecalc && nano timecalc

Kemudian masukan skrip di bawah ini:

#!/bin/bash

SEC1=`date +%s -d $1`
SEC2=`date +%s -d $2`

DIFFSEC=`expr ${SEC2} - ${SEC1}`

RESULT=`date +%H:%M:%S -ud @${DIFFSEC}`

echo $RESULT

Nah Anda bisa langsung mengsekusi timecalc tersebut dengan perintah:

timecalc 00:01:24 00:07:45

Contohnya:

Agar Anda dapat mengeksekusi timecalc tersebut di manapun Anda dapat menyalinnya ke /usr/bin

sudo cp ~/timecalc /usr/bin

Nah, sekarang Anda bisa langsung menghitung durasi lebih mudah dengan perintah berikut:

DUR="$(timecalc 00:12:06 00:15:04)" && ffmpeg -i input.mp4 -ss 00:12:06 -t $DUR -c copy out.mp4

Skrip di atas masih terlihat kurang sederhana, karena kita menjalankan skrip timecalc yang diubah menjadi variable, kemudian baru memanggil ffmpeg.

Saya membuat skrip lebih mudah lagi. Berikut skripnya

#!/bin/bash

IFS='-' read -ra WAKTU <<< "$1"

SEC1=`date +%s -d ${WAKTU[0]}`
SEC2=`date +%s -d ${WAKTU[1]}`

DIFFSEC=`expr ${SEC2} - ${SEC1}`

DURASI=`date +%H:%M:%S -ud @${DIFFSEC}`

ffmpeg -i $2 -ss ${WAKTU[0]} -t $DURASI -c copy $3

Anda simpan dengan nama, misalnya cutscane Anda bisa langsung mengeksekusinya seperti berikut:

cutscane 00:18:30-00:20:50 in.mp4 out.mp4

Nah lebih mudah bukan? Jadi timecalc nantinya bisa Anda hapus atau tetap dipergunakan mungkin untuk hal lain. Semoga bermanfaat.