关于ecug:七牛云霍锴实时音视频-SDK-设计实践
本文依据霍锴(七牛云 音视频客户端架构师)于 2021 年 6 月 26 日举办的「ECUG Meetup 第 1 期 | 2021 音视频技术最佳实际·杭州站」上的分享整顿而成。 获取「讲师完整版 PPT」 ,请增加 ECUG 小助手微信(微信ID:ECUGCON)并备注「ECUG PPT」。其余讲师的分享也将于后续陆续放出,敬请期待。 以下为分享注释: 大家好,我先进行一个自我介绍。我叫霍锴,是七牛云的音视频客户端架构师,2017 年退出七牛云,主导和参加开发了短视频、推流、播放器等多个音视频相干 SDK,目前工作次要是集中在实时音视频 SDK 的设计和研发,次要精力还是在客户端上。 这是我明天为大家讲的内容: 1)实时音视频 SDK 的技术与挑战2)七牛实时音视频 SDK 的架构3)实时音视频 SDK 的实践经验 简略来说就是分享在开发实时音视频SDK的过程中,咱们常常遇到的问题,以及怎么去做优化,能够说是咱们的一些实践经验。 一、实时音视频 SDK 的技术与挑战明天是音视频专场,置信在座各位必定对音视频技术都有所理解或者是有所教训的,然而不晓得有多少人已经做过或者设计过 SDK,它其实也有其独特的挑战。 1. 客户对实时音视频 SDK 的诉求 七牛云作为一家提供技术服务的公司,常常会听到很多的客户声音,比方客户常常会问, 视频的码率应该配置多少,某个接口调用之后为什么没有成果,第三方美颜如何接入等问题。 此外,一些客户在应用过程中有可能遇到一些异样的景象,比如说呈现花屏、黑屏、退出房间失败等等。 还有就是,客户也常常会给咱们提出一些性能需要,比方有些客户想同时公布摄像头和手机屏幕上两局部的视频内容,或者想获取每路的视频或音频帧数据等等。 遇到这些问题之后,咱们依照发现问题、剖析问题和解决问题的步骤,一点一点的把问题解决。首先让咱们静下心来好好去剖析一下,这些问题背地的诉求是什么。简略来说,咱们总结了三点: 1)接入者的音视频技术水平参差不齐,然而无一例外,都心愿可能疾速接入。 咱们不能强制要求客户的音视频技术要达到某一个高度能力接入这个SDK,所以咱们只能给本人提要求:SDK 要设计得极为简略易用,这样能力让用户尽可能快地去接入。 2)接入者的应用场景和环境复杂多变,然而对音视频的体验要求都很高。 比方,视频会议场景对于提早的要求很高,超过 300 毫秒就能会很显著地感知到对方谈话有所提早。而在直播的场景下,用户则对清晰度的要求很高,一个主播可能会面对海量观众,主播的画面不清晰,对观众的影响是十分大的。再比方,同样是直播场景,户外直播和室内直播是两个截然不同的环境,但咱们都要保障在现有环境下可能给用户最好的音视频体验。 3)接入者须要“安全感”,对服务的稳定性、监测伎俩、排障能力都有要求。 接入者须要实在地感知到线上用户的应用状况,包含音视频的实时品质,产生的谬误或异样,另外就是一旦呈现了问题,无论是 SDK 的起因还是用户应用姿态的起因,都要可能迅速排障,把影响减到最低。 2. 实时音视频 SDK 的外围要求依据客户的诉求,咱们能够去定义一款优良的实时音视频 SDK 的规格: ...