摘要: 简介之前写了一遍提取MP4中的音视频并且解码,这一篇引入SDL2.0来显示解码后的视频序列实现一个简易的视频播放器。我这里用的FFMPEG和SDL2.0都是最新版的可能网上的资料不是很多,API接口也变了很多,不过大体的思路还是一样的。分析几个FFMPEG函数在这之前我们分析几个代码中可能引起疑问的... 阅读全文
posted @ 2015-12-23 11:43 彩虹下的约定 阅读(1176) 评论(0) 推荐(0) 编辑
摘要: 对于FFMPEG SDK提供的Demuxing为我们实现多路复用提供了很多方便,下面的案案例实现的是分离一个媒体文件的音频视频流并且解码输出到不同的文件中。对于音频被还原回了 PCM格式对于视频被还原成了 YUV420等原生格式注意我用的FFMPEG SDK是最新版 API接口稍有改变。每天更新博客... 阅读全文
posted @ 2015-12-23 11:42 彩虹下的约定 阅读(313) 评论(0) 推荐(0) 编辑
摘要: 最近项目涉及到流媒体等开发,由于有过开发经验深知其难度所在,没办法只能重新拾起,最新版的SDK被改的一塌糊涂,不过大体的开发思路都是一样的,看多少书查多少资料都无用,一步一步的编写代码才是学好的关键。。我会把每一天的学习经过,更新到博文上,希望能给更多想学习的人带来帮助,篇尾附上工程 以及最新版本S... 阅读全文
posted @ 2015-12-23 11:40 彩虹下的约定 阅读(465) 评论(0) 推荐(0) 编辑
摘要: ffmpeg sdk 阅读全文
posted @ 2015-12-23 11:38 彩虹下的约定 阅读(2407) 评论(0) 推荐(0) 编辑
摘要: libvlc.h定义了libvlc的外部api,引用这个头文件就可以把VLC嵌入到我们的程序里面了。libvlc的对象必须先被初始化之后才能被使用。libvlc corelibvlc_new() 用于初始化一个libvlc的实例,argc表示参数的个数,argv表示参数,返回创建的实例若当发生错误时... 阅读全文
posted @ 2015-12-21 16:05 彩虹下的约定 阅读(531) 评论(0) 推荐(0) 编辑
摘要: AVCodecContext这是一个描述编解码器上下文的数据结构,包含了众多编解码器需要的参数信息,如下列出了部分比较重要的域:?1234567891011121314151617181920212223242526272829303132333435363738394041424344454647... 阅读全文
posted @ 2015-12-18 16:14 彩虹下的约定 阅读(445) 评论(0) 推荐(0) 编辑
摘要: 另外:ffmpeg的net封装库http://www.intuitive.sk/fflib/NET 2.0 调用FFMPEG,并异步读取输出信息的代码...public void ConvertVideo(){ Process p = new Process();//建立外部调用线程 p.S... 阅读全文
posted @ 2015-12-18 14:46 彩虹下的约定 阅读(522) 评论(0) 推荐(0) 编辑
摘要: 1. 注册所有容器格式和CODEC:av_register_all()2. 打开文件:av_open_input_file()3. 从文件中提取流信息:av_find_stream_info()4. 穷举所有的流,查找其中种类为CODEC_TYPE_VIDEO5. 查找对应的解码器:avcodec_... 阅读全文
posted @ 2015-12-18 14:44 彩虹下的约定 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 本文以H264视频流为例,讲解解码流数据的步骤。为突出重点,本文只专注于讨论解码视频流数据,不涉及其它(如开发环境的配置等)。如果您需要这方面的信息,请和我联系。准备变量定义AVCodecContext。如果您使用类,可以定义成类成员。我这里定义成全局变量。static AVCodecContext... 阅读全文
posted @ 2015-12-18 14:42 彩虹下的约定 阅读(330) 评论(0) 推荐(0) 编辑
摘要: FFMPEG解码流程:1. 注册所有容器格式和CODEC: av_register_all()2. 打开文件: av_open_input_file()3. 从文件中提取流信息: av_find_stream_info()4. 穷举所有的流,... 阅读全文
posted @ 2015-12-18 14:41 彩虹下的约定 阅读(233) 评论(0) 推荐(0) 编辑