https://blog.youkuaiyun.com/weiyuefei/article/details/70257616
视频:
上传服务,转码服务,视频一致性MD5
视频转码技术及转码实现详解
https://wenku.baidu.com/view/32702108844769eae009eda2.html
直播
直播CDN它本身有怎样的特点?
首先它同样是做内容下沉,但不同于传统CDN,直播CDN分发的是实时流,而传统CDN分发主要是一些静态文件,比如页面、图片或者点播视频文件,这些静态资源一旦预先分发一次之后,就可以服务很多次的访问,而在直播CDN中用户看到的每一帧都是在很短的时间内产生,实时传输到每个用户的,因此直播CDN的核心任务就变成了保证主播和观众之间每一条链路都有稳定的传输速率,但稳定在我们目前所处的复杂网络环境中是特别难做的,举个例子,假如我的网络带宽很好,正常情况下有一百兆,那么我在看点播的时候一下就缓冲完了,即使中间出现一些波动也没关系,因为有很大的Buffer可以扛;但对于直播来说,只有很短时间的Buffer,一旦出现抖动就无法正常观看,这也是我们在直播CDN领域遇到的挑战。
直播特点:
饭可以乱吃,话不能乱说,。。。
HLS 其实是一个 “文本协议”
RTMP、FLV流媒体协议
流(stream): 数据在网络上按时间先后次序传输和播放的连续音/视频数据流。之所以可以按照顺序传输和播放连续是因为在类似 RTMP、FLV 协议中,每一个音视频数据都被封装成了包含时间戳信息头的数据包。而当播放器拿到这些数据包解包的时候能够根据时间戳信息把这些音视频数据和之前到达的音视频数据连续起来播放。MP4、MKV 等等类似这种封装,必须拿到完整的音视频文件才能播放,因为里面的单个音视频数据块不带有时间戳信息,播放器不能将这些没有时间戳信息数据块连续起来,所以就不能实时的解码播放。
https://blog.youkuaiyun.com/weiyuefei/article/details/70257616
FLV 理论上(除去网络延迟外),可以做到仅仅一个音视频 tag 的延迟。
相比 RTMP 的优点:
可以在一定程度上避免防火墙的干扰(如:有的机房只允许80端口通过)
可以很好的兼容HTTP 302跳转,做到灵活调度
可以使用HTTPS做加密通道
很好的支持移动端(Android,IOS)
秒开:
直播协议 http-flv
视频关键帧
每一秒视频至少需要使用 1 个关键帧
https://blog.youkuaiyun.com/cds9527/article/details/53302683
转码时控制GOP(关键帧的周期)
https://blog.youkuaiyun.com/chenyefei/article/details/53975952
非VIP试看三分钟
server->hash(uid, start, vip?-1:end), cdn check hash
拖拽: start=, 206
瓶颈:
磁盘IO,网络带宽,成本
https://wenku.baidu.com/view/0185fca8d1f34693daef3e68.html
https://wenku.baidu.com/view/d6c7f732b90d6c85ec3ac6df.html?from=search
https://wenku.baidu.com/view/a7a26031a6c30c2259019ef5.html?from=search