ffmpeg在centos7上的编译
来源:互联网 发布:鄂尔多斯网络推广招聘 编辑:程序博客网 时间:2024/05/22 00:22
音视频的编码格式标准有很多种: mp3, acc, mpeg4, h264, h265 …..
每个标准都有一个或多个编解码库, 如h264的库有libx264, mpeg4的库有xvid, h265的库有libx265
不同的库, 里面提供的函数及编解码操作流程都会不一样.
ffmpeg其实就把各种库的编解码接口统一标准化, 也就是学会一种接口后就可以通杀各种编解码库.
当然ffmpeg除了编解码外,还有如操作设备等的其它功能.
//////////////////////////////////////
可以从相应的官网下载相关的库, 也可以从我的网盘下载:
https://pan.baidu.com/s/1ctkhC6 密码:3v49
编译ffmpeg库:
一. 安装yasm库(有助于提高ffmpeg的编解码效率) 1). 解包yasm-1.3.0.tar.gz 进入yasm-1.3.0目录 2). 执行./configure产生Makefile 3). make && make install///////////// 安装cmake工具(编译c++源码工程的工具, 编译libx265库用到) yum install cmake* 安装好后,检查cmake的版本 cmake --version 如果大于3.5则不需安装cmake-3.5 否则需安装cmake-3.5 1). 解包cmake-3.5.0.tar.gz 进入cmake-3.5.0目录 2). 执行./configure产生Makefile configure完成后, 通过"echo $?"查看执行结果是否成功. 如果不是0,则不成功, 不能作下一步. 3). 执行make && make install
二. 编译h264编解码库 1). 解包last_x264.tar.bz2 进入x264-snapshot-20160319-2245目录 2). 执行"./configure --enable-shared --enable-static" // enable-shared 加上编译出动态库的支持 // enable-static 加上编译出静态库的选项 3). make && make install 安装完成后, h264库的头文件在/usr/local/include 动静态库在/usr/local/lib x264.pc库的配置文件在/usr/local/lib/pkgconfig
三. 编译h265编解码库 1). 解包x265_1.9.tar.gz 进入x265_1.9目录里的build/linux目录 2). 在终端下执行目录下的make-Makefiles.bash脚本文件 执行时会弹出界面选项, 按'c'再按'g'键保存退出 3). make 如出现如下错误信息: x265_1.9/source/common/param.cpp:55: 错误:‘char* strtok_r(char*, const char*, char**)’先被声明为‘extern’后又被声明为‘static’ 修改x265_1.9/source/common/param.cpp的55行, 把"static"关键字去掉 4). make install h265库的头文件在/usr/local/include 动静态库在/usr/local/lib x265.pc库的配置文件在/usr/local/lib/pkgconfig
四. 编译ffmpeg库 1). 解包ffmpeg-3.0.tar.bz2 进ffmpeg-3.0目录里 2). 在终端里输入命令: export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/ ./configure --disable-debug --enable-libx264 --enable-libx265 --enable-gpl --enable-shared 注意查看输出的信息: enabled program: 是否有ffplay(没有的话,yum install *SDL*, 后再重新configure) 3). make && make install cp /usr/local/lib/libx* /lib64/ cp /usr/local/lib/libav* /lib64/ cp /usr/local/lib/libsw* /lib64/ cp /usr/local/lib/libpostproc* /lib64/ // 也可以不作上面cp的操作,但在编译时需指定库的路径
完成后, 有命令: ffmpeg ffplay ffmpeg -decoders //列出可用的解码器 H264 H265 ffmpeg -encoders //列出可用的编码器 ffmpeg -devices //列出可支持的设备
备注: 有参考网上的几个例子, 感谢共享.
阅读全文
1 0
- ffmpeg在centos7上的编译
- ffmpeg 在ubuntu12.04上的编译
- 在centos7 上编译trackRT
- FFmpeg在iOS上编译
- 在iOS上编译FFmpeg
- ffmpeg在windows上编译
- 在linux上编译ffmpeg
- ffmpeg在Windows平台上的编译方法
- FFmpeg框架在iOS平台上的编译和使用
- FFmpeg框架在iOS平台上的编译和使用
- (1)ffmpeg在linux上的编译
- 在windows上编译FFmpeg源代码的方法
- ffmpeg开发之旅(5):详解ffmpeg编译与在Android平台上的移植
- ffmpeg开发之旅(5):详解ffmpeg编译与在Android平台上的移植
- FFmpeg在iOS上完美编译
- FFmpeg在iOS上完美编译
- FFmpeg在iOS上完美编译
- FFmpeg在iOS上完美编译
- Mybatis Mapper动态代理方法 即 只写Dao接口 不谢Dao的实现类
- 数据库尽量不用字符串存储非字符串数据
- 范型&&诡异异常
- com.huawei.lcagent.client.LogCollectManager.getUserType
- Android 商品广告轮播图 图片轮播
- ffmpeg在centos7上的编译
- android studio:打jar包、apk包
- 问句相似度
- js跨域
- supervisor——配置文件详解
- mysql高并发配置
- android应用是否混淆过和apktool的使用
- npm install 安装软件,出现 operation not permitted, mkdir 解决办法
- 谷歌HTML/CSS规范