海康监控rtsp方式展示

文章介绍了如何在HTML和Vue.js应用中利用webrtc-streamer库实现实时视频流的连接和控制,包括从GitHub下载最新版本,以及在页面加载和退出时管理WebRTC服务器连接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

webrtc-streamer.exe下载最新版https://github.com/mpromonet/webrtc-streamer/releases

我下载的webrtc-streamer-v0.8.5-dirty-Windows-AMD64-Release.tar.gz

测试代码如下:

h5:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<video id='video' controls autoplay></video>
		
		<script type="text/javascript" src="webrtcstreamer.js"></script>
		<script type="text/javascript" src="libs/adapter.min.js"></script>
		<script type="text/javascript" src="js/jquery-1.8.3.min.js"></script>
		<script>        
		    var webRtcServer = null;
		    
		    //页面加载时加载视频画面
		    window.onload = function() {
		    	//video:需要绑定的video控件ID
		    	//192.168.1.0:启动webrtc-streamer的设备IP
		        webRtcServer = new WebRtcStreamer("video",location.protocol+"//192.168.1.0:8000");
		        //需要查看的rtsp地址
				webRtcServer.connect("rtsp://zhanghao:mima@ip:554/h264/ch35/main/av_stream");
		    }
		    
			//页面退出时销毁
		    window.onbeforeunload = function() {
				webRtcServer.disconnect();
			}
		</script>
	</body>
</html>

vue:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<video id='video' controls autoplay></video>

		<script type="text/javascript" src="webrtcstreamer.js"></script>
		<script type="text/javascript" src="libs/adapter.min.js"></script>

		<script type="text/javascript" src="js/jquery-1.8.3.min.js"></script>
		<script type="text/javascript" src="js/vue.min.js"></script>
		<script>
			var app = new Vue({
				el: "#rtspBody",
				components: {

				},
				data() {
					return {
						webRtcServer: null
					}
				},
				created() {
					//this.initPlayer()
				},
				mounted() {
					//video:需要绑定的video控件ID
					//127.0.0.1:8000:启动webrtc-streamer的设备IP和端口,默认8000
					this.webRtcServer = new WebRtcStreamer('video', location.protocol + '//127.0.0.1:8000')
					//需要查看的rtsp地址
					this.webRtcServer.connect('rtsp://admin:mima@192.168.1.0:554/h264/ch35/main/av_stream')
					//rtsp://user:password@ip:port/h264/ch1/main/av_stream--海康
					//rtsp://user:password@ip:port/cam/realmonitor?channel=1&subtype=0--大华
				},
				destroyed() {
					this.webRtcServer.disconnect()
					this.webRtcServer = null
				},
				methods: {
					initPlayer(){
						this.webRtcServer = new WebRtcStreamer('video', location.protocol + '//127.0.0.1:8000')
						this.webRtcServer.connect('rtsp://admin:mima@192.168.1.0:554/h264/ch35/main/av_stream')
					},
					handleChange() {
						this.webRtcServer.connect('rtsp://admin:mima@192.168.1.0:554/h264/ch35/main/av_stream')
					}
				}
			})
		</script>
	</body>
</html>
在Vue.js应用中,使用海康监控设备的RTSP视频流通常涉及前端处理网络请求、视频解码以及显示实时视频。以下是一个简化的步骤: 1. **安装依赖**:首先需要安装一些npm库,如`vue-video-player`用于播放视频,`axios`用于发送HTTP请求。 ```bash npm install vue-video-player axios ``` 2. **创建组件**:创建一个新的Vue组件,例如`RtspPlayer.vue`,并导入所需的模块。 ```html <template> <div> <h3>海康监控视频</h3> <video-player ref="videoPlayer" :src="rtspUrl"></video-player> </div> </template> <script> import VideoPlayer from 'vue-video-player'; import axios from 'axios'; export default { components: { VideoPlayer, }, data() { return { rtspUrl: '', }; }, mounted() { // ... 获取RTSP地址并在这里设置 }, }; </script> ``` 3. **获取RTSP URL**:你需要从海康监控平台获取到设备的RTSP URL。这通常是通过API调用或者配置文件等方式获取。可以使用axios发起GET请求。 ```js mounted() { axios.get('your-api-url-to-get-rstp-url') .then(response => { this.rtspUrl = response.data.url; // 将RTSP地址赋值给组件的数据属性 }) .catch(error => console.error('Failed to fetch RTSP URL:', error)); } ``` 4. **播放视频**:现在你可以在页面加载完成后播放RTSP视频了。注意,如果遇到跨域问题,可能需要后端服务器代理或配置海康设备允许跨域访问。 5. **异常处理**:确保处理可能出现的问题,比如网络连接中断、视频源不存在等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值