复习视频系统的设计, 下面是我思考的一些life cycle
- 一般视频上传service 是本地先填写各种description, tag, 然后在local (phone, 网页) 做最初级的validation 后, 将一些meta data 信息发给(metadata service), front service 返回一些 object storage 的url, video Id(这里的video id 是应该由client 生成呢, 还是由metadata service 生成)
- local 客户端基于返回的url, 对上传视频, 问题是在这一部, 视频 应该是分成很多个segment 分别上传的
- 上传成功后, local 的客户端会给metadata service更新视频的status, metadata service会基于最新的status 去trigger transcode service
问题是,
-
第三步trigger transcode service 是否需要等 同一个视频的所有segment 都上传完再开始process, 还是但凡有segment 成功上传, 就trigger 基于这个segment的transcode process,( 感觉应该是个trade off)
-
还有就是如果segment 确实是由client 来做的, 在transcode 那一步是否还会针对segment 作进一步的 分段处理
-
最后视频被编辑完, 整合以后(packaging service ), 还是会存在S3 里, 那么最初从client 那里上传的视频是否还需要保留呢
上述理解不知是否正确, 求解惑