# mp4box-ts **Repository Path**: null_377_7059/mp4box-ts ## Basic Information - **Project Name**: mp4box-ts - **Description**: defined mp4's boxes by typescript and some userful tools - **Primary Language**: TypeScript - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-08-27 - **Last Updated**: 2024-09-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # mp4-typescript #### 介绍 defined mp4's boxes by typescript and some userful tools #### 软件架构 mp4box-ts { ...utils ...structures } mp4box-ts/boxes { AVCC, AVC1 ... } #### 安装教程 npm install mp4box-ts --save #### 使用说明
字节数组 转 mp4box
``` const bytesStr = `00 00 00 21 61 76 63 43 01 64 00 1F FF E1 00 0A 27 64 00 1F AC 56 80 50 05 B9 01 00 04 28 EE 3C B0`; const dataArray = hexStringToUnit8Array(bytesStr); const box = AVCC.parse(dataArray); console.log(box); ```
mp4box 转 Unit8Array
``` const avccBox = new AVCC(); avccBox.configurationVersion = 1; avccBox.AVCProfileIndication = 100; avccBox.profileCompatibility = 0; avccBox.AVCLevelIndication = 31; avccBox.lengthSizeMinusOne.setValue(3); avccBox.numOfSequenceParameterSets.setValue(1); avccBox.SPS = [AVCCParameters.parse(Buffer.from("27 64 00 1F AC 56 80 50 05 B9".replace(/\s/g, ""), "hex"))]; avccBox.numOfPictureParameterSets = 1; avccBox.PPS = [AVCCParameters.parse(Buffer.from("28 EE 3C B0".replace(/\s/g, ""), "hex"))]; console.log(Buffer.from(avccBox.getBuffer())); ``` #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)