Bagaimana Anda bisa memotong file mp3 menggunakan `ffmpeg`?


10

Berikut adalah teka-teki MP3 audio Linux yang telah mengganggu saya untuk sementara waktu:

Bagaimana cara memotong awal beberapa detik dari file audio MP3? (Saya tidak bisa ffmpeg -ssbekerja dengan format 00:01 atau 1.000)

Sejauh ini, untuk melakukan apa yang saya inginkan, saya melakukan itu dengan cara GUI yang mungkin lebih lambat untuk satu file, dan pasti lebih lambat untuk beberapa file.


1
Sebuah pembaharuan. Kemudian, saya menemukan fakta bahwa ffmpeg sangat pilih-pilih tentang format waktu --ss, dan saya dapat dengan mudah memotong 9 detik pertama misalnya dengan menetapkan -ss 00:00:09 (perhatikan bahwa semua perlu 3 angka dalam format jj: mm: dd) Versi yang saya gunakan mungkin sudah lama ... Versi FFmpeg SVN-r18709, Hak cipta (c) 2000-2009 Fabrice Bellard, dkk.
Mark Hudson

Jawaban:


5

Untuk mengedit mp3 di linux, saya sarankan sox . Ini memiliki efek yang mudah digunakan trimyang akan melakukan apa yang Anda minta (lihat man soxdatails - cari (tekan /) untuk "trim start"). Contoh:

sox input.mp3 output.mp3 trim 1 5

Anda tidak menyebutkannya, tetapi jika tujuan Anda hanya untuk menghapus keheningan di awal file, Anda akan menemukan silenceefek yang jauh lebih berguna ( man sox, cari "periode-atas")


Terima kasih, luar biasa: berhasil. Saya akhirnya menggunakan trimuntuk kesederhanaan. Satu-satunya downer adalah sox FAIL formats: can't open output file 'blah.mp3': SoX was compiled without MP3 encoding support- jadi, masukkan kembali ffmpeg: /
Mark Hudson

Sepertinya itu tidak biasa. Di komputer saya, ini berfungsi tanpa masalah dengan mp3. Ini adalah masalah konfigurasi build-time. Bagaimana Anda menginstalnya?
rozcietrzewiacz

@rozcietrzewiacz, jika Anda menginstal sox dari repositori distribusi, Anda kemungkinan besar akan mendapatkan sox tanpa dukungan MP3 (karena masalah lisensi). Misalnya pada Fedora 17:no handler for file extension mp3
maxschlepzig

4

Anda dapat mencoba menggunakan mp3splt , yang dapat membagi file MP3 dan Ogg dan memiliki keuntungan bahwa itu tidak menyandikan ulang file tersebut, sehingga menghindari kehilangan kualitas.


1
Saya suka itu; Terima kasih. Ini sederhana, namun memiliki banyak pilihan ... Sebagai contoh: di sini adalah perintah yang baru saja saya gunakan, yang menambahkan waktu split ke nama file: mp3splt "$file" 4.12 27.55.7... Ini memungkinkan pemformatan nama keluaran kustom dan beberapa titik perpecahan.
Peter.O

1

Pastikan spesifikasi waktu Anda mulai dengan jam.

Untuk mengutip halaman manual ffmpeg :

posisi bisa dalam detik atau dalam bentuk "jj: mm: dd [.xxx]"

Itu berarti bahwa ketika Anda memilih sintaks ke-2 hanya .xxxbagian yang opsional. Lain ffmpeg mungkin salah menguraikannya sebagai detik.

Sama berlaku untuk durasi:

durasinya bisa berupa angka dalam detik, atau dalam "jj: mm: dd [.xxx]"

Perangkap lain adalah urutan argumen ffmpeg (misalnya opsi -ss/ -tuntuk file input harus ada sebelum -iopsi).

Contoh

$ wget http://traffic.libsyn.com/twiv/TWiV179.mp3
$ ffmpeg -ss 1:05:59.3 -t 00:02:03.9 -i TWiV179.mp3 -acodec copy \
     what_is_a_hmm_twiv179.mp3

Dengan spesifikasi -ss 1:05:59.3 -t 2:03.9Anda akan mendapatkan hasil yang berbeda (yaitu bagian yang panjangnya 2 detik).

(Diuji pada Fedora 17 dengan ffmpeg versi 0.10.7.)

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.