每次我启动Skype,Zoom或环聊时,我都会充满兴趣地等待一批带有视频和声音的边框。 技术很少让我失望:如我所记得的那样,视频通话困扰着吱吱作响,背景噪音,语音丢失,视频分裂为“正方形”,死帧和视频会议的其他乐趣。 兴趣主要来自专业:除了用于常规电话,网页和移动应用程序的可编程电话外,我们在Voximplant还将视频提供给开发人员。 我希望在任何浏览器中都可以实时播放全高清视频,而且没有任何装饰,会议大约有50人。 但是在某些3G公园中,与医生进行视频咨询可以转变为基于回合的策略:丢包! 现代技术栈尚未使我们能够与“闪烁的” Internet平等竞争,但是研究仍在不断进行。
顺带一提-Salsify的翻译适用于Habr:视频编解码器和网络协议的合金,可最大程度地减少实时传输视频时的问题。
斯坦福大学的一个团队进行了一项实验:用一个通过网络的压缩和传输协议取代了现代视频会议技术的整个被套。
视频会议:lllllags,ffffffreezes和抽搐
一段时间后,问题自行消失。 有时-与图片一起留下黑屏。 可交付成果的范围从“等待几分钟,网格闪烁”到“可以完成手术,患者已经死亡”。 斯坦福大学的科学家极大地解决了这个问题,从零开始开发了网络堆栈,编解码器以及一种唯一目的来传输数据的方法:做得比Skype,FaceTime,环聊和Chrome + WebRTC更好。
负责这项研究的斯坦福大学研究生Sajjad Foladi在
NSDI'18核心会议上介绍了
结果 。 “从头开始”解决方案所基于的思想对所有参与者都可用,并且可以在商业解决方案中使用。 当然,如果有人想更换
整个堆栈。
互联网上的视频传输已经发展了数十年。 现在,技术堆栈更像是拼布被子,”计算机科学副教授
Keith Winstein说。 “ Sajjad向您展示了如何以不同的方式组装这些片段,以获得更高质量的视频和更少的延迟。”
但是关于引进温斯坦的时机更为谨慎。 现在,我们正在考虑变化,以便一天的实时视频传输将变得更加可靠。 他说,它将在远程医疗和机器人手术中非常有用。 “但是在现在使用的软件中,所有这些更改都很难进行。”
新方法,新名称
斯坦福大学的团队将其框架称为“ Salsify”(山羊园丁,如“花”,模糊地类似于他年轻时的蒲公英-译者的评论)。 该框架解决了由以下事实引起的问题:“实时视频传输”现在是由两种不同的技术制成的。 这是一个压缩视频的“编解码器”和一个通过网络传输少量数据的“网络协议”,并试图猜测何时发送下一个数据,以免被抛弃,因为网络很拥挤,总的来说一切都不好。 问题在于这两个组件通常是由不同的公司相互独立地发展,然后被合并到Skype或FaceTime等产品中。
Foladi确信:要解决带状痕迹和滞后的问题,编解码器和网络堆栈必须协同工作。 毕竟,重要的不只是按时通过网络发送数据包。 您需要此包装中的正确数据! 而不是3秒钟前的一段视频,该视频仍会在接收方以“太旧”的形式抛出。 根据项目经理的说法,“当传输协议和编解码器失去同步时,问题就开始了。” 因此,团队制作了一个新的编解码器,该编解码器尽可能与传输协议集成在一起。 一种算法控制视频帧的压缩,网络数据包的形成及其发送。 因此,视频流实时“了解”网络状态,并在可能的情况下尝试“适应”网络状态。
即使超时发送一帧也可能导致抽搐和fr。 如果可能导致网络问题,Salsify将永远不会发送帧
看到并相信
研究人员进行了许多测试,将Salsify与Microsoft Skype,Google Hangouts,Apple FaceTime和Google Chrome + WebRTC进行了比较。 平均而言,Salsify将延迟减少了四倍(!!!),并且图像质量提高了60%(根据更改结构相似性的方法SSIM)。 已准备好与Chrome 65 WebRTC
进行并排比较 ,并且已经建立了一个专用于该项目的单独
网站 。
开源项目:您可以下载,研究,使用最佳实践。
每个人在视频会议方面都有问题。 致力于使项目有所作为的项目非常酷。