即时消息技术剖析与实战
袁武林
微博研发中心技术专家
24187 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 25 讲
即时消息技术剖析与实战
15
15
1.0x
00:00/00:00
登录|注册

15 | CDN加速:如何让你的图片、视频、语音消息浏览播放不卡?

实现视频的流加密
服务端支持Range分片获取
格式信息和关键帧信息在文件流的头部
HLS协议
CDN下载时的访问链路
借助长连接通道,对体积较小的音频和缩略图进行实时推送
部分提前加载
H.265转码
WebP和渐进式JPEG
分辨率自适应
支持边下边播的前提条件
通过“流加密”的方式来提供私密性的保障
对于私密性要求极高的场景
针对超高热度的大型聊天室
通过CDN加速
推流
预加载
图片压缩和视频转码
边下边播和拖动播放
使用CDN如何保障消息私密性
CDN预热
让用户离资源更近
提升用户浏览图片和播放视频体验
CDN加速

该思维导图由 AI 生成,仅供参考

你好,我是袁武林。
上一讲,我从即时消息场景中多媒体消息的上传环节出发,介绍了业界常用的几种提升用户上传体验的优化手段。
那么这节课,我会从播放的角度出发,带你了解在浏览和播放图片、视频、语音等多媒体消息时,如何避免灰图和卡顿的问题,以及在节省流量方面,业界都有哪些比较常见的优化策略。

CDN 加速

提升用户浏览图片和播放视频体验的一个有效办法就是:让用户离资源更近。
比如说,北京的用户可以从北京的机房下载图片,而广东的用户可以从广东的节点机房来下载图片,这样让用户和资源实现物理位置上的相邻,以此降低远程访问的耗时,提升下载性能。
业界常用的一种手段,就是通过 CDN(Content Delivery Network,内容分发网络)对图片和音视频进行加速,来提升用户播放体验。
所谓的 CDN 加速技术,就是将客户端上传的图片、音视频发布到多个分布在各地的 CDN 节点的服务器上,当有用户需要访问这些图片和音视频时,能够通过 DNS 负载均衡技术,根据用户来源就近访问 CDN 节点中缓存的图片和音视频消息,如果 CDN 节点中没有需要的资源,会先从源站同步到当前节点上,再返回给用户。
CDN 下载时的访问链路你可以参考下图:
通过这种资源冗余的方式,既能显著提高用户访问的响应速度,也能有效缓解服务器访问量过大带来的对源存储服务的读写压力和带宽压力。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

CDN加速技术是提升用户浏览图片和播放视频体验的有效手段。通过让用户离资源更近,CDN能够降低远程访问的耗时,提升下载性能。CDN加速技术通过资源冗余方式,提高用户访问的响应速度,缓解服务器访问量过大带来的压力。在特殊场景中,如超高热度的大型聊天室,采用CDN预热方式可以有效减轻源站的压力。然而,对于私密性要求极高的场景,CDN的精细化控制能力有限,因此在这些场景中是否有必要使用CDN需要仔细考虑。在保障消息私密性方面,可以通过流加密的方式来提供私密性的保障,比如使用HLS协议进行视频加解密。此外,边下边播策略也是一种常见的优化方案,能够提高用户的播放体验。通过对格式信息和关键帧信息的合理处理,以及服务端对Range分片获取的支持,可以实现边下边播和拖动快进的功能。 图片压缩和视频转码是另一种优化下载性能的策略。通过分辨率自适应、WebP和渐进式JPEG等方式对图片进行压缩,可以提升下载性能。而采用H.265转码可以在保证画质的前提下降低带宽成本和省流量。预加载和推流也是优化策略之一,能够提升用户的播放体验。总的来说,即时消息并不是一个独立存在的领域,而是多个领域的技术的大融合。针对多媒体消息的下行,有多种技能树,包括CDN加速、流加密、图片压缩、视频转码、预加载和推流等。随着技术的发展,各种新的优化技术层出不穷,而且针对多媒体消息上传和下载的优化,很多还涉及到深层次的音视频编解码和图片压缩算法的实现。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《即时消息技术剖析与实战》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(10)

  • 最新
  • 精选
  • clip
    给资源设置带有过期时间的访问 token,服务端经过鉴权后向 CDN 服务申请对应资源的访问 token 然后给客户端下发带有访问 token 的资源链接,客户端用这个带有 token 的链接才能在有限时间向 CDN 获取资源。如果资源链接过期可以通过上面的方式重新获取。

    作者回复: 嗯,时间戳防盗链也是一种不错的方式,大部分场景下是够用的。

    2019-09-30
    14
  • 刘丹
    现在CDN都支持鉴权吧,也就是边缘计算。用户在源站登录后,拿到一个token,让CDN检查这个token是否正确。

    作者回复: 嗯,有些cdn是支持鉴权,每次下载前先通过源站鉴权。另外,短时间的时间戳防盗链也是一个选择。

    2019-09-30
    9
  • 那时刻
    存储文件夹设置权限?

    作者回复: 这个可能不太好实现,比如群里的图片,这个群里的所有用户都有权限查看。实际上cdn通用的时间戳防盗链也是一个可选的方案 可以了解一下。

    2019-09-30
    2
  • Geek_e986e3
    老师想问问 cdn多图片这种怎么保证权限呢?我能想到的类似mp4视频。做一个定制版的图片浏览。还有别的更优雅的方式吗?

    作者回复: 可以考虑时间戳防盗链和cdn鉴权,不过貌似cdn鉴权不是所有cdn都支持的通用功能。

    2019-10-06
    1
  • 蛮野
    前一篇提到图片视频这类资源会通过文件传输通道与业务消息通道分开,减少传输次数,理论上业务层没有收到图片的数据流,如果要从服务端长连接推送缩略图,业务服务器需要先下载缩略图才能进行推送吧?

    作者回复: 是的,会通过长连接通道下推缩略图。

    2019-10-11
  • 传输加密:hls,rc4, 图片压缩优化:WebP,渐进式JPEG, 视频编码优化:H.265,多媒体技术层出不穷,老师有这方面的书籍推荐吗

    作者回复: 抱歉,不是这方面的专家哈,乱推荐怕误导了你。

    2019-09-30
  • Gangan
    腾讯鱼翅:http://www.52im.net/thread-675-1-1.html
    2022-01-26
    1
  • 极客雷
    听说过微信C2C CDN吗
    2021-05-30
  • tm1234
    请问老师预加载是通过长链接通道进行的吗?
    2020-04-23
  • 第三方访问,用oauth,普通的访问,用session或cookie和token
    2019-09-30
收起评论
显示
设置
留言
10
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部