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   //列出可支持的设备

备注: 有参考网上的几个例子, 感谢共享.

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 荒野行动无缘无故被限制时间怎么办 电脑打游戏闪屏怎么办 微信下载出现数据包出错怎么办 安卓平板闪退怎么办 剑侠世界2出了1怎么办 苹果手机有木马病毒删除不了怎么办 苹果手机病毒了怎么办【解决方法】 苹果手机点击病毒链接怎么办 苹果手机有病毒啦怎么办 苹果7p反复重启怎么办 苹果手机屏幕触屏不灵怎么办 苹果手机屏翘起来了怎么办 苹果x手机触屏失灵怎么办 苹果7手机变成黑白屏怎么办 苹果手机屏不动了怎么办 苹果6老是卡屏怎么办 苹果x卡屏死机怎么办 苹果6死机卡屏怎么办 苹果手机主屏死机怎么办 苹果7手机卡屏死机怎么办 苹果6s卡死了怎么办 6s手机显示丢失锁定怎么办 酷比s9被root怎么办 垃圾清理把相片删除了怎么办 小米电脑怎么下载软件怎么办 华为手机pin码忘了怎么办 锁屏密码忘了怎么办 抖音停止运行了怎么办? 华为手机右下角有个小人怎么办 华为手机程序停止运行怎么办 华为手机不支持软件搬家怎么办 红米手机没有任务键怎么办 进网许可丢了怎么办 华为稳私空间被稳蔵怎么办 华为手机安装不了软件怎么办 华为手机自动安装软件怎么办 手机在实体店买贵了怎么办 日本买的kindle坏了怎么办 华为麦芒4屏幕失灵怎么办 华为麦芒6屏幕失灵怎么办 手机为什么总显示内存不足怎么办