vue+webrtc(腾讯云) 实现直播功能的实践

 更新时间:2021年11月22日 10:40:19   作者:南工gjl  
本文主要介绍了vue+webrtc(腾讯云) 实现直播功能的实践,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

1.直播效果

1.pc端

太丑,不露脸

2.移动端

在这里插入图片描述

2.开直播步骤

2.1引入腾讯web端(快直播)脚本

脚本必须引入在 index.heml的body中

 <body style="padding:0;margin:0">
    //腾讯快直播脚本
    <script src="https://imgcache.qq.com/open/qcloud/live/webrtc/js/TXLivePusher-1.0.2.min.js" charset="utf-8"></script>
    <noscript>
      <strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
    </noscript>
    <div id="app"></div>
    <!-- built files will be auto injected -->
  </body>

2.2在需要使用直播的界面 添加一个视频容器(开启直播后,显示视频的位置)

在.vue文件中直接使用即可,容器的样式可以自己调,但是id不能丢弃(也可以使用name)

<div id="id_local_video" style="margin:0 auto;width:80%;display:flex;align-items:center;justify-content:center;"></div>        

2.3创建直播对象,开启直播

点击开启直播按钮 对应的method中写下方法
注意:推流地址中的协议头rtmp,一定要换成webrtc,而且推流地址中一定不能出现中文,否则即使推流成功也会报错

      //创建视频对象 livePusher变量我写在了data中 不再复制了 ,也可以直接在methods中直接声明变量
      this.livePusher=new TXLivePusher()
      this.livePusher.setRenderView('id_local_video');
      // 设置音视频流    
      this.livePusher.setVideoQuality('720p');
      // 设置音频质量
      this.livePusher.setAudioQuality('standard');
      // 自定义设置帧率
      this.livePusher.setProperty('setVideoFPS', 25);   
        
      // 开启直播
      // 打开摄像头       
      this.livePusher.startCamera();
      // 打开麦克风
      this.livePusher.startMicrophone();    
      //这里我延时了4秒进行推流 推流地址需要从后端接收。
       setTimeout(() => {          this.livePusher.startPush(推流地址);
       }, 4000);  

推流成功

2.4关闭直播

直接在对应的方法中使用即可
注意,关闭直播时,一定要销毁视频容器

      // 1.停止推流
      this.livePusher.stopPush();
      // 2.关闭摄像头
      this.livePusher.stopCamera();
      // 3.关闭麦克风
      this.livePusher.stopMicrophone();      
      // 4.销毁容器对象
      this.livePusher.destroy(); 

到此这篇关于vue+webrtc(腾讯云) 实现直播功能的实践的文章就介绍到这了,更多相关vue+webrtc腾讯云直播内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue3 表单搜索内容回显到地址栏的实例代码

    vue3 表单搜索内容回显到地址栏的实例代码

    这篇文章主要介绍了vue3 表单搜索内容回显到地址栏的实例代码,地址栏输入内容回显到form表单,同理表单输入内容也要回显到地址栏中,本文结合实例代码介绍的非常详细,需要的朋友可以参考下
    2023-09-09
  • 详解Vue的钩子函数(路由导航守卫、keep-alive、生命周期钩子)

    详解Vue的钩子函数(路由导航守卫、keep-alive、生命周期钩子)

    这篇文章主要介绍了详解Vue的钩子函数(路由导航守卫、keep-alive、生命周期钩子),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • Vue3 中的模板语法小结

    Vue3 中的模板语法小结

    Vue 使用一种基于 HTML 的模板语法,使我们能够声明式地将其组件实例的数据绑定到呈现的 DOM 上,这篇文章主要介绍了Vue3 中的模板语法,需要的朋友可以参考下
    2023-03-03
  • vue数据监听解析Object.defineProperty与Proxy区别

    vue数据监听解析Object.defineProperty与Proxy区别

    这篇文章主要为大家介绍了vue数据监听解析Object.defineProperty Proxy源码示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • Vue 中 Promise 的then方法异步使用及async/await 异步使用总结

    Vue 中 Promise 的then方法异步使用及async/await 异步使用总结

    then 方法是 Promise 中 处理的是异步调用,异步调用是非阻塞式的,在调用的时候并不知道它什么时候结束,也就不会等到他返回一个有效数据之后再进行下一步处理,这篇文章主要介绍了Vue 中 Promise 的then方法异步使用及async/await 异步使用总结,需要的朋友可以参考下
    2023-01-01
  • 详解在vue-cli项目中安装node-sass

    详解在vue-cli项目中安装node-sass

    本篇文章主要介绍了详解在vue-cli项目中安装node-sass ,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • Vue.js每天必学之表单控件绑定

    Vue.js每天必学之表单控件绑定

    Vue.js每天必学之表单控件绑定,如何在表单控件元素上创建双向数据绑定,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • Nuxt pages下不同的页面对应layout下的页面布局操作

    Nuxt pages下不同的页面对应layout下的页面布局操作

    这篇文章主要介绍了Nuxt pages下不同的页面对应layout下的页面布局操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • vue 调用浏览器摄像头实现及原理解析

    vue 调用浏览器摄像头实现及原理解析

    这篇文章主要为大家介绍了vue调用浏览器摄像头实现及原理解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • Vue移动端用淘宝弹性布局lib-flexible插件做适配的方法

    Vue移动端用淘宝弹性布局lib-flexible插件做适配的方法

    这篇文章主要介绍了Vue移动端用淘宝弹性布局lib-flexible插件做适配的操作方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05

最新评论