本文主要介绍Linux 系统下如何编译Ffmpeg,编译环境是Ubuntu 16.04,Ffmpeg版本是3.4.2。Windows环境

下如何编译ffmpeg前面有博文介绍,也录有视频,感兴趣的同学查可以看我之前写的博文,视频可以从群里

下载。与Windows下编译不同,Linux下编译ffmpeg相对简单很多。下面具体介绍编译步骤:

1.下载源码

源码地址是http://ffmpeg.org/download.html,注意我们需要时源码,不是编译好的可执行文件。我们直接点击

如图所示页面上的Download按钮即可下载源码。

图一 ffmpeg下载界面

二.编译

解压下载下来的压缩包,打开命令行终端并跳转到解压后的目录,直接执行如下配置命令。

./configure --enable-shared  --prefix=/home/wgg/ffmpeg

该命令配置ffmpeg编译选项,--enable-shared 表示需要生成动态库 --prefix后面跟将来

编译生成的库文件生成路径。

首次configure 会提示yasm未安装错误,处理这个问题很简单,直接安装asm即可,具体的

方法是 在命令行终端执行sudo apt-get install ysam。

配置完成后在命令行终端执行 make 进行编译,编译完成后,执行make install 安装生成库文件

到指定的目录。

编译成功后会生成ffmpeg 动态库(.so)以及静态库(.a)还有三个可执行程序分别是ffmpeg ffprobe

以及ffserver。右键这三个文件属性看下文件大小,你会发现三个文件都很小都没有超过1M,实际上

这三个可执行文件要依赖编译生成的其他动态库,不能单独使用。如你希望生成可以单独使用的ffmpeg

可执行文件怎么办呢?很简单,修改配置命令就可以了,将./configure --enable-shared  --prefix=/home/wgg/ffmpeg

修改成./configure --enable-static --prefix=/home/wgg/ffmpeg-static 再次编译并安装,你会发现

ffmpeg ffprobe 以及ffserver 大很多。

如需交流课加群127903734群交流,后面会录一个视频教程,可以关注我在爱奇艺上发布的视频信息。

ubuntu下编译原生ffmpeg的更多相关文章

  1. Ubuntu下编译Bilibili/ijkplayer

    在做Android客户端视频播放器的过程中熟悉ijkplayer.他在视频支持协议上要比Android原生的mediaplayer做的要好.因此,自己也基于Bilibili/ijkplayer的重新编 ...

  2. ubuntu下编译VLC

    ubuntu下编译VLC 标签(空格分隔): ubuntu vlc 视频 编译 [TOC] 1.下载VLC源码包并解压 VLC的源码包在VLC的官网有,可以直接下载.也可以使用git来clone一个. ...

  3. 开源播放器 ijkplayer (五) :Linux/Ubuntu 下编译ijkplayer

    一.安装Git与yasm sudo apt-get install git sudo apt-get install yasm 二.下载和配置 SDK.NDK SDK一般开发时肯定都有的,NDK一般是 ...

  4. ubuntu下编译caffe

    Ubuntu下编译caffe 纯粹是个人编译的记录.不用CUDA(笔记本是amd卡,万恶的nvidia):不手动编译依赖包(apt-get是用来干啥的?用来直接装二进制包,以及自动解决依赖项的) ca ...

  5. 在Ubuntu下编译wpa_supplicant

    最近在研究WiFi联盟的多屏互动协议Miracast,其中需要用到wpa_supplicant,编译中遇到了一些问题,经过一下午的折腾也都解决了,下面分享给各位. 一.编译需要用到三个库源码包,分别是 ...

  6. 在Ubuntu下编译Assimp库

    在Ubuntu下编译Assimp库 怎样在Ubuntu下编译Assimp库?这是我曾经编译成功后做的笔记,供參考. 1.去以下的站点去下载Assimp库: http://assimp.sourcefo ...

  7. ubuntu下编译java程序

    ubuntu下编译java程序 首先需要安装jdk,并配置好相应环境变量 下面以简单的HelloWorld为例 文件名为HelloWorld.java java代码: public class Hel ...

  8. Ubuntu下编译SHTOOLS

    SHTOOLS是使用Fortran语言写的一个专门用于处理球谐函数的一个开源库,更多的介绍请猛戳这里,关于这个库的安装和使用,都在官网上有详细的说明,虽然很详细,但是编译的时候还是比较费劲,下面将我在 ...

  9. 在Ubuntu下编译hadoop2.5.x

    在Ubuntu下编译hadoop2.5.x 参考博客:http://www.aboutyun.com/thread-8130-1-1.html 1 下载hadoop源码: (1) http://www ...

随机推荐

  1. linux系统——机制与策略(三)

    机制与策略 学习系统调用时,书上提到机制与策略,这也是陈老师与武特学长经常给我们强调的,这是一种设计模式,帮助我们理解操作系统的设计.下面的内容是从陈莉君老师的博客上copy下来的,写的很好,很通俗. ...

  2. LVS Mode&Method

    LVS NAT 模式: Summary: 普通的NAT模式为DNAT,即只更改目的地址,不改源端口. LVS在转发报文时,将Client的源IP透传给Server,类似于透明传输. 优点: 1. 可提 ...

  3. 数组去重js方式

    var selectmap = new Array(); /(\x0f[^\x0f]+)\x0f[\s\S]*\1/.test("\x0f"+selectmap.join(&quo ...

  4. webstorm配置autoprefix

    http://blog.csdn.net/pugongying520/article/details/52712639 配置图

  5. 通过Xode上传代码到GIthub---步骤

    ---恢复内容开始--- 一:打开终端,git命令进行全局配置 由于本人已经配置完成,so,直接查看配置信息 然后在本地创建一个文件夹, 然后在gitHub上创建一个代码库 在终端clone到本地创建 ...

  6. *LOJ#2306. 「NOI2017」蔬菜

    $n \leq 100000$种蔬菜,每个蔬菜有:一单位价格:卖第一单位时额外价格:总量:每天腐烂量.每天能卖$m \leq 10$单位蔬菜,多次询问:前$k \leq 100000$天最多收入多少. ...

  7. depletion mosfet 的 depletion 解釋

    Origin mosfet 除了有 n channel 及 p channel 外, 還分為 enhanced 及 depletion 兩種, 引起我注意的是, depletion 代表什麼, Exp ...

  8. python第三方库安装和卸载

    库的安装与卸载 pip install requests pip uninstall requests 查看安装好的库 pip list   第三方库的各种安装方式如下: 一.包管理器 Python有 ...

  9. 转载——分享一个html+js+ashx+easyui+ado.net权限管理系统

    EasyUI.权限管理 这是个都快被搞烂了的组合,但是easyui的确好用,权限管理在项目中的确实用.一直以来博客园里也不少朋友分享过,但是感觉好的要不没源码,要不就是过度设计写的太复杂看不懂,也懒得 ...

  10. 洛谷2085最小函数值(minval) + 洛谷1631序列合并

    题目描述 有n个函数,分别为F1,F2,-,Fn.定义Fi(x)=Ai*x^2+Bi*x+Ci (x∈N*).给定这些Ai.Bi和Ci,请求出所有函数的所有函数值中最小的m个(如有重复的要输出多个). ...