You need to enable JavaScript to run this app.

你们在屏幕共享时的痛,火山引擎解决了

最近更新时间2023.04.13 14:35:31

首次发布时间2023.04.13 14:35:31

屏幕共享已然成为当代社会生活中的一种常态化应用场景。

然而,屏幕共享过程中,诸如不清晰、不流畅、操作复杂、不稳定等问题,让实际体验大打折扣。

如何让屏幕共享时的画面更清晰、播放更流畅、翻页更实时、使用更便捷?

火山引擎作为字节跳动旗下的云服务平台,致力于帮助企业在数字化升级中实现持续增长。火山引擎RTC拥有服务亿级DAU产品的优秀实践经验,帮助客户快速构建音视频通话、互动直播等丰富场景功能。

火山引擎RTC自去年便正式上线了屏幕共享专用编码器,相比业界主流的X265开源编码器可降低85%的码率,编码速度提升2.87倍,弱网表现更好,延时也更低。

同时,通过服务飞书会议等产品,火山引擎RTC沉淀了诸多的自研技术与丰富的实践经验,使屏幕共享的功能更贴近业务场景和更满足用户需求,成为协同会议软件的好搭档。

01、清晰还是流畅,只能二选一?

用户在使用“屏幕共享”时,共享的内容往往不是一成不变的,经常会因为在共享视频或静态文字时,因错选、漏选屏幕共享模式,出现导致文字看不清或视频不流畅等体验不佳的情况。

火山引擎RTC的「智能内容模式」具备实时、动态地分辨共享内容类型的能力,通过识别内容类型来动态调整音视频编码策略,有效避免用户漏选、错选屏幕共享时的模式选项,提升用户观看体验的同时,简化用户操作流程。

火山引擎RTC通过“光流算法”实时提取共享屏幕内容的运动幅度、角度和纹理特征,进而智能识别共享屏幕内容的类型,最后根据分类结果调整相应的编码策略。当共享内容是偏静止的画面时,发布端提升采集分辨率,同时采用低帧率的参数来进行编码;当共享内容是偏运动的画面时,发布端优先采用高帧率的参数进行编码。


当共享文档时,分辨率为4K、帧率为1fps,基于火山引擎RTC的技术,让共享屏幕中的文字清晰度更高;当切换到视频后,帧率逐步上升,分辨率会逐步下降,让共享屏幕中的视频播放趋于流畅。

当共享内容从视频重新切换回文档时,分辨率回升至4K,帧率下降直至1fps,让共享屏幕中的文字趋于清晰。

02、4K和弱设备,如何兼顾?

为了照顾到所有参会设备的性能差距问题,市面上,普通的屏幕共享发送端一般会对采集到的屏幕分辨率进行下采样,这样“一刀切”的方式往往造成画质损失,让用户无法享受原有高清的屏幕共享体验。

火山引擎RTC,会考虑所有参会人的设备性能来灵活调整策略。当发起共享屏幕的设备性能和接收端的设备性能同时满足高清分辨率时,用户即可使用更高清的屏幕分辨率进行共享;当接收端中有性能较差的设备,或者遇上弱网时,则采用降级的、更适配的屏幕分辨率。

下采样对屏幕内容的清晰度损失,易被人眼察觉
alt
alt
这种屏幕分辨率策略可以将用户的屏幕共享分辨率提升至4K,明显提升参会体验。

03、如何让远端的鼠标移动速度像本地一样流畅?

鼠标移动时的画面也是共享屏幕中的重要场景,鼠标的同步性会影响用户的观看体验。

火山引擎RTC将屏幕共享场景中的鼠标采集和传输优化内置到RTC,用“鼠标信息单独采集”代替“视频抓屏共同采集”,将鼠标采集与屏幕采集分离,使鼠标帧率不受共享内容的帧率限制;同时,利用实时信令RTS的传输通道来传输鼠标的位置信息,既提升传输效率,也避免了鼠标帧率跟随共享策略而降低的问题。


鼠标使用单独通道传输,鼠标流畅,屏幕帧率低至1fps。

鼠标和屏幕一起传输,鼠标卡顿,屏幕帧率被拉到5fps。

通过优化后,当桌面处于静止时,屏幕帧率可以降低至1fps,减少带宽消耗。同时,在鼠标运动时,鼠标帧率可以提升至60fps甚至更高,鼠标位置数据更新更灵敏,用户观看鼠标的运动轨迹也更加流畅。

The End

“屏幕共享”不再是视频会议的专用功能,在远程协作、教育、VR等场景中也随处可见。

未来,火山引擎还将在清晰度、设备性能、抗弱网等方面持续优化技术能力,打造高清、实时、灵活的屏幕共享功能,助力更多元的应用场景,实现智能化的体验升级。