FFmpeg
GAMELOFT9
读万卷书,行万里路,知行合一。
展开
-
FFmpeg分析基础一
FFmpeg是相当强大的多媒体编解码框架,在深入分析其源代码之前必须要有基本的多媒体基础知识,否则其源代码会非常晦涩难懂。本文将从介绍一些基本的多媒体知识,主要是为研读ffmpeg源代码做准备,比如一些编解码部分,只有真正了解了多媒体处理的基本流程,研读ffmpeg源代码才能事半功倍。 下面分析一下多媒体中最基本最核心的视频解码过程,平常我们从网上下载一部电影或者一首歌曲,那么相转载 2015-04-02 15:54:17 · 541 阅读 · 0 评论 -
最简单的基于FFMPEG+SDL的音视频播放器
一、概述 在《最简单的基于FFMPEG+SDL的音频播放器》记录一中,我们实现了音频的播放。更早前,我们在《最简单的基于FFMPEG+SDL的视频播放器》记录一和二中,实现了视频的播放。在实现视频播放的时候,我们设置了一个延迟40ms,否则视频就会以解码的速度去播放,很快速。在音频播放器中,我们有两个地方控制了播放音频的速度。第一个是采样率(http://wiki.libsdl.原创 2015-06-21 20:43:49 · 2246 阅读 · 0 评论 -
Error LNK2001 无法解析的外部符号 xxxxx
一、问题描述开发环境: VS 2013。 之前使用的是SDL 1.2版本的库,现在使用的是2.0版本,在代码中如下引用头文件://包含库extern "C"{#include "libavcodec/avcodec.h"#include "libavformat/avformat.h"#include "libswscale/swscale.h"#includ原创 2015-05-22 14:52:13 · 1066 阅读 · 0 评论 -
关于《最简单的基于FFMPEG+SDL的视频播放器》记录
一、概述 熟悉了FFMPEG的命令行工具ffmpeg.exe之后,就开始了对这个库的函数的熟悉过程,按照零基础学习FFMPEG的学习轨迹,就应当实现一个“最简单的视频播放器”来熟悉FFMPEG的工作流程和一些常用的函数。实现播放器的文章请参考最简单的视频播放器,这里仅仅记录一下自己的心得。二、播放器的解码流程播放器的解码流程非常重要,有利于我们去读懂代码。流程图我就不自己原创 2015-05-19 09:22:35 · 1383 阅读 · 0 评论 -
关于《最简单的基于FFMPEG+SDL的视频播放器》记录二
一、概述 之前写过一篇关于《最简单的基于FFMPEG+SDL的视频播放器》的记录,主要对FFMPEG的解码流程及代码做了比较详细的解释,但是对SDL部分并未做任何的解释,这次记录二将重点放在了SDL部分。由于SDL已经升级到2.0,所以此次将1.x和2.0一起记录下来。二、SDL工作流程SDL 1.x 1.流程图这里直接借鉴作者的原图,处理流程图原创 2015-05-22 11:05:49 · 1445 阅读 · 0 评论 -
简单的基于FFMpeg的视频文件截图程序
一、概述 熟悉了FFMPEG常用数据结构之后,按照零基础学习FFMPEG的学习轨迹,就应当实现一个“最简单的音频播放器”来继续熟悉FFMPEG的工作流程和一些常用的函数。实现播放器的文章请参考最简单的音频播放器。最简单的音频播放器同最简单的视频播放器一样,代码里有许多跟SDL相关的东西,如果不了解SDL,那么这个工程对初学者来说还是有难度的。于是我转向了实现简单的基于FFMP原创 2015-05-21 15:12:28 · 1453 阅读 · 1 评论 -
FFMPEG中最关键的结构体之间的关系
注:写了一系列的结构体的分析的文章,在这里列一个列表:FFMPEG结构体分析:AVFrameFFMPEG结构体分析:AVFormatContextFFMPEG结构体分析:AVCodecContextFFMPEG结构体分析:AVIOContextFFMPEG结构体分析:AVCodecFFMPEG结构体分析:AVStreamF转载 2015-05-19 10:46:00 · 703 阅读 · 0 评论 -
关于《最简单的基于FFMPEG+SDL的音频播放器》记录
一、概述之前的最简单的基于FFMPEG+SDL的视频播发器记录中,我们实现了播放视频的功能,但是还不能播放声音,这次我们就将实现声音的播放。为了减小难度,先只做一个音频播放器。在后续的文章中会在视频播放器中加入音频播放的功能。同理,音频播放器的实现可以参考原作者的文章最简单的基于FFMPEG+SDL的音频播放器,这里仅仅记录自己的心得。二、音频播放器流程1、解码流程原创 2015-05-26 20:11:58 · 1639 阅读 · 0 评论 -
将FFmpeg移植到VS2010中
一、概述在VC下使用FFMPEG编译好的库,不仅仅是把.h,.lib,.dll拷贝到工程中就行了,还需要做以下几步。(此方法适用于自己使用MinGW编译的库,也同样适用于从网上下载的编译好的库,例如http://ffmpeg.zeranoe.com/builds/)。(1)将mingw安装目录下的include的inttypes.h,stdint.h,_mingw.h三个文件拷到你工程原创 2015-04-06 21:13:09 · 980 阅读 · 0 评论 -
FFmpeg命令行工具系列四---video参数
一、概述 上一章简单介绍了一些通用的参数,这一章将重点讲解ffmpeg.exe工具的video相关的参数,video高级参数部分不会在此做讲解,可以参考官方文档:http://ffmpeg.org/ffmpeg.html#Main-options二、主要内容注:无特别说明,例子中的视频文件均和ffmpeg.exe在同一目录中。-vframes number (outp翻译 2015-04-05 09:22:04 · 2302 阅读 · 0 评论 -
FFmpeg命令行工具系列六----使用ffmpeg.exe的一些例子
一、概述 前面讲了很多基础性的知识,偶尔会有一些例子,但不多。这一章就专门讲解一些应用例子,对于不懂的参数,可以使用ffmpeg -? 或者ffmpeg -help查看帮助,也可去官网查阅资料。 另外你最好对多媒体有一个大概的了解,比如常用的音视频编码方式,常用的音视频文件格式等等。二、主要内容 任何支持的文件格式和协议都可以作为ffmpeg的输翻译 2015-04-05 15:25:45 · 1032 阅读 · 0 评论 -
FFmpeg命令行工具系列五---audio参数
一、概述 上一章讲了video参数,这一章讲解audio参数,同样不会涉及高级audio参数,可以通过官方文档查询相关信息。二、主要内容-aframes number (output)设置输出音频帧数。等同于-frames:a。例如:ffmpeg -i 1.mp3 -aframes 2000 -y 2.mp3-ar[:stream_specifier] fr翻译 2015-04-05 13:41:41 · 1564 阅读 · 0 评论 -
FFmpeg命令行工具系列二---转码流程及过滤器
一、概述 在FFmpeg命令行工具系列一中,对FFmpeg的命令行工具FFmpeg.exe进行了简单的介绍,并举出了几个简单的例子。在这一章中,将进行一次详细的介绍,主要是对转码过程和过滤器进行介绍。二、主要内容ffmpeg转码的流程可以用下图进行说明:ffmpeg调用libavformat库(该库包含解复用工具)来读取输入文件,并获取编过码的数据包。当有多个输翻译 2015-04-04 09:39:18 · 1635 阅读 · 0 评论 -
FFmpeg命令行工具系列三---参数详解
一、概述接下来的几章都会讲解参数,参数分为通用参数、主要参数、视频参数、音频参数和字幕参数。作者不企图做到大而全,因为完全可以通过查找官网文档而学习某个特定的参数,所以之后会把重点放在音视频的参数。二、主要内容1.前言所有的数字参数,如果没有特别说明,都以相应的字符串作为数字,可能会包含国际标准单位(SI unit)前缀,比如:'K','M','G'。如果'i'追加在国际标准单位前翻译 2015-04-04 18:42:55 · 1281 阅读 · 0 评论 -
FFmpeg命令行工具系列一------ffmpeg.exe概述
一、概述 FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec。FFmpeg有非常强大的功能包括视频采集功能、视频格式转换、视频抓图、给视频加水印等。具体可以参考官方网址:http://ffmpeg.org/,或者我的博客:http://blog.csdn.net/gamelo翻译 2015-04-03 14:58:45 · 2343 阅读 · 0 评论 -
windows平台下编译FFmpeg
一、概述 1.什么是FFmpeg? FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec。FFmpeg有非常强大的功能包括视频采集功能、视频格式转换、视频抓图、给视频加水印等。 FFmpeg主要由一下几个部分组成:原创 2015-04-01 15:16:33 · 1143 阅读 · 0 评论 -
FFMPEG结构体分析一:AVFormatContext
一、概述 关于AVFormatContext的分析已经有一篇文章了,地址如下: http://blog.csdn.net/leixiaohua1020/article/details/14214705。这里仅仅做一些文字上的补充和贴一段示例代码。二、主要内容AVFormatContext是FFMPEG解封装(flv,mp4,rmvb,avi)功能的结构体,重要的变量如下:原创 2015-05-20 17:11:12 · 1285 阅读 · 0 评论