普通文件上传、大文件切片、视频转m3u8,上传minIO or OSS
效率说明: 1G文件切片上传5-10秒,1G视频转码10S左右,视频切片上传20S左右(以上数据全取决于个人带宽和服务器)
普通文件上传并存储于OSS or MinIO等文件服务器
| 接口 | 请求方式 | 参数 | 说明 | | --- | --- | --- | --- | | /uploadFile | POST | file | 文件上传 |
1、前端进行切片后调用uploadSlices进行异步上传至服务器本地
2、上传结束后调用uploadMerge进行文件合并
3、文件合并后,后端调用MinIO(自动切片)or OSS(手动切片)完成上传
| 接口 | 请求方式 | 参数 | 说明 | | --- | --- | --- | --- | | /uploadSlice | POST | file、guid、chunk | 切片文件+随机id+切片数 | | /uploadMerge | POST or GET | guid、fileName | 随机id+文件名 |
1、前端进行视频整个上传
2、后端接收视频后调用ffmpeg,将文件转为m3u8格式,后存储于本地
3、多线程上传到MinIO or OSS
| 接口 | 请求方式 | 参数 | 说明 | | --- | --- | --- | --- | | /uploadVideo | POST | file | 视频文件 |
1、视频文件前端切片调用切片接口接收uploadSlice
2、上传结束后调用视频文件合并接口进行文件合并
3、文件合并结束后调用ffmpeg进行切片
4、且片后多线程上传至MinIO or OSS
| 接口 | 请求方式 | 参数 | 说明 | | --- | --- | --- | --- | | /uploadSlice | POST | file、guid、chunk | 切片文件+随机id+切片数 | | /uploadVideoMerge | POST | guid、fileName | 切片id+视频文件名 |
1、视频文件前端切片
2、创建socket连接
3、发送切片文件,并合并
4、且片后多线程上传至MinIO or OSS
| 接口 | 请求方式 | 参数 | 说明 | | --- | --- | --- | --- | | /file/{guid}' | ws | file、guid、chunk | 切片文件+随机id+切片数 |