FFMPEG
yanghangjun
南京大学电子科学与工程系
展开
-
轻松使用 ffmpeg sdk 实现各种格式的rgb以及yuv raw
<br />有些时候大家需要一些yuv或者rgb 的 raw data的文件。ffmpeg项目中的libavcodec支持很多格式的raw相互转换,在早期的版本中,使用 img_convert,在新版本中,使用 sws_scale 完成。各种不同的格式在ffmpeg里面被称为 pixel formats,下面贴出来的就是:<br />PIX_FMT_YUV420P, < Planar YUV 4:2:0 (1 Cr & Cb sample per 2x2 Y samples)/n"<br />PIX_转载 2010-12-06 16:21:00 · 1232 阅读 · 0 评论 -
FFMPEG 库移植到 VC 需要的步骤
在VC下使用FFMPEG编译好的库,不仅仅是把.h,.lib,.dll拷贝到工程中就行了,还需要做以下几步。(此方法适用于自己使用MinGW编译的库,也同样适用于从网上下载的编译好的库,例如http://ffmpeg.zeranoe.com/builds/)。(1)像其他额外库一样,设置VC的Include路径为你c:\msys\local\include,设置VClib路径为次c:\ms转载 2014-04-24 21:41:46 · 672 阅读 · 0 评论 -
100行代码实现最简单的基于FFMPEG+SDL的视频播放器
FFMPEG工程浩大,可以参考的书籍又不是很多,因此很多刚学习FFMPEG的人常常感觉到无从下手。我刚接触FFMPEG的时候也感觉不知从何学起。因此我把自己做项目过程中实现的一个非常简单的视频播放器(大约100行代码)源代码传上来,以作备忘,同时方便新手学习FFMPEG。该播放器虽然简单,但是几乎包含了使用FFMPEG播放一个视频所有必备的API,并且使用SDL显示解码出来的视频。转载 2014-04-24 21:59:01 · 899 阅读 · 0 评论 -
FFMPEG中最关键的结构体之间的关系
FFMPEG中结构体很多。最关键的结构体可以分成以下几类:a) 解协议(http,rtsp,rtmp,mms)AVIOContext,URLProtocol,URLContext主要存储视音频使用的协议的类型以及状态。URLProtocol存储输入视音频使用的封装格式。每种协议都对应一个URLProtocol结构。(注意:FFMPEG中文件也被当做一种协议“file”)转载 2014-04-25 20:23:04 · 638 阅读 · 0 评论 -
FFMPEG结构体分析:AVFrame
注:写了一系列的结构体的分析的文章,在这里列一个列表:FFMPEG结构体分析:AVFrameFFMPEG结构体分析:AVFormatContextFFMPEG结构体分析:AVCodecContextFFMPEG结构体分析:AVIOContextFFMPEG结构体分析:AVCodecFFMPEG结构体转载 2014-04-25 21:06:38 · 3236 阅读 · 0 评论 -
FFMPEG 实现 YUV,RGB各种图像原始数据之间的转换(swscale)
FFMPEG中的swscale提供了视频原始数据(YUV420,YUV422,YUV444,RGB24...)之间的转换,分辨率变换等操作,使用起来十分方便,在这里记录一下它的用法。swscale主要用于在2个AVFrame之间进行转换。下面来看一个视频解码的简单例子,这个程序完成了对"北京移动开发者大会茶歇视频2.flv"(其实就是优酷上的一个普通视频)的解码工作,并将解码后的数转载 2014-04-25 21:16:19 · 3886 阅读 · 0 评论 -
FFMPEG结构体分析:AVIOContext
注:写了一系列的结构体的分析的文章,在这里列一个列表:FFMPEG结构体分析:AVFrameFFMPEG结构体分析:AVFormatContextFFMPEG结构体分析:AVCodecContextFFMPEG结构体分析:AVIOContextFFMPEG结构体分析:AVCodecFFMPEG结构体分析:AVStreamF转载 2014-04-28 10:51:35 · 645 阅读 · 0 评论 -
FFMPEG结构体分析:AVFormatContext
注:写了一系列的结构体的分析的文章,在这里列一个列表:FFMPEG结构体分析:AVFrameFFMPEG结构体分析:AVFormatContextFFMPEG结构体分析:AVCodecContextFFMPEG结构体分析:AVIOContextFFMPEG结构体分析:AVCodecFFMPEG结构体转载 2014-04-28 09:26:58 · 963 阅读 · 0 评论 -
FFMPEG结构体分析:AVStream
注:写了一系列的结构体的分析的文章,在这里列一个列表:FFMPEG结构体分析:AVFrameFFMPEG结构体分析:AVFormatContextFFMPEG结构体分析:AVCodecContextFFMPEG结构体分析:AVIOContextFFMPEG结构体分析:AVCodecFFMPEG结构体转载 2014-04-28 13:25:36 · 1035 阅读 · 0 评论 -
FFMPEG结构体分析:AVPacket
注:写了一系列的结构体的分析的文章,在这里列一个列表:FFMPEG结构体分析:AVFrameFFMPEG结构体分析:AVFormatContextFFMPEG结构体分析:AVCodecContextFFMPEG结构体分析:AVIOContextFFMPEG结构体分析:AVCodecFFMPEG结构体转载 2014-04-28 13:37:59 · 597 阅读 · 0 评论 -
使用FFMPEG类库分离出多媒体文件中的H.264码流
在使用FFMPEG的类库进行编程的过程中,可以直接输出解复用之后的的视频数据码流。只需要在每次调用av_read_frame()之后将得到的视频的AVPacket存为本地文件即可。经试验,在分离MPEG2码流的时候,直接存储AVPacket即可。在分离H.264码流的时候,直接存储AVPacket后的文件可能是不能播放的。如果视音频复用格式是TS(MPEG2 Transpo转载 2014-04-28 13:51:37 · 1661 阅读 · 0 评论 -
FFMPEG结构体分析:AVCodec
注:写了一系列的结构体的分析的文章,在这里列一个列表:FFMPEG结构体分析:AVFrameFFMPEG结构体分析:AVFormatContextFFMPEG结构体分析:AVCodecContextFFMPEG结构体分析:AVIOContextFFMPEG结构体分析:AVCodecFFMPEG结构体转载 2014-04-28 11:06:31 · 3344 阅读 · 0 评论 -
最简单的基于FFMPEG+SDL的音频播放器
FFMPEG工程浩大,可以参考的书籍又不是很多,因此很多刚学习FFMPEG的人常常感觉到无从下手。在此我把自己做项目过程中实现的一个非常简单的音频播放器(大约200行代码)源代码传上来,以作备忘,同时方便新手学习FFMPEG。该播放器虽然简单,但是几乎包含了使用FFMPEG播放一个音频所有必备的API,并且使用SDL输出解码出来的音频。并且支持流媒体等多种音频输入。程序使用转载 2014-04-28 14:29:20 · 1074 阅读 · 0 评论 -
ffplay的快捷键以及选项
ffplay是ffmpeg工程中提供的播放器,功能相当的强大,凡是ffmpeg支持的视音频格式它基本上都支持。甚至连VLC不支持的一些流媒体都可以播放(比如说RTMP),但是它的缺点是其不是图形化界面的,必须通过键盘来操作。因此本文介绍一下它的快捷键以及选项。 快捷键 播放视音频文件的时候,可以通过下列按键控制视音频的播放按键作用转载 2014-04-24 21:22:02 · 1126 阅读 · 0 评论 -
ffmpeg参数中文详细解释
a) 通用选项-L license-h 帮助-fromats 显示可用的格式,编解码的,协议的...-f fmt 强迫采用格式fmt-I filename 输入文件-y 覆盖输出文件-t duration 设置纪录时间 hh:mm:ss[.xxx]格式的记录时间也支持-ss position 搜索到指定的时间 [-]hh:mm:ss[.xxx]的格式也支持-转载 2014-04-24 21:17:53 · 549 阅读 · 0 评论 -
I帧、P帧和B帧的特点
<br />原文地址:http://blog.chinaunix.net/u3/94873/showart_1959778.html<br /> <br />I帧:帧内编码帧<br />I帧特点:<br />1.它是一个全帧压缩编码帧。它将全帧图像信息进行JPEG压缩编码及传输;<br />2.解码时仅用I帧的数据就可重构完整图像;<br />3.I帧描述了图像背景和运动主体的详情;<br />4.I帧不需要参考其他画面而生成;<br />5.I帧是P帧和B帧的参考帧(其质量直接影响到同组中以后各帧的质量)转载 2010-12-06 16:03:00 · 536 阅读 · 0 评论 -
I帧、P帧和B帧的特点
<br />原文地址:http://blog.chinaunix.net/u3/94873/showart_1959778.html<br /> <br />I帧:帧内编码帧<br />I帧特点:<br />1.它是一个全帧压缩编码帧。它将全帧图像信息进行JPEG压缩编码及传输;<br />2.解码时仅用I帧的数据就可重构完整图像;<br />3.I帧描述了图像背景和运动主体的详情;<br />4.I帧不需要参考其他画面而生成;<br />5.I帧是P帧和B帧的参考帧(其质量直接影响到同组中以后各帧的质量)转载 2010-12-06 16:20:00 · 569 阅读 · 0 评论 -
FFMPEG安 装 与简 单使用
http://www.360doc.com/content/10/0428/15/474846_25293076.shtml原创 2010-11-02 18:37:00 · 530 阅读 · 0 评论 -
流 媒体server搭建
<br />研究了一个星期,今天终于将服务器架设起来了.心理舒坦,所以总结一下<br />我使用的操作系统是:Ubuntu 9.10<br />我是参考这里的来进行编译的插件安装的,不过有些插件安装不上,<br />注意在Ubuntu下如果执行命令make install失败,则使用sudo make install使用root 权限来执行,因为有些目录普通用户不能创建<br />基本编译过程和需要安装的差价包上面博客讲的很详细,网上也有很多教程,<br />一、安装编译所需的工具和库:<br />(1)先转载 2010-11-02 18:48:00 · 960 阅读 · 0 评论 -
ffmpeg 源代码简单分析 : av_register_all()
此前写了好几篇ffmpeg源代码分析文章,列表如下:图解FFMPEG打开媒体的函数avformat_open_inputffmpeg 源代码简单分析 : av_register_all()ffmpeg 源代码简单分析 : avcodec_register_all()ffmpeg 源代码简单分析 : av_read_frame(转载 2014-04-30 09:38:00 · 3767 阅读 · 0 评论 -
FFplay源代码分析:整体流程图
FFplay源代码的流程图如图所示,网上的,不记得从哪弄的了,但是流程很清晰。看完FFplay源代码之后再看这个图感觉整个代码结构一目了然。转载 2014-04-29 15:41:20 · 1263 阅读 · 0 评论 -
ffmpeg 源代码简单分析 : avcodec_register_all()
此前写了好几篇ffmpeg源代码分析文章,列表如下:图解FFMPEG打开媒体的函数avformat_open_inputffmpeg 源代码简单分析 : av_register_all()ffmpeg 源代码简单分析 : avcodec_register_all()ffmpeg 源代码简单分析 : av_read_frame(转载 2014-04-30 09:44:16 · 2291 阅读 · 0 评论 -
ffmpeg 源代码简单分析 : av_read_frame()
此前写了好几篇ffmpeg源代码分析文章,列表如下:图解FFMPEG打开媒体的函数avformat_open_inputffmpeg 源代码简单分析 : av_register_all()ffmpeg 源代码简单分析 : avcodec_register_all()ffmpeg 源代码简单分析 : av_read_frame(转载 2014-04-30 09:57:28 · 1642 阅读 · 0 评论 -
ffmpeg 源代码简单分析 : avcodec_decode_video2()
此前写了好几篇ffmpeg源代码分析文章,列表如下:图解FFMPEG打开媒体的函数avformat_open_inputffmpeg 源代码简单分析 : av_register_all()ffmpeg 源代码简单分析 : avcodec_register_all()ffmpeg 源代码简单分析 : av_read_frame(转载 2014-04-30 09:58:34 · 1305 阅读 · 0 评论 -
使用FFmpeg类库实现YUV视频序列编码为视频
上一篇已经写了如何配置好开发环境,这次就先小试牛刀,来个视频的编码。搞视频处理的朋友肯定比较熟悉YUV视频序列,很多测试库提供的视频数据都是YUV视频序列,我们这里就用用YUV视频序列来做视频。关于YUV视频序列,我就不多讲了,可以看书学习,通常的视频序列都是YUV420格式的。步骤也就那几步,添加视频流,打开编码器,开辟相应的内存空间,然后就可以打开YUV序列逐帧写入数据了,so eas转载 2014-04-29 15:47:26 · 674 阅读 · 0 评论 -
图解FFMPEG打开媒体的函数avformat_open_input
此前写了好几篇ffmpeg源代码分析文章,列表如下:图解FFMPEG打开媒体的函数avformat_open_inputffmpeg 源代码简单分析 : av_register_all()ffmpeg 源代码简单分析 : avcodec_register_all()ffmpeg 源代码简单分析 : av_read_frame(转载 2014-04-29 15:52:58 · 1257 阅读 · 0 评论 -
SDL简介
SDL库的作用说白了就是封装了复杂的视音频底层操作,简化了视音频处理的难度。以下转自WiKi:SDL(Simple DirectMedia Layer)是一套开放源代码的跨平台多媒体开发库,使用C语言写成。SDL提供了数种控制图像、声音、输出入的函数,让开发者只要用相同或是相似的代码就可以开发出跨多个平台(Linux、Windows、Mac OS X等)的应用软件。目前转载 2014-04-24 22:04:43 · 725 阅读 · 0 评论 -
FFMPEG结构体分析:AVCodecContext
注:写了一系列的结构体的分析的文章,在这里列一个列表:FFMPEG结构体分析:AVFrameFFMPEG结构体分析:AVFormatContextFFMPEG结构体分析:AVCodecContextFFMPEG结构体分析:AVIOContextFFMPEG结构体分析:AVCodecFFMPEG结构体转载 2014-04-28 10:13:24 · 1226 阅读 · 0 评论