ffmpeg安装的问题
2015-12-11 18:34
330 查看
php语音转换需要安装ffmpeg文件
参考地址:
/article/3762179.html
http://diogomelo.net/blog/11/encoder-codec-id-86017-not-found-output-stream-00-compile-ffmpeg-yourself
其它
安装包和主要步骤:
[b]1. 首先安装系统基础环境[/b]
RHEL & CentOS 系列:yum install -y automake autoconf libtool gcc gcc-c++
Debian & Ubuntu 系列:apt-get install automake autoconf libtool gcc gcc-c++
[b]2. 下载最新的FFMpeg源码包[/b]
FFMpeg官方下载地址:http://ffmpeg.org/download.html。
一般直接使用最新版本,下载完成后解压缩,进入源码文件夹,运行“./configure --help”查看帮助,这里主要是为了确认需要安装的扩展,有些扩展默认是已经开启的,有些是需要单独下载扩展源码包进行编译的。以我的需求为例,需要单独编译yasm、lame、OenCore AMR、AmrNB和AmrWB,其中lame是MP3解码器。
[b]3. 编译所需源码包[/b]
从各个官方地址下载上述五种源码包,为了保证兼容最新版本的ffmpeg,请务必也下载最新版本的源码:
yasm:http://yasm.tortall.net/Download.html
lame:http://lame.sourceforge.net/download.php
OenCore AMR:http://sourceforge.net/projects/opencore-amr
AmrNB & AmrWB:http://www.penguin.cz/~utx/amr
分别解压缩并编译上述源码包,直接使用“./configure && make && make install”即可。
[b]4. 编译FFMpef[/b]
回到刚才的FFMpeg源码目录,打开所需扩展并且编译FFMpeg:
./configure --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-version3 --enable-shared
make && make install
ldconfig
最后写入config后,终端运行ffmpeg命令,出现success和已安装的扩展,则运行成功。
[b]5. 可能遇到的问题[/b]
ffmpeg默认安装目录为“/usr/local/lib”,有些64位系统下软件目录则为“/usr/lib64”,编译过程中可能会出现“ffmpeg: error while loading shared libraries: libmp3lame.so.0: cannot open shared object file: No such file or directory”等类似的错误,解决办法是建立软链接或者移动库文件到相应的目录:
ln -s /usr/local/lib/libmp3lame.so.0.0.0 /usr/lib64/libmp3lame.so.0
mv /usr/local/lib/libmp3lame.so.0.0.0 /usr/lib64/libmp3lame.so.0
[b]6. 使用方法[/b]
MP3转换AMR: ffmpeg -i 1.mp3 -ac 1 -ar 8000 1.amr
AMR转换MP3: ffmpeg -i 1.amr 1.mp3
遇到问题及解决:
1. ERROR: libopenjpeg not found
http://code.google.com/p/openjpeg/downloads/detail?name=openjpeg-1.5.1.tar.gz&can=2&q=
下载openjpeg-1.5.1的代码,注意不要下载openjpeg-2.0的,否则ffmpeg跟openjpeg的接口不支持,编译会处错误。
configure
make,make install
找到头文件是在/usr/local/include/openjpeg-1.5.1下面,而ffmpeg在连接的时候,其实是/usr/local/include,所以提示说“ERROR: libopenjpeg not found”。将/usr/local/include/openjpeg-1.5.1下面的头文件“openjpeg.h”拷贝到/usr/local/include下面。
1,x264也是有这个问题,x264.h这个文件要放在/usr/local/include下,而不是在/usr/local/下单独建个子目录放。 其他的库都是在make install的时候自己建的子文件夹。
需要将libx264的库文件拷贝到/usr/local/lib下
或者直接在configure的时候,改变路径,如下所示:
./configure --includedir=/usr/local/include --libdir=/usr/local/lib --enable-shared
即可。
2. ERROR:libfdk_aac not found
http://sourceforge.net/projects/opencore-amr/?source=directory
下载fdk-aac-0.1.1.tar.gz
执行
configure
make
make install
3. ERROR:libilbc not found
https://github.com/dekkers/libilbc
git clone git://github.com/dekkers/libilbc.git
解压
安装cmake,如下所示
sudo apt-get install cmake
cmake .. (这里的..意思是,如果是一个.表示CMakeLists.txt在当前路径下,两个..表示CMakeLists.txt在上一层目录下)
cmake install ..
make (在build/bin下会找到可执行文件。)
make install (将生成的库拷贝到linux相关目录下)
4. ERROR: libmp3lame >= 3.98.3 not found
sudo apt-get install libmp3lame-dev
5. ERROR: libopencore_amrnb not found
Solution:
Search the file libavdevice.so.52 on the server using the ‘find’ command
You need to add the path to the directory the file is in, in the ‘ld.so.conf’ file. If for example the file is located under “/usr/local/lib” directory, execute
and add the following at the bottom of the file
参考地址:
/article/3762179.html
http://diogomelo.net/blog/11/encoder-codec-id-86017-not-found-output-stream-00-compile-ffmpeg-yourself
ubuntu上安装ffmpeg
博客分类:其它
安装包和主要步骤:
[b]1. 首先安装系统基础环境[/b]
RHEL & CentOS 系列:yum install -y automake autoconf libtool gcc gcc-c++
Debian & Ubuntu 系列:apt-get install automake autoconf libtool gcc gcc-c++
[b]2. 下载最新的FFMpeg源码包[/b]
FFMpeg官方下载地址:http://ffmpeg.org/download.html。
一般直接使用最新版本,下载完成后解压缩,进入源码文件夹,运行“./configure --help”查看帮助,这里主要是为了确认需要安装的扩展,有些扩展默认是已经开启的,有些是需要单独下载扩展源码包进行编译的。以我的需求为例,需要单独编译yasm、lame、OenCore AMR、AmrNB和AmrWB,其中lame是MP3解码器。
[b]3. 编译所需源码包[/b]
从各个官方地址下载上述五种源码包,为了保证兼容最新版本的ffmpeg,请务必也下载最新版本的源码:
yasm:http://yasm.tortall.net/Download.html
lame:http://lame.sourceforge.net/download.php
OenCore AMR:http://sourceforge.net/projects/opencore-amr
AmrNB & AmrWB:http://www.penguin.cz/~utx/amr
分别解压缩并编译上述源码包,直接使用“./configure && make && make install”即可。
[b]4. 编译FFMpef[/b]
回到刚才的FFMpeg源码目录,打开所需扩展并且编译FFMpeg:
./configure --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-version3 --enable-shared
make && make install
ldconfig
最后写入config后,终端运行ffmpeg命令,出现success和已安装的扩展,则运行成功。
[b]5. 可能遇到的问题[/b]
ffmpeg默认安装目录为“/usr/local/lib”,有些64位系统下软件目录则为“/usr/lib64”,编译过程中可能会出现“ffmpeg: error while loading shared libraries: libmp3lame.so.0: cannot open shared object file: No such file or directory”等类似的错误,解决办法是建立软链接或者移动库文件到相应的目录:
ln -s /usr/local/lib/libmp3lame.so.0.0.0 /usr/lib64/libmp3lame.so.0
mv /usr/local/lib/libmp3lame.so.0.0.0 /usr/lib64/libmp3lame.so.0
[b]6. 使用方法[/b]
MP3转换AMR: ffmpeg -i 1.mp3 -ac 1 -ar 8000 1.amr
AMR转换MP3: ffmpeg -i 1.amr 1.mp3
遇到问题及解决:
1. ERROR: libopenjpeg not found
http://code.google.com/p/openjpeg/downloads/detail?name=openjpeg-1.5.1.tar.gz&can=2&q=
下载openjpeg-1.5.1的代码,注意不要下载openjpeg-2.0的,否则ffmpeg跟openjpeg的接口不支持,编译会处错误。
configure
make,make install
找到头文件是在/usr/local/include/openjpeg-1.5.1下面,而ffmpeg在连接的时候,其实是/usr/local/include,所以提示说“ERROR: libopenjpeg not found”。将/usr/local/include/openjpeg-1.5.1下面的头文件“openjpeg.h”拷贝到/usr/local/include下面。
1,x264也是有这个问题,x264.h这个文件要放在/usr/local/include下,而不是在/usr/local/下单独建个子目录放。 其他的库都是在make install的时候自己建的子文件夹。
需要将libx264的库文件拷贝到/usr/local/lib下
或者直接在configure的时候,改变路径,如下所示:
./configure --includedir=/usr/local/include --libdir=/usr/local/lib --enable-shared
即可。
2. ERROR:libfdk_aac not found
http://sourceforge.net/projects/opencore-amr/?source=directory
下载fdk-aac-0.1.1.tar.gz
执行
configure
make
make install
3. ERROR:libilbc not found
https://github.com/dekkers/libilbc
git clone git://github.com/dekkers/libilbc.git
解压
安装cmake,如下所示
sudo apt-get install cmake
创建一个build目录,执行:
cd buildcmake .. (这里的..意思是,如果是一个.表示CMakeLists.txt在当前路径下,两个..表示CMakeLists.txt在上一层目录下)
cmake install ..
make (在build/bin下会找到可执行文件。)
make install (将生成的库拷贝到linux相关目录下)
4. ERROR: libmp3lame >= 3.98.3 not found
sudo apt-get install libmp3lame-dev
5. ERROR: libopencore_amrnb not found
sudo apt-get install libx264-dev libxvidcore-dev libopencore-amrwb-dev libopencore-amrnb-dev libfaad-dev libfaac-dev libmp3lame-dev \ libtwolame-dev liba52-0.7.4-dev libcddb2-dev libcdaudio-dev libcdio-cdda-dev libvorbis-dev libopenjpeg-dev (5) git chone git://git.videolan.org/x264.git configure make && make install (6) ERROR: libvo_aacenc not found http://sourceforge.net/projects/opencore-amr/files/vo-aacenc/vo-aacenc-0.1.2.tar.gz/download (7) ERROR: libvo_amrwbenc not found http://sourceforge.net/projects/opencore-amr/files/vo-amrwbenc/ (8) ERROR: libvpx decoder version must be >=0.9.1 http://code.google.com/p/webm/downloads/detail?name=libvpx-v1.1.0.tar.bz2&can=2&q= (9)编译 ffplay 需要 libsdl1.2-dev 库: [code]sudo apt-get install libsdl1.2-dev (10)ffmpeg: error while loading shared libraries: libavdevice.so.52: cannot open shared object file[/code]
Solution:
Search the file libavdevice.so.52 on the server using the ‘find’ command
1 | # find / -name libavdevice.so.52 |
You need to add the path to the directory the file is in, in the ‘ld.so.conf’ file. If for example the file is located under “/usr/local/lib” directory, execute
1 | # vi /etc/ld.so.conf |
and add the following at the bottom of the file
/usr/local/lib |
7. Encoder (codec id 86017) not found for output stream #0.0
解决方案:http://diogomelo.net/blog/11/encoder-codec-id-86017-not-found-output-stream-00-compile-ffmpeg-yourself相关文章推荐
- IDEA14从svn上导入项目
- 使用代码构建布局及设置常用属性
- linux1.0内核编译为elf文件格式,导致无法运行
- NOI 2015 荷马史诗 题解&代码
- [COGS301] [NOI2001] 炮兵阵地
- 线性代数基础知识
- Palindrome Linked List
- linux显示当期登陆用户信息“w”命令
- 影响项目的执行效率
- 来谈谈12306的证书
- 数据库外键的使用
- 1211-自动机
- BZOJ1001 [Beijing2006] 狼抓兔子
- powershell 部署域控制器
- 扩大UIButton响应区域[按钮内有图片]
- 使用AFNertorking遇到code-1016的情况
- 面试题4:堆栈内存分配
- 从Google Play 【谷歌商店】直接下载软件到电脑
- category 分类
- java访问mysql方法数据库