攻克视频技术
李江
声网 Agora 视频专家
7494 人已学习
新⼈⾸单¥59
登录后,你可以任选3讲全文学习
课程目录
已完结/共 19 讲
攻克视频技术
15
15
1.0x
00:00/00:00
登录|注册

13|SVC:如何实现视频编码可伸缩?

你好,我是李江。
前面我们用了 4 节课的时间分别讲述了如何将视频编码码流打包成 H264,如何预测网络带宽,如何做好码控来控制视频发送的速率,如何分析视频的花屏和卡顿等问题。基本上循序渐进地将视频传输中最重要的一些知识点都讲解了一遍,并对里面几个重要的算法进行了深入的研究。
今天,我们再讲述一个视频会议场景中经常会使用的视频编码传输相关的技术——SVC 编码,也叫做可伸缩视频编码。它的作用是可以实现在一个码流里面包含多个可解码的子码流,服务器可以根据接收端的网络状况,下发对应码率的码流,从而实现可伸缩性。

为什么需要 SVC

2020 年全球爆发新冠疫情,很多公司为了员工的安全,实行在家办公的政策。视频会议一时成为了工作中必不可少的日常工作活动。很多大型公司可能会出现一次几十、上百个人参加视频会议的情况。对于视频会议技术商来说,如何提供几十、上百个人的高质量视频通话技术是一个难题。为什么呢?
比如说,我和你两个人进行视频通话,我是发送端,网络非常好,你是接收端,网络比较差。发送端和接收端之间的视频通路如下图所示:
带宽预测这节课里面我们讲过,由于服务器到接收端的网络比较差,那么最后会引起:
一组视频 RTP 包的接收时长很长,而一组视频 RTP 包的发送时长比较小;
或者发送端的视频 RTP 包发送给接收端之后,网络中丢包率很高。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

SVC视频编码技术在视频会议中发挥着重要作用。文章介绍了SVC的背景和应用需求,详细解释了SVC的概念和分类。SVC通过分层编码实现多个可解码的子码流,服务器根据接收端的网络状况下发对应码率的码流,从而实现可伸缩性。时域SVC和空域SVC是两种常见的分类方式。时域SVC通过调整参考帧结构实现分层编码,服务器根据网络状况选择转发几层码流。空域SVC则是在分辨率上进行分层编码,但市面上的绝大多数解码器不支持该技术。文章还介绍了服务器如何根据网络情况做分层转发策略,以及RTP协议中携带SVC信息的方式。总的来说,SVC技术为视频会议提供了解决多人网络状况不同的问题的有效手段。通过阅读本文,读者可以深入了解视频编码可伸缩技术的重要知识,以及SVC在视频会议中的应用和实现原理。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《攻克视频技术》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(8)

  • 最新
  • 精选
  • paradise
    江哥,问一下,就是svc 编码采用rtp 包封装的形式,实际编码器出来的是普通码流,那这个码流是如何进行rtp svc 封装呢? 是编码器提前设置好svc 的参考关系,然后从收到第一个I帧开始后就自动更新rtp 包里关于封装svc 编码的相关字段信息吗?

    作者回复: 是的,webrtc里面的VP8编码是这样做的,外面固定好参考结构,编码的帧出来之后就按照固定的模式加上SVC信息。h264也可以这么做。或者编码器是你自己修改的,你也可以把信息从编码器里面带出来也可以,这样就可以不使用固定的参考结构了。

    2021-12-24
    1
  • Geek_7de4c5
    如果是发送端网络不好,时域svc就失效了,有什么好的手段吗?

    作者回复: 发送端网络不好直接通过发送端带宽预测得到带宽值再码控调节就可以了。

    2021-12-21
    1
  • 晓龙
    SVC开始是否有前提,当接收端的方差达到某个阈值时在开启,或者发送端本身发送的帧率或者码率对网络要求很低,例如500k就可以,这时不启用SVC,可以更进一步增加压缩率。

    作者回复: 1、如果接收端的带宽 > 对应层数的码流 + gap阈值,就发对应层数的码流。 我们需要设置这个gap阈值,这个值需要根据业务来自己设置。 2、一般来说我们整个视频会议的拥塞控制是带宽预测+码控+SVC,是不是需要启用SVC丢层策略关键还是在发送的码率和接收端的带宽大小对比来决定。我想你的意思是说我们可以把发送码率压缩到多个观众端的最小带宽。这个操作还是会有我之前说的问题,对于网络好的观众不公平。当然具体业务具体分析,如果你的业务这样做没什么问题的话也是可以的。

    2021-12-20
    2
    1
  • ripple
    你好,请问下如果是硬编码,svc有相关的处理方式不?

    作者回复: 如果硬编接口支持设置参考帧的话也可以实现

    2022-03-28
  • Leo-J
    老师,这是不是直播推流原理?直播端高质量,观众段可选质量?

    作者回复: 直播一般使用转码的方式,一般RTC里面用SVC。

    2022-03-02
    2
  • ripple
    simulcast是不是更常用些?

    作者回复: 相比空域SVC,是的

    2021-12-20
  • 龚长华
    FEC, Transport-CC, 丢包重传, 关键帧重传, SVC
    2022-06-08
  • tony
    如果使用x264实现时域svc,设置参考帧的大概思路是怎样的?谢谢。
    2022-01-09
    1
收起评论
显示
设置
留言
8
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部