【无标题】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);
相关推荐
乐鑫科技 Espressif1 天前
亚马逊 KVS WebRTC SDK 适配乐鑫芯片及 ESP RainMaker Camera
人工智能·webrtc·乐鑫科技
糖炒栗子03262 天前
SRS + FFmpeg WebRTC 循环推流环境搭建
ffmpeg·webrtc
EasyDSS2 天前
EasyDSS校园数字化WebRTC私有化部署企业级融媒体系统设计方案解析
webrtc·媒体·ai大模型·m3u8·语音转写·点播技术
RTC老炮3 天前
webrtc弱网-BBRv2算法原理
网络·算法·webrtc
RTC老炮3 天前
webrtc弱网-BBRv1算法原理
网络·算法·webrtc
爱学习的程序媛5 天前
Windows系统下安装与配置FreeSWITCH完整指南
windows·实时互动·webrtc·实时音视频·信息与通信·媒体
xiejiashu5 天前
EasyRTC成功发布!原生WebRTC/嵌入式WebRTC,Windows/Linux/Android/ARM全支持
webrtc·嵌入式webrtc·easyrtc·webrtc原生库·arm-webrtc
爱学习的程序媛7 天前
【WebRTC】呼叫中心前端技术选型:SIP.js vs JsSIP vs Verto
前端·javascript·typescript·音视频·webrtc·实时音视频·web
bug大湿7 天前
WEBRTC——AGC API
webrtc·信号处理·agc
穷人小水滴10 天前
使用 WebRTC 实现局域网投屏: PC (GNOME ArchLinux) -> 平板 (Android)
android·linux·webrtc·浏览器·js·gnome·投屏