Saya ingin mengonversi semua * .flac ke * .mp3 di folder tertentu.
Ini yang saya coba, tetapi tidak berhasil:
# change to the home directory
cd ~/music
# convert all *.flac files
ffmpeg -i *.flac -acodec libmp3lame *.mp3
# (optional: check whether there are any errors printed on the terminal)
sleep 60
Bagaimana cara mencapai tujuan saya?
bash
shell-script
ffmpeg
Kevin Dong
sumber
sumber
Jawaban:
Coba ini:
sumber
$(basename "${i/.flac}")
untuk menangani spasi?for
loop: IFS = $ '\ n'$(basename "${i/.flac}").mp3
ke"$(basename "${i/.flac}").mp3"
(menempatkan tanda kutip di sekitarnya)Solusi 1 liner sederhana:
find -name "*.flac" -exec ffmpeg -i {} -acodec libmp3lame -ab 128k {}.mp3 \;
http://lewisdiamond.blogspot.ca/2012/01/converting-flac-to-mp3.html
Perhatikan bahwa ini akan diterapkan secara rekursif di direktori yang diberikan. Yaitu jika Anda menjalankan ini dari folder Musik Anda, itu akan mengkonversi semua flac dari subfolder dan menghasilkan .mp3 di sebelahnya. Anda juga dapat melakukannya tanpa ffmpeg dengan langsung menggunakan flac dan lame (mis. Baca w / flac, pipe to lame, output ke file .mp3), seperti yang ditunjukkan dalam tautan.
sumber
-maxdepth 1
saya pikir seperti dalam jawaban X Tian untuk membatasi kekambuhan.find -name "*.flac" -exec bash -c 'ffmpeg -i "{}" -y -acodec libmp3lame -ab 128k "${0/.flac}.mp3"' {} \;
Jika Anda memiliki beberapa spasi putih di nama file:
sumber
Saya mengambil semua yang saya temukan di sini (dan mungkin di beberapa situs lain) dan membuat alat kecil untuk tidak hanya membuat mp3 flac secara rekursif, tetapi juga melestarikan jalur relatif untuk membuatnya di tempat lain dengan dukungan multithread.
oh, dan ya, saya tahu, saya tidak menggunakan ffmpeg dalam kasus itu, karena OSMC saya tidak menyediakan paket untuk ffmpeg, hanya avconv, tetapi karena Anda sudah di sini, saya kira Anda tahu, itu "pada dasarnya" sama - setidaknya untuk bagian terpenting. Cukup ganti perintah "avconv" dengan "ffmpeg". Berjalan pertama saya adalah dengan bin ffmpeg dan opsi yang sama persis.
Saya tidak berarti seorang bash hacker, tetapi saya berhasil, sebagai bashscript pertama saya dengan tuntutan yang diberikan, dan mungkin seseorang akan mendapat manfaat. Saya terbuka untuk saran dari pihak Anda, tetapi sejauh ini itu berhasil untuk saya.
skrip saya untuk memutar 4 instance, satu untuk setiap inti, seperti ini:
Dan skrip pekerja seperti ini:
yang dapat ditemukan di https://github.com/erdnuesse/flac-to-mp3
Salam, Kay
sumber
Saya bekerja pada jawaban @ Ketan menggunakan avconv, karena ffmpeg tidak bekerja dengan baik di sini.
Ini mengkonversi
flac
file dalam folder menjadimp3
file dan kemudian pindah ke folder "mp3" yang ada. File akan dinamai dalam model "original_name.flac.mp3"sumber
sumber
GNU Parallel dibuat untuk tugas-tugas semacam ini:
Ini akan menjalankan pekerjaan secara paralel (satu pekerjaan per inti CPU) dan memastikan output pada terminal tidak tercampur menjadi satu.
Untuk mempelajari lebih lanjut menghabiskan 15 menit membaca bab 1 + 2: https://zenodo.org/record/1146014
sumber
{.}.mp3 :::
dikerjakan konstruksinya? Atau referensi bagian manual yang menjelaskannya?FTW paralel (tidak diragukan lagi Anda memiliki lebih dari satu inti - mengapa tidak menggunakannya?):
sumber
Misalnya, jika Anda memiliki banyak file avi:
sumber
Jika dapat membantu .... Saya telah menulis skrip bash kecil untuk melakukan ini .... Anda harus menginstal ffmpeg / flac.
Bagaimana itu bekerja:
Dibutuhkan 2 argumen:
Itu menghasilkan:
sumber
Untuk secara rekursif mengkonversi dalam mp3 semua file flac atau wav di folder bersarang, saya menggunakan perintah ini:
Ini akan membuat folder bernama "mp3" di dalamnya dengan file flac atau wav dan, di dalam folder mp3, itu akan menyimpan file mp3 relatif dengan bitrate 320kbps, tanpa menyimpan ekstensi file lama dalam namanya.
sumber
Nama file adalah "wav2mp3"
sumber
untuk in * .flac
lakukan OUTF =
echo "$a" | sed s/\.flac$/.mp3/g
ffmpeg -i "$ a" -acodec libmp3lame "$ OUTF"
selesai
sumber
Saya menyadari ini datang cukup terlambat, tetapi untuk memori, lihat skrip saya "batchaudiocvt" pada sourceforge. Ini adalah skrip shell (cukup besar) yang dirancang untuk konversi massa file audio yang efisien, di antara banyak format. Secara khusus, ini membuat yang terbaik untuk mengonversi tag yang biasa.
sumber