CDN高级技术专家周哲: 深度剖析短视频分发过程中的用户体验优化技术点
发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,2018深圳云栖大会已经圆满落幕,在飞天技术汇-弹性计算、网络和CDN专场中,阿里云CDN高级技术专家周哲为我们带来了《海量短视频极速分发》的主题分享,带领我们从视频内容采集、上传、存储和分发的角度介
千家信息网最后更新 2025年02月05日CDN高级技术专家周哲: 深度剖析短视频分发过程中的用户体验优化技术点2018深圳云栖大会已经圆满落幕,在飞天技术汇-弹性计算、网络和CDN专场中,阿里云CDN高级技术专家周哲为我们带来了《海量短视频极速分发》的主题分享,带领我们从视频内容采集、上传、存储和分发的角度介绍整体方案,并且重点讲解短视频加速的注意事项和用户体验优化要点。
讲解从三个部分展开:短视频应用场景,阿里云短视频解决方案,阿里云对短视频用户体验优化的相关优化。
短视频应用场景
短视频比图片和文字包含更多的信息,在移动互联网普及的今天,短视频应用场景非常广泛。
一、社群分享场景
用户可以录制视频,进行特效编辑处理,上传到服务器,通过社区的方式分享给好友。
二、 电商场景
商家可以快速拍摄、制作商品的短片,把商品的介绍视频发给消费者,这样可以提高购买转化率。
二、IM聊天场景
在交流过程中,通过随拍随传的短视频,用户可以更生动的表达观点,更真实的传递情感
三、新媒体场景
区别于传统、单一的图文展示形态,短视频可以快速收集及发布新闻,一键呈现世界
四、体育赛事场景
集成短视频SDK后,用户可以在现场实时拍摄和剪辑,生成具有传播价值的短视频,通过分享来全网同步赛事
阿里云针对短视频的业务场景,提供了一整套技术解决方案。在主播端,提供了视频上传SDK和短视频SDK,在观众端提供视频播放SDK,在服务器端提供点播服务、OSS存储和CDN加速。
对于开发者来说,短视频解决方案的使用流程是这样的:首先主播端使用短视频SDK对用户的视频进行录制、特效处理和剪辑,然后将视频通过上传SDK上传到服务器端,在服务器端先通过点播服务进行转码以及视频处理,然后把处理好的视频存储到OSS上,做持久化保存。在播放端集成播放器SDK,播放器会向CDN请求资源,CDN如果有缓存会把缓存的数据发给客户端。如果CDN缓存没有数据会去OSS中拉取数据,在返回给客户端,并把数据缓存到CDN上。开发者使用这些技术组件,可以快速的开发短视频业务。
下面,我们逐一介绍解决方案的能力与特点。
解决方案中的视频SDK,包括短视频、上传和播放三个。短视频SDK包含人脸贴图、高级美颜的功能,在用户录制视频之后先进行本地美颜再进行上传,同时也提供专业滤镜、MV特效和裁剪压缩、添加音乐的功能,使视频剪辑大众化;上传SDK通过快速通道可以把视频传输到服务器端,支持断点续传、后台上传、多文件管理等功能;播放器SDK支持Android、IOS、flash、H5等多个平台、加密播放和安全下载等。
点播和存储服务,点播服务提供视频管理相关的功能,比如视频转码,窄带高清可以在相同的用户观感体验下,节约30%的带宽;云剪辑功能可以在线对视频进行编辑处理;同时点播服务提供丰富的数据统计,开发者利用阿里云提供的API访问实时数据。
同时,阿里云也在视频领域开放了AI技术,包括内容审核,降低违规风险;智能封面,对视频结构化处理和算法选取最优视频帧作为视频封面;标签预测,通过AI来识别视频中文字、图像、人物等信息,自动生成视频标签等。
基于短视频业务产生的海量数据,阿里云也提供了高可靠、强安全、低成本的存储服务。
为了应对短视频大规模的业务需求,阿里云CDN建设了大量的基础设施。
首先,阿里云CDN拥有全球1200多个节点,分布在全球各个国家和地区,贴近用户部署,使用户更快速的访问视频内容,使视频体验更好。同时,为了面对业务的突发流量,阿里云提供了超过80TB的带宽储备,为持续增长的业务保驾护航。并且,单节点缓存容量超过1PB,通过提供更大的缓存空间,来提升用户访问速度。
介绍完了解决方案之后,周哲老师又为大家介绍了阿里云在短视频领域的一些优化技术。
短视频用户体验关键指标
短视频用户体验的关键指标有首屏时间、播放卡顿和播放错误。
首屏时间是指在视频稳定播放期间,从用户点击播放到视频开始播放之间的时间差。首屏时间越长,会导致用户提前结束播放。
播放卡顿是指在播放过程中的不流畅情况,会严重影响用户体验。
播放错误是指用户播放视频时没有成功播放,或出现异常导致提前中断。
用户体验优化剖析
为了解决这些问题,我们对整个架构进行剖析。
首先,终端用户使用阿里云提供的视频SDK来请求调度服务器,调度服务器返回对应的节点IP,然后播放器通过CDN的节点IP来请求资源,CDN的边缘节点如果有缓存的话可以从本地发给播放器,如果没有缓存就去二级节点进行访问,二级节点没有缓存会去OSS或者用户源站拉取数据。
阿里云CDN有一级节点、二级节点的缓存,二级节点的作用是:
第一,做资源收敛,避免相同请求同时回源,减少源站压力
第二,离边缘节点接近,在边缘节点没命中的时候,能够更快的从二级节点获取到数据
第三,提供更大的存储空间,提高命中。
同时,阿里云对于整个播放过程,进行一些用户体验相关的数据打点,通过这些数据来进行分析,得到了一些优化点。
第一就是播放器,播放器是否优化决定了终端用户的观看质量。首先,我们对播放器SDK做了相关优化,比如,通过减少首次缓冲时间,可以设置在受到视频第一个P帧就开始解码播放;提供动态缓存大小,当出现网络抖动的时候,可以动态增加缓存大小,对数据进行预加载,通过这种方式来降低卡顿率;针对播放错误,播放器SDK实现了网络重试机制,来提供播放成功率。
第二个优化是针对调度系统,用户在访问边缘节点的时候,访问调度服务器,调度服务器返回的IP地址是不是最优的网络链路,这个很大程度上影响用户对于视频的下载速度。阿里云自研了智能调度系统,可以选择用户到边缘节点的最优链路,来反馈给客户端。
第三是阿里云提供非常多的网络节点覆盖,让边缘节点距离用户更近,来提升用户访问速度。
第四个优化点是在用户向CDN服务器获取数据时,当出现网络抖动的时候,会有下载速度降低情况产生,阿里云CDN针对TCP协议栈进行优化,通过更高效的协议栈算法来提升下载速度。
第五个优化点是开发者可以使用阿里云提供的窄带高清功能,来降低播放视频的带宽。
第六是用户在访问边缘节点的时候,如果请求在边缘节点MISS会直接回源,应时间变慢,而如果边缘节点命中,用户的下载的速度就和边缘节点缓存服务器的性能具有强关联性了,阿里云针对缓存服务器的性能做了很多优化,通过加大边缘服务器的空间和智能优化,来提升访问速率。
第七,阿里云也支持全链路监控,来提早发现问题,针对性优化,确保稳定服务
智能调度系统优化
这里详细介绍一下智能调度的优化,针对调度系统,阿里云做了五个方面的优化,第一个是精准的IP数据库会持续更新,基于第三方IP库数据、whois平台和淘宝手机用户在访问数据时的一些经纬度信息,会对IP库进行主动探测,基于这些维度的数据,进行计算和生成。IP库数据的准确性会对调度系统提供数据支撑。
第二个是提供HTTPDNS服务,用户通过localdns请求调度服务器,会遇到第一个问题是:localdns和用户ip位置有不匹配问题,会出现基于localdns调度时,调度系统看到的客户端ip和用户真实ip不一致,导致调度不准确
第二个问题是:用户查询dns服务器时,在查询过程中会出现dns结果被串改的情况。通过httpdns服务,可以解决由于localdns和ip地址不匹配问题,同时也可以做到dns结果防串改,使调度更精准。播放器基于httpdns对dns查询做预加载,并对结果做缓存,减少dns查询查询带来的首屏时间慢。
第三点是基于用户体验的自动化调度,会基于用户的客户端IP以及用户到每个节点的网络情况、当前各个节点的状态,来进行计算,通过一些机器学习的方式,来预测用户到哪个节点的网络链路为最优。这样就确保给用户IP地址返回最优的网络链路。
第四个是大数据分析,选择最优节点。通过当前节点覆盖情况和用户访问流量趋势,进行数据预测,去选择在哪里建点,并且去计算这些节点覆盖哪些用户的网络质量是最优的,为调度系统提供数据支撑。
最后一点是基于内容调度,通过302做内容粒度的调度,把相同URL调度到同一台机器上,提高命中率。
缓存性能优化
阿里云CDN针对缓存系统也做了很多优化。
通过自研的缓存系统,开发基于裸盘的缓存系统。使用内存、SSD、SATA三级缓存架构,把最热的资源存储到内存中,次热的资源存储在SSD中,冷的资源存储在SATA中,并且通过热点迁移的方式,把SATA中热的资源迁移到内存和SSD中,再通过淘汰算法,把内存和SSD中的冷的资源淘汰到SATA盘中。通过这种方式,提供内存和SSD的命中率,降低SATA盘的IO读写情况,来存储更多的冷资源,提高边缘节点利用率。同时,自研的文件系统对IO操作做了很多优化,比如说合并IP对齐写入功能,避免内存碎片和磁盘碎片带来的IO性能严重下降。对大文件进行切片存储,分片存储到不同磁盘中,避免因单个视频文件过热导致磁盘性能下降。
通过以上的优化措施,缓存的平均命中率在95%以上,首字节时间低于10ms。
基于用户体验的TCP协议栈优化
第一个优化点是基于时间序的丢包发现机制,主要是在TCP协议栈里去分析TCP发包的时间序列,然后能够识别出哪些包丢掉了,快速发现丢包和快速重传。
第二个优化点是主动丢包发现机制,是指我们在发现包的时候去主动探测,避免通过超时来发现丢包,减少丢包发现的时间,提高进行重传
第三个是自适应的初始化窗口,针对不同业务场景使用不同初始化窗口大小。
第四个是更激进的拥塞避免算法,针对网络不好的情况,在协议栈中识别状态,使用更激进的发包策略,解决下载速度慢的问题。
第五个优化点是使用更小的链接超时时间,来更早的发现丢包。
基于以上的优化,我们使用第三方检测平台,对某短视频业务1.2M文件,和其他CDN厂商做性能对比测试,相同文件大小从内容下载时间上看,使用阿里云CDN有2%-6%的性能提升。其余数据也表现优异。
欢迎大家来使用阿里云点播服务、CDN和OSS存储,来搭建短视频应用。
讲解从三个部分展开:短视频应用场景,阿里云短视频解决方案,阿里云对短视频用户体验优化的相关优化。
短视频应用场景
短视频比图片和文字包含更多的信息,在移动互联网普及的今天,短视频应用场景非常广泛。
一、社群分享场景
用户可以录制视频,进行特效编辑处理,上传到服务器,通过社区的方式分享给好友。
二、 电商场景
商家可以快速拍摄、制作商品的短片,把商品的介绍视频发给消费者,这样可以提高购买转化率。
二、IM聊天场景
在交流过程中,通过随拍随传的短视频,用户可以更生动的表达观点,更真实的传递情感
三、新媒体场景
区别于传统、单一的图文展示形态,短视频可以快速收集及发布新闻,一键呈现世界
四、体育赛事场景
集成短视频SDK后,用户可以在现场实时拍摄和剪辑,生成具有传播价值的短视频,通过分享来全网同步赛事
阿里云针对短视频的业务场景,提供了一整套技术解决方案。在主播端,提供了视频上传SDK和短视频SDK,在观众端提供视频播放SDK,在服务器端提供点播服务、OSS存储和CDN加速。
对于开发者来说,短视频解决方案的使用流程是这样的:首先主播端使用短视频SDK对用户的视频进行录制、特效处理和剪辑,然后将视频通过上传SDK上传到服务器端,在服务器端先通过点播服务进行转码以及视频处理,然后把处理好的视频存储到OSS上,做持久化保存。在播放端集成播放器SDK,播放器会向CDN请求资源,CDN如果有缓存会把缓存的数据发给客户端。如果CDN缓存没有数据会去OSS中拉取数据,在返回给客户端,并把数据缓存到CDN上。开发者使用这些技术组件,可以快速的开发短视频业务。
下面,我们逐一介绍解决方案的能力与特点。
解决方案中的视频SDK,包括短视频、上传和播放三个。短视频SDK包含人脸贴图、高级美颜的功能,在用户录制视频之后先进行本地美颜再进行上传,同时也提供专业滤镜、MV特效和裁剪压缩、添加音乐的功能,使视频剪辑大众化;上传SDK通过快速通道可以把视频传输到服务器端,支持断点续传、后台上传、多文件管理等功能;播放器SDK支持Android、IOS、flash、H5等多个平台、加密播放和安全下载等。
点播和存储服务,点播服务提供视频管理相关的功能,比如视频转码,窄带高清可以在相同的用户观感体验下,节约30%的带宽;云剪辑功能可以在线对视频进行编辑处理;同时点播服务提供丰富的数据统计,开发者利用阿里云提供的API访问实时数据。
同时,阿里云也在视频领域开放了AI技术,包括内容审核,降低违规风险;智能封面,对视频结构化处理和算法选取最优视频帧作为视频封面;标签预测,通过AI来识别视频中文字、图像、人物等信息,自动生成视频标签等。
基于短视频业务产生的海量数据,阿里云也提供了高可靠、强安全、低成本的存储服务。
为了应对短视频大规模的业务需求,阿里云CDN建设了大量的基础设施。
首先,阿里云CDN拥有全球1200多个节点,分布在全球各个国家和地区,贴近用户部署,使用户更快速的访问视频内容,使视频体验更好。同时,为了面对业务的突发流量,阿里云提供了超过80TB的带宽储备,为持续增长的业务保驾护航。并且,单节点缓存容量超过1PB,通过提供更大的缓存空间,来提升用户访问速度。
介绍完了解决方案之后,周哲老师又为大家介绍了阿里云在短视频领域的一些优化技术。
短视频用户体验关键指标
短视频用户体验的关键指标有首屏时间、播放卡顿和播放错误。
首屏时间是指在视频稳定播放期间,从用户点击播放到视频开始播放之间的时间差。首屏时间越长,会导致用户提前结束播放。
播放卡顿是指在播放过程中的不流畅情况,会严重影响用户体验。
播放错误是指用户播放视频时没有成功播放,或出现异常导致提前中断。
用户体验优化剖析
为了解决这些问题,我们对整个架构进行剖析。
首先,终端用户使用阿里云提供的视频SDK来请求调度服务器,调度服务器返回对应的节点IP,然后播放器通过CDN的节点IP来请求资源,CDN的边缘节点如果有缓存的话可以从本地发给播放器,如果没有缓存就去二级节点进行访问,二级节点没有缓存会去OSS或者用户源站拉取数据。
阿里云CDN有一级节点、二级节点的缓存,二级节点的作用是:
第一,做资源收敛,避免相同请求同时回源,减少源站压力
第二,离边缘节点接近,在边缘节点没命中的时候,能够更快的从二级节点获取到数据
第三,提供更大的存储空间,提高命中。
同时,阿里云对于整个播放过程,进行一些用户体验相关的数据打点,通过这些数据来进行分析,得到了一些优化点。
第一就是播放器,播放器是否优化决定了终端用户的观看质量。首先,我们对播放器SDK做了相关优化,比如,通过减少首次缓冲时间,可以设置在受到视频第一个P帧就开始解码播放;提供动态缓存大小,当出现网络抖动的时候,可以动态增加缓存大小,对数据进行预加载,通过这种方式来降低卡顿率;针对播放错误,播放器SDK实现了网络重试机制,来提供播放成功率。
第二个优化是针对调度系统,用户在访问边缘节点的时候,访问调度服务器,调度服务器返回的IP地址是不是最优的网络链路,这个很大程度上影响用户对于视频的下载速度。阿里云自研了智能调度系统,可以选择用户到边缘节点的最优链路,来反馈给客户端。
第三是阿里云提供非常多的网络节点覆盖,让边缘节点距离用户更近,来提升用户访问速度。
第四个优化点是在用户向CDN服务器获取数据时,当出现网络抖动的时候,会有下载速度降低情况产生,阿里云CDN针对TCP协议栈进行优化,通过更高效的协议栈算法来提升下载速度。
第五个优化点是开发者可以使用阿里云提供的窄带高清功能,来降低播放视频的带宽。
第六是用户在访问边缘节点的时候,如果请求在边缘节点MISS会直接回源,应时间变慢,而如果边缘节点命中,用户的下载的速度就和边缘节点缓存服务器的性能具有强关联性了,阿里云针对缓存服务器的性能做了很多优化,通过加大边缘服务器的空间和智能优化,来提升访问速率。
第七,阿里云也支持全链路监控,来提早发现问题,针对性优化,确保稳定服务
智能调度系统优化
这里详细介绍一下智能调度的优化,针对调度系统,阿里云做了五个方面的优化,第一个是精准的IP数据库会持续更新,基于第三方IP库数据、whois平台和淘宝手机用户在访问数据时的一些经纬度信息,会对IP库进行主动探测,基于这些维度的数据,进行计算和生成。IP库数据的准确性会对调度系统提供数据支撑。
第二个是提供HTTPDNS服务,用户通过localdns请求调度服务器,会遇到第一个问题是:localdns和用户ip位置有不匹配问题,会出现基于localdns调度时,调度系统看到的客户端ip和用户真实ip不一致,导致调度不准确
第二个问题是:用户查询dns服务器时,在查询过程中会出现dns结果被串改的情况。通过httpdns服务,可以解决由于localdns和ip地址不匹配问题,同时也可以做到dns结果防串改,使调度更精准。播放器基于httpdns对dns查询做预加载,并对结果做缓存,减少dns查询查询带来的首屏时间慢。
第三点是基于用户体验的自动化调度,会基于用户的客户端IP以及用户到每个节点的网络情况、当前各个节点的状态,来进行计算,通过一些机器学习的方式,来预测用户到哪个节点的网络链路为最优。这样就确保给用户IP地址返回最优的网络链路。
第四个是大数据分析,选择最优节点。通过当前节点覆盖情况和用户访问流量趋势,进行数据预测,去选择在哪里建点,并且去计算这些节点覆盖哪些用户的网络质量是最优的,为调度系统提供数据支撑。
最后一点是基于内容调度,通过302做内容粒度的调度,把相同URL调度到同一台机器上,提高命中率。
缓存性能优化
阿里云CDN针对缓存系统也做了很多优化。
通过自研的缓存系统,开发基于裸盘的缓存系统。使用内存、SSD、SATA三级缓存架构,把最热的资源存储到内存中,次热的资源存储在SSD中,冷的资源存储在SATA中,并且通过热点迁移的方式,把SATA中热的资源迁移到内存和SSD中,再通过淘汰算法,把内存和SSD中的冷的资源淘汰到SATA盘中。通过这种方式,提供内存和SSD的命中率,降低SATA盘的IO读写情况,来存储更多的冷资源,提高边缘节点利用率。同时,自研的文件系统对IO操作做了很多优化,比如说合并IP对齐写入功能,避免内存碎片和磁盘碎片带来的IO性能严重下降。对大文件进行切片存储,分片存储到不同磁盘中,避免因单个视频文件过热导致磁盘性能下降。
通过以上的优化措施,缓存的平均命中率在95%以上,首字节时间低于10ms。
基于用户体验的TCP协议栈优化
第一个优化点是基于时间序的丢包发现机制,主要是在TCP协议栈里去分析TCP发包的时间序列,然后能够识别出哪些包丢掉了,快速发现丢包和快速重传。
第二个优化点是主动丢包发现机制,是指我们在发现包的时候去主动探测,避免通过超时来发现丢包,减少丢包发现的时间,提高进行重传
第三个是自适应的初始化窗口,针对不同业务场景使用不同初始化窗口大小。
第四个是更激进的拥塞避免算法,针对网络不好的情况,在协议栈中识别状态,使用更激进的发包策略,解决下载速度慢的问题。
第五个优化点是使用更小的链接超时时间,来更早的发现丢包。
基于以上的优化,我们使用第三方检测平台,对某短视频业务1.2M文件,和其他CDN厂商做性能对比测试,相同文件大小从内容下载时间上看,使用阿里云CDN有2%-6%的性能提升。其余数据也表现优异。
欢迎大家来使用阿里云点播服务、CDN和OSS存储,来搭建短视频应用。
视频
用户
节点
服务
阿里
数据
缓存
调度
服务器
存储
边缘
时间
系统
网络
体验
场景
播放器
资源
业务
同时
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
全市网络安全攻防演练总结
网络安全与执法国考
数据库设计师考啥证
海康CVR存储服务器设置IP
怎么进入公司的服务器
厦门软件开发 厦门智慧
网上书店数据库实训项目答案
网络安全公司标语
宁阳oa办公软件开发多少钱
数据库怎么在多个文件上面加密
公司存储服务器
近十年网络安全事件
网络安全的五个重要元素
网络安全小知识答题
怎么申请服务器和端口
软件开发的哪些阶段需要测试
网络安全系统的入门书籍
x79服务器主板能配什么cpu
居家网络安全
软件开发工程师可以进银行吗
如何提高数据库技能
sql数据库开机启动停止
java数据库调优
离开软件开发两年
武汉光学透镜设计软件开发
ttms软件开发过程
电脑如何使用租的服务器
网络安全的海报
国家网络安全新领导
查看电脑数据库