Vue前端播放rtsp视频流(vue+webrtc-streamer)

Vue本身不能直接播放RTSP视频流,因为浏览器不支持直接播放RTSP格式的视频流。为了在Vue项目中播放RTSP视频流,通常需要使用一些转码工具或服务器将RTSP流转码为浏览器支持的格式,如HLSFLV,然后再通过相应的播放器进行播放。

我是用的是vue+webrtc-streamer播放rtsp视频流

1 webrtc-streamer作用是什么

WebRTC (Web Real-Time Communications) 是一项实时通讯技术,它允许网络应用或者站点,在不借助中间媒介的情况下,建立浏览器之间点对点(Peer-to-Peer)的连接,实现视频流和(或)音频流或者其他任意数据的传输。WebRTC 包含的这些标准使用户在无需安装任何插件或者第三方的软件的情况下,创建点对点(Peer-to-Peer)的数据分享和电话会议成为可能。

简单的说:WebRTC 是一种 HTML5规范,他无需在浏览器中安装任何插件可以在网页内进行实时通信工作的开源技术,它直接在浏览器和设备之间添加实时媒体通信。

webrtc-streamer是一个使用简单机制通过 WebRTC 流式传输视频捕获设备和 RTSP 源的项目,它内置了一个小型的 HTTP server 来对 WebRTC需要的相关接口提供支持。

2 安装webrtc-streamer

https://github.com/mpromonet/webrtc-streamer/releases

windows的下这个即可

在这里插入图片描述

下载好的安装包解压,双击根目录下的webrtc-streamer.exe启动
在这里插入图片描述

检查是否启动成功,在浏览器输入http://127.0.0.1:8000/,如果有显示自己的桌面,则启动成功。

由于 webrtc 的核心库还不支持H265的视频编码,所以要配置设备视频编码方式为H264

3 项目中引入js文件

下载好的安装包解压,进入html文件夹,将webrtcstreamer.jslibs文件夹下的adapter.min.js复制到vue项目。也可放在静态资源static目录下。

4 vue视频流组件

<template>
    <div class="home">
        <video id="video" autoplay width="600" height="400"></video>
    </div>
</template>
<script>
import "./js/webrtcstreamer.js" //此处两个js也可全局引用
import "./js/adapter.min.js"
export default {
    name: "HomeView",
    data() {
        return {
            webRtcServer: null,
            webRtcServer1: null
        };
    },
    mounted() {
    },
    methods: {
        playVideo() {
            this.webRtcServer = new WebRtcStreamer(
                "video",
                'http://192.168.8.1:8000'//本机ip+端口8000
            );

            this.webRtcServer.connect(
                "rtsp://10.100.175.201:32017/live/0/xxxxxxxxxxxxxxxxxxx"//这是填自己的rtsp流
            );
        }

    },
    beforeDestroy() {
        this.webRtcServer.disconnect();
        this.webRtcServer = null;
    }
};
</script>
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猪大侠0.0

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值