SDK 打包优化
提示
- 统一封装:MSE 硬解码 & IOS 软解码,解决了原有的两份类似代码并做了升级优化;
- 完善技术文档:降低团队协作沟通成本以及开发难度。
一、技术栈:
- 打包工具:rollup / gulp。
- rollup 主要整体打包 js 代码;
- gulp 主要打包 ios 的 worker 文件及依赖,还有移动其他文件(比如*.wasm)。
- 核心点(模块化):ES + Typescript。
二、目录简介:
- main.ts: 入口文件
- dep 文件夹:
- aac.js:音频相关文件,已将原有 aac.js 进行【ES 模块化】导出调整;
- config.ts:SDK 本身配置文件,包含软硬解码所有全局变量数据;
- extra.ts:暴露给第三方游戏公司的相关配置文件,包括全局状态等;
- helper.js:解码相关的工具类函数;
- jmuxer.js:MSE 硬解码文件;
- keycode.ts:键盘透传配置文件;
- pcm-player.js:音频相关文件;
- utils.ts:辅助工具类函数,比如【防抖函数】、【手机设备判断】等;
- webgl.js:IOS 软解码相关文件。
三、打包命令:
- npm i:安装依赖;
- npm run build: 打包命令 --> 生成 【dist】文件夹
- 将 【dist】文件夹里面的文件 copy 到 【sdk-mse-vue3-rollup】项目中的 【public/sdk/minjs】目录下即可。
- 运行 【sdk-mse-vue3-rollup】查看 软硬解码 的页面推流效果。