摘要: 发现了几个视频参数对比的资源,是Wikipedia上的,总结的非常好:流媒体系统对比:http://en.wikipedia.org/wiki/Comparison_of_streaming_media_systems封装格式对比:http://en.wikipedia.org/wiki/Comparison_of_container_formats视频编码器对比:http://en.wikipedia.org/wiki/Comparison_of_video_codecs音频编码格式对比:http://en.wikipedia.org/wiki/Comparison_of_audio_for 阅读全文
posted @ 2013-09-30 22:04 leixiaohua1020 阅读(266) 评论(0) 推荐(0) 编辑
摘要: FFMPEG工程浩大,可以参考的书籍又不是很多,因此很多刚学习FFMPEG的人常常感觉到无从下手。在此我把自己做项目过程中实现的一个非常简单的音频播放器(大约200行代码)源代码传上来,以作备忘,同时方便新手学习FFMPEG。该播放器虽然简单,但是几乎包含了使用FFMPEG播放一个音频所有必备的API,并且使用SDL输出解码出来的音频。并且支持流媒体等多种音频输入。程序使用了新的FFMPEG类库,和早期版本的FFMPEG类库的API函数略有不同。平台使用VC2010注意:1.程序输出的解码后PCM音频数据可以使用Audition打开播放2.m4a,aac文件可以直接播放。mp3文件需要调整SD 阅读全文
posted @ 2013-09-30 21:15 leixiaohua1020 阅读(526) 评论(0) 推荐(0) 编辑
摘要: FFplay源代码的流程图如图所示,网上的,不记得从哪弄的了,但是流程很清晰。看完FFplay源代码之后再看这个图感觉整个代码结构一目了然。 阅读全文
posted @ 2013-09-30 21:10 leixiaohua1020 阅读(849) 评论(0) 推荐(0) 编辑
摘要: FFMPEG打开媒体的的过程开始于avformat_open_input,因此该函数的重要性不可忽视。在该函数中,FFMPEG完成了:输入输出结构体AVIOContext的初始化;输入数据的协议(例如RTMP,或者file)的识别(通过一套评分机制):1判断文件名的后缀 2读取文件头的数据进行比对;使用获得最高分的文件协议对应的URLProtocol,通过函数指针的方式,与FFMPEG连接(非专业用词);剩下的就是调用该URLProtocol的函数进行open,read等操作了以下是通过eclipse+MinGW调试FFMPEG源代码获得的函数调用关系图可见最终都调用了URLProtocol结 阅读全文
posted @ 2013-09-30 20:37 leixiaohua1020 阅读(1421) 评论(0) 推荐(0) 编辑
摘要: FFMPEG工程浩大,可以参考的书籍又不是很多,因此很多刚学习FFMPEG的人常常感觉到无从下手。我刚接触FFMPEG的时候也感觉不知从何学起。因此我把自己做项目过程中实现的一个非常简单的视频播放器(大约100行代码)源代码传上来,以作备忘,同时方便新手学习FFMPEG。该播放器虽然简单,但是几乎包含了使用FFMPEG播放一个视频所有必备的API,并且使用SDL显示解码出来的视频。并且支持流媒体等多种视频输入,处于简单考虑,没有音频部分,同时视频播放采用直接延时40ms的方式平台使用VC2010使用了最新的FFMPEG类库直接贴代码int _tmain(int argc, _TCHAR* ar 阅读全文
posted @ 2013-09-30 20:28 leixiaohua1020 阅读(987) 评论(2) 推荐(0) 编辑