Ffmpeg
Get part of file¶
ffmpeg -ss 0 -i file.mp3 -t 30 file.wave
-ss 0- Start at 0 seconds-t 30- Capture 30 seconds (from 0, so 0:00 - 0:30). If you want 1 minute of audio, use -t 60.file.mp3- Input filefile.wav- output file
Get first n seconds of mp3¶
via https://stackoverflow.com/a/44032
$n = 30
ffmpeg -t $n -i inputfile.mp3 -acodec copy outputfile.mp3
Remove first n seconds of mp3¶
n=30
ffmpeg -ss $30 -i "song-with-stupid-intro.mp3" -acodec copy "song.mp3"
Extract Audio¶
https://gist.github.com/protrolium/e0dbd4bb0f1a396fcb55
ffmpeg -i video.mp4 -f mp3 -ab 320000 -vn music.mp3
Extract from webm¶
ffmpeg -i video.webm -vn -ab 128k -ar 44100 -y song.mp3
ffmpeg -i video.webm -vn -y song.mp3
Merge mp3 files¶
ffmpeg -f concat -safe 0 -i <(for f in ./*.mp3; do echo "file '$PWD/$f'"; done) -c copy playlist.wav
ffmpeg -i playlist.wav -vn -ar 44100 -ac 2 -ab 320k -f mp3 playlist.mp3
Convert m4a to mp3¶
ffmpeg -i input.m4a -acodec libmp3lame -ab 320k output.mp3
find ./ -maxdepth 1 -type f \
-iname '*.m4a' | cut -c 3- | sed -e 's/\.[^.]*$//' | xargs -I '{}' \
ffmpeg -i "{}.m4a" -acodec libmp3lame -ab 320k "{}.mp3"
Convert Flac to MP3¶
ffmpeg -i infile.flac -c:v copy -q:a 0 outfile.mp3
find ./ -maxdepth 1 \
-type f \
-iname '*.flac' \
-printf '"%p"\n' | sed -e 's/\.[^.]*$/\"/' | xargs -I '{}' \
ffmpeg -i "{}.flac" -c:v copy -q:a 0 "{}.mp3"
for f in *.flac; do n=$(echo "$f" | cut -d'.' -f1); ffmpeg -i "$n.flac" -c:v copy -q:a 0 "$n.mp3"; done
Fix corrupt mp4 file from kazam screen recording¶
ffmpeg -i <your input video>.mp4 -pix_fmt yuv420p -vcodec libx264 -acodec avc <output file name>.mp4
Split File into Segments¶
ffmpeg -i "whole-file.mp3" -map 0 -f segment -segment_time 600 -c copy out%03d.mp3
600 = 10 minutes (60 * 10)