Dalam panduan ini, saya akan menjelaskan bagaimana menggunakan kerangka kerja multimedia FFmpeg untuk melakukan berbagai operasi audio, transcoding dan konversi video dengan contoh. Saya telah mengkompilasi 20+ perintah FFmpeg yang paling umum dan sering digunakan untuk pemula.
Saya akan terus memperbarui panduan ini dengan menambahkan lebih banyak contoh dari waktu ke waktu. Harap tandai panduan ini dan kembali lagi beberapa saat untuk memeriksa pembaruan. Mari kita mulai, ya?
Instal FFmpeg di Linux
Jika Anda belum menginstal FFmpeg di sistem Linux Anda, lihat panduan berikut.
- Instal FFmpeg di Linux
Perintah FFmpeg dengan contoh
Sintaks khas dari perintah FFmpeg adalah:
ffmpeg [global_options] {[input_file_options] -i input_url} ... {[output_file_options] output_url} ...
Sekarang kita akan melihat beberapa perintah FFmpeg yang penting dan berguna.
1. Mendapatkan informasi file audio/video
Untuk menampilkan detail file media, jalankan:
$ ffmpeg -i video.mp4
Contoh keluaran:
ffmpeg version n4.1.3 Copyright (c) 2000-2019 the FFmpeg developers built with gcc 8.2.1 (GCC) 20181127 configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-nvdec --enable-nvenc --enable-omx --enable-shared --enable-version3 libavutil 56. 22.100 / 56. 22.100 libavcodec 58. 35.100 / 58. 35.100 libavformat 58. 20.100 / 58. 20.100 libavdevice 58. 5.100 / 58. 5.100 libavfilter 7. 40.101 / 7. 40.101 libswscale 5. 3.100 / 5. 3.100 libswresample 3. 3.100 / 3. 3.100 libpostproc 55. 3.100 / 55. 3.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'video.mp4': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 encoder : Lavf58.20.100 Duration: 00:00:28.79, start: 0.000000, bitrate: 454 kb/s Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, smpte170m/bt470bg/smpte170m), 1920x1080 [SAR 1:1 DAR 16:9], 318 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default) Metadata: handler_name : ISO Media file produced by Google Inc. Created on: 04/08/2019. Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default) Metadata: handler_name : ISO Media file produced by Google Inc. Created on: 04/08/2019. At least one output file must be specified
Seperti yang Anda lihat pada output di atas, FFmpeg menampilkan informasi file media bersama dengan detail FFmpeg seperti versi, detail konfigurasi, pemberitahuan hak cipta, opsi build dan library, dll.
Jika Anda tidak ingin melihat spanduk FFmpeg dan detail lainnya, tetapi hanya informasi file media, gunakan -hide_banner
tandai seperti di bawah ini.
$ ffmpeg -i video.mp4 -hide_banner
Contoh keluaran:
Lihat? Sekarang, ini hanya menampilkan detail file media.
Bacaan yang disarankan:
- Menampilkan Informasi File Media Di Linux Menggunakan MediaInfo
2. Mengonversi file video ke format berbeda
Karena FFmpeg adalah pengonversi audio dan video yang kaya fitur dan kuat, jadi memungkinkan untuk mengonversi file media di antara format yang berbeda. Katakan misalnya, untuk mengonversi mp4
file ke avi
berkas , jalankan:
$ ffmpeg -i video.mp4 video.avi
Demikian pula, Anda dapat mengonversi file media ke format apa pun pilihan Anda.
Misalnya, untuk mengonversi YouTube flv
format video ke mpeg
format, jalankan:
$ ffmpeg -i video.flv video.mpeg
Jika Anda ingin menjaga kualitas file video sumber, gunakan '-qscale 0'
parameter:
$ ffmpeg -i input.webm -qscale 0 output.mp4
Untuk memeriksa daftar format yang didukung oleh FFmpeg, jalankan:
$ ffmpeg -formats
3. Mengonversi file video ke file audio
Untuk mengonversi file video ke file audio, cukup tentukan format output sebagai .mp3
, atau .ogg
, atau format audio lainnya.
Perintah di atas akan mengonversi input.mp4
file video ke output.mp3
berkas audio.
$ ffmpeg -i input.mp4 -vn output.mp3
Selain itu, Anda dapat menggunakan berbagai opsi transcoding audio ke file output seperti yang ditunjukkan di bawah ini.
$ ffmpeg -i input.mp4 -vn -ar 44100 -ac 2 -ab 320 -f mp3 output.mp3
Di sini,
-vn
- Menunjukkan bahwa kami telah menonaktifkan perekaman video di file keluaran.-ar
- Atur frekuensi audio dari file output. Nilai umum yang digunakan adalah22050
,44100
,48000
Hz.-ac
- Menyetel jumlah saluran audio.-ab
- Menunjukkan kecepatan bit audio.-f
- Bentuk file keluaran. Dalam kasus kami, ini adalahmp3
formatnya.
Perintah di atas akan menampilkan pesan peringatan seperti di bawah ini.
[libmp3lame @ 0x5589ed539240] Bitrate 320 is extremely low, maybe you mean 320k The bitrate parameter is set too low. It takes bits/s as argument, not kbits/s
Ini karena kami telah memberikan 320
bit/detik sebagai bitrate yang sangat rendah. Ini akan membuat file output yang lebih kecil. Untuk output kualitas terbaik, gunakan nilai bitrate sebagai 320k
bukan hanya 320
.
4. Ubah volume file audio
FFmpeg memungkinkan kita untuk mengubah volume file audio menggunakan "volume filter"
pilihan.
Misalnya, perintah berikut akan mengurangi volume hingga setengahnya.
$ ffmpeg -i input.mp3 -af 'volume=0.5' output.mp3
Demikian pula, kita dapat meningkatkan volume seperti di bawah ini:
$ ffmpeg -i input.mp3 -af 'volume=1.5' output.mp3
5. Ubah resolusi file video
Jika Anda ingin mengatur resolusi tertentu ke file video, Anda dapat menggunakan perintah berikut:
$ ffmpeg -i input.mp4 -filter:v scale=1280:720 -c:a copy output.mp4
Atau,
$ ffmpeg -i input.mp4 -s 1280x720 -c:a copy output.mp4
Perintah di atas akan mengatur resolusi file video yang diberikan ke 1280x720
.
Demikian pula, untuk mengonversi file di atas menjadi 640x480
ukuran, jalankan:
$ ffmpeg -i input.mp4 -filter:v scale=640:480 -c:a copy output.mp4
Atau,
$ ffmpeg -i input.mp4 -s 640x480 -c:a copy output.mp4
Trik ini akan membantu Anda menskalakan file video ke perangkat layar yang lebih kecil seperti tablet dan ponsel.
6. Mengompresi file video
Itu selalu merupakan ide yang baik untuk mengurangi ukuran file media ke ukuran yang lebih rendah untuk menghemat ruang disk.
Perintah berikut akan mengompresi dan mengurangi ukuran file keluaran.
$ ffmpeg -i input.mp4 -vf scale=1280:-1 -c:v libx264 -preset veryslow -crf 24 output.mp4
Harap dicatat bahwa Anda akan kehilangan kualitas jika Anda mencoba untuk mengurangi ukuran file video. Anda dapat menurunkan crf
. itu nilai ke 23
atau lebih rendah jika 24
terlalu agresif.
Anda juga dapat mengubah kode audio sedikit dan menjadikannya stereo untuk mengurangi ukurannya dengan menyertakan opsi berikut.
-ac 2 -c:a aac -strict -2 -b:a 128k
7. Mengompresi file Audio
Sama seperti mengompresi file video, Anda juga dapat mengompresi file audio menggunakan -ab
tandai untuk menghemat ruang disk.
Katakanlah Anda memiliki file audio 320
kecepatan bit kbps. Anda ingin mengompresnya dengan mengubah bitrate ke nilai yang lebih rendah seperti di bawah ini.
$ ffmpeg -i input.mp3 -ab 128 output.mp3
Daftar berbagai bitrate audio yang tersedia adalah:
- 96kbps
- 112kbps
- 128kbps
- 160kbps
- 192kbps
- 256kbps
- 320kbps
8. Menghapus aliran audio dari file video
Jika Anda tidak ingin audio dari file video, gunakan -an bendera.
$ ffmpeg -i input.mp4 -an output.mp4
Di sini, 'an'
menunjukkan tidak ada rekaman audio. Dengan kata lain, opsi ini akan menonaktifkan audio.
Perintah di atas akan membatalkan semua tanda terkait audio.
9. Menghapus aliran video dari file media
Demikian pula, jika Anda tidak ingin streaming video, Anda dapat dengan mudah menghapusnya dari file media menggunakan 'vn'
bendera. vn berarti tidak ada perekaman video. Dengan kata lain, perintah ini mengubah file media yang diberikan menjadi file audio.
Perintah berikut akan menghapus video dari file media yang diberikan.
$ ffmpeg -i input.mp4 -vn output.mp3
Anda juga dapat menyebutkan bitrate file output menggunakan '-ab'
tandai seperti yang ditunjukkan pada contoh berikut.
$ ffmpeg -i input.mp4 -vn -ab 320 output.mp3
10. Mengekstrak gambar dari video
Fitur lain yang berguna dari FFmpeg adalah kita dapat dengan mudah mengekstrak gambar dari file video. Ini bisa sangat berguna, jika Anda ingin membuat album foto dari file video.
Untuk mengekstrak gambar dari file video, gunakan perintah berikut:
$ ffmpeg -i input.mp4 -r 1 -f image2 image-%2d.png
Di sini,
-r
- Atur kecepatan bingkai. Yaitu jumlah frame yang akan diekstraksi menjadi gambar per detik. Nilai defaultnya adalah25
.-f
- Menunjukkan format output yaitu format gambar dalam kasus kami.image-%2d.png
- Menunjukkan bagaimana kita ingin menamai gambar yang diekstraksi. Dalam hal ini, nama harus dimulai sepertiimage-01.png
,image-02.png
,image-03.png
dan seterusnya. Jika Anda menggunakan%3d
, maka nama gambar akan dimulai sepertiimage-001.png
,image-002.png
dan seterusnya.
11. Memotong video
FFMpeg memungkinkan untuk memotong file media tertentu dalam dimensi apa pun pilihan kami.
Sintaks untuk memotong file video diberikan di bawah ini:
ffmpeg -i input.mp4 -filter:v "crop=w:h:x:y" output.mp4
Di sini,
input.mp4
- file video sumber.-filter:v
- Menunjukkan filter video.crop
- Menunjukkan filter pangkas.w
- Lebar persegi panjang yang ingin kita potong dari video sumber.h
- Tinggi persegi panjang.x
- x koordinat persegi panjang yang ingin kita potong dari video sumber.y
- koordinat y persegi panjang.
Katakanlah Anda ingin video dengan lebar 640
piksel dan tinggi 480
piksel , dari posisi (200,150
) , perintahnya adalah:
$ ffmpeg -i input.mp4 -filter:v "crop=640:480:200:150" output.mp4
Harap dicatat bahwa memotong video akan memengaruhi kualitas. Jangan lakukan ini kecuali diperlukan.
12. Mengonversi bagian tertentu dari video
Terkadang, Anda mungkin ingin mengonversi hanya bagian (durasi) tertentu dari file video ke format yang berbeda. Katakan misalnya, perintah berikut akan mengonversi 10
pertama detik dari file video.mp4 yang diberikan ke format video.avi.
$ ffmpeg -i input.mp4 -t 10 output.avi
Di sini, kami menentukan waktu dalam detik. Selain itu, Anda dapat menentukan waktu dalam hh.mm.ss
formatnya.
13. Setel rasio aspek ke video
Anda dapat mengatur rasio aspek ke file video menggunakan -aspect
tandai seperti di bawah ini.
$ ffmpeg -i input.mp4 -aspect 16:9 output.mp4
Rasio aspek yang umum digunakan adalah:
- 16:9
- 4:3
- 16:10
- 5:4
- 2:21:1
- 2:35:1
- 2:39:1
14. Menambahkan gambar poster ke file media
Anda dapat menambahkan gambar poster ke file Anda, sehingga gambar akan ditampilkan saat memutar file audio atau video. Ini bisa berguna untuk meng-host file audio di hosting Video atau situs berbagi.
$ ffmpeg -loop 1 -i inputimage.jpg -i inputaudio.mp3 -c:v libx264 -c:a aac -strict experimental -b:a 192k -shortest output.mp4
15. Pangkas file media menggunakan waktu mulai dan berhenti
Untuk memangkas video menjadi klip yang lebih kecil menggunakan waktu mulai dan berhenti, kita dapat menggunakan perintah berikut.
$ ffmpeg -i input.mp4 -ss 00:00:50 -codec copy -t 50 output.mp4
Di sini,
--s
- Menunjukkan waktu mulai klip video. Dalam contoh kita, waktu mulai adalah detik ke-50.-t
- Menunjukkan total durasi waktu.
Ini sangat membantu ketika Anda ingin memotong bagian dari file audio atau video menggunakan waktu mulai dan berakhir.
Demikian pula, kita dapat memangkas file audio seperti di bawah ini.
$ ffmpeg -i audio.mp3 -ss 00:01:54 -to 00:06:53 -c copy output.mp3
16. Pisahkan file audio/video menjadi beberapa bagian
Beberapa situs web hanya mengizinkan Anda mengunggah video dengan ukuran tertentu. Misalnya, Whatsapp hanya akan mengizinkan 15
video detik untuk ditetapkan sebagai pesan status untuk pengguna di India. Dalam kasus seperti itu, Anda dapat membagi file video besar menjadi beberapa bagian yang lebih kecil seperti di bawah ini.
$ ffmpeg -i input.mp4 -t 00:00:30 -c copy part1.mp4 -ss 00:00:30 -codec copy part2.mp4
Di sini, -t 00:00:30
menunjukkan bagian yang dibuat dari awal video hingga detik ke-30 video. -ss 00:00:30
menunjukkan cap waktu mulai untuk bagian video berikutnya. Artinya, bagian ke-2 akan dimulai dari detik ke-30 dan akan berlanjut hingga akhir file video asli.
Recommended Download - Free Guide: "How to Start Your Own Successful Podcast"
17. Menggabungkan atau menggabungkan beberapa bagian audio/video menjadi satu
FFmpeg juga akan menggabungkan beberapa bagian video dan membuat satu file video.
Buat join.txt
file yang berisi jalur persis file yang ingin Anda gabungkan. Semua file harus dalam format yang sama (codec yang sama). Nama path dari semua file harus disebutkan satu per satu seperti di bawah ini.
file /home/sk/myvideos/part1.mp4 file /home/sk/myvideos/part2.mp4 file /home/sk/myvideos/part3.mp4 file /home/sk/myvideos/part4.mp4
Sekarang, gabungkan semua file menggunakan perintah:
$ ffmpeg -f concat -i join.txt -c copy output.mp4
Jika Anda mendapatkan kesalahan seperti di bawah ini;
[concat @ 0x555fed174cc0] Unsafe file name '/path/to/mp4' join.txt: Operation not permitted
Tambahkan "-safe 0"
:
$ ffmpeg -f concat -safe 0 -i join.txt -c copy output.mp4
Perintah di atas akan bergabung dengan part1.mp4
, part2.mp4
, part3.mp4
, dan part4.mp4
file ke dalam satu file bernama "output.mp4"
.
Atau, Anda dapat menggunakan perintah satu baris berikut untuk menggabungkan semua file dalam direktori. Buka direktori tempat Anda memiliki file dan jalankan perintah berikut untuk menggabungkan file bernama audio1.mp3
, audio2,mp3
dan audio3.mp3
ke dalam output.mp3
.
$ ffmpeg -i "concat:audio1.mp3|audio2.mp3|audio3.mp3" -c copy output.mp3
18. Tambahkan subtitle ke file video
Kami juga dapat menambahkan subtitle ke file video menggunakan FFmpeg. Unduh subtitle yang benar untuk video Anda dan tambahkan video Anda seperti yang ditunjukkan di bawah ini.
$ fmpeg -i input.mp4 -i subtitle.srt -map 0 -map 1 -c copy -c:v libx264 -crf 23 -preset veryfast output.mp4
19. Pratinjau atau uji file video atau audio
Anda mungkin ingin melihat pratinjau untuk memverifikasi atau menguji apakah file keluaran telah ditranskode dengan benar atau tidak. Untuk melakukannya, Anda dapat memainkannya dari Terminal dengan perintah:
$ ffplay video.mp4
Demikian pula, Anda dapat menguji file audio seperti yang ditunjukkan di bawah ini.
$ ffplay audio.mp3
20. Menambah/mengurangi kecepatan pemutaran video
FFmpeg memungkinkan Anda untuk menyesuaikan kecepatan pemutaran video.
Untuk meningkatkan kecepatan pemutaran video, jalankan:
$ ffmpeg -i input.mp4 -vf "setpts=0.5*PTS" output.mp4
Perintah akan menggandakan kecepatan video.
Untuk memperlambat video, Anda perlu menggunakan pengganda lebih besar dari 1
. Untuk mengurangi kecepatan pemutaran, jalankan:
$ ffmpeg -i input.mp4 -vf "setpts=4.0*PTS" output.mp4
21. Menambah/mengurangi kecepatan pemutaran Audio
Untuk menambah atau mengurangi kecepatan pemutaran audio, gunakan "atempo"
penyaring suara. Perintah berikut akan menggandakan kecepatan audio.
$ ffmpeg -i input.mp4 -filter:a "atempo=2.0" -vn output.mp4
Anda dapat menggunakan nilai apa pun antara 0.5
dan 2.0
untuk audio.
22. Buat GIF Animasi
Kami menggunakan gambar GIF di hampir semua jejaring sosial dan profesional untuk berbagai tujuan. Dengan menggunakan FFmpeg, kita dapat dengan mudah dan cepat membuat file video animasi.
Panduan berikut menjelaskan cara membuat file GIF animasi menggunakan FFmpeg dan ImageMagick di Linux dan sistem mirip Unix.
- Cara Membuat GIF Animasi Di Linux
Bacaan yang disarankan:
- Gifski - Encoder GIF berkualitas tinggi lintas platform
23. Buat video dari file PDF
Saya mengumpulkan banyak file PDF, sebagian besar tutorial Linux, selama bertahun-tahun dan disimpan di PC Tablet saya. Terkadang saya merasa terlalu malas untuk membacanya dari tablet.
Jadi, saya memutuskan untuk membuat video dari file PDF dan menontonnya di perangkat layar besar seperti TV atau Komputer. Jika Anda pernah bertanya-tanya bagaimana cara membuat file film dari kumpulan file PDF, panduan berikut akan membantu.
- Cara Membuat Video Dari File PDF Di Linux
24. Putar Video
Jika Anda memiliki file video dengan orientasi berbeda (potret atau lanskap), Anda dapat memutarnya seperti yang dijelaskan dalam panduan berikut.
- Cara Memutar Video Menggunakan FFMpeg Dari Commandline
25. Konversi Video Ke Format Video WhatsApp
WhatsApp tidak mendukung beberapa video. Anda tidak dapat membagikannya dengan kontak Anda atau mengaturnya dalam status whatsapp. Jangan khawatir! Kita dapat dengan mudah mengonversi video berformat video yang didukung WhatsApp dengan FFmpeg seperti yang dijelaskan di tautan berikut.
- Konversi Video Ke Format Video WhatsApp Dengan FFmpeg
26. Memperbesar dan memperkecil video
FFmpeg memiliki banyak filter yang berguna untuk melakukan tugas tertentu. Salah satunya adalah zoompan. Menggunakan filter zoompan, kita dapat dengan mudah memperbesar dan memperkecil setiap X detik secara berkala. Rujuk tautan berikut untuk detail lebih lanjut:
- Cara Memperbesar Dan Memperkecil Video Menggunakan FFmpeg
27. Mendapatkan bantuan
Dalam panduan ini, saya telah membahas perintah FFmpeg yang paling umum digunakan. Ini memiliki lebih banyak opsi berbeda untuk melakukan berbagai fungsi lanjutan. Untuk mempelajari lebih lanjut tentangnya, lihat halaman manual.
$ man ffmpeg
Bacaan terkait:
- Tutorial Youtube-dl Dengan Contoh Untuk Pemula
Dan, itu saja. Saya harap panduan ini memberi Anda contoh perintah FFmpeg yang cukup untuk memulai FFmpeg.