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. BZOJ2393 & 1853 [Scoi2010]幸运数字 【搜索 + 容斥】

    题目 在中国,很多人都把6和8视为是幸运数字!lxhgww也这样认为,于是他定义自己的"幸运号码"是十进制表示中只包含数字6和8的那些号码,比如68,666,888都是" ...

  2. webpack-dev-server 支持其他设备访问配置

    webpack-dev-server 打开的服务默认是只能localhost访问的,当有时候需要让别人访问的时候可以配置 --host 192.168.84 这样在同一个局域网下面就可以通过该ip来访 ...

  3. 解决 unity 用 vs通过wifi 真机联调 一直连接不上

    平时 在公司网络太差,要通过wifi 用vs真机联调时,vs一直连不上设备,很是蛋疼...用下面官方给出的方法可以解决 Attaching MonoDevelop Debugger To An And ...

  4. 2010年最佳jQuery插件

    原文发布时间为:2011-01-19 -- 来源于本人的百度文章 [由搬家工具导入] WDL的作者从大量的优秀jQuery插件精心筛选出一些对Web Designers有帮助的和具备非常不错的视觉效果 ...

  5. css3动画、边框、投影知识

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. VIM的修炼等级

    用vim 快两年了 看过教程也不少,总的来说还是得自己多练习,当自己觉得有需要的时候,再添加功能.这里分享个看过的最好的教程,出自贴吧的某个朋友,写的很好 零 学会盲打 壹 配置文件先从最简开始,在 ...

  7. Python学习杂记_9_集合操作

    集合集合是由花括号括起来的一组数据,特点是“数据不重复”,“无序”,“类型不统一”.其中数据不重复是它最重要的特点,常常用于“去重”操作,Set(list)方法可以把列表强制转换成集合. 集合的一些操 ...

  8. hdu 2807(矩阵+floyed)

    The Shortest Path Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others ...

  9. Linux一些防攻击策略

    来自http://www.imooc.com/learn/344

  10. ++x和x++

    #include <stdio.h> int main() { int a,b,c=1,d=1; a = c++; b = ++d; printf("%d\t%d\n" ...