浏览器使用VLC插件播放rtsp

我们项目里用到了华为的摄像机,在实况浏览的时候爬了好几天的坑,终于东拼西凑,自己弄好了一份html的demo,可以播放视频记录一下.

1.我们是从华为轻量云上获取的摄像机的参数和视频信息 轻量云包括VCM(分析平台,网页端可以登录) ,VCN(监控平台需要下载客户端才能登录)

2.我是调用vcn上的接口拿到相应摄像机的rtsp地址,下面我就直接上代码了

注意要先在电脑安装VLC插件,才能在浏览器调用,下载地址: https://www.videolan.org/ 注意32和64位,我使用的32位.
vlc web开发文档地址 : https://wiki.videolan.org/Documentation:WebPlugin/ 里面有详细介绍
这是一个基本的html页面 ,将rtsp地址替换下面的地址即可,只支持IE,和360(因为有ie内核),Chrome当前版本是不支持的,网上说45版本以下的支持,但是我试了还是不行,可能是不会配置.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>video</title>
</head>
<body>
<object type='application/x-vlc-plugin' id='vlc' events='True' width="800" height="600" pluginspage="http://www.videolan.org" codebase="http://downloads.videolan.org/pub/videolan/vlc-webplugins/2.2.2/npapi-vlc-2.2.2.tar.xz">
    <param name='mrl' value='rtsp://player.daniulive.com:554/live68906.sdp' />
    <param name='volume' value='50' />
    <param name='autoplay' value='true' />
    <param name='loop' value='false' />
    <param name='fullscreen' value='true' />
</object>
</body>
</html>

在这里插入图片描述

很不幸,我这样弄完,本地的直连摄像头有画面了,但是通过vcn获取的rtsp地址还是没有视频画面,但是很奇怪获取到的rtsp在vlc客户端程序里是有画面的.发现是客户端程序里有一个这样的配置:

在"工具"=>偏好设置>输入/编解码器 里面有个设置流协议的,猜测客户端是因为有这个设置才能播放画面的,我的demo没有这项设置

在这里插入图片描述

然后在开发文档里找了下,我把这个加上就可以了…

在这里插入图片描述

下面是修改后的demo,是可以播放从vcn拿到的rtsp的视频的

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>video</title>
</head>
<body>
<object type='application/x-vlc-plugin' id='vlc' events='True' width="800" height="600" pluginspage="http://www.videolan.org" codebase="http://downloads.videolan.org/pub/videolan/vlc-webplugins/2.2.2/npapi-vlc-2.2.2.tar.xz">
    <param name='volume' value='50' />
    <param name='autoplay' value='true' />
    <param name='loop' value='false' />
    <param name='fullscreen' value='true' />
</object>
<script>
    var vlc=document.getElementById('vlc');
    var options = new Array("rtsp-tcp")
    var id = vlc.playlist.add('rtsp://192.168.0.23:554/06707147186818720101?DstCode=01&',"fancy name",options);
    vlc.playlist.playItem(id);
</script>
</body>
</html>

在这里插入图片描述

另外华为的rtsp地址只有30秒有效期,查过30秒没被使用就作废了,使用过一次也作废了,播放上以后就可以一直播放了.

过程中还发现了一个测试用的软件 WindowsPusher&Playe 它可以将本地屏幕画面做成rtsp源,这样测试的时候就可以先在本地测试,通过了再连摄像头测试.下面是软件的下载地址: https://github.com/daniulive/SmarterStreaming

过程中找了好多方案 vlc当前似乎只支持ie内核的浏览器,新版的Edge也不支持吧,另外还发现 H5Stream 感觉还不错 但是比较复杂,你们如果有兼容性更好的demo欢迎给我留言啊.最好能支持Chrome

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿彤木11

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值