网页嵌入本地设备[摄像头/屏幕/网页等]的实时画面或网络摄像头的实时画面——视频流转码(基于webrtc)

追梦赤子心_LiMing 2024-07-25 10:33:02 阅读 50

网页嵌入本地设备[摄像头/屏幕/网页等]的实时画面或网络摄像头的实时画面——视频流转码(基于webrtc)

一、介绍

获取本地设备[摄像头/屏幕/网页等]的画面,或者网络摄像头的推流地址。将这些画面通过webrtc服务器进行访问,将目标设备的视频流播放用html文件体现。后续web开发时,嵌入html文件(可多个)即可。

本地设备和webrtc运行在同一局域网,部署webrtc服务时如果使用内网穿透地址运行,可以使用外网访问。

二、操作步骤

1. 下载部署

​ 下载地址: https://github.com/mpromonet/webrtc-streamer/releases

​ 下载相应系统的Release版本,本教程使用window示例,下载了webrtc-streamer-v0.8.5-dirty-Windows-AMD64-Release.tar.gz

​ 解压后如下图,在当前目录输入命令webrtc-streamer.exe -H IP地址:8000 -o ,然后确认键运行

在这里插入图片描述

​ 运行如下图,加-o可以不转码降低cpu负载,可以不加。

在这里插入图片描述

2.服务器预览和介绍

在这里插入图片描述

​ 在浏览器输入运行时填入的 IP地址:8000 进入该页面,上面标签显示的它当前获取到的硬件,带画面的都有包括浏览器、软件界面、笔记本摄像头等,软件需要打开不能最小化才会被检索到。点击选中标签,变绿被选中的标签会在下方显示。

3.html制作

​ 下面是两个基本示例,使用时把WebRtcStreamer(“video”,“http://192.168.35.21:8000”);里面的换成填入的 IP地址:8000。把webRtcServer.connect(“rtsp://用户名:密码@192.168.35.199:554/media/video1”);括号内换成目标地址。

3.1 网络摄像头(rtsp)

<code><html>

<head>

<script src="adapter.min.js" ></script>code>

<script src="webrtcstreamer.js" ></script>code>

<script>

var webRtcServer= null;

window.onload= function() {

webRtcServer= new WebRtcStreamer("video","http://192.168.35.21:8000");

webRtcServer.connect("rtsp://用户名:密码@192.168.35.199:554/media/video1");

}

window.onbeforeunload = function() {

webRtcServer.disconnect();

}

</script>

</head>

<h2>高清</h2>

<body>

<video id="video" width="500px" height="600px" />code>

</body>

</html>

3.2 画面转显

<html>

<head>

<script src="adapter.min.js" ></script>code>

<script src="webrtcstreamer.js" ></script>code>

<script>

var webRtcServer= null;

window.onload= function() {

webRtcServer= new WebRtcStreamer("video","http://192.168.35.21:8000");

webRtcServer.connect("window://MVS");

}

window.onbeforeunload = function() {

webRtcServer.disconnect();

}

</script>

</head>

<h2>高清</h2>

<body>

<video id="video" width="500px" height="600px" />code>

</body>

</html>

运行显示:

在这里插入图片描述

4.整合示例

​ 本次以在html上整合示例,也可以其他任意方式整合嵌入,比如springboot整合webrtc-streamer。

<code><!DOCTYPE html>

<html lang="en">code>

<head>

<meta charset="UTF-8">code>

<title>Title</title>

</head>

<body>

<iframe src="play1.html" style="width:600px;height: 700px;"></iframe>code>

<iframe src="PLAY1 (2).html" style="width:600px;height: 700px;"></iframe>code>

</body>

</html>

​ 其中的"play1.html"和"PLAY1 (2).html"均为画面转显,一个是海康MVS界面,一个是笔记本自带摄像头画面,效果如下:

在这里插入图片描述

项目需要引入的js:webrtcstreamer.js、adapter.min.js、jquery-1.7.1.min.js。如下图

在这里插入图片描述



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。