Iată un puzzle MP3 audio pentru Linux care m-a bătut de ceva vreme:
Cum să decupezi câteva secunde începând de pe un MP3 fișier audio? (Nu pot obține ffmpeg -ss
să funcționeze fie în format 00:01, fie în format 1.000)
Până acum, pentru a face ceea ce vreau, recurg să o fac în o manieră GUI care este poate mai lentă pentru un singur fișier și cu siguranță mai lentă pentru un lot de fișiere.
Comentarii
- O actualizare. Mai târziu, eu m-am împiedicat de faptul că ffmpeg este foarte pretențios în ceea ce privește formatul orei –ss și am reușit să reduc foarte ușor primele 9 secunde, de exemplu, specificând -ss 00:00:09 (rețineți că are nevoie de toate cele 3 numere din hh: mm: ss format) Versiunea pe care o foloseam poate fi veche … FFmpeg versiunea SVN-r18709, Copyright (c) 2000-2009 Fabrice Bellard și colab.
Răspuns
Pentru editarea mp3-urilor sub Linux, aș recomanda sox . Are un efect simplu de utilizat trim
care va face ceea ce cereți (consultați man sox
pentru datails – căutare (apăsați /
) pentru” trim start „). Exemplu:
sox input.mp3 output.mp3 trim 1 5
Nu l-ați menționat, dar dacă scopul dvs. este doar să eliminați tăcerea la începutul fișierelor, veți găsi efectul silence
mult mai util (man sox
, căutați „perioadele de mai sus” )
Comentarii
- Mulțumesc, minunat: a funcționat. Am ajuns să folosesc
trim
pentru simplitate. Singurul downer a fostsox FAIL formats: can't open output file 'blah.mp3': SoX was compiled without MP3 encoding support
– deci, reintroduceți ffmpeg: / - Acest lucru pare neobișnuit. Pe computerul meu, funcționează fără probleme cu mp3-urile. Este o chestiune de configurare în timp de construcție. Cum l-ați instalat?
- @rozcietrzewiacz, dacă instalați sox dintr-un depozit de distribuție, cel mai probabil veți obține sox fără suport MP3 (din cauza problemelor de licență). De exemplu, pe Fedora 17:
no handler for file extension mp3
- ' îmi este greu să înțeleg cum să compilez sox cu mp3 a sustine. Fără întrebări frecvente, fără google, nimic. Și întrebarea a fost despre tăierea folosind ffmpeg …
Răspuns
Ai putea încerca să folosești mp3splt , care poate împărți fișierele MP3 și Ogg și are avantajul că nu recodifică fișierul, evitând astfel pierderea calității.
Comentarii
- Îmi place; Mulțumiri. Este simplu și totuși are o mulțime de opțiuni … De exemplu: iată comanda pe care tocmai am folosit-o, care adaugă timpii împărțiți la numele fișierului:
mp3splt "$file" 4.12 27.55.7
… Permite formatarea personalizată a numelui de ieșire și mai multe puncte divizate.
Răspuns
Asigurați-vă că specificațiile dvs. de timp încep cu ore.
Pentru a cita pagina manuală ffmpeg :
poate fi fie în secunde, fie în forma „hh: mm: ss [.xxx]”
Asta înseamnă că atunci când alegeți a doua sintaxă doar .xxx
partea este opțională. Altfel ffmpeg ar putea să-l analizeze greșit ca secunde.
La fel este valabil și pentru durata:
durata poate fi un număr în secunde sau în „hh: mm: ss [.xxx]”
O altă capcană este ordonarea argumentelor ffmpeg (de ex. -ss
/ -t
opțiunile pentru un fișier de intrare trebuie să apară înainte de opțiunea -i
).
Exemplu
$ 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
Cu specificația -ss 1:05:59.3 -t 2:03.9
veți obține un rezultat diferit (adică o piesă lungă de 2 secunde).
(Testat pe Fedora 17 cu versiunea ffmpeg 0.10.7.)