linux下编译ffmpeg 引入外部库x264
Found no assembler
Minimum version is nasm-2.13
If you really want to compile without asm, configure with --disable-asm.
上片篇博文介绍了linux下编译原生ffmpeg,本文介绍linux下编译ffmpeg如何引入外部库例如libx264,会了
添加libx264,引入其他编译库就不难了。linux环境:Ubuntu16.04,ffmpeg 版本3.4.2
一.下载libx264库,下载地址是:http://www.videolan.org/developers/x264.html 群里也有下载好的,也可以从
群里直接下载。
二.编译、安装libx264
打开命令终端(ctrl + Alt + T)cd 到libx264目录,首先配置libx264库:在命令终端输入
./configure --enable-static --prefix=/home/wgg/work/compile/x264/static
--enable-static 表示生成静态库,如生成动态库将--enable-static替换为--enable-shared, --prefix后面跟
生成库安装路径。
首次配置libx264库 可能出现如下错误,解决的办法是将 --disable-asm 添加到命令行,或者安装nasm。
./configure --enable-static --prefix=/home/wgg/work/compile/x264/static --disable-asm
Found no assembler
Minimum version is nasm-2.13
If you really want to compile without asm, configure with --disable-asm.
配置成功后,命令终端会list配置结果如图1所示。

图1 配置结果
接下来我们要做的是在命令终端输入make 编译x264,正常情况下编译不会有什么异常,make成功后,在
命令终端输入make install 将生成的库文件安装到指定的目录,安装完成后在指定的路径
/home/wgg/work/compile/x264/static 出现3个文件夹如下图所示:

图2 安装后指定目录下文件夹
include文件夹下下有两个文件x264.h及x264_config.h,lib文件夹下有文件libx264.a这3个文件在我们
编译ffmeg时会用到。
三. 编译、安装ffmpeg
ffmpeg 如何下载请参考上篇博文,将下载下来的ffmpeg源码解压,在解压后的文件内创建build文件夹
打开命令行终端cd 到build文件夹下执行命令:
../configure --enable-static --enable-libx264 --enable-gpl --disable-x86asm --prefix=/home/wgg/compile/ffmpeg/static --extra-cflags="-I/home/wgg/work/compile/x264/static/include" --extra-ldflags="-L/home/wgg/work/compile/x264/static/lib"
--extra-cflags 后面跟引入头文件目录,--extra-ldflags后面跟引入库目录。配置完成后出现如下界面:

图2 ffmpeg 配置完成界面
配置完成,接下来的直接在命令行终端执行make,正常情况不会出现编译错误。编译完成后 执行安装命令make install 将编译
生成完成的库安装到指定目录下(/home/wgg/compile/ffmpeg/static ),安装完成后,该路径下存在以下文件夹:

图3 ffmpeg 编译生成库文件图
如需交流可加群127903734群。
二群号为766718184 ,三群为1038388075,博主提供Ffmpeg、GB28181视频教程
播放地址: http://www.iqiyi.com/u/1426749687
源码及Demo下载地址:http://www.chungen90.com/?news_2/
视频下载地址: http://www.chungen90.com/?news_3/
linux下编译ffmpeg 引入外部库x264的更多相关文章
- Linux下编译ffmpeg并用GDB调试
1.在Ubuntu界面上调处命令行界面,最方便的方式是使用快捷键Ctrl+Alt+T. 2.安装SDL SDL是一个开源的多媒体开发库,可以设置图像和视频的绘制等操作.如果不安装SDL,FFMPEG将 ...
- 【转】Linux下编译ffmpeg
1.下载ffmpeg.下载网址:http://www.ffmpeg.org/download.html 2.解压缩tar -zxvf ffmpeg-2.0.1.tar.gz 3.配置,生成Makefi ...
- linux下编译时的默认库和头文件搜索路径
链接库路径 默认的链接库路径,定义在搜索/etc/ld.so.conf下的一些路径,其包含了一些重要的系统位置:LIBRARY_PATH, 但如果定义了LD_LIBRARY_PATH, 动态库的搜索路 ...
- Linux下编译、使用静态库和动态库 自己测过的
每个程序实质上都会链接到一个或者多个的库.比如使用C函数的程序会链接到C运行时库,GUI程序会链接到窗口库等等.无论哪种情况,你都会要决定是链接到静态库(static libary)还是动态库(dyn ...
- Linux下编译tinyxml生成动态库
首先去到sourceforge下载tinyxml的源码,https://sourceforge.net/projects/tinyxml/?source=dlp,最新版本是2.6.2. 将下载成功的t ...
- windows下编译ffmpeg
windows 编译ffmpeg 搞过很多次,每次总是磕磕碰碰,从头到尾不能一直顺利,浪费一些时间.终究起原因,都是当时记得,过段时间就忘了.好记性不如烂笔头,大好周末晚上,闲暇无事,记录最近一次编译 ...
- linux下编译qt5.6.0静态库——configure配置
linux下编译qt5.6.0静态库 linux下编译qt5.6.0静态库 configure生成makefile 安装选项 Configure选项 第三方库: 附加选项: QNX/Blackberr ...
- linux下编译qt5.6.0静态库——configure配置(超详细,有每一个模块的说明)(乌合之众)
linux下编译qt5.6.0静态库 linux下编译qt5.6.0静态库 configure生成makefile 安装选项 Configure选项 第三方库: 附加选项: QNX/Blackberr ...
- linux下编译qt5.6.0静态库(使用./configure --help来看看都有哪些参数。超详细,有每一个模块的说明。如果改变了安装的目录,需要到安装目录下的bin目录下创建文件qt.conf)(乌合之众)good
linux下编译qt5.6.0静态库 linux下编译qt5.6.0静态库 configure生成makefile 安装选项 Configure选项 第三方库: 附加选项: QNX/Blackberr ...
随机推荐
- display:table布局总结
1. table布局方式 2. table布局实际应用 效果: 代码: <!DOCTYPE html> <html lang="en"> <head& ...
- 调试Java代码(Eclipse)汇总
Java 10个调试技巧(基础❤❤❤❤❤) Eclipse断点调试(和上一篇基本类似,补充❤❤) 使用Eclipse开发和调试java程序(从安装eclipse开始,特别细,有设置条件断点,回退的具体 ...
- react当中两种获取表单数据的方法
方法一: 获取dom当中的数据 需要操作的dom上面有 ref="test", 当需要获取的时候 this.refs.test.value 就可以获取当前输入框的value值 ...
- 【06】react 之 PropsType
React组件创建的时候,需要传入属性,我们可以使用使用PropTypes进行类型检查,您可以使用React.PropTypes在组件的道具上运行. React.PropTypes.array Rea ...
- pat 团体天梯赛 L2-007. 家庭房产
L2-007. 家庭房产 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序给定每个人的家庭成员和其自己名下的房产,请你统计出每个家庭的人口数.人均房产面积及房产 ...
- Bzoj3652 大新闻
Time Limit: 10 Sec Memory Limit: 512 MBSec Special JudgeSubmit: 215 Solved: 112 Description Input ...
- struct sockaddr与struct sockaddr_in ,struct sockaddr_un的区别和联系
在linux环境下,结构体struct sockaddr在/usr/include/linux/socket.h中定义,具体如下:typedef unsigned short sa_family_t; ...
- Windows下Mysql数据库服务的关闭和重启
有时我们在手动修改了Mysql的配置文件之后,我们要重启Mysql服务才能使之生效,这里提供几种重启方法: 1.windows下重新启动mysql5的方法:在安装mysql时系统会添加服务,可以通过管 ...
- HDU 1568 Fibonacci【求斐波那契数的前4位/递推式】
Fibonacci Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Proble ...
- eclipse 国际化 $NON-NLS-1$ 含义
一.$NON-NLS-1$ 含义 Eclipse 如果每行代码里有这个字符串:$NON-NLS-1$ 表示:这一行的第一个字符串是不需要国际化的.同理$NON-NLS-2$,$NON-NLS-3$.. ...