The whole idea
1, Server Installation FFmpeg
2, Use the FFMPEG-I directive to convert AMR to MP3 format (this will be written in PHP code, using the EXEC function can be executed)
3. Use the HTML5 audio tag to play the MP3 file on the web side
Here are the details of the operation:
first, Server Installation FFmpeg take Cenos as an example
Reference Here: http://my.oschina.NET/ethan09/blog/372435
It is important to note that in the following method, the installation of Amrnb and AMRWB to the make link will request a URL of 3gp, which is generally not requested, you can cancel his process with crtl+c, and these two do not need to be able to convert the format
Received the need to convert AMR to mp3,windows under the Linux environment directly using the third party jar package Package EXE method can be, but does not support linux, the internet climbed the data said to be using FFmpeg plus AMR plug-in can be achieved, according to the tutorial to try a bit:
1. Install the system compilation environment first
1 yum install-y automake autoconf libtool gcc gcc-c++ #CentOS
2. Compile the required source code package
1 #yasm: assembler, new version of ffmpeg adds assembly code
2
3 wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
4
5 tar -xzvf yasm-1.3.0.tar.gz
6
7 cd yasm-1.3.0
8
9 ./configure
10
11 make
12
13 make install
14
15
16
17 #lame: Mp3 audio decoding
18
19 wget http://jaist.dl.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz
20
21 tar -xzvf lame-3.99.5.tar.gz
twenty two
23 cd lame-3.99.5
twenty four
25 ./configure
26
27 make
28
29 make install
30
31
32
33 #amr support
34
35 wget http://downloads.sourceforge.net/project/opencore-amr/opencore-amr/opencore-amr-0.1.3.tar.gz
36
37 tar -xzvf opencore-amr-0.1.3.tar.gz
38
39 cd opencore-amr-0.1.3
40
41 ./configure
42
43 make
44
45 make install
46
47
48
49 #amrnbSupport
50
51 wget http://www.penguin.cz/~utx/ftp/amr/amrnb-11.0.0.0.tar.bz2
52
53 tar -xjvf amrnb-11.0.0.0.tar.bz2
54
55 cd amrnb-11.0.0.0
56
57 ./configure
58
59 make
60
61 make install
62
63
64
65 #amrwbSupport
66
67 wget http://www.penguin.cz/~utx/ftp/amr/amrwb-11.0.0.0.tar.bz2
68
69 tar -xjvf amrwb-11.0.0.0.tar.bz2
70
71 cd amrwb-11.0.0.0
72
73 ./configure
74
75 make
76
77 make install
78
79
80
81 #ffmpeg
82
83 wget http://ffmpeg.org/releases/ffmpeg-2.5.3.tar.bz2
84
85 tar -xjvf ffmpeg-2.5.3.tar.bz2
86
87 cd ffmpeg-2.5.3
88
89 ./configure --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-version3 --enable-shared
90
91 make
92
93 make install
94
95
96
97 #Load Configuration
98
99 # After writing the config, the terminal runs the ffmpeg command, and the success and installed extensions appear, and the operation succeeds.
100
101 ldconfig
3. How to use
1 ffmpeg -i 1.mp3 -ac 1 -ar 8000 1.amr #MP3 convert AMR
2
3 ffmpeg -i 1.amr 1.mp3 #AMR convert MP3
Appendix:
Appendix 1. FFmpeg default installation directory is "/usr/local/lib", some 64-bit systems under the Software directory is "/usr/lib64", the compilation process may appear
"ffmpeg:error while loading shared libraries:libmp3lame.so.0:cannot open Shared object file:no such file or directory" The solution to such a similar error is to establish a soft link:
# ln-s/usr/local/lib/libmp3lame.so.0.0.0/usr/lib64/libmp3lame.so.0
Appendix 2. If the following prompt appears: Ffmpeg:error while loading shared libraries:libavdevice.so.54:cannot open Shared object file:no such file or Directory
You can view Ffmpeg's dynamic link libraries in the following ways which are not found:
1 ldd `which ffmpeg`
2
3 libavdevice.so.54 => not found
4
5 libavfilter.so.3 => not found
6
7 libavformat.so.54 => not found
8
9 libavcodec.so.54 => not found
10
11 libswresample.so.0 => not found
12
13 libswscale.so.2 => not found
14
15 libavutil.so.51 => not found
16
17 libm.so.6 => /lib64/libm.so.6 (0x00002ab7c0eb6000)
18
19 libpthread.so.0 => /lib64/libpthread.so.0 (0x00002ab7c100b000)
20
21 libc.so.6 => /lib64/libc.so.6 (0x00002ab7c1125000)
twenty two
23 /lib64/ld-linux-x86-64.so.2 (0x00002ab7c0d9a000)
twenty four
25 #If similar to the above output, look for the above class library, you will find all under /usr/local/lib/
26
27 find /usr/local/lib/ | grep -E "libavdevice.so.54|libavfilter.so.3|libavcodec.so.54"
28
29 /usr/local/lib/libavfilter.so.3.17.100
30
31 /usr/local/lib/libavcodec.so.54.59.100
32
33 /usr/local/lib/libavdevice.so.54
34
35 /usr/local/lib/libavcodec.so.54
36
37 /usr/local/lib/libavfilter.so.3
38
39 /usr/local/lib/libavdevice.so.54.2.101
40
41
42
43 #View Link Library Configuration File
44
45 more /etc/ld.so.conf | grep /usr/local/lib
46
47 # If not included, you need to edit this article to add:
48
49 vi /etc/ld.so.conf
50
51 /usr/local/lib
52
53 /usr/local/lib64
54
55 #Run Configuration Command
56
57 ldconfig
About FFmpeg introduction:
FFmpeg is an open source, free Cross-platform video and audio streaming solution that belongs to free software, with a LGPL or GPL license (depending on the component you choose). It provides a complete solution for recording, converting, and streaming audio and video. It contains a very advanced Audio/video codec library libavcodec, in order to ensure high portability and codec quality, Libavcodec Many codec are developed from Scratch. Its official website is: http://www.ffmpeg.org
finally, Some of the contents refer to Http://linux.it.Net.cn/e/Linuxit/2014/0828/3980.html
Ii. use of the FFMPEG directive
After the first step, you can use FFMPEG--HELP to see if the installation is correct, if not, please check if you forgot make install
The instructions to use the conversion are ffmpeg-i 1.AMR 2.mp3
Will convert the 1.AMR to 2.mp3
third, use PHP to execute Linux instructions ffmpeg
The conversion of the file is certainly not self-kept to the server running Linux instructions, so we use PHP to execute the Linux instructions to process the AMR file
Use the EXEC function to perform
1 $amr = ‘./‘.$vo[‘voice‘];
2 $mp3 = $amr.‘.mp3‘;
3
4 if(file_exists($mp3) == true){
5 // exit (‘no conversion ‘);
6 }else{
7 $command = "/usr/local/bin/ffmpeg -i $amr $mp3";
8 exec($command,$error);
9 }
Take a closer look at the code, I use The/usr/local/bin/ffmpeg to execute, because I use PHP can not directly run FFmpeg instructions, If your instructions are not in this directory, you can use locate or find to find the FFmpeg directory
PHP converts AMR audio files to MP3 format