1. 下载

可以直接访问FFmpeg官网的下载页面http://www.ffmpeg.org/download.html,直接下载源码压缩包或者是git直接下载。

这里直接git拉下来:

git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg

以后直接git pull更新,能随时体验最新的代码。

2. 编译环境准备

需要安装SDL库,否则编译不出来ffplay。

sudo apt-get install libsdl1.2-dev

3. 编译

cd ~/ffmpeg //刚才下载的源码目录

./configure --prefix=~/mpeg

make

make install

4. 编译结果

mpeg$ tree . -L 2
.
├── bin
│   ├── ffmpeg
│   ├── ffplay
│   ├── ffprobe
│   └── ffserver
├── include
│   ├── libavcodec
│   ├── libavdevice
│   ├── libavfilter
│   ├── libavformat
│   ├── libavutil
│   ├── libswresample
│   └── libswscale
├── lib
│   ├── libavcodec.a
│   ├── libavdevice.a
│   ├── libavfilter.a
│   ├── libavformat.a
│   ├── libavutil.a
│   ├── libswresample.a
│   ├── libswscale.a
│   └── pkgconfig
└── share
    ├── ffmpeg
    └── man

Libavutil

The libavutil library is a utility library to aid portablemultimedia programming. It contains safe portable string functions,random number generators, data structures, additional mathematicsfunctions, cryptography and multimedia related functionality (likeenumerations for pixel and sample formats). It is not a library forcode needed by both libavcodec and libavformat.

The goals for this library is to be:

Modular

It should have few interdependencies and the possibility of disabling individualparts during ./configure.

Small

Both sources and objects should be small.

Efficient

It should have low CPU and memory usage.

Useful

It should avoid useless features that almost no one needs.

Libswscale

The libswscale library performs highly optimized image scaling andcolorspace and pixel format conversion operations.

Specifically, this library performs the following conversions:

  • Rescaling: is the process of changing the video size. Severalrescaling options and algorithms are available. This is usually alossy process.
  • Pixel format conversion: is the process of converting the imageformat and colorspace of the image, for example from planar YUV420P toRGB24 packed. It also handles packing conversion, that is convertsfrom packed layout (all pixels belonging to distinct planesinterleaved in the same buffer), to planar layout (all samplesbelonging to the same plane stored in a dedicated buffer or "plane").

    This is usually a lossy process in case the source and destinationcolorspaces differ.

Libswresample

The libswresample library performs highly optimized audio resampling,rematrixing and sample format conversion operations.

Specifically, this library performs the following conversions:

  • Resampling: is the process of changing the audio rate, forexample from a high sample rate of 44100Hz to 8000Hz. Audioconversion from high to low sample rate is a lossy process. Severalresampling options and algorithms are available.
  • Format conversion: is the process of converting the type ofsamples, for example from 16-bit signed samples to unsigned 8-bit orfloat samples. It also handles packing conversion, when passing frompacked layout (all samples belonging to distinct channels interleavedin the same buffer), to planar layout (all samples belonging to thesame channel stored in a dedicated buffer or "plane").
  • Rematrixing: is the process of changing the channel layout, forexample from stereo to mono. When the input channels cannot be mappedto the output streams, the process is lossy, since it involvesdifferent gain factors and mixing.

Various other audio conversions (e.g. stretching and padding) areenabled through dedicated options.

Libavcodec

The libavcodec library provides a generic encoding/decoding frameworkand contains multiple decoders and encoders for audio, video andsubtitle streams, and several bitstream filters.

The shared architecture provides various services ranging from bitstream I/O to DSP optimizations, and makes it suitable forimplementing robust and fast codecs as well as for experimentation.

Libavformat

The libavformat library provides a generic framework for multiplexingand demultiplexing (muxing and demuxing) audio, video and subtitlestreams. It encompasses multiple muxers and demuxers for multimediacontainer formats.

It also supports several input and output protocols to access a mediaresource.

Libavdevice

The libavdevice library provides a generic framework for grabbing fromand rendering to many common multimedia input/output devices, andsupports several input and output devices, including Video4Linux2,VfW, DShow, and ALSA.

Libavfilter

The libavfilter library provides a generic audio/video filteringframework containing several filters, sources and sinks.

FFmpeg下载和编译相关推荐

  1. FFmpeg下载、编译、安装

    1.FFmpeg 下载.编译.安装 1.1.下载 新建个目录下载 FFMpeg 源码 下载命令:git clone https://git.ffmpeg.org/ffmpeg.git libavfor ...

  2. ffmpeg 配置与编译

    本文标签(Tag) ffmpeg 配置 编译 1 ffmpeg介绍   ffmpeg是音视频的分离,转换,编码解码及流媒体的完全解决方案,其中最重要的就是libavcodec库.它被mplayer或者 ...

  3. Linux ffmpeg的安装编译过程

    Linux ffmpeg的安装编译过程 1.下载ffmpeg.     在网上搜索一下,或者到官方网站下载 2.解压    tar命令解压 3.配置 ./configure --enable-shar ...

  4. FFMpeg,SDL编译 No avaiable video device

    2019独角兽企业重金招聘Python工程师标准>>> FFMpeg,SDL编译 No avaiable video device 分类: 学习心得 2011-09-08 18:31 ...

  5. VLC for Android源码下载和编译

    Project Hosting on 点击打开链接 最受欢迎的开源项目 点击打开链接 由Android的核心开发团队提供了15个优秀的示例项 目,包含了游戏.图像处理.时间显示.开始菜单快捷方式等. ...

  6. WebRTC源码下载与编译

    WebRTC源码编译 1 几种源码下载方案对比 1.1 拉别人下好的代码 1.2云服务器 1.3 国内镜像 1.4 挂代理(推荐) 2 源码编译环境准备 2.1 环境要求 2.2 代理服务器配置 2. ...

  7. 【Android 音视频开发打怪升级:FFmpeg音视频编解码篇】一、FFmpeg so库编译

    转自:https://juejin.im/post/5e130df55188253a8b42ebac 目录 一.Android音视频硬解码篇: 1,音视频基础知识 2,音视频硬解码流程:封装基础解码框 ...

  8. 使用ffmpeg下载m3u8并转化为MP4视频格式

    因为网页视频下载的需要,需要把m3u8文件转换为MP4文件进行观看,于是发现了好用的ffmpeg. ffmpeg是一个开源的音视频转码工具,它提供了录制.转换以及流化音视频的完整解决方案,可以转码.压 ...

  9. FFmpeg学习之八(FFmpeg源码编译)

    FFmpeg学习之八(FFmpeg源码编译) Mac下 FFmpeg源码编译 安装 1. 使用终端安装FFmpeg 2. 手动编译 2.1 编译环境 - Xcode 2.2 安装依赖库 2.3 安装F ...

最新文章

  1. 学习官方示例 - System.TClass
  2. 【杂谈】2020年有三AI计算机视觉培养计划详解,该不该学怎么学CV的简单讨论...
  3. Qt调用dll中的功能函数
  4. uva 701——The Archeologists\' Dilemma
  5. springboot 整合druid
  6. 2015广州计算机网络试题及答案,2015广州大学计算机网络试卷-B卷及答案.doc
  7. deepin中配置jdk新建一个终端便失效
  8. java 输入密码时显示星号6_Java多线程 例子 cmd窗口下 实现输入密码星号显示
  9. 学习WPF——WPF布局——了解布局容器
  10. CentOS 7部署rsync备份服务器
  11. iocp端口断开_关于iocp检测客户端异常断线
  12. 前后端分离登录验证功能实现案例
  13. 计算机通信系统分哪两类,通信系统的组成(数字通信系统由哪几部分组成)
  14. 【C++游戏】日常学生党摸鱼小游戏——职业作秀V1.5.1(图文英雄解说攻略)游戏由c++与易语言配合完成
  15. matlab igbt开关损耗,IGBT模块开关损耗计算方法综述
  16. 计算机桌面 文字大小,敬业签电脑桌面便签软件怎么设置字体字号大小?
  17. HTML/CSS/Javascript在线代码运行网站汇总
  18. 华为“天才少女”年薪156万:她靠什么改写了普通女孩的人生?
  19. 线性代数——求逆矩阵
  20. 无题--仅以此文来总结我过去的五年

热门文章

  1. 计科专业的大一新生,如何提高编程能力?二哥简单说两句!
  2. 腾讯视频web端如何去水印?学会这招你想去啥就去啥
  3. 砸金蛋抽奖php源码,砸金蛋 抽奖 游戏 完整源码下载 有截图
  4. python自动抓取网管软件的数据_python实现scrapy爬虫每天定时抓取数据的示例代码...
  5. 人工智能之Python人脸识别技术--face_recognition模块
  6. 使用机器学习预测股票市场(机器学习案列)
  7. 人工智能_游戏AI –行为树简介
  8. 小程序复制文字、保存图片
  9. Caused by: java.lang.NoClassDefFoundError: org/apache/curator/framework/CuratorFrameworkFactory
  10. 一文读懂MES与MOM