dela upp en ljudfil i mindre filer med ffmpeg

Varning! Det som diskuteras här är inte alltid enkelt och det kan hända att vissa installationer/modifieringar kan göra ditt system oanvändbart. Inget för nybörjare. Gör alltid backup av känslig data innan du experimenterar.
Kategoriregler
Varning! Det som diskuteras här är inte alltid enkelt och det kan hända att vissa installationer/modifieringar kan göra ditt system oanvändbart. Inget för nybörjare. Gör alltid backup av känslig data innan du experimenterar.
Användarvisningsbild
whac
Inlägg: 465
Blev medlem: 11 dec 2006, 03:31
OS: Arch Linux
Ort: Mariestad
Kontakt:

dela upp en ljudfil i mindre filer med ffmpeg

Inlägg av whac »

Hej hur gör jag för att dela upp en ljudfil i 9 sekunders delar med ffmpeg? Någon som vet?
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: dela upp en ljudfil i mindre filer med ffmpeg

Inlägg av Konservburk »

Om du ska använda ffmpeg tror jag att du måste ange en massa olika startpunkter utefter hela filen. Känns ju inte direkt som det bästa sättet att göra det på. Om du inte har något emot mkvmerge från mkvtoolnix så är den ganska smidig för just sånt här:

Kod: Markera allt

mkvmerge -a 0 input.wav --split duration:9s -o output.mka
Användarvisningsbild
whac
Inlägg: 465
Blev medlem: 11 dec 2006, 03:31
OS: Arch Linux
Ort: Mariestad
Kontakt:

Re: dela upp en ljudfil i mindre filer med ffmpeg

Inlägg av whac »

tackar. hur gör jag sen på ett smidigt sätt för att få dem till 44100hz wav filer?
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: dela upp en ljudfil i mindre filer med ffmpeg

Inlägg av Konservburk »

whac skrev:tackar. hur gör jag sen på ett smidigt sätt för att få dem till 44100hz wav filer?
mkvmerge gör inte om filerna över huvud taget. Det enda den gör är att lägga in ljudet i ett orört skick i en (eller i det här fallet flera) matroska-behållare. Med mkvextrakt går det att plocka ut ljudet ur matroska-behållaren och lägga tillbaka det i likadana behållare som det var från början.

Kod: Markera allt

#!/bin/sh
mkvmerge -a 0 "$1" --split duration:"${2-9s}" -o "${1%.*}".mka &&
for file in "${1%.*}"-*.mka
do mkvextract tracks "$file" 1:"${file%.mka}.${1##*.}" && rm -f "$file"
done

Kod: Markera allt

./split.sh fil.mp3 9s
Det spelar inte ens någon roll om det är wav eller mp3, eftersom själva ljudströmmen inte rörs. Så om jag har en 22kHz wav så kommer det fortfarande att vara 22kHz wav efteråt. Vill du t.ex. sampla om så är det nog enklast att göra det innan du ens blandar in mkvmerge i det hela:

Kod: Markera allt

ffmpeg -i fil.mp3 -ar 44100 fil.wav
./split fil.wav 9s
Skriv svar

Återgå till "Experimentverkstad"