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