FFmpeg adalah sumber terbuka, pengonversi audio dan video yang kuat. Dengan menggunakan FFmpeg, kita dapat melakukan encode, decode, transcode, mux, demux, record, resize, stream, filter, dan memainkan hampir semua jenis file media. Tidak hanya itu, kami juga dapat mengambil streaming audio/video langsung. FFmpeg dikirimkan dengan banyak filter untuk melakukan tugas yang berbeda. Salah satu filter yang kurang dikenal namun berguna adalah zoompan . Menggunakan filter zoompan, kita dapat dengan mudah memperbesar dan memperkecil video di Linux. Mari saya tunjukkan cara melakukannya dengan menggunakan contoh perintah.
Pastikan Anda telah menginstal FFmpeg di mesin Linux Anda. Kami telah mendokumentasikan langkah-langkah untuk menginstal FFmpeg pada sistem operasi Linux populer di tautan berikut.
- Cara Memasang FFmpeg Di Linux
Setelah FFmpeg diinstal, pergi ke lokasi di mana Anda menyimpan video dan jalankan perintah berikut untuk memperbesar dan memperkecil setiap X detik:
$ ffmpeg -i input.mp4 -vf "zoompan=z='if(lte(mod(time,10),3),2,1)':d=1:x=iw/2-(iw/zoom/2):y=ih/2-(ih/zoom/2):fps=30" output.mp4
Perintah di atas akan memperbesar ke arah tengah video hingga 2x zoom untuk 3 detik pertama dari setiap 10 detik blok waktu. Ganti input.mp4
dengan nama file Anda. Sesuaikan juga nilainya sesuai kebutuhan Anda dan atur FPS untuk filter agar sesuai dengan input. Nilai defaultnya adalah 25.
Anda dapat menemukan detail FPS di antara detail lain dari video yang diberikan menggunakan perintah berikut:
$ ffmpeg -i input.mp4
Berikut adalah video input sebenarnya sebelum konversi:
Dan, inilah video hasil konversi (zoom-in-out):
Apakah Anda memperhatikan perbedaannya? Video diperbesar menjadi 2X selama 3 detik pertama dan kemudian kembali normal (memperkecil). Tepat pada detik ke-10, video diperbesar lagi selama 3 detik pertama dan siklus berlanjut hingga video berakhir.
Anda juga dapat mencoba pengaturan zoompan berikut yang diberikan di bagian bantuan filter zoompan FFmpeg.
Perbesar hingga 1,5x dan geser secara bersamaan ke beberapa titik di dekat bagian tengah gambar:
zoompan=z='min(zoom+0.0015,1.5)':d=700:x='if(gte(zoom,1.5),x,x+1/a)':y='if(gte(zoom,1.5),y,y+1)':s=640x360
Perbesar hingga 1,5x dan geser selalu di tengah gambar:
zoompan=z='min(zoom+0.0015,1.5)':d=700:x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)'
Sama seperti di atas tetapi tanpa jeda:
zoompan=z='min(max(zoom,pzoom)+0.0015,1.5)':d=1:x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)'
Perbesar 2x ke tengah gambar hanya untuk detik pertama video input:
zoompan=z='if(between(in_time,0,1),2,1)':d=1:x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)'
Untuk contoh perintah FFmpeg lainnya, lihat panduan berikut:
- 20+ Perintah FFmpeg Untuk Pemula
Semoga membantu.