Cara Batch Menukar Fail Muzik dengan FFMPEG

Cara Batch Menukar Fail Muzik dengan FFMPEG

FFMPEG adalah teras tan utiliti multimedia, tetapi utiliti itu sendiri tidak mempunyai keupayaan untuk menukar beberapa fail sekaligus. Syukurlah, ffmpeg boleh ditulis, dan anda boleh dengan mudah menetapkan sesuatu dengan cepat dengan bash.

Dalam tutorial ini anda akan belajar:

  • Cara Menyiapkan Pembolehubah Anda
  • Cara membina gelung
  • Cara melepaskan nama fail
  • Cara menyatukannya, dan berlari
Batch menukar fail audio dengan ffmpeg.

Keperluan perisian dan konvensyen yang digunakan

Keperluan Perisian dan Konvensyen Talian Perintah Linux
Kategori Keperluan, konvensyen atau versi perisian yang digunakan
Sistem Sebarang pengedaran dengan ffmpeg
Perisian Ffmpeg
Yang lain Akses istimewa ke sistem linux anda sebagai akar atau melalui sudo perintah.
Konvensyen # - Memerlukan arahan Linux yang diberikan untuk dilaksanakan dengan keistimewaan akar sama ada secara langsung sebagai pengguna root atau dengan menggunakan sudo perintah
$ - Memerlukan arahan Linux yang diberikan sebagai pengguna yang tidak layak
  1. Sediakan pembolehubah anda

    Satu -satunya cara sebenar untuk mengendalikan penukaran fail batch dengan ffmpeg adalah melalui skrip bash. Ia tidak perlu menjadi sangat kompleks atau terperinci, tetapi anda boleh, jika anda suka benda itu, dapatkan sangat terperinci dengannya. Panduan ini akan berfungsi dengan sesuatu yang lebih mudah yang menyelesaikan pekerjaan.

    Pertama, buat fail untuk skrip anda.



    sentuh ffmpeg-batch.sh

    Seterusnya, buka dengan editor teks kegemaran anda, dan tetapkannya sebagai skrip bash.

    #! /bin/bash

    Skrip ini akan menggunakan siri pembolehubah untuk laluan fail, sambungan, dan pilihan FFMPEG. Dengan cara ini, ia cukup fleksibel sehingga anda boleh lulus fail yang berbeza di lokasi yang berbeza, memilih format fail anda semasa anda pergi.

    Terdapat lima pembolehubah yang anda perlukan. Anda memerlukan satu untuk setiap direktori input dan direktori output. Kemudian, anda memerlukan satu set untuk sambungan fail input dan satu lagi untuk lanjutan output. Akhirnya, anda boleh membuat satu yang merupakan tangkapan umum-semua untuk pilihan penukaran anda. Secara keseluruhannya, ia sepatutnya kelihatan seperti ini:

    srcext = $ 1 destext = $ 2 srcdir = $ 3 destdir = $ 4 opts = $ 5
    Salinan

    Sekiranya anda ingin mengubah suai, teruskanlah. Sambungan diperlukan, bukannya hanya menariknya dari fail kerana folder mungkin mengandungi lebih dari satu jenis fail. Sekiranya anda lebih suka menganggap bahawa hanya ada satu jenis fail dalam folder, pergi ke hadapan dan ubah suai skrip untuk berfungsi dengan cara itu.

  2. Membina gelung

    Segala -galanya dalam skrip ini berlaku melalui mudah hadapan gelung. Ia akan melangkah ke atas setiap fail dengan pelanjutan yang ditentukan dalam direktori yang ditentukan.

    Untuk nama fail dalam "$ srcdir"/*.$ srcext; selesai
    Salinan
  3. Keluarkan nama fail

    Untuk menjadikan skrip benar -benar boleh disesuaikan, anda perlu melepaskan laluan dan sambungan setiap fail untuk mendapatkan nama fail seperti itu. Dengan cara ini, skrip akan dapat mengeksport fail yang baru ditukar dengan nama yang sama, menghapuskan keperluan untuk anda menentukan atau menamakan semula fail secara individu.

    Pertama, lepaskan lanjutan dan serahkannya kepada pemboleh ubah baru.

    Untuk nama fail dalam "$ srcdir"/*.$ srcext; lakukan

    Kemudian, jalurkan laluan dari nama fail.

    Basename = $ BasePath ##*/

    Anda boleh mencuba mengulangi hasilnya untuk melihat apa yang anda dapat. Ia semestinya nama fail itu sendiri.

    Echo $ Basename
  4. Letakkan semuanya, dan lari

    Anda akhirnya bersedia untuk menambah kerja sebenar dari ffmpeg. Bahagian ini secara essental hanya panggilan mudah untuk ffmpeg, tetapi bekerja dengan pembolehubah anda sebagai ganti nama fail literal. Beri ffmpeg nama fail penuh dengan jalan sebagai inputnya. Kemudian, bina output menggunakan direktori destinasi, nama fail yang dilucutkan, dan sambungan fail destinasi. Sertakan pilihan anda di antara. Petikan diperlukan untuk bash untuk merawat setiap pembolehubah sebagai rentetan.

    ffmpeg -i "$ filename" $ ​​opts "$ destdir"/"$ Basename"."$ destext"

    Anda boleh menambah mesej selepas gelung, mengandaikan bahawa fail berjaya ditukar. Secara keseluruhan, skrip anda harus kelihatan seperti ini:

    #! /bin/bash srcext = $ 1 destext = $ 2 srcdir = $ 3 destdir = $ 4 opts = $ 5 untuk nama fail dalam "$ srcdir"/*.$ srcext; Adakah BasePath = $ FileName%.* baseName = $ BasePath ##*/ ffmpeg -i "$ filename" $ ​​opts "$ destdir"/"$ Basename"."$ DeStext" Done Echo "penukaran dari $ srcext hingga $ destext lengkap!"
    Salinan

    Tidak banyak, tetapi skrip sudah cukup untuk mengendalikan kebanyakan situasi. Sekarang, berjalan ia akan kelihatan seperti ini:

    ./ffmpeg-batch.sh flac mp3/rumah/nama pengguna/muzik/'led zeppelin'/'led zeppelin'//rumah/nama pengguna/muzik/'led zeppelin mp3'/"-ab 320k '

Kesimpulan

Sebaik sahaja anda membiasakannya, walaupun sesuatu seperti ini boleh menjadi cara yang sangat berguna untuk menguruskan audio anda, dan juga video, fail. FFMPEG adalah alat yang sangat baik, dan jika anda lebih suka minimalism, anda boleh mendapatkan hasil yang sama seperti program grafik yang kembung dengan satu arahan baris.

Tutorial Linux Berkaitan:

  • Menguasai Gelung Skrip Bash
  • Pengagihan Linux Multimedia Terbaik
  • Pemain Muzik Terbaik untuk Linux
  • Ubuntu 20.04 Pemasangan FFMPEG
  • Gelung bersarang dalam skrip bash
  • Perkara yang hendak dipasang di Ubuntu 20.04
  • Pengenalan kepada Automasi, Alat dan Teknik Linux
  • Cara membuat pakej flatpak
  • Tutorial Debugging GDB untuk Pemula
  • Cara mendapatkan dan menukar metadata audio di Linux