海康威视摄像头-chrome谷歌浏览器高版本局域网下海康摄像头web网页实时播放

前言:

项目需要在web上实时播放摄像头视频。该项目部署在局域网上,无外网,所以不能调用萤石云的api进行视频拉取。
百度了很多方法,尝试了使用海康威视WEB开发包3.0,但是只支持IE浏览器。但是项目基于谷歌浏览器。
所以最后采用转流的方式,部署nginx、ffmpeg将rtsp转为rtmp格式、利用video.js在web网页上进行视频播放,无需浏览器安装插件。这里延伸一点:HTML5的可以支持rtmp,但是无法播放rtsp,flash也止步于rtmp。

一、 前期工作:

环境:windows 服务器

1、摄像头准备工作:

将海康威视的视频摄像头和本地电脑连接在同一网段,并设置好摄像头的IP地址和端口号等。

2、安装vcl视频播放器:

下载地址https://download.youkuaiyun.com/download/wfanking/13195866
vcl使用教程:https://blog.youkuaiyun.com/wfanking/article/details/110354975

3、测试rstp地址正确性。

打开vcl播放器,测试rtsp地址是否能播放成功,再进行接入操作。不然都是白扯。

【海康威视】取流说明:
如果摄像头密码是fun123456,IP是192.168.1.64,RTSP端口默认554未做改动,是H.264编码,那么
主码流取流:
rtsp://admin:fun123456@192.168.1.64:554/h264/ch1/main/av_stream
子码流取流:
rtsp://admin:fun123456@192.168.1.64:554/h264/ch1/sub/av_stream
ps:如果是H.265编码的,那么将H.264替换成H.265即可

二、直播接入指南

1、下载软件包,解压。

下载地址https://download.youkuaiyun.com/download/wfanking/13195883
将修改好配置的压缩包解压,nginx、ffmpeg 解压后放置c盘根目录。

2、配置ffmpeg环境变量path:

path:C:\ffmpeg\bin,此处不做过多详释。
海康威视摄像头chrome高版本局域网下web网页实时播放:配置ffmpeg环境变量path

3、验证ffmpeg是否配置成功:

cmd 输入ffmpeg 提示一下信息即可
海康威视摄像头chrome高版本局域网下web网页实时播放:验证ffmpeg 是否配置成功

4、启动nginx

运行文件中的exe文件,运行一闪之后任务管理器查看nginx.exe进程存在即可,启动成功如下图
海康威视摄像头chrome高版本局域网下web网页实时播放:启动nginx

5、cmd中输入转流命令:

ffmpeg -i ffmpeg -i “rtsp://admin:fun123456@192.168.1.64:554/ch1/sub/av_stream” -vcodec h264 -f flv -an “rtmp://localhost/live”
回车后控制台持续打印转流信息:

6、测试rstp地址正确性:

再次打开vcl播放器,播放rtmp视频,验证是否成功。若播放成功,则转流步骤就完成了

7、前端展示部分:

src写入rtmp://localhost.live流即可

 <!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>阿饭的摄像头</title>
		<!--引入播放器样式-->
		<link href="http://vjs.zencdn.net/5.19/video-js.min.css" rel="stylesheet">
		<!--引入播放器js-->
		<script src="http://vjs.zencdn.net/5.19/video.min.js"></script>
		<script src="https://cdn.jsdelivr.net/npm/videojs-flash@2/dist/videojs-flash.min.js"></script>
	</head>
	<body>

		<div class="div1">
			<!--vjs-big-play-centered 播放按钮居中-->
			<!--poster默认的显示界面,就是还没点播放,给你显示的界面-->
			<!--controls 规定浏览器应该为视频提供播放控件-->
			<!--preload="auto" 是否提前加载-->
			<!--data-setup='{"example_option":true}' 可以把一些属性写到这个里面来,如data-setup={"autoplay":true}-->

			<video id="my-player" class="video-js vjs-default-skin vjs-big-play-centered" controls preload="auto" poster="//C:/photo/1.jpg"
			 width="700" height="400" data-setup='{}'>
				<!--src: 规定媒体文件的 URL  type:规定媒体资源的类型-->
				<source src='rtmp://localhost/live/' type='rtmp/flv' />
			</video>
		</div>

	<script type="text/javascript">
			// 设置flash路径,用于在videojs发现浏览器不支持HTML5播放器的时候自动唤起flash播放器
			videojs.options.flash.swf = 'https://cdn.bootcss.com/videojs-swf/5.4.1/video-js.swf';
			var player = videojs('my-player'); //my-player为页面video元素的id
			player.play(); //播放
			//    1. 播放   player.play()
			//    2. 停止   player.pause()
			//    3. 暂停   player.pause()
		</script>
	</body>
</html>

三、效果查看

海康威视摄像头chrome高版本局域网下web网页实时播放

四、踩过的坑锦集:

1、chrome谷歌浏览器前端视频播放报错:No compatible source was found for this media,解决方法 见附件链接—> https://blog.youkuaiyun.com/wfanking/article/details/110253314

2、chrome谷歌浏览器前端视频播放报错:FLASH: rtmpconnectfailure解决方法, 见附件链接—> https://blog.youkuaiyun.com/wfanking/article/details/110253689

### 解决浏览器无法显示海康威视摄像头画面的问题 #### 浏览器兼容性检查 对于某些特定型号的摄像头,如DS-2CD3T46WDV3-I3,在访问其Web界面时可能会遇到兼容性问题。建议优先尝试使用Microsoft Edge浏览器,并启用Internet Explorer模式来重新加载页面[^1]。 如果仍然存在问题,则可以考虑其他主流浏览器,例如Google Chrome或Firefox。确保所使用浏览器版本是最新的稳定版,因为旧版本可能存在安全漏洞或是完全支持现代网页技术标准,这会影响与摄像机管理页面交互的效果。 #### 摄像头配置验证 确认已正确设置了IP地址和其他必要的网络参数以便能够顺利接入局域网内。进入摄像头Web界面后,导航至“网络设置”,核实当前分配给设备的静态/动态获方式以及子网掩码、默认网关等信息是否无误;另外还需关注端口号,默认情况下HTTP服务监听80端口而HTTPS则为443,部分品牌也可能自定义了其它数值,请参照产品手册调整相应设定以匹配实际需求场景下的通信要求。 针对具体的应用开发环境,比如基于Vue.js框架构建前端应用并与之集成时,需按照官方文档指导完成SDK初始化工作,同时留意跨源资源共享(CORS)策略的影响范围——即服务器端应允许来自指定域名发起请求的操作权限授予机制[^2]。 #### 网络状况排查 当发现即使上述两项都正常却依旧看到预期中的视频预览窗口时,妨借助命令提示符工具执行`ping`指令检测连通状态,观察丢包率和往返时间(RTT),以此判断是否存在物理链路层面的因素干扰数据传输效率。此外,防火墙软件可能也会阻挡未经许可的数据交换活动发生,因此要适当放宽规则限制或者临时关闭防护措施来进行对比测试。 为了进一步提高稳定性并降低延迟现象的发生概率,推荐采用RTSP/RTP这类低延时特性明显的音视频编解码协议作为首选方案之一,它们能更好地适应实时性的业务诉求。当然也可以参考开源项目实例学习更多关于如何利用Nginx反向代理转发RTMP流媒体内容的技术细节[^3]。 ```bash ping 192.168.x.x # 替换为目标摄像头的实际IP地址 ```
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值