webrtc视频播放器(srs.sdk.js)

这篇具有很好参考价值的文章主要介绍了webrtc视频播放器(srs.sdk.js)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.将srs.sdk.js放到文件中

在vue中使用,需要将js方法中的函数通过 export default{}的方式暴露出来。

webrtcsdk,视频播放器,javascript,webrtc,音视频

2.srs拉流(播放器)

下面是通过srs.sdk.js文件中的SrsRtcPlayerAsync方法进行拉流;

还有一种方法,可以在index.html中通过script引入jswebrtc.min.js文件,调用方法直接使用

(1)封装组件

<template>
  <video :id="videoId"
         class="player"
         controls
         autoplay
         style="width:100%;height:100%;">
  </video>

</template>
<script>
import Srs from '@/assets/js/srs.sdk'

export default {
  name: 'webrtcPlayer2',
  props: {
    videoId: {
      type: String,
      default: 'player'
    },
    url: {
      type: String,
      default: ''
    },

  },
  data () {
    return {
    }
  },
  created () {

  },
  mounted () {
    this.play()
  },
  methods: {
    play () {
      var player = document.getElementById(this.videoId);
    
     //方法一:使用srs.sdk.js
      const rtcPlayer = new Srs.SrsRtcPlayerAsync()
      rtcPlayer.play(this.url)
      // video标签
      player.srcObject = rtcPlayer.stream

     //方法二:使用jswebrtc.min.js
     // new JSWebrtc.Player(this.url, { video: player, autoplay: true, });
    }
  }
}</script>

(2)使用

<webrtc-player-2 
         :videoId="'play1'"
         :url="'webrtc://41.128.16.190:1990/live/livestream2'"
         style="width:50%">
</webrtc-player-2>

3.srs推流(视频、广播)

(1)封装

<template>

  <video :id="videoId"
         class="pusher"
         controls
         autoplay
         style="width:100%;height:100%;" />

</template>

<script>
import Srs from '@/assets/js/srs.sdk'
export default {
  name: 'webrtcPusher',
  props: {
    videoId: {
      type: String,
      default: 'pusher'
    },
    url: {
      type: String,
      default: ''
    },
    isVideo: {
      type: Boolean,
      default: false
    }
  },
  data () {
    return {
      sdk: null,
    }
  },
  created () {
    // this.url = 'webrtc://41.128.16.190:1990/live/livestream'
  },
  mounted () {
    this.$watch('url', () => {
      console.log('url', this.url)
      if (this.url) {
        this.start()
      } else {
        // this.stop()
      }
    }, { immediate: true, deep: true })

  },
  methods: {
    start () {
      //1.定义播放器
      var play = document.getElementById(this.videoId);
      // 2.  调用srs.sdk.js的SrsRtcPublisherAsync方法,new一个对象(记得将方法暴漏出来)
      this.sdk = new Srs.SrsRtcPublisherAsync()
      // 3.  执行SrsRtcPublisherAsync中的publish方法进行推流(jq调用ajax改为原生ajax)
      this.sdk.publish(this.url).then(session => {
        //   推流成功
        console.log('session', session)
      }).catch(reason => {
        //   推流失败
        // 3.1 执行close方法,关闭推流
        this.sdk.close();
        console.log('reason', reason)
        // 3.2错误判断
        if (reason.name === 'HttpsRequiredError') {
          alert(`WebRTC推流必须是HTTPS或者localhost:` + reason.name + reason.message);
        } else if (reason.name === 'NotFoundError') {
          alert(`找不到麦克风和摄像头设备:getUserMedia` + reason.name + reason.message);
        } else if (reason.name === 'NotAllowedError') {
          alert(`你禁止了网页访问摄像头和麦克风:getUserMedia` + reason.name + reason.message);
        } else if (reason.name === 'NotAllowedError') {
          alert(`你禁止了网页访问摄像头和麦克风:getUserMedia` + reason.name + reason.message);
        } else if (['AbortError', 'NotAllowedError', 'NotFoundError', 'NotReadableError', 'OverconstrainedError', 'SecurityError', 'TypeError'].includes(reason.name)) {
          alert(`getUserMedia` + reason.name + reason.message);
        } else {
          alert(reason.name + reason.message);
        }
      })
      //  4.打开播放器
      //   new JSWebrtc.Player(this.url, { video: play, autoplay: true, });
      const rtcPlayer = new Srs.SrsRtcPlayerAsync()
      rtcPlayer.play(this.url)
      play.srcObject = rtcPlayer.stream

      if (this.isVideo) {
        play.style.display = 'block'
      } else {
        play.style.display = 'none'

      }
    },
    play () {
    }
  }
}</script>

(2)使用文章来源地址https://www.toymoban.com/news/detail-703787.html

<webrtc-pusher 
   :url="'webrtc://41.128.16.190:1990/web/'+case_No"               
   :isVideo="true"
   class="pusher">
</webrtc-pusher>

到了这里,关于webrtc视频播放器(srs.sdk.js)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Qt推流程序(视频文件/视频流/摄像头/桌面转成流媒体rtmp+hls+webrtc)可在网页和播放器远程观看

    推流直播就是把采集阶段封包好的内容传输到服务器的过程。其实就是将现场的视频信号从手机端,电脑端,摄影机端打包传到服务器的过程。“推流”对网络要求比较高,如果网络不稳定,直播效果就会很差,观众观看直播时就会发生卡顿等现象,观看体验比较糟糕。主流

    2024年02月04日
    浏览(73)
  • 【VideoJs】初识videojs && video.js 视频播放器的基本使用 && videojs基础用法 && videojs视频播放器 && vue3中使用videojs

    免费,开源 插件多 可自定义 【推】 虽然,但是Videojs算好了,但我觉得有点杂,特别是文档与插件,且自定义插件有点困难,也可能是我比较菜吧 相比之下,我还是强烈推荐 【Xgplayer ——点我进入】 备用地址 http://t.csdn.cn/H0cAV Xgplayer 优点 优雅、美观 文档清晰明了 大厂出

    2024年02月03日
    浏览(62)
  • vue项目中视频实时播放时播放器遇到的问题和解决过程 flv.js - EasyPlayer - LivePlayer

    需要画面监控设备实时播放,支持HTTP-FLV直播流,支持其他流后续可能会更换 需要类似于安防监控多个视频实时画面同步 播放器可控制度强,完全由我们来控制播放暂停进行拉流断流 项目使用的是的vue3+ts 原本使用的video.js 但是不支持HTTP-FLV播放,改用flv.js 引入flv.js 开发问

    2024年02月01日
    浏览(48)
  • vue项目中视频实时播放时 播放器遇到的问题和解决过程 flv.js - EasyPlayer - LivePlayer

    需要画面监控设备实时播放,支持HTTP-FLV直播流,支持其他流后续可能会更换 需要类似于安防监控多个视频实时画面同步 播放器可控制度强,完全由我们来控制播放暂停进行拉流断流 项目使用的是的vue3+ts 原本使用的video.js 但是不支持HTTP-FLV播放,改用flv.js 引入flv.js 开发问

    2024年01月24日
    浏览(48)
  • springboot + vue3实现视频播放Demo(video.js & Vue3-video-play视频播放器)

    ffmpeg官网 长时长视频java存储及vue播放解决方法 【 攻城略地 】vue3 + video.js播放m3u8视频流格式 Vue3-video-play组件官网 Vue3视频播放器组件Vue3-video-play入门教程 vue-video-player播放m3u8格式的视频 Spring boot视频播放(解决MP4大文件无法播放),整合ffmpeg,用m3u8切片播放。 Java获取MP4视频文

    2024年02月07日
    浏览(75)
  • 【Unity】代码控制视频的播放(视频播放器-更新)

     结果如上图,之前写过一个使用代码控制视频播放器的Demo,但是好多小伙伴说我附带的链接没法下载,这次我直接做一个完整版的,不用下载,照着一步一步做就能做出来。 之前写了如何设置RawImage进行自动播放,大家可以看一下基础操作这篇文章:,大佬勿怪。 【Unity】

    2024年02月09日
    浏览(59)
  • 【Xgplayer】xgplayer基本使用 | xgplayer使用 | 超好的前端视频播放器 | xgplayer前端最好视频播放器

    开发团队——字节跳动,字节跳动出品,必属精品。 xgplayer是一个超级牛逼的前端视频播放器,以下几个观点足以证明它的强大 大厂出品——稳 简洁 实用 优雅 文档清晰明了 支持弹幕 对移动端非常友好 自定义插件方便且强大 强就是了 xgplayer官网-点我进入 备用地址 https:

    2024年02月06日
    浏览(76)
  • 阿里云视频播放器

    阿里云的视频播放器类比 HTML5视频播放标签video和音频播放标签audio标签 只是阿里云视频播放器是针对阿里云上传的视频进行多功能配置和操作。 最终:阿里云视频播放器就是基于阿里云视频的前端播放标签 阿里云播放器 SDK ( ApsaraVideo Player SDK)是阿里视频服务的重要一环

    2023年04月09日
    浏览(61)
  • 学习笔记(1)——粤嵌gec6818实现电子相册,音乐播放器,视频播放器。

    (1)设计一个初始界面,并且设置电子相册,音乐播放器,视频播放器三个触摸按键。 (2)电子相册——能够实现相册的幻灯片功能,实现相册左右滑动切换相片。 (3)音乐播放器实现——切歌,播放和暂停功能。 (4)视频播放器实现——播放、暂停、音量大小、快进倒

    2024年02月11日
    浏览(61)
  • 电脑自带播放器怎么倍速播放视频

    1.选择视频文件,鼠标右击在打开方式中选择Windows Media Player播放器打开视频 2. 在Windows Media Player视频播放器中鼠标右击选择“播放速度设置”,再选择增强功能即可调整播放速度了。    

    2024年02月11日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包