安裝FFmpeg flac
eric@ray:~$ sudo apt install FFmpeg flac
安裝lame faac
eric@ray:~$ sudo apt install lame faac
將一個(gè)后綴為.ape格式的視頻轉(zhuǎn)換成m4a(mp4)格式
1、首先用ffmpeg命令或者flac 命令將它轉(zhuǎn)換成mav格式,再用lame將wav轉(zhuǎn)換成mp4格式
eric@ray:~/Music$ ffmpeg -i Gracie-Theme.ape Gracie-Theme.wav
##或者
eric@ray:~/Music$ flac -d Gracie-Theme.flac Gracie-Theme.wav
2、再使用lame命令 壓縮成MP3
##使用lame命令:使用VBR動(dòng)態(tài)碼率壓縮,0表示質(zhì)量最高,9表示質(zhì)量最低,默認(rèn)為4
eric@ray:~/Music$ lame -v Gracie-Theme.wav
##或者使用faac編碼得到m4a(mp4)、mp3格式文件:100表示質(zhì)量最高 100%
eric@ray:~/Music$ faac -w -q 100 Gracie-Theme.wav -o Gracie-Theme.mp4
3、也可以使用ffmpeg壓縮得到m4a格式:
#這里使用的是ffmpeg內(nèi)置的aac編碼起,設(shè)置碼率為固定的320k
eric@ray:~/Music$ ffmpeg -i Gracie-Theme.wav -strict experimental -c:a aac -b:a 320k Gracie-Theme.m4a
#還可以使用ffmpeg將解壓和壓縮為一條命令:-map_metadata 表示保留歌曲元數(shù)據(jù),即名稱、演唱者等
eric@ray:~/Music$ ffmpeg -i Gracie-Theme.flac -ab 320k -map_metadata 0 Gracie-Theme.m4a
4、批量腳本
#!/bin/bash
for FILE in *.ape;
do
ffmpeg -i "$FILE" temp.wav;
lame -b 320 temp.wav "${FILE%.*}.mp3";
rm temp.wav
done
對(duì)于一個(gè)ape/flac文件包含多首歌曲
這種情況,通常會(huì)有一個(gè)cue文件,這個(gè)文件中包含這個(gè)ape/flac文件的專輯名稱、演唱者名稱、還有每首歌曲的名稱、時(shí)間范圍??梢韵扔蒙厦娴姆椒▽⒄麄€(gè)文件轉(zhuǎn)化為Mp3格式之后,再用mp3splt工具進(jìn)行分割。
將cue文件分割為mp3:
eric@ray:~/Music$mp3splt -c song.cue -o @n.@t song.mp3
常用參數(shù):
@a:歌手名稱
@b:專輯名稱
@t:歌曲標(biāo)題
@n:音軌序號(hào)
音頻合并
#音頻合并(兩個(gè)音頻重疊)
eric@ray:~/Music$ffmpeg -i first.mp3 -i second.mp3 -filter_complex amix=inputs=2:duration=first:dropout_transition=2 -f mp3 third.mp3
#兩個(gè)音頻拼接
eric@ray:~/Music$ffmpeg -i d1.mp3 -i d2.mp3 -filter_complex '[0:0] [1:0] concat=n=2:v=0:a=1 [a]' -map [a] j5.mp3
#三個(gè)音頻拼接
eric@ray:~/Music$ffmpeg -i 片頭.wav -i 內(nèi)容.WAV -i 片尾.wav -filter_complex '[0:0] [1:0] [2:0] concat=n=3:v=0:a=1 [a]' -map [a] 合成.wav
參考資料
FFmpeg and AAC Encoding Guide https://trac.ffmpeg.org/wiki/Encode/AAC
以上這篇linux命令實(shí)現(xiàn)音頻格式轉(zhuǎn)換和拼接的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。