[总结]RTMP流媒体技术零基础学习方法
本文主要总结一些我在学习RTMP流媒体技术过程中积累的经验。也为后来学习RTMP流媒体技术的人们一个参考。本文力图从简到难,循序渐进的介绍RTMP流媒体技术的方方面面,先从应用说起,逐步深化剖析相关工程的源代码。看完本文的话应该会对RTMP流媒体技术有比较完整的了解。 0.背景知识本章主要介绍一下RTMP流媒体技术都用在了哪里(在这里仅列几个我所知的,其实远比这个多)。说白了就是为了说明:RTMP是非常重要的。 使用RTMP技术的流媒体系统有一个非常明显的特点:使用 Flash Player 作为播放器客户端,而Flash Player 现在已经安装在了全世界将近99%的PC上,因此一般情况下收看RTMP流媒体系统的视音频是不需要安装插件的。用户只需要打开网页,就可以直接收看流媒体,十分方便。 目前使用RTMP技术的电视台有如下几个: CNTV部分点播内容 使用RTMP技术社交直播平台: 六间房 可以这样概括一下:凡是想实现“无插件直播”的流媒体系统,都会使用RTMP。 1.RTMP在Flash流媒体系统中的使用RTMP被Adobe开发出来,就是用于在其Flash平台的流媒体系统之间传递数据的。因此想要了解RTMP,需要首先了解Flash流媒体系统。 最简单的Flash流媒体系统由两部分组成: 客户端:Flash Player(一般只有这一种)
服务器端:
2.RTMPdump(libRTMP)的使用这一章就要开始学习RTMP协议的处理了。 可以使用RTMPdump(libRTMP)进行学习。这是一个C++的开源工程。主要作用是下载RTMP流媒体。首先可以了解一下其使用方法:RTMPdump 使用说明 官网:http://rtmpdump.mplayerhq.hu/ 3.RTMPdump(libRTMP)源代码分析这一章开始学习RTMPdump(libRTMP)的源代码。学习它之前需要有Socket编程的基础。 首先学习《RTMP协议规范》 中文翻译版:http://download.csdn.net/detail/leixiaohua1020/6563059 英文原版:http://www.adobe.com/cn/devnet/rtmp.html 我对其部分内容做的简单分析:RTMP规范简单分析 其次从协议规范中,总结出RTMP协议建立连接的流程:RTMP流媒体播放过程 然后,下载一个windows下可以编译通过的RTMPdump工程(这个工程是很难得!):rtmpdump vs2005版本 (当然,linux下会方便很多,因为RTMPdump就是在linux下开发完成的) 最后,通过调试工程,就可以基本掌握RTMP协议了,我写了一些分析RTMPdump(libRTMP)源代码的文章: RTMPdump 源代码分析 1: main()函数 4.相关应用libRTMP作用还是很大的,除了可以保存RTMP流媒体之外,还可以发送RTMP流媒体等等。它可以整合到FFMPEG中,下面几篇文章简述了它的应用: libRTMP使用说明在FFMPEG中使用libRTMP的经验 (以后更新其他方面......) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |