抖音、快手、火山小视频等一系列 App使短视频录制已经成功热门的功能。阿里云短视频 SDK、趣拍云 SDK、涂图 SDK、七牛短视频 SDK等市面上的短视频 SDK 均收费昂贵。 看到有人给我 star,请期待我后续更新,把代码抽离出来。
- 短视频录制
- 不含第三方收费 SDK,使用 GPUImage 开源框架和科大讯飞免费的离线人脸识别 SDK开发
- 支持延迟拍摄、录制中拍照、切换摄像头
- 仿全民 K 歌,原唱伴唱切换,歌词滚动显示
- 录制实时美颜,滤镜可调节参数、强弱程度
- 实时切换背景音乐、调整音量
- 音视频分离录制,防止黑屏
- 录制断点续拍、多段合成(可实现回删功能)
- 实时添加动态固定或人脸贴纸
- 多视频合成
- 多轨道合成
- 上传后文件预览播放
- 视频转码便于网络传输
- 自己制作人脸贴纸、动态贴纸,png 序列帧配合 json配置 文件打包(可自主实现加密),简单易懂
贴纸资源采用zip打包压缩制作,json文件配置,配置格式如下:
{
"fixed_stickers": [
{
"sticker_directory": "flower",
"filename_format": "flower_%zd",
"frame_count": 100,
"positionX": 0.5,
"positionY": 1,
"anchorpointX": 0.5,
"anchorpointY": 1,
"width": 540,
"height": 200,
"animation_duration": 5,
"display_width": 1,
"display_height": 0
}
],
"face_stickers": [
{
"sticker_directory": "cap",
"filename_format": "cap_%zd",
"frame_count": 25,
"face_type": "head",
"width": 330,
"height": 220,
"animation_duration": 3
}
]
}
类型 | 参数名称 | 说明 |
---|---|---|
固定贴纸/人脸贴纸 | sticker_directory | 贴纸资源所在目录 |
固定贴纸/人脸贴纸 | filename_format | 名称格式化 |
固定贴纸/人脸贴纸 | frame_count | 帧数 |
固定贴纸 | positionX | 坐标值x(取值0~1) |
固定贴纸 | positionY | 坐标值y(取值0~1) |
固定贴纸 | anchorpointX | 锚点x(取值0~1) |
固定贴纸 | anchorpointY | 锚点y(取值0~1) |
固定贴纸/人脸贴纸 | width | 贴纸原始宽度 |
固定贴纸/人脸贴纸 | height | 贴纸原始高度 |
固定贴纸 | display_width | 相对屏幕宽度的展示宽度(0为自动) |
固定贴纸 | display_height | 相对屏幕高度的展示高度(0为自动) |
固定贴纸/人脸贴纸 | animation_duration | 完成一次动画的时长 |
人脸贴纸 | face_type | 人脸识别类型(face、nose、head、mouth) |