JS截取腾讯视频和去除视频广告
一:腾讯视频截取
H5视频播放除了video标签以外,还有iframe嵌套视频
项目需求是用户输入腾讯视频的html链接,如
https://v.qq.com/x/page/y0116k2vspw.html
需要把这个html转化为视频,在这里最最关键的一点就是视频videoId的获取,正常情况下videoId就是.html前面字段

用JS把视频ID拿出来
var startIndex=data.info.video.link.lastIndexOf('/') //data.info.video.lonk是后台返回的用户输入的视频链接
var video=data.info.video.link.substr(startIndex+)
var endIndex=video.split('.')[] //最后得到视频的videoid(endindex=y0116k2vspw)
接下来及就是JS调用腾讯统一播放器(参考地址 https://www.jianshu.com/p/081a4b1cdfc8)
一:Version1.0
1、
首先引入<script language="javascript" src="http://qzs.qq.com/tencentvideo_v1/js/tvp/tvp.player.js" charset="utf-8"></script>
2、参数配置
<script>
var video = new tvp.VideoInfo(); //初始化视频对象
video.setVid(vid); //向视频对象传入视频vid ,这个是点播的时候使用,vid就是视频的videoid
//video.setChannelId(cnlid); //向视频对象传入直播频道cnlid ,这个是直播的时候使用 /*点播跟直播的区别主要是:
点播是通过video.setVid(vid);
而直播是通过video.setChannelId(cnlid); 设置直播id
点播需要player.addParam('type','2');或者省略,因为默认播放器为点播状态;
直播必须通过player.addParam('type','1');设置播放器为直播状态,。
*/ var player = new tvp.Player(width, height); //初始化播放器对象并设置宽、高,可以直接写具体数字,页可以通过JS动态改变
player.setCurVideo(video); //设置播放器初始化时加载的视频
player.addParam('type',''); //设置播放器为直播状态,1表示直播,2表示点播,默认为2
player.addParam("wmode","transparent"); //设置透明化,不设置时,视频为最高级,总是处于页面的最上面,此时设置z-index无效
player.addParam('autoplay',false); //是否自动播放
player.addParam('pic',''); //播放器默认图,当autoplay=0时有效;不传入则使用视频截图
player.addParam('showend',) //结束时是否有广告
player.addParam("adplay","0"); //去除广告 ,默认 1 是显示广告,0是屏蔽广告
player.addParam("player","html5"); //播放器类型为html5,还可以设置为控件播放,flash播放,以及auto 自动选择等
player.addParam("flashskin", "http://imgcache.qq.com/minivideo_v1/vd/res/skins/TencentPlayerMiniSkin.swf"); //flash播放器精简皮肤;不传入则使用默认皮肤
player.addParam("loadingswf", "http://imgcache.qq.com/minivideo_v1/vd/res/skins/web_small_loading.swf"); //加载视频时的swf动画; 不传入则使用默认样式
player.write(DOMid); //输出播放器,DOMid为播放器的容器
//events
player.onplaying = function(vid) {
console.log(vid);
}
player.onended = function(vid) {
console.log(vid);
}
</script>
二:Version2.0
1、
首先引入<script language="javascript" src="http://imgcache.qq.com/tencentvideo_v1/tvp/js/tvp.player_v2.js" charset="utf-8"></script>
2、参数配置
<script>
var video = new tvp.VideoInfo();
video.setVid(vid);
var player =new tvp.Player();
player.create({
width: width, //播放器的宽度
height: height, //播放器的高度
video: video, //默认的视频对象
modId: DOMid, //默认的 DOM 元素 ID
autoplay: false,
pic: imgURL
});
player.onplaying = function (vid){
console.log(vid)
}
player.onallended = function (vid){
console.log(vid)
};
</script>
完美去除腾讯视频广告
JS截取腾讯视频和去除视频广告的更多相关文章
- 【转】Android 破解视频App去除广告功能详解及解决办法总结
Android 破解视频App去除广告功能 作为一个屌丝程序猿也有追剧的时候,但是当打开视频app的时候,那些超长的广告已经让我这个屌丝无法忍受了,作为一个程序猿看视频还要出现广告那就是打我脸,但是我 ...
- PHP生成类似类似优酷、腾讯视频等其他视频链的ID
不知道你注意了没有,类似优酷.腾讯视频等其他视频链接似乎类似这样的 http://v.youku.com/v_show/id_XNjA5MjE5OTM2.html 注意id_xxx那段,是不是看不懂了 ...
- 云-腾讯云-实时音视频:实时音视频(TRTC)
ylbtech-云-腾讯云-实时音视频:实时音视频(TRTC) 支持跨终端.全平台之间互通,从零开始快速搭建实时音视频通信平台 1.返回顶部 1. 腾讯实时音视频(Tencent Real-Time ...
- 【全网免费VIP观看】哔哩哔哩番剧解锁大会员-集合了优酷-爱奇艺-腾讯-芒果-乐视-ab站等全网vip视频免费破解去广告-高清普清电视观看-持续更新
哔哩哔哩番剧解锁大会员-集合了优酷-爱奇艺-腾讯-芒果-乐视-ab站等全网vip视频免费破解去广告-高清普清电视观看-持续更新 前言 突然想看电视,结果 没有VIP 又不想花钱,这免费的不久来啦. 示 ...
- 如何使用 iMovie 去除视频里面的声音
如何使用 iMovie 去除视频里面的声音 视频去除背景音 iMovie https://www.apple.com/imovie/ https://books.apple.com/book/id14 ...
- android平台短视频技术之 视频编辑的经验分享.
android平台短视频技术之 视频编辑的经验分享. 提示一: 各位看官,这里分享的是视频编辑,即剪切/拼接/分离/合并/涂鸦/标记/叠加/滤镜等对视频的编辑操作.不是流媒体网络播放等功能,请注意. ...
- 头条小视频和西瓜视频signature签名算法
点击上方↑↑↑蓝字[协议分析与还原]关注我们 "分析今日头条内小视频和西瓜视频分享后浏览器打开所用的signature签名算法." 上月写的一篇关于使用微信的wxid加好友的文章, ...
- js使用工具将表单封装成json字符串传到后台,js截取字符串(学生笔记)
<script src="js/jquery.min.js"></script> <script src="https://cdn.boot ...
- iOS - 直播流程,视频推流,视频拉流,简介,SMTP、RTMP、HLS、 PLPlayerKit
收藏笔记 1 . 音视频处理的一般流程: 数据采集→数据编码→数据传输(流媒体服务器) →解码数据→播放显示1.数据采集:摄像机及拾音器收集视频及音频数据,此时得到的为原始数据涉及技术或协议:摄像机: ...
随机推荐
- QGridLayout栅格布局函数参数设置
对于PyQt5的栅格布局函数,主要是实现多个控件之间的栅格布局形式,一般有两种设置方式: 1.Qdesigner布局设置时直接使用栅格布局函数,便可以把所需要布局的控件直接按照栅格方式来进行布局: 2 ...
- idea 启动java项目报错 java: 程序包javax.servlet.http不存在
File -- Project Structure
- Kubernetes的service资源介绍
service 三种工作模式:userspace.iptables.ipvs 删除手动创建的service [root@master ~]# kubectl delete svc redis serv ...
- Kubernetes的控制器之Deployment的定义
Deploy 的控制器定义参数介绍 [root@master manifests]# kubectl explain deploy KIND: Deployment VERSION: extensio ...
- DDL与DML的区别
DML(Data Manipulation Language)数据操纵语言: 适用范围:对数据库中的数据进行一些简单操作,如insert,delete,update,select等. DDL(Data ...
- Maven与Nexus
开始在使用Maven时,总是会听到nexus这个词,一会儿maven,一会儿nexus,当时很是困惑,nexus是什么呢,为什么它总是和maven一起被提到呢? 我们一步一步来了解吧. 一.了解Mav ...
- Cisco AP-ROMMON升级AP镜像
Rommon is Cisco bootloader for their Router devices >>>ROMMON是思科设备的引导加载程序while U-boot is a ...
- subprocess.run()用法python3.7
def run(*popenargs, input=None, capture_output=False, timeout=None, check=False, **kwargs): "&q ...
- Git基本指令
Git学习笔记 git //检查git是否安装 sudo apt-get install git git config --global user.name "dzq" git c ...
- Java日期时间API系列9-----Jdk8中java.time包中的新的日期时间API类的Period和Duration的区别
1.Period final修饰,线程安全,ISO-8601日历系统中基于日期的时间量,例如2年3个月4天. 主要属性:年数,月数,天数. /** * The number of years. */ ...