HLS、RTMP、HTTP-FLV
https://blog.csdn.net/liuyuqin1991/article/details/79310080
https://savokiss.com/tech/web-live-tech-with-vue.html
>1、HLS --> 移动端 .m3u8
>>url: "http://vdn-hls.xuetangx.com/xuetanglive/"+data.live_stream_id+"/index.m3u8"
type: "application/x-mpegURL"
>2、RTMP
>>依赖flash技术
url: "rtmp://vdn-rtmp.xuetangx.com/xuetanglive/"+data.live_stream_id
type: "rtmp/flv"
```
//初始化视频
let player = videojs('container',{
//像data-setup那样设置的参数
},function onPlayerReady(){
//视频播放器初始化完毕,就会调用这个回调函数
this.src({
src: "rtmp流地址",
type:'rtmp/flv'
});
});
```
>3、HTTP-FLV --> .flv
>>依赖flash技术.
也是当前主流直播网站所用的格式
url: "http://vdn-flv.xuetangx.com/xuetanglive/"+data.live_stream_id+".flv"
type: "video/x-flv"
> 4、切换不同种类视频源
>>
```
player.ready(function() {
var myPlayer = this;
myPlayer.reset();
if (scope.type == 'hls') {
console.log('hls');
myPlayer.src({ type: "application/x-mpegURL", src: scope.url });
} else {
myPlayer.src({ type: "rtmp/flv", src: scope.url });
console.log('rtmp');
}
myPlayer.load(scope.url);
myPlayer.play();
});
我们借助 player.src() 方法就是实现,根据不同的类型设置 src 的type 就可以。但是每次我们更改地址的时候,记得调用一下 player.reset() 方法会重置播放器 。要不会有问题,切换不了。
```
搭建rtmp直播流服务之4:videojs和ckPlayer开源播放器二次开发(播放rtmp、hls直播流及普通视频)
https://blog.csdn.net/eguid_1/article/details/51898912
### videojs常用api
/*
* 根据videoJS官方文档编写的播放器常用操作
*/
```
//获取当前类型
function getCurrentType(idnex) {
return idnex.currentType();
}
//获取当前播放地址
function getCurrentAddr(index) {
return index.currentSrc();
}
//获取当前播放时间
function getCurrentTime(index) {
return index.currentTime();
}
//获取当前网络状态
function networkState(index) {
return index.networkState();
}
//修改播放地址
function setsrc(index, url, type) {
index.src({
type : type,
src : url
});
}
//重载播放器
function reset(index) {
index.reset();
index.load();
}
//播放
function play(index) {
index.play();
}
//暂停
function pause(index) {
index.pause();
}
```
- CSS
- 长度单位
- 问题们
- 背景渐变
- 禁止用户选中
- 给富文本重置样式
- 移动端常见小问题
- bfc
- flex
- 父元素没有包裹子元素的margin
- VUE
- 原理
- 生命周期
- vue-router原理
- 动态修改路由参数
- 在新窗口打开页面
- 连跳两个页面
- 跳转页面自动回到顶部
- vue+webpack项目,停留一段时间报错
- vue 路由去掉#
- webpack编译目录设置
- config配置
- HTTP
- HTTP状态码
- HTTP1.0,HTTP1.1,HTTP2.0
- axios和ajax的区别
- 模块化
- git
- 比较
- 查看远程仓库地址
- git flow
- 比较分支的不同并保存压缩文件
- Tag
- 回退
- node版本管理
- npm
- 确定用户是否在当前页面
- 前端下载文件
- 只能在微信中访问
- 下载图片
- webpack修改路径为相对路径
- 打开新页面-被浏览器拦截
- textarea高度随内容变化
- Debian/Ubuntu 安装shadowsock
- 垂直居中
- video
- 去掉ios原始播放大按钮
- 前端直播
- ios系列
- js弹出错误代码
- nginx在MAC上的安装、启动、重启和关闭
- 解析latex格式的数学公式
- Mac 新建unix可执行文件
- 正则-格式化a链接
- 原型
- unicode解析
- vue+webpack打包优化
- 各种JS题
- ES6
- seo
- React
- 兼容性
- canvas
- zsh