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协议,然后转 ...
随机推荐
- 【阅读笔记】Java核心技术卷一 #4.Chapter6
6 接口.lambda 表达式与内部类 6.1 接口 6.1.1 接口概念 接口绝不能含有实例域:但在接口中可以定义常量,被自动设为 public static final 接口中的所有方法自动地属于 ...
- 🔥 LeetCode 热题 HOT 100(81-90)
337. 打家劫舍 III 思路:后序遍历 + 动态规划 推荐题解:树形 dp 入门问题(理解「无后效性」和「后序遍历」) /** * Definition for a binary tree nod ...
- 如何给html元素的onclick事件传递参数即如何获取html标签的data
某些非text元素,如a.button等用于触发时间的标签可已将要传的数据放在一个属性中,如data,这个属性必须是不影响样式的,可以使用任意非html定义的名字命名属性,然后将数据传到属性中, &l ...
- QT常用控件(三)——自定义控件封装
引言 Qt已经提供了很多的基础控件供开发使用,而Qt原生的控件有时候并不能满足我们的需求,特别是在工业的运用上,比如我们需要一个日期时间的选择器,Qt虽然已经提供了原生的QDateTime控件,但这个 ...
- 开机时自动启动的AutoHotkey脚本 2019年07月08日19时06分
;;; 开机时自动启动的AutoHotkey脚本;; 此脚本修改时间 2019年06月18日20时48分;; 计时器创建代码段 ------------------------------------ ...
- POJ 1190 生日蛋糕题解
题目地址:http://poj.org/problem?id=1190 一道很有趣的搜索题--主要是剪枝-- 我弄了5个剪枝: 1.当前剩余层数>=上层半径,剪掉 2.当前剩余层数>=上层 ...
- Linux各目录及每个目录的详细介绍总结
Linux各目录及每个目录的详细介绍 [常见目录说明] 目录 /bin 存放二进制可执行文件(ls,cat,mkdir等),常用命令一般都在这里. /etc 存放系统管理和配置文件 /home 存放所 ...
- Windows影子用户创建与3389连接
#当获得一条shell后,可以创建一个影子用户,通过影子用户可以行驶正常用户的所有权限与功能,并且只可在注册表中被检测出来---(应急响应注册表很重要) 1.首先需要拥有权限创建一个Administr ...
- Android菜鸟进字节跳动,居然是看了这个......
谈谈我的真实感受吧- 程序员真的是需要将终生学习贯彻到底的职业,一旦停止学习,离被淘汰,也就不远了. 金三银四.金九银十跳槽季,这是一个千年不变的话题,每到这个时候,很多人都会临阵磨枪,相信不快也光. ...
- JavaScript学习06(操作BOM和表单)
操作BOM window 所有浏览器都支持 window 对象.它代表浏览器的窗口. 所有全局 JavaScript 对象,函数和变量自动成为 window 对象的成员. 全局变量是 window 对 ...