<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[yanghangjun的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/yanghangjun</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; yanghangjun]]></copyright><item><title><![CDATA[使用VS2010编译live555]]></title><link>https://blog.youkuaiyun.com/yanghangjun/article/details/25371127</link><guid>https://blog.youkuaiyun.com/yanghangjun/article/details/25371127</guid><author>yanghangjun</author><pubDate>Fri, 09 May 2014 10:20:23 +0800</pubDate><description><![CDATA[最近加入了公司的C++视频小组，利用中秋这个假期将研究了一些live555的源码，现在先将如何编译使用vs2010编译live555,整理出来，对以后分析代码有很大帮助。

1.下载live555源码，下载地址：http://www.live555.com/liveMedia/public/live555-latest.tar.gz

2.live55简介

Live555 是一个为流]]></description><category></category></item><item><title><![CDATA[ffmpeg 源代码简单分析 ： avcodec_decode_video2()]]></title><link>https://blog.youkuaiyun.com/yanghangjun/article/details/24771071</link><guid>https://blog.youkuaiyun.com/yanghangjun/article/details/24771071</guid><author>yanghangjun</author><pubDate>Wed, 30 Apr 2014 09:58:34 +0800</pubDate><description><![CDATA[此前写了好几篇ffmpeg源代码分析文章，列表如下：


图解FFMPEG打开媒体的函数avformat_open_input



ffmpeg
 源代码简单分析 ： av_register_all()



ffmpeg
 源代码简单分析 ： avcodec_register_all()



ffmpeg
 源代码简单分析 ： av_read_frame(]]></description><category></category></item><item><title><![CDATA[ffmpeg 源代码简单分析 ： av_read_frame()]]></title><link>https://blog.youkuaiyun.com/yanghangjun/article/details/24770943</link><guid>https://blog.youkuaiyun.com/yanghangjun/article/details/24770943</guid><author>yanghangjun</author><pubDate>Wed, 30 Apr 2014 09:57:28 +0800</pubDate><description><![CDATA[此前写了好几篇ffmpeg源代码分析文章，列表如下：


图解FFMPEG打开媒体的函数avformat_open_input



ffmpeg
 源代码简单分析 ： av_register_all()



ffmpeg
 源代码简单分析 ： avcodec_register_all()



ffmpeg
 源代码简单分析 ： av_read_frame(]]></description><category></category></item><item><title><![CDATA[ffmpeg 源代码简单分析 ： avcodec_register_all()]]></title><link>https://blog.youkuaiyun.com/yanghangjun/article/details/24769945</link><guid>https://blog.youkuaiyun.com/yanghangjun/article/details/24769945</guid><author>yanghangjun</author><pubDate>Wed, 30 Apr 2014 09:44:16 +0800</pubDate><description><![CDATA[此前写了好几篇ffmpeg源代码分析文章，列表如下：


图解FFMPEG打开媒体的函数avformat_open_input



ffmpeg
 源代码简单分析 ： av_register_all()



ffmpeg
 源代码简单分析 ： avcodec_register_all()



ffmpeg
 源代码简单分析 ： av_read_frame(]]></description><category></category></item><item><title><![CDATA[ffmpeg 源代码简单分析 ： av_register_all()]]></title><link>https://blog.youkuaiyun.com/yanghangjun/article/details/24769409</link><guid>https://blog.youkuaiyun.com/yanghangjun/article/details/24769409</guid><author>yanghangjun</author><pubDate>Wed, 30 Apr 2014 09:38:00 +0800</pubDate><description><![CDATA[此前写了好几篇ffmpeg源代码分析文章，列表如下：


图解FFMPEG打开媒体的函数avformat_open_input



ffmpeg
 源代码简单分析 ： av_register_all()



ffmpeg
 源代码简单分析 ： avcodec_register_all()



ffmpeg
 源代码简单分析 ： av_read_frame(]]></description><category></category></item><item><title><![CDATA[图解FFMPEG打开媒体的函数avformat_open_input]]></title><link>https://blog.youkuaiyun.com/yanghangjun/article/details/24720685</link><guid>https://blog.youkuaiyun.com/yanghangjun/article/details/24720685</guid><author>yanghangjun</author><pubDate>Tue, 29 Apr 2014 15:52:58 +0800</pubDate><description><![CDATA[此前写了好几篇ffmpeg源代码分析文章，列表如下：


图解FFMPEG打开媒体的函数avformat_open_input



ffmpeg
 源代码简单分析 ： av_register_all()



ffmpeg
 源代码简单分析 ： avcodec_register_all()



ffmpeg
 源代码简单分析 ： av_read_frame(]]></description><category></category></item><item><title><![CDATA[使用FFmpeg类库实现YUV视频序列编码为视频]]></title><link>https://blog.youkuaiyun.com/yanghangjun/article/details/24720169</link><guid>https://blog.youkuaiyun.com/yanghangjun/article/details/24720169</guid><author>yanghangjun</author><pubDate>Tue, 29 Apr 2014 15:47:26 +0800</pubDate><description><![CDATA[上一篇已经写了如何配置好开发环境，这次就先小试牛刀，来个视频的编码。搞视频处理的朋友肯定比较熟悉YUV视频序列，很多测试库提供的视频数据都是YUV视频序列，我们这里就用用YUV视频序列来做视频。关于YUV视频序列，我就不多讲了，可以看书学习，通常的视频序列都是YUV420格式的。

步骤也就那几步，添加视频流，打开编码器，开辟相应的内存空间，然后就可以打开YUV序列逐帧写入数据了，so eas]]></description><category></category></item><item><title><![CDATA[FFplay源代码分析：整体流程图]]></title><link>https://blog.youkuaiyun.com/yanghangjun/article/details/24719735</link><guid>https://blog.youkuaiyun.com/yanghangjun/article/details/24719735</guid><author>yanghangjun</author><pubDate>Tue, 29 Apr 2014 15:41:20 +0800</pubDate><description><![CDATA[FFplay源代码的流程图如图所示，网上的，不记得从哪弄的了，但是流程很清晰。看完FFplay源代码之后再看这个图感觉整个代码结构一目了然。]]></description><category></category></item><item><title><![CDATA[最简单的基于FFMPEG+SDL的音频播放器]]></title><link>https://blog.youkuaiyun.com/yanghangjun/article/details/24640187</link><guid>https://blog.youkuaiyun.com/yanghangjun/article/details/24640187</guid><author>yanghangjun</author><pubDate>Mon, 28 Apr 2014 14:29:20 +0800</pubDate><description><![CDATA[FFMPEG工程浩大，可以参考的书籍又不是很多，因此很多刚学习FFMPEG的人常常感觉到无从下手。

在此我把自己做项目过程中实现的一个非常简单的音频播放器（大约200行代码）源代码传上来，以作备忘，同时方便新手学习FFMPEG。

该播放器虽然简单，但是几乎包含了使用FFMPEG播放一个音频所有必备的API，并且使用SDL输出解码出来的音频。
并且支持流媒体等多种音频输入。
程序使用]]></description><category></category></item><item><title><![CDATA[使用FFMPEG类库分离出多媒体文件中的H.264码流]]></title><link>https://blog.youkuaiyun.com/yanghangjun/article/details/24637283</link><guid>https://blog.youkuaiyun.com/yanghangjun/article/details/24637283</guid><author>yanghangjun</author><pubDate>Mon, 28 Apr 2014 13:51:37 +0800</pubDate><description><![CDATA[在使用FFMPEG的类库进行编程的过程中，可以直接输出解复用之后的的视频数据码流。只需要在每次调用av_read_frame()之后将得到的视频的AVPacket存为本地文件即可。

经试验，在分离MPEG2码流的时候，直接存储AVPacket即可。

在分离H.264码流的时候，直接存储AVPacket后的文件可能是不能播放的。

如果视音频复用格式是TS（MPEG2 Transpo]]></description><category></category></item><item><title><![CDATA[FFMPEG结构体分析：AVPacket]]></title><link>https://blog.youkuaiyun.com/yanghangjun/article/details/24636309</link><guid>https://blog.youkuaiyun.com/yanghangjun/article/details/24636309</guid><author>yanghangjun</author><pubDate>Mon, 28 Apr 2014 13:37:59 +0800</pubDate><description><![CDATA[注：写了一系列的结构体的分析的文章，在这里列一个列表：




FFMPEG结构体分析：AVFrame



FFMPEG结构体分析：AVFormatContext



FFMPEG结构体分析：AVCodecContext



FFMPEG结构体分析：AVIOContext



FFMPEG结构体分析：AVCodec



FFMPEG结构体]]></description><category></category></item><item><title><![CDATA[FFMPEG结构体分析：AVStream]]></title><link>https://blog.youkuaiyun.com/yanghangjun/article/details/24635547</link><guid>https://blog.youkuaiyun.com/yanghangjun/article/details/24635547</guid><author>yanghangjun</author><pubDate>Mon, 28 Apr 2014 13:25:36 +0800</pubDate><description><![CDATA[注：写了一系列的结构体的分析的文章，在这里列一个列表：




FFMPEG结构体分析：AVFrame



FFMPEG结构体分析：AVFormatContext



FFMPEG结构体分析：AVCodecContext



FFMPEG结构体分析：AVIOContext



FFMPEG结构体分析：AVCodec



FFMPEG结构体]]></description><category></category></item><item><title><![CDATA[FFMPEG结构体分析：AVCodec]]></title><link>https://blog.youkuaiyun.com/yanghangjun/article/details/24628245</link><guid>https://blog.youkuaiyun.com/yanghangjun/article/details/24628245</guid><author>yanghangjun</author><pubDate>Mon, 28 Apr 2014 11:06:31 +0800</pubDate><description><![CDATA[注：写了一系列的结构体的分析的文章，在这里列一个列表：




FFMPEG结构体分析：AVFrame



FFMPEG结构体分析：AVFormatContext



FFMPEG结构体分析：AVCodecContext



FFMPEG结构体分析：AVIOContext



FFMPEG结构体分析：AVCodec



FFMPEG结构体]]></description><category></category></item><item><title><![CDATA[FFMPEG结构体分析：AVIOContext]]></title><link>https://blog.youkuaiyun.com/yanghangjun/article/details/24627095</link><guid>https://blog.youkuaiyun.com/yanghangjun/article/details/24627095</guid><author>yanghangjun</author><pubDate>Mon, 28 Apr 2014 10:51:35 +0800</pubDate><description><![CDATA[注：写了一系列的结构体的分析的文章，在这里列一个列表：


FFMPEG结构体分析：AVFrame


FFMPEG结构体分析：AVFormatContext


FFMPEG结构体分析：AVCodecContext


FFMPEG结构体分析：AVIOContext


FFMPEG结构体分析：AVCodec


FFMPEG结构体分析：AVStream
F]]></description><category></category></item><item><title><![CDATA[FFMPEG结构体分析：AVCodecContext]]></title><link>https://blog.youkuaiyun.com/yanghangjun/article/details/24624015</link><guid>https://blog.youkuaiyun.com/yanghangjun/article/details/24624015</guid><author>yanghangjun</author><pubDate>Mon, 28 Apr 2014 10:13:24 +0800</pubDate><description><![CDATA[注：写了一系列的结构体的分析的文章，在这里列一个列表：




FFMPEG结构体分析：AVFrame



FFMPEG结构体分析：AVFormatContext



FFMPEG结构体分析：AVCodecContext



FFMPEG结构体分析：AVIOContext



FFMPEG结构体分析：AVCodec



FFMPEG结构体]]></description><category></category></item><item><title><![CDATA[FFMPEG结构体分析：AVFormatContext]]></title><link>https://blog.youkuaiyun.com/yanghangjun/article/details/24620875</link><guid>https://blog.youkuaiyun.com/yanghangjun/article/details/24620875</guid><author>yanghangjun</author><pubDate>Mon, 28 Apr 2014 09:26:58 +0800</pubDate><description><![CDATA[注：写了一系列的结构体的分析的文章，在这里列一个列表：




FFMPEG结构体分析：AVFrame



FFMPEG结构体分析：AVFormatContext



FFMPEG结构体分析：AVCodecContext



FFMPEG结构体分析：AVIOContext



FFMPEG结构体分析：AVCodec



FFMPEG结构体]]></description><category></category></item><item><title><![CDATA[FFMPEG 实现 YUV，RGB各种图像原始数据之间的转换（swscale）]]></title><link>https://blog.youkuaiyun.com/yanghangjun/article/details/24496857</link><guid>https://blog.youkuaiyun.com/yanghangjun/article/details/24496857</guid><author>yanghangjun</author><pubDate>Fri, 25 Apr 2014 21:16:19 +0800</pubDate><description><![CDATA[FFMPEG中的swscale提供了视频原始数据（YUV420，YUV422，YUV444，RGB24...）之间的转换，分辨率变换等操作，使用起来十分方便，在这里记录一下它的用法。

swscale主要用于在2个AVFrame之间进行转换。

下面来看一个视频解码的简单例子，这个程序完成了对"北京移动开发者大会茶歇视频2.flv"（其实就是优酷上的一个普通视频）的解码工作，并将解码后的数]]></description><category></category></item><item><title><![CDATA[FFMPEG结构体分析：AVFrame]]></title><link>https://blog.youkuaiyun.com/yanghangjun/article/details/24496353</link><guid>https://blog.youkuaiyun.com/yanghangjun/article/details/24496353</guid><author>yanghangjun</author><pubDate>Fri, 25 Apr 2014 21:06:38 +0800</pubDate><description><![CDATA[注：写了一系列的结构体的分析的文章，在这里列一个列表：




FFMPEG结构体分析：AVFrame



FFMPEG结构体分析：AVFormatContext



FFMPEG结构体分析：AVCodecContext



FFMPEG结构体分析：AVIOContext



FFMPEG结构体分析：AVCodec



FFMPEG结构体]]></description><category></category></item><item><title><![CDATA[FFMPEG中最关键的结构体之间的关系]]></title><link>https://blog.youkuaiyun.com/yanghangjun/article/details/24495019</link><guid>https://blog.youkuaiyun.com/yanghangjun/article/details/24495019</guid><author>yanghangjun</author><pubDate>Fri, 25 Apr 2014 20:23:04 +0800</pubDate><description><![CDATA[FFMPEG中结构体很多。最关键的结构体可以分成以下几类：

a)        解协议（http,rtsp,rtmp,mms）
AVIOContext，URLProtocol，URLContext主要存储视音频使用的协议的类型以及状态。URLProtocol存储输入视音频使用的封装格式。每种协议都对应一个URLProtocol结构。（注意：FFMPEG中文件也被当做一种协议“file”）]]></description><category></category></item><item><title><![CDATA[SDL简介]]></title><link>https://blog.youkuaiyun.com/yanghangjun/article/details/24438499</link><guid>https://blog.youkuaiyun.com/yanghangjun/article/details/24438499</guid><author>yanghangjun</author><pubDate>Thu, 24 Apr 2014 22:04:43 +0800</pubDate><description><![CDATA[SDL库的作用说白了就是封装了复杂的视音频底层操作，简化了视音频处理的难度。

以下转自WiKi：




SDL（Simple DirectMedia Layer）是一套开放源代码的跨平台多媒体开发库，使用C语言写成。SDL提供了数种控制图像、声音、输出入的函数，让开发者只要用相同或是相似的代码就可以开发出跨多个平台（Linux、Windows、Mac OS X等）的应用软件。目前]]></description><category></category></item></channel></rss>