怎么获取摄像头的直播地址?

本文指导普通用户如何将摄像头设备接入云端并获取直播链接。首先需确认设备类型,然后使用Postman工具调用API接口,输入设备序列号和通道号等相关参数,获取直播地址信息,最后通过发送请求来获得设备的直播链接,以便无限次分享。
摘要由CSDN通过智能技术生成

场景:
我只是一个普通的用户,正在经营一家餐厅/农场/学校,安装了好几个摄像头,但是现在要有直播链接。
我可以把链接给需要看到视频流的人,并且分享过去的人数不受限制。

具体要怎么做呢?可以如下步骤操作~

步骤一:


先确定咱们的设备是否是萤石设备/海康设备,还是其他品牌的设备,首先需要完成设备接入的工作,把设备接入云端。
设备接入的具体步骤已经在之前的文章描述过了,可参考:https://blog.csdn.net/hq123897/article/details/126012368?spm=1001.2014.3001.5501   进行操作。

 

步骤二:


1. 下载postman: https://www.getpostman.com/downloads/
(postman是一个调用接口的工具,操作上很简单的)
2.将直播链接的部分参数填写进postman中(该步骤解释,具体见第“3”步)

(直播链接API接口参数详情:https://open.ys7.com/help/82)

接口功能:该接口用于通过设备序列号、通道号获取单台设备的播放地址信息
请求地址:https://open.ys7.com/api/lapp/v2/live/address/get
子账户token请求所需最小权限:"Permission":"Get" "Resource":"dev:序列号"
请求方式:POST
请求参数

 

3.在post中创建一个项目,点击右上方的“NEW”按钮,点击“request”,输入 “Request name”(接口信息,可以填写直播地址获取),选择对应的文件夹进行存储“save”

 


4.在左上角选择“post”,请求地址:https://open.ys7.com/api/lapp/v2/live/address/get


5.点击params,在下方表格第一行中输入key为“accessToken”,value的输入,可以从https://open.ys7.com/console/application.html 中获取;第二行中输入key为“deviceSerial”,value的输入可以使指设备序列号,可以在https://open.ys7.com/console/device.html中获取

token获取:

 序列号获取:

 


- 填写完成后,点击“send”,即可获取这个设备的直播链接。

 

 

如果你希望通过网页实现远程调动其他电脑的摄像头进行直播,可以使用WebRTC技术和流媒体服务器相结合的方案。具体步骤如下: 1. 使用WebRTC技术建立视频通话连接,获取到远程电脑的摄像头数据流。 2. 将摄像头数据流推送到流媒体服务器上。 3. 在前端通过`video`标签播放流媒体服务器上的视频流。 以下是一个基本的实现示例: 1. 在远程电脑上实现基于WebRTC的视频通话方案,将摄像头数据流推送到流媒体服务器上。 ``` <script src="https://cdn.jsdelivr.net/npm/simplewebrtc@3.x.x/simplewebrtc.min.js"></script> <script> var webrtc = new SimpleWebRTC({ // 服务器配置,用于建立WebRTC连接 // 请根据实际情况填写 peerConnectionConfig: { iceServers: [ { urls: 'stun:stun.l.google.com:19302' }, { urls: 'stun:stun1.l.google.com:19302' }, { urls: 'stun:stun2.l.google.com:19302' }, { urls: 'stun:stun3.l.google.com:19302' }, { urls: 'stun:stun4.l.google.com:19302' }, ] }, // 本地视频配置 localVideoEl: 'localVideo', autoRequestMedia: true, media: { video: true, audio: false } }); webrtc.on('readyToCall', function () { // 将摄像头数据流推送到流媒体服务器上 webrtc.joinRoom('yourRoomName'); webrtc.on('stream', function (stream) { var video = document.createElement('video'); video.srcObject = stream; video.play(); var mediaRecorder = new MediaRecorder(stream); var chunks = []; mediaRecorder.ondataavailable = function(event) { if (event.data.size > 0) { chunks.push(event.data); } }; mediaRecorder.onstop = function() { var blob = new Blob(chunks, {type: 'video/webm'}); var videoURL = window.URL.createObjectURL(blob); var a = document.createElement('a'); a.href = videoURL; a.download = 'test.webm'; document.body.appendChild(a); a.click(); }; setTimeout(function() { mediaRecorder.stop(); }, 15000); }); }); </script> ``` 在上面的示例中,我们使用了`simplewebrtc`库实现了一个基于WebRTC的视频通话方案,并将摄像头数据流推送到流媒体服务器上。首先,我们创建了一个`SimpleWebRTC`对象,并设置了服务器配置,本地视频配置等参数。然后,在`readyToCall`事件中将摄像头数据流推送到流媒体服务器上,并在`stream`事件中获取摄像头数据流,并对其进行录制。最后,在`stop`事件中将录制的数据进行保存。 需要注意的是,这里的`yourRoomName`是一个示例房间名称,具体名称需要根据你的实际情况进行修改。同时,你需要确保流媒体服务器和前端都能够访问到该地址。 2. 在前端通过`video`标签播放流媒体服务器上的视频流。 ``` <video id="remoteVideo" width="640" height="480" autoplay></video> <script> var video = document.getElementById('remoteVideo'); video.src = 'http://yourStreamMediaServer/yourStreamKey.m3u8'; video.play(); </script> ``` 在上面的示例中,我们创建了一个`<video>`标签,并将流媒体服务器上远程电脑的摄像头数据流的地址赋值给它的`src`属性,然后通过`play()`方法开始播放视频。 需要注意的是,这里的`http://yourStreamMediaServer/yourStreamKey.m3u8`是一个示例地址,具体地址需要根据你的实际情况进行修改。同时,你需要确保流媒体服务器和前端都能够访问到该地址
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值