中级农民
- 积分
- 110
- 大米
- 颗
- 鳄梨
- 个
- 水井
- 尺
- 蓝莓
- 颗
- 萝卜
- 根
- 小米
- 粒
- 学分
- 个
- 注册时间
- 2014-11-7
- 最后登录
- 1970-1-1
|
讲一下,现在on demand的视频都是怎么做的。现在的视频点播都是基本都是基于html 5的video tag和MSE buffer来做的。通过http协议把视频音频分割成的一个个小的segment发送给用户,然后在用户的设备上进行decode。可以支持不同的bitrate,codec。视频的传输协议,有多种,常见的HLS,DASH。一般会定义视频segment的格式,manifest。客户端点接收到manifest就会根据里边的索引去请求音视频片段。当然需要前端player的支持。
如果你想创建一个简单的on demand的视频service,其实你只需要一个http服务器。然后把segment好的视频放上去,然后创建一个html页面,潜入video player,把视频的url指向你的manifest就可以了。
视频的处理非常的复杂。需要先使用ffmpeg以及不同的bitrate,codec,去encode视频。常见的codec就是h264和vp9。然后视频需要使用工具来进行segment,产生音视频片段和索引文件。之后放到http服务器上。
所以你需要:
1. upload的service,upload之后你需要有一个pipeline 来对视频进行一系列的处理。比如使用ffmpeg来encode,然后对视频进行segment处理。直到产生所需要的目标音视频文件。
2. 你需要一个 distribution service,把这些产生的文件distribute到不同的region。
3. http服务器,相应用户请求,传输文件给用户。可能需要负载均衡,保证可用性。
4. 可能还需要edge service,来实现一些热门视频的缓存。
大概这些吧。但是每个环节展开说,都是相当的复杂。
|
|