Ubuntu

Cara Menukar Video menggunakan FFMPEG di Ubuntu

Cara Menukar Video menggunakan FFMPEG di Ubuntu

Di dunia moden, dengan YouTube dan aplikasi media sosial lain sebagai cara utama untuk melihat media digital, memuat naik video telah menjadi amalan biasa. Telah menjadi sangat umum, sebenarnya, membuat dan mengedit fail audio dan video menjadi perkara biasa dalam jangka masa hanya beberapa dekad. Terdapat alat yang jelas mahal di luar sana yang boleh dibeli seseorang untuk memenuhi keperluan seseorang, tetapi bagaimana jika kita dapat melakukan ini secara percuma? Bagaimana jika beberapa baris kod dapat melakukan hampir semua tugas berkaitan video yang anda perlukan?

Ffmpeg adalah alat penukaran, pengekstrakan, dan penyuntingan video sumber terbuka dan percuma yang memberikan jawapan kepada soalan ini! Apa yang tidak boleh dilakukan oleh ffmpeg? Hampir tiada. Tugas-tugas yang dapat dilakukan dengan bantuan ffmpeg meliputi penukaran fail audio, penukaran fail video, penukaran foto, pengekstrakan file gambar dari file video, penghasilan video dari file gambar, pengekstrakan audio dari video, pemotongan video dan foto, pemangkasan video, re -saiz video, meningkatkan kelantangan, dan membuat rakaman layar.

Memasang FFmpeg di Ubuntu

Ffmpeg tidak terpasang terlebih dahulu di Ubuntu secara lalai, jadi anda harus terlebih dahulu memasang program ini untuk menggunakannya. Untuk menyelesaikan pemasangan, anda mesti menjadi pengguna root. Seterusnya, taipkan yang berikut untuk memasang FFmpeg:

sudo apt-get install ffmpeg

The pasang-dapatkan arahan akan berfungsi untuk semua versi Ubuntu kecuali 14.04.

Penukaran Audio

Menukar jenis fail audio boleh dilakukan dalam satu baris kod menggunakan utiliti ffmpeg. Dalam kes ini, anda hanya perlu melewati dua parameter: nama fail asal dan nama fail baru. Perintah ini membolehkan anda menukar format fail ke format fail lain dengan secara automatik mengesan jenis fail berdasarkan nama. Oleh itu, tidak perlu ada kod tambahan untuk menentukan jenis fail.

ffmpeg -i originial_file.mp3 ditukar_file.mp4

Anda boleh menambahkan nama dan jenis fail anda sendiri ke baris kod ini. Ini hanya sintaks asas untuk penggunaan.

Penukaran Video

Anda juga boleh menukar jenis fail video menggunakan ffmpeg. Semasa memasukkan arahan, semua yang anda perlukan adalah nama fail asal dan nama fail output. Tag -i menunjukkan fail input.

ffmpeg -i original_file.mp4 ditukar_file.laman web

Penukaran Foto

Apa yang berlaku untuk fail video dan audio juga berlaku untuk fail gambar. Anda boleh menukar satu format foto ke format lain dengan cepat dan mudah dengan ffmpeg hanya dengan menggunakan sintaks yang ditunjukkan di bawah:

ffmpeg -i original_file.jpg convert_file.png

Ekstrak Imej dari Fail Video

Ffmpeg juga dapat digunakan untuk mengekstrak gambar dari fail video. Dengan kata lain, program ini dapat mengambil tangkapan layar pada waktu yang tepat semasa video dan menyimpan tangkapan skrin sebagai koleksi fail gambar. Sebagai contoh:

video ffmpeg -i.output_file mp4.jpg

Dalam kes ini, tag -i menggambarkan fail video dari mana fail gambar akan diekstrak. Namun, kami masih belum memberikan spesifikasi program mengenai kualiti gambar atau masa tangkapan layar. Oleh itu, pertama sekali perlu menentukan butiran ini sebelum memasukkan kod.

Sekiranya kita menulis perkara berikut:

video ffmpeg -i.keluaran mp4_file% d.jpg

Nilai% d berikut nama fail output mewakili pemboleh ubah yang boleh anda sesuaikan mengikut bilangan bingkai sesaat yang anda ingin hasilkan dari video. Apabila gambar dihasilkan pada satu bingkai sesaat, setiap foto akan dilabel output_file1.jpg; pada dua bingkai sesaat, output_file2.jpg; pada tiga bingkai sesaat, output_file3.jpg; dan lain-lain. Sekiranya filem mempunyai 35 bingkai sesaat, dan berdurasi satu saat, maka memberikan nilai d pemboleh ubah 1 akan menghasilkan 35 foto.

Seterusnya, bagaimana jika kita ingin menangkap gambar dengan kadar bingkai per detik tertentu? Nilai fps menentukan ini dalam sintaks ffmpeg. Untuk menangkap 1 bingkai sesaat, anda akan menetapkan nilai fps sama dengan 1.

video ffmpeg -i.mp4 -vf fps = 1 output_file% d.jpg

Begitu juga, dengan menentukan nilai fps kepada 1/6000, arahan berikut akan menghasilkan 1 gambar setiap 6,000 saat video:

video ffmpeg -i.mp4 -vf fps = 1/6000 output_file% 6d.jpg

Dalam perintah di atas, istilah% 6d akan menghasilkan pemboleh ubah dengan enam digit. Fail output akan dilabelkan seperti berikut: output_file000001.jpg, output_file000002.jpg, dll.

Sekarang, anggap anda tidak mahu menangkap semua bingkai. Sebagai gantinya, anda ingin lebih selektif dan ingin menangkap sejumlah gambar di antara dua jangka masa. Kemudian, sintaksnya akan kelihatan seperti ini:

ffmpeg -ss 00:00:01 -t 00:00:04 -i video.mp4 output_file% 3d.jpg

Kod ini akan menangkap gambar, bermula pada 00:00:01, selama 4 saat. Dengan kata lain, pengambilan gambar akan bermula pada 00:00:01 dan berakhir pada 00:00:05 dalam video. Seperti biasa, nombor dalam nama fail output akan mempunyai tiga digit (i.e., output_file001.jpg, output_file002.jpg, dll.).

Hasilkan Video dari Fail Gambar

Bagaimana jika anda mahu melakukan sebaliknya dan menyatukan gambar untuk membentuk video? Ffmpeg datang untuk menyelamatkan sekali lagi!

ffmpeg -r 1/5 -i img% 03d.png -c: v libx264 -vf fps = 25 -pix_fmt yuv420p output_file.mp4

Setelah membaca bahagian sebelumnya, anda sekarang tahu apa istilah img% 03.png bermaksud - fail gambar sumber yang dapat disusun ke dalam video. Dalam sintaks ini, tag -c: v mewakili codec untuk video, fps mewakili nilai bingkai per saat, dan r mewakili bingkai video output.

Ekstrak Audio dari Video

Bagaimana dengan mengekstrak fail audio dari fail video? Terdapat alat di web yang boleh anda gunakan untuk melakukan tugas ini, tetapi dengan ffmpeg, satu baris kod dapat melakukan pekerjaan dengan baik.

video ffmpeg -i.mp4 -c: libmp3lame -q: a -map a output_file.mp3

Dalam sintaks di atas, video.mp4 adalah fail video input dan output_file.mp3 adalah fail audio output. Tag -map menggunakan aliran audio lalai dan tidak termasuk subtitle, c: a menentukan codec untuk audio yang akan digunakan, dan q: a menentukan bitrate berubah untuk audio.

Sekiranya anda ingin mengekstrak hanya sebahagian daripada fail audio dari fail video, anda boleh menggunakan sintaks berikut untuk melakukannya. Dalam kod berikut, hanya bahagian audio dari antara 00:00:08 dan 00:00:10 yang diekstrak:

video ffmpeg -i.mp4 -ss 00:00:08 -t 00:00:10 -q: a 0 -c: a libmp3lame -q: a 0 -membuat output_file.mp3

Jelas, terdapat banyak lagi perincian yang boleh anda tambahkan, sekiranya anda mahukan, tetapi contoh di atas adalah titik permulaan yang baik.

Potong Video dan Foto

Bagaimana jika anda ingin memotong video? Anda boleh meluangkan masa dan wang untuk mencari perisian pemotongan di tempat lain, atau anda boleh menggunakan satu baris kod dengan ffmpeg untuk memotong ukuran video.

video ffmpeg -i.mp4 -filter: v "crop = w = lebar: h = tinggi: x: y" output_file.mp4

Sebagai contoh:

video ffmpeg -i.mp4 -filter: v "crop = w = 550: h = 200: x = 100: y = 200" output_file.mp4

Sebagai contoh, saya mengambil gambar saya sendiri dan cuba memotongnya dengan kod berikut:

ffmpeg -i pelayan.jpg -filter: v "crop = w = 500: h = 200" keluar.jpg

Trim Video

Memangkas fail video memerlukan pemotongan dari satu waktu tertentu ke waktu tertentu yang lain. Sebagai contoh, memotong fail video menjadi dua atau tiga segmen akan mengurangkannya. Sekali lagi, pemangkasan fail video atau audio dapat dilakukan dengan mudah menggunakan ffmpeg.

video ffmpeg -i.mp4 -ss 00:00:20 -t 00:00:10 -c: v h264 -c: aac output_file.mp4

Dalam kes ini, tag -ss bermaksud untuk mencari, atau waktu untuk memulakan proses pemangkasan. Dalam perintah di atas, kita akan mula memotong atau memotong pada 00:00:20. T tag bermaksud kepanjangan klip. Di sini, tempoh klip potong akan menjadi 10 saat. Akhirnya, tag c: v adalah untuk codec video yang digunakan, sementara c: a adalah untuk codec audio yang digunakan.

Ubah saiz video

Mengubah saiz video semudah memotong dan memotong video.

video ffmpeg -i.skala mp4 -vf = 320: 240 output_file.mp4

Sebagai alternatif, anda juga boleh melakukan perkara berikut:

video ffmpeg -i.skala mp4 -vf = "iw / 1: ih / 2" output_file.mp4

Di sini, nilai iw menentukan lebar input, sementara ih menentukan ketinggian input. Yang terakhir juga akan meningkatkannya.

Tingkatkan Kelantangan Video

Dalam artikel ini, Anda telah melihat cara memotong, memangkas, dan mengubah fail video dan gambar, tetapi bagaimana dengan meningkatkan jumlah fail audio dan video?

video ffmpeg -i.mp3 -filter: output_file "volume = 2".mp3

Dalam kes terakhir, kami dengan rendah hati meminta ffmpeg untuk menggandakan jumlah fail.

Buat Rakaman Skrin

Merakam skrin anda adalah tugas yang sering diperlukan untuk dilakukan, baik untuk persembahan, perkongsian video, atau pertemuan dalam talian. Apa pun alasan untuk merakam desktop anda, biasanya, anda perlu menjalankan beberapa jenis perisian untuk melakukannya. Tidak seperti alternatif yang mahal, ffmpeg dapat melakukan ini untuk anda secara percuma!

ffmpeg -f gdigrab -framerate 30 -i desktop -c: v libx264 output_file.mp4 -f dshow -i audio = "Stereo Mix (Realtek Audio)" output_file.mp4

Dalam perintah di atas, tag -f mewakili format rakaman video skrin anda. Mengikut nilai audio, anda akan memasukkan sumber audio anda.

Sebagai tambahan, kod berikut hanya akan merakam video rakaman skrin, tanpa ada suara yang ditambahkan:

ffmpeg -f gdigrab -framerate 30 -i desktop -c: v libx264 -qp 0 output.mp4

Kesimpulannya

Secara keseluruhan, ffmpeg adalah program yang sangat berguna yang membolehkan anda menyelesaikan banyak perkara dalam satu baris kod. Anda boleh membeli alat mahal dalam talian untuk memenuhi keperluan penyuntingan anda, atau anda boleh mencuba fungsi ini secara percuma dengan memasang utiliti ffmpeg.

Perintah Basename di Linux
Di Linux, perintah nama dasar mencetak elemen terakhir dari jalur fail. Ini sangat berguna dalam skrip bash di mana nama fail perlu diekstrak dari bar...
Perintah membunuh Linux
Pembunuhan adalah perintah yang sangat berguna di Linux yang digunakan untuk menghentikan proses secara manual. Ia menghantar isyarat yang akhirnya me...
Tutorial Linux uname Command
Tidak dikenali adalah bentuk pendek dari nama Unix. Ini adalah perintah yang sangat berguna di Linux, yang memberikan maklumat perkakasan dan perisian...