前阵子写了一篇在浏览器用vlc插件播放rtsp实时视频流的文章,当时测试电脑是xp,测试效果还行。但在win7下不可以使用,提示该插件未知,为了电脑的安全性,禁止被使用。这几天想了想,换用quicktime插件播放rtsp实时视频流。
核心代码如下;
<object CLASSID="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" width="320" height="256" CODEBASE="http://www.apple.com/qtactivex/qtplugin.cab"> <param name="src" value="sample.mov"> <param name="qtsrc" value="rtsp://realmedia.uic.edu/itl/ecampb5/demo_broad.mov"> <param name="autoplay" value="true"> <param name="loop" value="false"> <param name="controller" value="true"> <embed src="sample.mov" qtsrc="rtsp://realmedia.uic.edu/itl/ecampb5/demo_broad.mov" width="320" height="256" autoplay="true" loop="false" controller="true" pluginspage="http://www.apple.com/quicktime/"></embed> </object>
<object ...>... </object> 一个ActiveX控件,被嵌入IE浏览器中,需要classid,高度、宽度、src等参数
CLASSID="..." 指定装载的文件类型,应用程序应该处理它,用于windows注册
width="...", height="..." 指定播放对象的尺寸,一般为320*240像素
CODEBASE="..." 告诉ie在什么地方能得到ActiveX控制,其实你可以把cab包下载下来放到自己的应用中,然后路径改成自己的就可以了
<param name="..." value="..."> 学过java的就会明白,map键值对
src="..." 指定该url对象
qtsrc="..." 使用quicktime播放器的url地址
autoplay="true"/"false" 是否自动播放,单个视频的话建议选择true
loop="true"/"false" 是否循环播放,建议选择false
controller="true"/"false" 用户是否控制,包括暂停,播放等,建议选择true
<embed ...></embed> 用于Netscape兼容的浏览器,IE将忽略掉它
pluginspage="..." 告诉与Netscape兼容的浏览器,在什么地方得到插件安装
后记:quicktime 播放rtsp流没音频,重新找了个vlc浏览器插件fbvlc,介绍见http://code.google.com/p/fbvlc/ ,最新source见http://sourceforge.net/projects/fbvlc/ ,支持windows和mac系统