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的更多相关文章

  1. Linux下编译ffmpeg并用GDB调试

    1.在Ubuntu界面上调处命令行界面,最方便的方式是使用快捷键Ctrl+Alt+T. 2.安装SDL SDL是一个开源的多媒体开发库,可以设置图像和视频的绘制等操作.如果不安装SDL,FFMPEG将 ...

  2. 【转】Linux下编译ffmpeg

    1.下载ffmpeg.下载网址:http://www.ffmpeg.org/download.html 2.解压缩tar -zxvf ffmpeg-2.0.1.tar.gz 3.配置,生成Makefi ...

  3. linux下编译时的默认库和头文件搜索路径

    链接库路径 默认的链接库路径,定义在搜索/etc/ld.so.conf下的一些路径,其包含了一些重要的系统位置:LIBRARY_PATH, 但如果定义了LD_LIBRARY_PATH, 动态库的搜索路 ...

  4. Linux下编译、使用静态库和动态库 自己测过的

    每个程序实质上都会链接到一个或者多个的库.比如使用C函数的程序会链接到C运行时库,GUI程序会链接到窗口库等等.无论哪种情况,你都会要决定是链接到静态库(static libary)还是动态库(dyn ...

  5. Linux下编译tinyxml生成动态库

    首先去到sourceforge下载tinyxml的源码,https://sourceforge.net/projects/tinyxml/?source=dlp,最新版本是2.6.2. 将下载成功的t ...

  6. windows下编译ffmpeg

    windows 编译ffmpeg 搞过很多次,每次总是磕磕碰碰,从头到尾不能一直顺利,浪费一些时间.终究起原因,都是当时记得,过段时间就忘了.好记性不如烂笔头,大好周末晚上,闲暇无事,记录最近一次编译 ...

  7. linux下编译qt5.6.0静态库——configure配置

    linux下编译qt5.6.0静态库 linux下编译qt5.6.0静态库 configure生成makefile 安装选项 Configure选项 第三方库: 附加选项: QNX/Blackberr ...

  8. linux下编译qt5.6.0静态库——configure配置(超详细,有每一个模块的说明)(乌合之众)

    linux下编译qt5.6.0静态库 linux下编译qt5.6.0静态库 configure生成makefile 安装选项 Configure选项 第三方库: 附加选项: QNX/Blackberr ...

  9. linux下编译qt5.6.0静态库(使用./configure --help来看看都有哪些参数。超详细,有每一个模块的说明。如果改变了安装的目录,需要到安装目录下的bin目录下创建文件qt.conf)(乌合之众)good

    linux下编译qt5.6.0静态库 linux下编译qt5.6.0静态库 configure生成makefile 安装选项 Configure选项 第三方库: 附加选项: QNX/Blackberr ...

随机推荐

  1. 在做展开功能的时候,字体变多了,字体会变大的bug的解决方案

    在没有限制高度的情况下字体会变大,要做展开效果,当然不能限制高度. 解决方案是,加个max-height就可以解决这个问题

  2. H5 语义化、基本事件 浅析 (含file对象、drag拖拽等)

    1.语义化标签 帮助搜索引擎,盲人设备等程序,辨识网页内容信息,明确网页区域分布,不体现任何样式,但存在浏览器兼容性问题,如IE8下无<header>标签. ① H5基本语义标签: < ...

  3. Use Razor for Email Template outside ASP.NET MVC

    原文发布时间为:2011-09-15 -- 来源于本人的百度文章 [由搬家工具导入] http://kazimanzurrashid.com/posts/use-razor-for-email-tem ...

  4. .NET中如何有效的使用Cache

    原文发布时间为:2009-09-30 -- 来源于本人的百度文章 [由搬家工具导入]   Cache 即高速缓存 ,我想很多人对他的第一印象一定像我一样,感觉他一定能提高系统得性能和运行速度。   C ...

  5. C#去除字符串的最后一个字符 与 JavaScript去除最后一个字符

    原文发布时间为:2009-04-29 -- 来源于本人的百度文章 [由搬家工具导入] 例子: C#.NET中去掉字符串的最后一个逗号 字符串为 (a,b,c,)最后一个逗号即c后面的逗号 答: &qu ...

  6. 详解C中volatile关键字(转)

    volatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据.如果没有volatile关键字,则编译器可能优化读取和存储 ...

  7. MapReduce1 工作机制

    本文转自:Hadoop MapReduce 工作机制 工作流程 作业配置 作业提交 作业初始化 作业分配 作业执行 进度和状态更新 作业完成 错误处理 作业调度 shule(mapreduce核心)和 ...

  8. FAB使用在CoordinatorLayout的隐藏动画

    import android.content.Context; import android.os.Build; import android.support.design.widget.Coordi ...

  9. 【freeCodeCamp】免费晋级前台工程师呦!!!!

    首页地址:https://www.freecodecamp.org/ GitHub:https://github.com/freeCodeCamp/freeCodeCamp ============= ...

  10. 缠中说禅股票交易系统图解 z

    缠中说禅股票交易系统图解 2010-03-23 10:51 (王纯阳)缠论祖师的经典语录 1. 就在买点买,卖点卖:当然,买点并不一定是一个点,一个价位,级别越大的,可以容忍的区间越大. 2. 你要经 ...