# 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/)