CentOS 安装ffmpeg脚本 (实现amr -> mp3, mp4封面截图)

微信js-sdk产生的录音文件格式为amr, 部分设备不支持该播放格式. 可以使用ffmpeg来进行格式转化.

以下是ffmpeg的安装脚本:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
tar xvf yasm-1.3.0.tar.gz
cd yasm-1.3.0
./configure
make
make install

wget http://jaist.dl.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz
tar xvf lame-3.99.5.tar.gz
cd lame-3.99.5
./configure
make
make install

wget http://jaist.dl.sourceforge.net/project/opencore-amr/opencore-amr/opencore-amr-0.1.3.tar.gz
tar xvf opencore-amr-0.1.3.tar.gz
cd opencore-amr-0.1.3
./configure
make
make install

wget http://ffmpeg.org/releases/ffmpeg-3.2.4.tar.bz2
tar xvf ffmpeg-3.2.4.tar.bz2
cd ffmpeg-3.2.4
./configure --enable-version3 --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb
make
make install


# 64位的机器安装部分媒体支持库时, 默认的文件位置可能有问题, 建立软连接.
ln -s /usr/local/lib/libopencore-amrwb.so.0 /usr/lib64/libopencore-amrwb.so.0
ln -s /usr/local/lib/libopencore-amrnb.so.0 /usr/lib64/libopencore-amrnb.so.0
ln -s /usr/local/lib/libmp3lame.so.0 /usr/lib64/libmp3lame.so.0

java代码访问ffmpeg:

1
2
Process process = Runtime.getRuntime().exec("ffmpeg -i " + amrFile + " " + mp3File);
process.waitFor();

关于源码安装:

1
2
3
4
5
6
7
8
# 命令可以用&&连接起来, 表示前者成功后才去执行后者.
./configure && make && make install

# configure 可以使用参数 --prefix= 指定安装目录.
./configure --prefix=/usr/local/test

# 卸载可以在原来的make目录下用一次make uninstall:
./make uninstall

使用ffmpeg生成视频封面:

1
ffmpeg -ss 00:00:01 -i VID_1509953174887.mp4 -vframes 1 -y -f image2 test1.jpg

这个命令真他妈好用啊:

1
python -m SimpleHTTPServer 8000