vue 引用 tcplayer 做直播( 俩个例子,都可以用。替换直播地址即可,后端推流,前端观看。 )
例子一比例子二更加容易被理解。另外 m3u8 也支持 webrtc 开头的直播地址。
补充JS 得下载到本地,自行引入:
https://imgcache.qq.com/open/qcloud/live/webrtc/js/TXLivePusher-1.0.0.min.js
https://web.sdk.qcloud.com/player/tcplayerlite/release/v2.4.1/TcPlayer-2.4.1.js
例子一:
<template>
<!-- 测试-->
<div id="palyback">
<div :class="{'else': onswitch}">
<div id="player-container-id"></div>
</div>
<!-- <div :class="{'else': !onswitch}">
<div id="player-container"></div>
</div> -->
<!-- <div class="box-title" @click="onchange">切换</div> -->
</div> </template> <script>
import { TcPlayer } from '@/common/TcPlayer-module-2.4.1'
import { TXLivePusher } from '@/common/TXLivePusher-1.0.0.min'
export default {
data() {
return {
player: null,
// onswitch: false
}
}, mounted() {
this.playVideo()
}, methods: {
playVideo() {
document.getElementById('player-container-id').innerHTML = ""
this.player = new TcPlayer('player-container-id', {
"m3u8": 'webrtc://pull.wiseuc.com/live/test', //请替换成实际可用的播放地址
"autoplay": true, //iOS下safari浏览器,以及大部分移动端浏览器是不开放视频自动播放这个能力的
// "coverpic": img,
"width": '100%', //视频的显示宽度,请尽量使用视频分辨率宽度
"height": '100%', //视频的显示高度,请尽量使用视频分辨率高度
"remember": 1
}); this.player = new TcPlayer('player-container', {
"m3u8": 'webrtc://pull.wiseuc.com/live/test', //请替换成实际可用的播放地址
"autoplay": true, //iOS下safari浏览器,以及大部分移动端浏览器是不开放视频自动播放这个能力的
// "coverpic": img,
"width": '100%', //视频的显示宽度,请尽量使用视频分辨率宽度
"height": '100%', //视频的显示高度,请尽量使用视频分辨率高度
"remember": 1
});
}, // // 切换
// onchange() {
// this.onswitch = !this.onswitch
// }
}
}
</script> <style scoped>
#palyback {
margin-top: 5%;
width: 70%;
height: 80%;
box-sizing: border-box;
padding-top: 2rem;
min-width: 59.375rem;
position: relative;
}
.else {
width: 400px;
position: absolute;
top: 3%;
right: 2%;
z-index: 100;
} .box-title {
width: 50px;
height: 40px;
line-height: 40px;
text-align: center;
background-color: pink;
position: absolute;
bottom: 3%;
right: 2%;
}
</style>
例子二:
<template>
<!-- 测试-->
<div id="palyback">
<div id="id_test_video" style="width:100%; height:auto;"></div>
</div>
</template> <script>
import { TcPlayer } from '@/common/TcPlayer-module-2.4.1'
import { TXLivePusher } from '@/common/TXLivePusher-1.0.0.min'
export default {
data() {
return {
player: null,
onswitch: false
}
}, mounted() {
this.getPlayUrl()
}, methods: { // 直播地址
getPlayUrl() {
this.init();
},
// 初始化 视频播放器
init(video, poster) {
// let width = this.getParams("width");
// let height = this.getParams("height");
var player = new TcPlayer("id_test_video", {
m3u8: 'webrtc://pull.wiseuc.com/live/test', //请替换成实际可用的播放地址
autoplay: false, //iOS 下 safari 浏览器,以及大部分移动端浏览器是不开放视频自动播放这个能力的
poster: { style: "cover", src: poster },
width: "480",
height: "211",
live: true,
// controls:'system', // default 显示默认控件,none 不显示控件,system 移动端显示系统控件 备注:如果需要在移动端使用系统全屏,就需要设置为system。默认全屏方案是使用 Fullscreen API + 伪全屏的方式例子
pausePosterEnabled: true,
volume: 0.5,
systemFullscreen: true,
x5_orientation: 0
});
document.getElementsByClassName("vcp-error-tips")[0].style.fontSize = "14px";// 错误码提示语字体大小,因引入了rem,默认字体大小为100px.
},
}
}
</script> <style scoped>
#palyback {
width: 100%;
height: 100%;
box-sizing: border-box;
padding-top: 2rem;
background-color: #1c302e;
display: flex;
align-items: center;
justify-content: center;
min-width: 59.375rem;
position: relative;
}
.else {
width: 400px;
position: absolute;
top: 3%;
right: 2%;
z-index: 100;
} .box-title {
width: 50px;
height: 40px;
line-height: 40px;
text-align: center;
background-color: pink;
position: absolute;
bottom: 3%;
right: 2%;
}
</style>
最后感谢俩位大神的帮助:
https://blog.csdn.net/ITLISHUANG/article/details/108167296
https://blog.csdn.net/qq_33462132/article/details/103684605
vue 引用 tcplayer 做直播( 俩个例子,都可以用。替换直播地址即可,后端推流,前端观看。 )的更多相关文章
- vue引用公用的头部和尾部文件。
我创建了一个header.vue和fotter.vue,用来做于网站的头部和尾部,每个页面都需要引用这两个,我以组件的方式,来引用这样只需要添加注册的组件就可以了. 第一步.在components文件 ...
- vue学习【一】vue引用封装echarts并展示多个echarts图表
大家好,我是一叶,经过一段时间对vue的学习,我打算把vue做一个系列,把踩过的坑和大家分享一下. 现在开始第一章:vue引用并封装echarts 在文章开始前,我先舔波echarts(真香).阿里的 ...
- perl 为什么要用引用来做对象呢?
perl 为什么要用引用来做对象呢? 因为一个重要的原因是 my 引用 脱离作用域,外部仍旧生效
- 如何利用vue和php做前后端分离开发?
新手上路,前端工程师,刚毕业参加工作两个月,上面让我用vue搭建环境和php工程师一起开发,做前后端分离,然而我只用过简单的vue做一些小组件的经验,完全不知道怎样和php工程师配合,ps: php那 ...
- vue spn如何做seo优化
vue spn如何做seo优化 突然来了一个需求,对已有的项目做SEO优化,WHAT? 总所周知,spn对seo不够优化,因而官方考虑到直接使用ssr 一个不算解决办法的办法prerender-spa ...
- vue 引用高德地图
vue 引用地图之傻瓜式教程(复制粘贴即可用) npm 下载 npm install vue-amap --save main.js 代码 import AMap from 'vue-amap'; V ...
- Android实现录屏直播(三)MediaProjection + VirtualDisplay + librtmp + MediaCodec实现视频编码并推流到rtmp服务器
请尊重分享成果,转载请注明出处,本文来自Coder包子哥,原文链接:http://blog.csdn.net/zxccxzzxz/article/details/55230272 Android实现录 ...
- 从后端到前端之Vue(一)写个表格试试水
目录: 1.脚本式开发. 2.工程化开发 3.工程化和脚本的区别 4.来个table试试水 4,1.目标 4.2.思路 4.3.设计与编码 4.4.效果 5.业务分离 6.功能拓展——个性化设置 ...
- 调用Live555接收RTSP直播流,转换为Http Live Streaming(iOS直播)协议
Live555接收RTSP直播流,转换Http Live Streaming(iOS直播)协议 RTSP协议也是广泛使用的直播/点播流媒体协议,之前实现过一个通过live555接收RTSP协议,然后转 ...
随机推荐
- 构建前端第9篇之(上)---Vue组件引入,使用
张艳涛写于2020-1-25日 一.想写下vue引入组件和插件的理解 今天是星期一,周末也看俩两天,在这个几天了,比较迷,主要是从开始学习import指令开始的,import 是es6的语法, imp ...
- Spring最简单构建一个后台{msg:"登录成功",code:200,data:null}
一.简介 {msg:"登录成功",code:200,data:null} 二.两种请求 如果严格msg code data也带"" @RestControlle ...
- 几百行代码写个Mybatis,原理搞的透透的!
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 Mybatis 最核心的原理也是它最便于使用的体现,为什么这说? 因为我们在使用 M ...
- 记录一次现网MySQL内存增长超限问题定位过程
问题现象现网物理机内存近几日内爆涨使用率超过了90%,可用内存从250G,降低到20G以下,报告警.服务器使用情况来看,并没有什么异常.除了QPS缓慢增长外. MySQL内存分配结构 定位这个问题,先 ...
- Hadoop 3.1.1 - Yarn 服务 - 快速开始
快速开始 本文描述了如何用 Yarn 服务框架在 Yarn 上部署服务. 配置和启动 HDFS 和 Yarn 组件 首先启动 HDFS 和 Yarn 的各个组件.为启用 Yarn 服务框架,添加以下参 ...
- Python小白的数学建模课-12.非线性规划
非线性规划是指目标函数或约束条件中包含非线性函数的规划问题,实际就是非线性最优化问题. 从线性规划到非线性规划,不仅是数学方法的差异,更是解决问题的思想方法的转变. 非线性规划问题没有统一的通用方法, ...
- CVPR2021 | Transformer用于End-to-End视频实例分割
论文:End-to-End Video Instance Segmentation with Transformers 获取:在CV技术指南后台回复关键字"0005"获取该论文 ...
- 工作中后端是如何将API提供出去的?swaggo很不错
工作中后端是如何将API提供出去的?swaggo很不错 咱们上一次简单分享了 GO 权限管理之 Casbin ,他一般指根据系统设置的安全规则或者安全策略 分享了权限管理是什么 Casbin 是什么 ...
- 线程优先级_priority
线程优先级_priority Java提供一个线程调度器来监控程序中启动后进入就绪状态的所有线程,线程调度器按照优先级决定应该调度哪个线程来执行 线程的优先级用数字表示,范围从1~10 Thread. ...
- 安鸾CTF Writeup SSRF03
SSRF03 题目URL: http://whalwl.host:2000/ 其中的弯路我就不多说了,直接上解题思路 方法和SSRF02类似都是找内网机器端口,继续用ssrf02 这道题的方法:htt ...