Här är ett MP3-ljud-MP3-pussel som har bugat mig ett tag:

Hur man kan klippa början några sekunder av en MP3 ljudfil? (Jag kan inte få ffmpeg -ss att arbeta med antingen 00:01 eller 1.000 format)

Hittills, för att göra vad jag vill, använder jag det i ett GUI-sätt som kanske är långsammare för en enda fil och definitivt långsammare för ett antal filer.

Kommentarer

  • En uppdatering. Senare, jag snubblat över det faktum att ffmpeg är väldigt kräsen när det gäller –ss tidsformat, och jag kunde lättast klippa av de första 9 sekunderna till exempel genom att ange -ss 00:00:09 (notera att det behöver alla 3 siffrorna i hh: mm: ss-format) Den version jag använde kan vara gammal … FFmpeg version SVN-r18709, Copyright (c) 2000-2009 Fabrice Bellard, et al.

Svar

För att redigera mp3 under Linux, rekommenderar jag sox . en enkel att använda trim -effekt som gör vad du ber om (se man sox för datmeddelanden – sök (tryck /) för” trim start ”). Exempel:

sox input.mp3 output.mp3 trim 1 5 

Du nämnde det inte, men om ditt mål bara är att ta bort tystnaden i början av filer hittar du silence effekt mycket mer användbar (man sox, sök efter ”ovan-perioder” )

Kommentarer

  • Tack, fantastiskt: det fungerade. Jag slutade använda trim för enkelhetens skull. Den enda downer var sox FAIL formats: can't open output file 'blah.mp3': SoX was compiled without MP3 encoding support – så skriv in ffmpeg: /
  • Det verkar ovanligt. På min dator fungerar det utan problem med mp3-filer. Det är en fråga om byggtidskonfiguration. Hur installerade du det?
  • @rozcietrzewiacz, om du installerar sox från ett distributionsförvar kommer du sannolikt att få sox utan MP3-stöd (på grund av licensproblem). Till exempel på Fedora 17: no handler for file extension mp3
  • Jag ' jag har svårt att förstå hur man kompilerar sox med mp3 Stöd. Ingen FAQ, ingen google, ingenting. Och frågan handlade om att trimma med ffmpeg …

Svar

Du kan försöka använda mp3splt , som kan dela MP3- och Ogg-filer och har fördelen att den inte kodar om filen och därmed undviker kvalitetsförlust.

Kommentarer

  • Jag gillar det; tack. Det är enkelt och har ändå många alternativ … Till exempel: här är kommandot jag just använde, vilket lägger till delningstiderna i filnamnet: mp3splt "$file" 4.12 27.55.7 … Det tillåter anpassad formatering av utskriftsnamn och flera splitpunkter.

Svar

Se till att dina tidsspecifikationer börjar med timmar.

Att citera ffmpeg mansida :

position kan vara antingen i sekunder eller i ”hh: mm: ss [.xxx]” -form

Det betyder att när du väljer den andra syntaxen bara .xxx del är valfri. Annars kan ffmpeg analysera det som sekunder.

Samma sak gäller för varaktighet:

varaktigheten kan vara ett antal i sekunder, eller i ”hh: mm: ss [.xxx]”

En annan fallgrop är ordningen på ffmpeg-argument (t.ex. -ss / -t alternativ för en inmatningsfil måste komma före alternativet -i).

Exempel

$ 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 

Med specifikationen -ss 1:05:59.3 -t 2:03.9 skulle du få ett annat resultat (dvs. en 2 sekund lång bit).

(Testat på Fedora 17 med ffmpeg version 0.10.7.)

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *