【无标题】vue webrtc 播放rtsp视频流

最近有个小活其中有涉及播放大华及海康摄像头视频流的需求,经调查发现可以使用webrtc来实现相关功能,记录一下,步骤如下:

1、下载webrtc :Releases · mpromonet/webrtc-streamer · GitHub

winows下下载:webrtc-streamer-v0.8.5-dirty-Windows-AMD64-Release.tar.gz

2、js准备

将下载包中html/libs文件夹下webrtcstreamer.js、adapter.min.js文件复制到VUE项目public目录中

VUE代码如下:

html 复制代码
    <div class="coTitle">视频</div>
    <video id='video' controls autoplay autobuffer muted preload='auto'
           style='width:90%; height: 290px; margin-left:5%;object-fit: fill;'>
    </video>
html 复制代码
</script>
<script lang="js">
import {WebRtcStreamer} from './webrtcstreamer.js';
export default {

  name: 'index1',
  data() {
    return {
      webRtcServer: null
    }
  },
  mounted() {
    //video:需要绑定的video控件ID
    //127.0.0.1:8000:启动webrtc-streamer的设备IP和端口,默认8000
    this.webRtcServer = new WebRtcStreamer('video', 'http://127.0.0.1:8000')
    //需要查看的rtsp地址
   this.webRtcServer.connect('rtsp://192.169.0.1:9000/dss/monitor/param?cameraid=1000211%210&substream=1')
  },
  beforeDestroy() {
    this.webRtcServer.disconnect()
    this.webRtcServer = null
  },
}
</script>

3、首选运行 webrtc-streamer.exe 有的说不加参数CPU高,我的电脑上没加参数也不高,懒,没测试。不过运行 webrtc-streamer.exe 后有个黑框,我是自己写了个服务,如果webrtc没启动,就定时启动一下,这样播放的电脑上就没有黑框了。

4、完成上述 123步就可以正常播放,有一个关键问题特意说明一下:

海康的视频流会提示:Start playing sink for "video/H264" subsession

可能出现此问题的原因是 音视频在同一个流中

解决方法如下:

html 复制代码
     //this.webRtcServer = new WebRtcStreamer("video", "http://127.0.0.1:8000");
      var audioUrl="";
      var options="rtptransport=tcp&timeout=60";
      webRtcServer.connect(videoUrl,audioUrl,options);
相关推荐
Fisher3Star18 小时前
WebRTC Transport 两种创建方式的差异解析
webrtc
Fisher3Star20 小时前
FFmpeg推流至Mediasoup全流程指南
webrtc
Fisher3Star1 天前
mediasoup 创建Router全流程详解
webrtc
声网1 天前
OpenAI 的 WebRTC 秘密架构:没有 SFU?没有问题!丨 Voice Agent 学习笔记
学习·架构·webrtc
HySpark5 天前
VAD 与流式 ASR 踩坑复盘及完整解决方案
webrtc·vad·离线语音转写·流式asr·qwen-asr·音频预处理
徐子元竟然被占了!!5 天前
WebRTC协议
webrtc
ZC跨境爬虫5 天前
跟着 MDN 学 HTML day_28:(使用选择器 API 在 DOM 树中进行选择与遍历)
前端·ui·html·音视频·webrtc
Fisher3Star11 天前
mediasoup Transport详解与代码实现
webrtc
Fisher3Star12 天前
mediasoup中Node.js与Worker进程通信机制
网络·webrtc
911hzh13 天前
Flutter WebRTC iOS 原理解析:从 getUserMedia 到 Texture,讲清视频采集、纹理渲染与远端通话链路
flutter·ios·webrtc