wav mp3
ffmpeg:
#https://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2
yum install epel-release -y
yum update -y
rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
yum install ffmpeg ffmpeg-devel
ffmpeg
lame
wget https://udomain.dl.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz --no-check-certificate
tar -zxvf lame-3.100.tar.gz && cd lame-3.100 && ./configure --enable-static --enable-shared && make && make install && lame
固定码率 联合立体声 128kbps编码:
% lame sample.wav sample.mp3
固定码率 联合立体声 128kbps编码,较高质量:(推荐)
% lame -h sample.wav sample.mp3
快速编码,较低质量(无噪音修整)
% lame -f sample.wav sample.mp3
WAV到mp3
ffmpeg -i audio.wav -acodec libmp3lame audio.mp3
ffmpeg -i "$i" -acodec libmp3lame "${i%.wav}.mp3"
ffmpeg -i "$i" -codec:v copy -codec:a libmp3lame -q:a 0 "${i%.wav}.mp3"
-i: 输入文件路径
-codec:v copy:输出文件的参数尽量拷贝输入文件的参数,确保一致
-codec:a libmp3lame:使用 libmplame 编码器编码 mp3
-q:a 0:输出最高质量,0最高,9最低
${i%.wav}.mp3:删除文件名末尾的.wav,然后在结尾加上.mp3
目录结构
.
└── mnt
└── recording
└── fs
├── 5f3a23d98febf106ba000000
│ └── 2021-01-04
│ └── 18091798505
│ ├── 59b4150c-4e40-11eb-a23e-1ba9fa199dca_18091798505_18576478856_20210104115319.wav
│ ├── aaf7a9c4-4e77-11eb-a39f-1ba9fa199dca_18091798505_18576478856_20210104182914.wav
│ ├── c8d71974-4e37-11eb-80e0-1ba9fa199dca_18091798505_18576478856_20210104105202.wav
│ └── fb3dcf68-4e3f-11eb-9729-1ba9fa199dca_18091798505_18576478856_20210104115047.wav
├── 5f8e387d3143334c17000000
│ ├── 2021-01-04
│ │ ├── 13017451380
│ │ │ ├── 036fcb1c-4e2e-11eb-a71b-1ba9fa199dca_13017451380_18785034585_20210104094204.wav
统计当前目录下文件的个数(不包括目录)
$ ls -l | grep "^-" | wc -l
统计当前目录下文件的个数(包括子目录)
$ ls -lR| grep "^-" | wc -l
ls -lR 08-ff | grep "^-" | wc -l
查看某目录下文件夹(目录)的个数(包括子目录)
$ ls -lR | grep "^d" | wc -l
[root@cdxxg-5 recordings]# ls -lR 05/ | grep "^-" | wc -l
342601
268168
74434
if [ $? -eq 0 ]
then
echo command is exist
else
echo command not exist
fi
if [ $? -ne 0 ]
then
mv
wav录音格式转mp3
使用说明: sh xx.sh "wav录音位置" "指定mp3存放位置"
例: "sh xx.sh /usr/local/freeswitch/recordings/recording-bak/2021/01/mnt/recording/fs" "/te"
echo "### wav录音格式转mp3"
echo "### 使用说明: sh xx.sh wav录音位置 指定mp3存放位置"
echo "### 例: sh xx.sh /usr/local/freeswitch/recordings/recording-bak/2021/01/mnt/recording/fs /te"
echo " "
echo "原始wav录音文件位置 $1"
echo "新mp3录音文件位置 $2"
sleep 3
wav_way=$1
mp3_way=$2
$1 : 原始录音文件位置
$2 : 原始录音文件位置
转码
function wavtomp3() {
file=$1
if [ "${file##*.}"x = "wav"x ];then
lame -S $1 $mp3_way/$2/$3/$4/${5%.wav}.mp3
if [ $? -ne 0 ]
then
echo $1 >> ~/lame.txt
cp $1 $mp3_way/$2/$3/$4/$5
fi
#echo "ok $1"
fi
}
遍历录音文件
function main(){
for organization in ls $wav_way
;do
echo "_____ $organization" >> ~/lame.log
for date_time in ls $wav_way/$organization
;do
echo $date_time
for user in ls $wav_way/$organization/$date_time
;do
echo $user
mkdir -p $mp3_way/$organization/$date_time/$user/
for recording in ls $wav_way/$organization/$date_time/$user
;do
#echo $recording
way=$wav_way/$organization/$date_time/$user/$recording
wavtomp3 $way $organization $date_time $user $recording &
done
wait
done
#waite
done
done
}
运行,记录日志
function start(){
touch ~/lame.log
touch ~/lame.txt
echo "############################################################################### $wav_way" >> ~/lame.log
echo date
>> ~/lame.log
main $wav_way
echo `date` >> ~/lame.log
}
start