本系列文章导航

Windows下FFmpeg高速入门

ffmpeg參数解释

mencoder和ffmpeg參数具体解释(Java处理视频)

Java 生成视频缩略图(ffmpeg)

使用ffmpeg进行视频文件转换成FLV整理

java 视频处理 mencoder

java 视频处理 ffmped+mencoder

Windows下FFmpeg高速入门

FFmpeg简单介绍

FFmpeg是什么?
FFmpeg是用于录制、转换和流化音频和视频的完整解决方式, 包含 libavcodec ,一套率先的音/视频编解码类库。FFmpeg 在Linux上开发,当能够在大多数操作系统下编译,包含Windows。
Note
  • FFmpeg对GCC的依赖非常强,所以就算是在Windows上, 用VC编译FFmpeg也不是一件轻松的事情。请尽量使用 GCC来编译FFmpeg,比較事半功倍。
FFmpeg的官方网址是 http://ffmpeg.mplayerhq.hu/。
中文Wiki是 http://www.ffmpeg.com.cn/,资料非常多。

FFmpeg的组成结构

FFmpeg主要由一下几个部分组成:
  • libavcodec: 一个包括了全部FFmpeg音视频编解码器的库。 为了保证最优性能和高可复用性,大多数编解码器从头开发的。
  • libavformat: 一个包括了全部的普通音视格式的解析器和 产生器的库。
  • 三个实例程序,这三个实例较为复杂,基本能够作为API使用手冊:
    • ffmpeg:命令行的视频格式转换程序。
    • ffplay:视频播放程序。(须要SDL支持)
    • ffserver:多媒体服务器
了解完组成结构后,你会发现,假设你在寻找一种视频格式转换 的方式,那FFmpeg绝对是你的第一选择, libavcodec 则又是重 中之重。假设遇上API不会使用的情况,能够參考ffmpeg.c、ffplay.c、 ffserver.c、apiexample.c(解码)和output_example.c(编码)。

FFmpeg的编译

要使用FFmpeg,第一步就是编译,对于Linux上的用户,能够參考 http://www.ffmpeg.com.cn/index.php/Ffmpeg%E7%BC%96%E8%AF%91%E8%AF%A6%E8%A7%A3
  • 编译FFmpeg是一个复杂的过程,假设你想加高速度,领略FFmpeg 的风採,则能够跳过这一步,直接进入下一章节。

FFmpeg的SDK

FFmpeg是一个复杂的project,第一步编译,特别是Windows下的编译 过程,更是复杂。 因此,好心的网友提供了Windows下编译好的 dll和lib库文件,以及相关的头文件。新手们则可直接下载,并開始编写 FFmpeg库的程序了。
以上两者已经足以完毕FFmpeg的入门,最新的SDK版本号是3.0, 相应于FFmpeg的版本号是 r10087。新手们能够从编译源码库中的 output_example.c開始,同一时候參考 SDK入门宝典
编译output_example.c的时候须要注意下面问题:
  • VC的是不支持C语言中的inline,所以能够把相关的inline删除。
  • 对于snprintf的支持,能够考虑从 http://www.ijs.si/software/snprintf/下载 snprintf.h和snprintf.c放入project中。
准备了一个 output_example.c 的VC (2008 express edtion)project,有兴趣的朋友 能够邮件至 tang.jiyu at gmail dot com 索取,或者訪问 http://tinyurl.com/5h4v8q 下载。

博文来源:http://huqilong.blog.51cto.com/53638/137140

Windows下FFmpeg高速入门的更多相关文章

  1. Windows下FFmpeg快速入门

    本系列文章导航 Windows下FFmpeg快速入门 ffmpeg参数解释 mencoder和ffmpeg参数详解(Java处理视频) Java 生成视频缩略图(ffmpeg) 使用ffmpeg进行视 ...

  2. Windows下FFmpeg快速入门 <第二篇>

    FFmpeg简介 FFmpeg是什么? FFmpeg是用于录制.转换和流化音频和视频的完整解决方案, 包括 libavcodec ,一套领先的音/视频编解码类库.FFmpeg 在Linux上开发,当可 ...

  3. 【FFmpeg】Windows下FFmpeg编译

    由于FFmpeg是基于Linux开发的开源项目,源代码和Windows下最常见的Visual Studio提供的C/C++编译器不兼容,因此它不能使用MSVC++编译,需要在Windows下配置一个类 ...

  4. Windows下FFmpeg各版本库文件下载

    ffmpeg主要是基于linux开发,当然它也支持windows,不过并不支持visual studio系列IDE(因为它使用了大量C99特性,而vs不支持C99). 要想在windows上使用 一可 ...

  5. Windows 下 ffmpeg 转 mp4

    最近在研究所有视频格式转  mp4 因为html5 只支持mov MP4 等格式..查阅了 很多资料发现  转成flv  很简单.. 可是要转 mp4 就难了... 经过我不屑的努力..终于转换成功了 ...

  6. 【FFmpeg】Windows下FFmpeg调试

    为了深入了解ffmpeg的工作原理,需要阅读源代码,调试源代码.在Windows下调试ffmpeg源码,一种方法是在MinGW+Msys环境下,利用GDB进行调试:另一种是借助Eclipse进调试,其 ...

  7. Nginx - Windows下Nginx初入门

    公司刚使用nginx,预先学习下.鉴于机器没有Linux环境,在Windows熟悉下. 下载 目前(2015-07-11),nginx的稳定版本是1.8.0,在官网下载先,windows版的nginx ...

  8. Nginx - Windows下Nginx初入门,附CentOS下Nginx的安装

    公司刚使用nginx,预先学习下.鉴于机器没有Linux环境,在Windows熟悉下. 下载 目前(2015-07-11),nginx的稳定版本是1.8.0,在官网下载先,windows版的nginx ...

  9. windows 下FFMPEG的编译方法 附2012-9-19发布的FFMPEG编译好的SDK下载

    经过一晚上加一上午的奋斗,终于成功编译出了最新版的FFMPEG,下面是我编译的心得,因为是最新的,应该会对大家有用,编译的FFMPEG的版本是0.11.2,2012-09-19新发布的版本 平台:WI ...

随机推荐

  1. Introducing RecyclerView(二)

    文/poberWong(简书作者)原文链接:http://www.jianshu.com/p/7fdfea845937著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. 正文: Recyc ...

  2. 转载:简化IT程序员工作生活的4个窍门

    如果可以简化你的生活——少做枯燥的任务,将时间真正地用于完成事情,你愿不愿意去尝试?下面就让我一起来学一下如何让程序员工作生活变得简单的小窍门.如果你敢于倾听自己的心声,你会发现自己一天中的大多数时间 ...

  3. EditPlus 配置 Java & C/CPP 开发环境

    0.1安装EditPlus 0.2安装Java 0.3安装MinGW 0.4配置Java和MinGW环境变量 1.配置Java开发环境 1.1 Tool-->Preferences 1.2 Ja ...

  4. bzoj2298

    不难发现必然是两个人之间话产生矛盾或自身话有问题很显然,当ai>aj时,若ai<n-bj时i,j两人话矛盾ai<ai<n-bj,这东西有没有数轴上的线段的既视感?我们只要求出做 ...

  5. LFS 中文版手册发布:如何打造自己的 Linux 发行版

    您是否想过打造您自己的 Linux 发行版?每个 Linux 用户在他们使用 Linux 的过程中都想过做一个他们自己的发行版,至少一次.我也不例外,作为一个 Linux 菜鸟,我也考虑过开发一个自己 ...

  6. 用jQuery 处理XML-- jQuery与XML

    jQuery与XML 快而强的遍历系统,华丽丽的选择器语法,这或许是jQuery 那么流行的原因.当然它还有详尽的文档.它主要是用来处理HTML的,但在这里妳会看到如何应用到XML. 使用jQuery ...

  7. android中如何实现离线缓存

    离线缓存就是在网络畅通的情况下将从服务器收到的数据保存到本地,当网络断开之后直接读取本地文件中的数据. 将网络数据保存到本地: 你可以自己写一个保存数据成本地文件的方法,保存在android系统的任意 ...

  8. lightoj 1012

    水题,dfs #include<cstdio> #include<string> #include<cstring> #include<iostream> ...

  9. Jmeter初步使用二--使用jmeter做一个简单的性能测试

    经过上一次的初步使用,我们懂得了Jmeter的安装与初步使用的方法.现在,我们使用Jmeter做一个简单的性能测试.该次测试,提交的参数不做参数化处理,Jmeter各元件使用将在介绍在下一博文开始介绍 ...

  10. Unity4.3.3 烘焙踩坑

    许久没发文章了,开始实习了,挺忙的基本没什么时间了 unity4.3.3是一个非常古老的版本了,弄了一下烘焙,踩了不少坑, 首先是unity自带的nature shader,其中有soft occlu ...