IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> vue h5stream 使 rtsp 视频流在浏览器中播放 -> 正文阅读

[JavaScript知识库]vue h5stream 使 rtsp 视频流在浏览器中播放

一、在官网中下载文件 https://linkingvision.cn/product/h5stream
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
下载 release 最新版本
二、解压后 第一次运行 在这里插入图片描述
文件, 只在刚安装时运行一次。
三、如需修改端口请找到 conf/h5ss.conf 这个文件。
在这里插入图片描述

四、运行 h5ss.bat 文件启动服务。
五、访问网址 : http://localhost:8081 能访问到登录页安装成功。 admin 12345
六、引入文件

https://github.com/linkingvision/h5svue/tree/master/src/assets

h5splayer.js
h5splayerhelper.js

七、登录后查看接口api
在这里插入图片描述
八、调用登录 获取 strSession
九、登录成功后调用 AddSrcRTSP 接口添加流地址。
十、根据添加的 token 播放视频流

<div class="h5videowrapper h5container">
  <video class="h5video" id="h5sVideoid" controls></video>
</div>

export default {
  name: 'video-player',
  data() {
    return {
      // 视频参数
      videoid: this.h5videoid,
      h5handler: undefined,
      currtoken: undefined,
      ptzshow: false,
      proto: 'WS',
      strSession : undefined,
      http_video : undefined,
    }
  },
  created() {
    // 设置 rtsp 转码请求地址
    this.$data.http_video = axios.create({
      baseURL : 'http://localhost/:8081',
      timeout : '6000',
    })
  },
  // 页面销毁前执行
  beforeDestroy() {
    if (this.h5handler !== undefined) {
      this.h5handler.disconnect()
      delete this.$data.h5handler
      this.$data.h5handler = undefined
    }
    this.$data.currtoken = undefined
  },
  methods: {
    // 点击连接直播
    connectClick() {
    		// 获取转码服务器 session
           if (!this.$data.strSession) {
              this.$data.http_video.get('/api/v1/Login?user=admin&password=' + md5('12345')).then((res) => {
                if (res.status === 200) {
                  this.$data.strSession = res.data.strSession;
                  this.connectController('rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov')
                }
              }).catch((err) => {
                this.$message({
                  type: 'error',
                  message: '操作失败,请稍后重试!'
                })
              });
            } else {
              this.connectController('rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov')
            }
    },
    connectController(rtsp) {
      let str = 自定义token;
      this.$data.http_video.get('/api/v1/DelSrc?token='+str+'&session='+this.$data.strSession).then((res) => {
        this.$data.http_video.get('/api/v1/AddSrcRTSP?name='+str+'&token='+str+'&user=admin&password='+ md5('12345') +'&url=' + rtsp).then((res) => {
          if (res.status === 200) {
            this.PlayVideo(str);
          }
        });
      });
    },
    PlayVideo(token) {
      if (this.h5handler !== undefined) {
        this.h5handler.disconnect()
        delete this.h5handler
        this.h5handler = undefined
      }
      this.currtoken = token
      var root = process.env.API_ROOT
      var wsroot = process.env.WS_HOST_ROOT
      if (root === undefined) {
        root = window.location.protocol + '//' + window.location.host + window.location.pathname
      }
      if (wsroot === undefined) {
        wsroot = window.location.host
      }
      var conf1 = {
        videoid: 'h5sVideoid',
        protocol: window.location.protocol, //'http:' or 'https:'
        // host: window.location.host, //'localhost:8080'
        host: 'localhost:8081', //'localhost:8080'
        rootpath: '/', // '/' or window.location.pathname
        token: token,
        hlsver: 'v1', //v1 is for ts, v2 is for fmp4
        session: this.$data.strSession //session got from login
      }

      this.h5handler = H5sPlayerCreate(conf1)
      //this.h5handler = new H5sPlayerRTC(conf);

      this.h5handler.connect()
    },
  }
}
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-09-02 11:15:56  更:2021-09-02 11:16:07 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 13:12:49-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码