GNU/Linux >> Belajar Linux >  >> Linux

20+ Perintah FFmpeg Untuk Pemula

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 adalah  22050 , 44100 , 48000 Hz.
  • -ac - Menyetel jumlah saluran audio.
  • -ab - Menunjukkan kecepatan bit audio.
  • -f - Bentuk file keluaran. Dalam kasus kami, ini adalah mp3 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:

  1. 96kbps
  2. 112kbps
  3. 128kbps
  4. 160kbps
  5. 192kbps
  6. 256kbps
  7. 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 adalah 25 .
  • -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 seperti image-01.png , image-02.png , image-03.png dan seterusnya. Jika Anda menggunakan %3d , maka nama gambar akan dimulai seperti image-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.


Linux
  1. 20 Perintah Dasar Linux untuk Pemula Dijelaskan dengan Contoh

  2. 10 Perintah Linux Untuk Diagnostik Jaringan

  3. Contoh Perintah DNF Untuk Pemula

  1. YAML untuk pemula

  2. Linux untuk pemula:10 perintah untuk membantu Anda memulai di terminal

  3. Cara Menginstal FFmpeg di Ubuntu 22.04

  1. Lembar contekan untuk perintah umum Linux

  2. 8 perintah Linux untuk manajemen proses yang efektif

  3. Linux untuk pemula:10 perintah lagi untuk memanipulasi file