我看RTMPDump_C/C++_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > C/C++ > 我看RTMPDump

我看RTMPDump

 2010/9/19 23:30:10  a_10jqka_2010  http://a-10jqka-2010.javaeye.com  我要评论(0)
  • 摘要:RTMPDump是一个匈牙利人的作品。他在Adobe未公开RTMP协议的条件下,写出了针对RTMP协议的客户端程序,实在了得。他和Adobe的故事,大家也看在网上看看。时至今日,RTMP协议草案已经公布,RTMPDump源码也被请出了主流网站。那还有什么可以谈的呢?我想将自己在RTMP客户端的一些开发经历,对照着RTMPDump,说说自己的感受。RTMP的一些特点,可以参看我的其他博文。应用RTMP协议的服务器较好能较好的保护视频,不被用户轻易的下载到本地。但是万事万物都有突破口
  • 标签: RTMPDump
RTMPDump是一个匈牙利人的作品。他在Adobe未公开RTMP协议的条件下,写出了针对RTMP协议的客户端程序,实在了得。他和Adobe的故事,大家也看在网上看看。

时至今日,RTMP协议草案已经公布,RTMPDump源码也被请出了主流网站。那还有什么可以谈的呢?我想将自己在RTMP客户端的一些开发经历,对照着RTMPDump,说说自己的感受。RTMP的一些特点,可以参看我的其他博文。

应用RTMP协议的服务器较好能较好的保护视频,不被用户轻易的下载到本地。但是万事万物都有突破口,RTMP协议是为传输视频文件而服务的,这些视频站点都有选用FLV格式的视频文件,FLV文件格式是对外公开的。翻阅RTMPDump的源码,就能看到这个特点。但是过程远远没有说的这么简单。我想说一细节,是在Adobe已经公开了RTMP草案的前提下,我来编写RTMP客户端程序。

当时我参阅了RTMP草案中提到的各个步骤,依次执行后,视频流开始传输,可是传送了一段时间后,服务器不再发送数据,但是整个TCP连接没有中断。让我很苦恼的是,明明严格按照RTMP草案中提到的各个步骤执行,最终没有下载完成。唯一能解释的,RTMP草案中提到的步骤,不是应用RTMP服务器FMS执行效果的全部。

大家如果有兴趣,可以看看Adobe公开的RTMP协议草案,在谈到createStream成功后,执行play命令就可以源源不断的接收视频流。而实际上,应用RTMP协议的服务器在发送完一段数据后,会等待客户端的Acknowledgement响应,没有此响应,服务器就一直等着,不再传送新的数据。

这还是有一个相对完全的草案进行开发,都会引出这些事情来。更何况RTMPDump当时连这个都没有。

凡是学习,总要能有所提高才好。假如,有谁直接使用RTMPDump,会发现有诸多不便。例如,RTMPDump要求用户提供app和tcUrl。但要知道有些站点,处于保护的目的,会动态改变这两项值,致使RTMPDump下载不成功。据我所知,www.cbs.com就采用了相应的技术进行保护。国内的cctv却没有采用动态保护机制。

这就是我看RTMPDump,所想说的。

最后,有一点忘记了。本文说的RTMP客户端程序,是指不引用任何Adobe提供的code源码,STL、库等已有资源。完全以RTMP的协议为开发标准,自行编程开发
发表评论
用户名: 匿名