# LivePlayer **Repository Path**: vesper0407/live-player ## Basic Information - **Project Name**: LivePlayer - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-03-25 - **Last Updated**: 2022-04-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 新媒体服务系统 ## 部署 ### 部署流程 1. 安装anywhere或者 [http-server](https://urlify.cn/VFNrqa) 配置服务器,并启动 2. 安装Chrome浏览器,并在`chrome://flags`中打开有关webGL与WebXR相关选项,以便于HMD交互 3. 输入对应网址(需要先[处理视频](#video)然后构建对应文件),调整至对应的json配置文件,播放 :star: 如果没有音频需要注意使用 `"audio": ""` ### 相关工具与框架 1. [dash.js](http://reference.dashif.org/dash.js/nightly/samples/dash-if-reference-player/index.html) - For adaptive bitrate streaming via [DASH](https://reference.dashif.org/dash.js/latest/samples/index.html). 2. [three.js](https://threejs.org/docs/) - For 3D rendering, with CSS3DRenderer.js so far (WebXR not supported). 3. [A-Frame](https://techbrood.com/aframe/introduction/) - For 3D rendering ([WebXR API](https://developer.mozilla.org/en-US/docs/Web/API/WebXR_Device_API) supported for any videos based on VP9). 4. [Angular.js](https://angular.cn/) - For data virtualization and code optimization. 5. sensitive segmentation suites - For video's content analytics. ## 文件结构 - [process_shell](./process_shell/README.md): 处理视频的各种脚本文件夹 - ABR:实现各种ABR算法的js文件 - FoV:实现FoV预测逻辑,和后端通信 - updateCache:实现缓存更新 - aframe:集成WebXR的[aframe框架](./aframe/dist/aframe-master.js),版本是1.1.0 - app: 页面主要逻辑在[main.js](./app/main.js)中 - [dash.js](dash.js/dist/dash.all.debug.js): 实现每个tile的视频播放以及默认的ABR算法 - [Index.html](./Index.html): 播放器主界面布局 - [6_1_1.html](./6_1_1.html): 6个面,每个面1个tile的html文件,相当于6个dash播放器 - [6_2_2.html](./6_2_2.html): 6个面,每个面4个tile的html文件,相当于24个dash播放器 - [6_3_3.html](./6_3_3.html): 6个面,每个面9个tile的html文件,相当于54个dash播放器 - [default.json](./default.json): 设置每个tile位置的默认json文件 - [package.json](./package.json): 安装依赖的配置文件 ##
:star: **three.js**:[matrix4的顺序问题](https://github.com/mrdoob/three.js/blob/00a692864f541a3ec194d266e220efd597eb28fa/src/math/Matrix4.js#L24) 用three.js自带的比较麻烦,所以自己构造js函数完成四元数相关的矩阵运算,参考`aframe-mater.js`中的`multiply: function(a, b)`函数
## 下载数据以及改变样式
### 启动
- npm run startVR
### downloadRecord button
- 下载当前存储的比特率等级、吞吐量、rebuffer时间等信息
- 观看时间较短的时候(<5s)不让下载
- 具体可见 https://gitee.com/vesper0407/dash-front/blob/master/README.md
### style update
- update the style of chart to display info
- [fastswitchenabled](http://cdn.dashjs.org/latest/jsdoc/module-Settings.html)
### fix git issues
https://stackoverflow.com/questions/5181845/git-push-existing-repo-to-a-new-and-different-remote-repo-server