本文来自streaming media的研讨会,主题是:低延迟仍然是一个挑战。主持人是流媒体视频联盟执行总监Jason Thibeault。
参与者包括:
DillonMedia Ventures首席战略家Rob Dillon;
Gigcasters董事总经理Casey Charvet;
CenturyLink管理主要解决方案架构师Rob Roskin;
Cloud,Haivision工程副总裁Marc Cymontkowski。
1、首先,如何定义流媒体的延迟?
工业界主要关注glass-to-glass延迟。一般采用端到端工作流,流媒体数据从编码器传到流媒体服务器再到解码器。用户更在意端到端延迟,比如他们希望在游戏过程中可以更快地做出决策。
2、什么是cache miss? 如何在延迟工作流中提升cache的效果?硬件有什么作用?
Cache miss导致更多采用基于udp的技术,而且需要提高传输速度,可以进行TCP优化和预加载。cache可以显著降低往返延迟,当前许多延迟的讨论都是基于流媒体内容分配,比如说HLS,它将视频分块传输。硬件的作用是可以有效提高系统的吞吐量。
3、在编码过程中,有什么方法可以降低延迟,比如决定块大小,决定配置文件变量?
HLS 把流媒体切分为不同的块和片段来传输,而播放器至少要收到三个块才播放,可能导致30秒的延迟,因此延迟比较高。对编码器来说,开始可以不进行速率控制,用更少的比特率得到更低的延迟,因此会导致更短的关键帧间隔,也可以选择发送更多I帧。
4、有什么基本的工具和服务可以用于低延迟实时流?
根据观看视频流的人数决定选择什么样的服务,根据视频流的参数决定选择什么样的技术。因此需要把考虑用户的QOE,如果在延迟方面过于激进,可能导致回放卡顿,降低用户体验,因此需要在用户体验和低延迟上折中。利用WebRTC技术进行P2P通信,分发端的技术可以帮助降低延迟,并且提供交互体验。总体而言,目前没有一种统工具包可以完成所有降低延迟的操作,而且这些操作会影响视频回放的质量。
5、新的格式用于低延迟比如LLHLS是否真的有效?
Marc举例说明,在ingest端使用SRT连接,将从编码器产生的DASH块上传到云,不需要转码。交付端是HTTP交付,从编码器到CDN再到播放器播放,延迟大约为1分半。但是由于TCP协议本身的ACK特性使它不适合大规模实现低延迟,应该选择基于UDP的协议,比如QUIC和SRT。
6、应该选择什么传输协议来有效降低延迟?
Rob举例说可以用WebRTC的通道传输HLS实现P2P连接,这样所有人都可以看到高质量的电影视频。如果要达到超低延迟一般不使用CDN。另外SRT是为了解决低延迟问题设计的基于UDP的协议,确保传输丢包可以重传,但是需要在接收端重建信号。
7、未来几年延迟可能降低的程度?
三位成员都表明端到端延迟两年内可以实现低于1秒,一定低于2秒。
最后主持人还问了关于多播ABR、端到端通信数据安全问题和比较RIST和SRT等问题。
附上演讲视频: