http://dianying.cntv.cn/love/lianaiqianguize/classpage/video/20091221/100120.shtml
这是CCTV电影站一个播放页面地址,打开源码,找到播放器一段,flash player是由JS创建的
createPlayer() 函数在 film_standard2.js 文件,找到swf播放器地址 http://player.cntv.cn/standard/cntvplayer.swf ,下载下来用 Action Script Viewer 6 打开
发现里面有这么个类 com.cntv.common.model.proxy.GetVideoInfoProxy ,通过用 videoId、articleId、filePath 等关键字搜索,找到这么一段AS代码
_local2 = (((((this._localtor.configVO.videoInfoURL + this._localtor.paramVO.filePath) + this._localtor.paramVO.videoId.substr(0, 8)) + "/") + this._localtor.paramVO.videoId.substr(8, (this._localtor.paramVO.videoId.length - 1))) + ".txt");
就是说把videoId截前面8位,作为目录,后面是文件名,用 videoId = "20091221100120" 代入,得到这么一个地址
http://dianying.cntv.cn/love/lianaiqianguize/classpage/video/20091221/100120.txt,跟播放页地址一样,后缀名改为txt而已,把地址放到IE打开,发现是一个JSON格式的文本,格式化之后如下
实际是个播放列表,直接用迅雷就可以下载了
事实上,cntv还有另一种json格式,比如《火星没事》http://dianying.cntv.cn/lcomedy/C15956/classpage/video/20100128/100696.shtml,JSON文本如下
rtmp 是adobe用于flash流媒体的播放协议,详情猛击这里 http://www.51testing.com/?uid-8776-action-viewspace-itemid-81594
关于rtmp的播放,我也不清楚,在反编译的AS中截取这么几段代码,剩下的请自己分析吧