VoIP之AVPF(Audio-Visual Profile with Feedback)

  在VoIP音视频通话中,接收者可以依赖rtcp机制向发送者报告RTP数据接收的统计情况,以便发送者根据接收情况(丢包数量等)调整传输行为(发送速率等)。由于基本的RTCP统计报告是定期发送的,通过该机制来调整发送端行为会有一定的滞后性,比如视频因丢包解码出现花屏时,急需新的I帧来刷新图像。为了解决以上问题,定义了AVPF机制,即RFC4585(RTP/AVPF):基于RTCP反馈的扩展机制,同时在RFC5104[Codec Control Messages in the RTP Audio-Visual Profile with Feedback (AVPF)]中进一步定义了相关的反馈消息。

一、传输层反馈消息(Transport Layer Feedback Messages)

使用RTCP包类型为205,子类消息有如下几种:
RFC4585中定义:
1: NACK(negative acknowledgement) 未确认,丢包请求
31:保留

RFC5104中定义:
2: 保留
3: Temporary Maximum Media Stream Bit Rate Request (TMMBR) 临时最大媒体流码率请求
4: Temporary Maximum Media Stream Bit Rate Notification (TMMBN) 临时最大媒体流码率通知

二、有效数据反馈消息(Payload-Specific Feedback Messages)

使用RTCP包类型为206,子类消息有如下几种:
RFC4585定义:
1: Picture Loss Indication (PLI) 图像丢失指示
2: Slice Lost Indication (SLI) 片丢失指示
3: Reference Picture Selection Indication (RPSI) 参考图像选择指示
15: Application layer FB message 应用层反馈消息
31: 保留

RFC5104定义:
4: Full Intra Request (FIR) Command 完整帧请求
5: Temporal-Spatial Trade-off Request (TSTR) 时空交换请求
6: Temporal-Spatial Trade-off Notifica 时空交换响应

三、关键说明

  • a=rtcp-fb用在媒体行层面,可能有多行
  • feedback消息简称FB
  • SDP中使用RTP/AVPF表明是支持扩展,也有使用RTP/AVP并依赖SDP中的属性表明支持FB功能的
  • 在视频会议中,通常使用FB(fir等)消息请求I帧
  • 如果SDP中有一个或多个a=rtcp-fb,需要忽略不认识的属性

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/706699.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安全运营中心(SOC)综合指南

什么是安全运营中心(SOC) 安全运营中心,也称为信息安全运营中心 (ISOC),是结构良好的网络安全战略的核心。安全运营中心是一个集中式枢纽,无论是在组织内部还是外包,都致力于对整个…

云计算时代的运维: 职业发展方向与岗位选择

✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua,在这里我会分享我的知识和经验。&#x…

Nginx网络服务五-----rewrite和反向代理

1.rewrite 1.1rewrite指令 通过正则表达式的匹配来改变URI,可以同时存在一个或多个指令,按照顺序依次对URI进行匹配,rewrite主要是针对用户请求的URL或者是URI做具体处理 官方文档: https://nginx.org/en/docs/http/ngx_http_r…

numpy数组索引

文章目录 简介索引方法 简介 numpy是python中最常用的科学计算包,而数组则是是numpy的核心类型,也是Python称为科学计算领域首选语言的关键类型,可以不夸张地说,正是数组类型的强大与易用性,筑就了Python帝国。 和Py…

自动驾驶消息传输机制-LCM

需要用到LCM消息通讯,遂研究下。 这里写目录标题 1 LCM简介2. LCM源码分析3 LCM C教程与实例3.1 安装配置及介绍3.2 创建类型定义3.3 初始化LCM3.4 发布publish一个消息3.5 订阅和接收一个消息3.6 LCM进程间通讯3.7 注意事项?3.7.1 当数据结构定义的是数…

代码随想录算法训练营29期|day64 任务以及具体安排

第十章 单调栈part03 有了之前单调栈的铺垫&#xff0c;这道题目就不难了。 84.柱状图中最大的矩形class Solution {int largestRectangleArea(int[] heights) {Stack<Integer> st new Stack<Integer>();// 数组扩容&#xff0c;在头和尾各加入一个元素int [] ne…

斯元Z-ONE-China Cybersecurity Tech Landscape·中国网络安全全景图-百度网盘下载

面向全球&#xff0c;斯元Z-ONE正式发布首版「China Cybersecurity Tech Landscape中国网络安全全景图」。 为了提升海外市场对中国网络安全行业的全局认识&#xff0c;方便国际客户及合作伙伴了解中国网络安全科技的赛道分布和国内外厂商对标&#xff0c;助力中国网安厂商出海…

uni-app之android原生插件开发

官网 uni小程序SDK 一 插件简介 1.1 当HBuilderX中提供的能力无法满足App功能需求&#xff0c;需要通过使用Andorid/iOS原生开发实现时&#xff0c;可使用App离线SDK开发原生插件来扩展原生能力。 1.2 插件类型有两种&#xff0c;Module模式和Component模式 Module模式&…

【PyTorch笔记 04】F.cross_entropy的使用

torch.nn.functional.cross_entropy是PyTorch中用于计算交叉熵损失的函数&#xff0c;非常适合用于多分类问题。这个函数结合了log_softmax操作和nll_loss&#xff08;负对数似然损失&#xff09;的计算&#xff0c;因此输入得分&#xff08;即模型输出&#xff09;不需要事先经…

【架构笔记1】剃刀思维-如无必要,勿增实体

欢迎来到文思源想的架构空间&#xff0c;前段时间博主做了一个工作经历复盘&#xff0c;10年开发路&#xff0c;走了不少弯路&#xff0c;也算积累了不少软件开发、架构设计的经验和心得&#xff0c;确实有必要好好盘一盘&#xff0c;作为个人的总结&#xff0c;同时也留给有缘…

对抗生成网络

作用 手底有一堆数据&#xff0c;告诉它要生成什么东西&#xff0c;它就这么去做。 超分辨率重构 告诉模型什么样的东西是一个低分辨率图像&#xff0c;什么样的东西是高分辨率图像&#xff0c;再设计一个损失函数。让计算机学习两者之间的关系&#xff0c;怎样由一个低分辨率…

2.6基本算法之动态规划1944:吃糖果

名名的妈妈从外地出差回来&#xff0c;带了一盒好吃又精美的巧克力给名名&#xff08;盒内共有 N 块巧克力&#xff0c;20 > N >0&#xff09;。妈妈告诉名名每天可以吃一块或者两块巧克力。假设名名每天都吃巧克力&#xff0c;问名名共有多少种不同的吃完巧克力的方案。…

Nginx一网打尽:动静分离、压缩、缓存、黑白名单、跨域、高可用、防盗链、SSL、性能优化

引言 一、性能怪兽-Nginx概念深入浅出 二、Nginx环境搭建 三、Nginx反向代理-负载均衡 四、Nginx动静分离 五、Nginx资源压缩 六、Nginx缓冲区 七、Nginx缓存机制 八、Nginx实现IP黑白名单 九、Nginx跨域配置 十、Nginx防盗链设计 十一、Nginx大文件传输配置 十二、Nginx配置SL…

redis真实使用

Spring Data Redis中提供了一个高度封装的类&#xff1a;RedisTemplate&#xff0c;对相关api进行了归类封装,将同一类型操作封装为operation接口&#xff0c;具体分类如下&#xff1a; ValueOperations&#xff1a;string数据操作 SetOperations&#xff1a;set类型数据操作 …

Flink SQL 中的流式概念:状态算子

博主历时三年精心创作的《大数据平台架构与原型实现&#xff1a;数据中台建设实战》一书现已由知名IT图书品牌电子工业出版社博文视点出版发行&#xff0c;点击《重磅推荐&#xff1a;建大数据平台太难了&#xff01;给我发个工程原型吧&#xff01;》了解图书详情&#xff0c;…

动态规划-01背包问题新解(c)

动态规划-01背包问题新解 概述动态规划01背包问题传统思路算法官方递推关系算法2种算法比较 概述 本文将从一个新的角度来描述和实现01背包问题&#xff0c;以协助对01背包问题以及教材上的算法的彻底理解。 新的角度为&#xff1a;传统思路算法&#xff0c;“新”是新在与绝…

【Python】Ubuntu创建虚拟环境运行Python

虚拟环境让项目之间的依赖关系更加清晰&#xff0c;同时也可以避免全局安装的包的版本冲突问题。 在Ubuntu系统上&#xff0c;可以使用Python的内置工具venv来创建虚拟环境。以下是在Ubuntu上创建Python虚拟环境的步骤&#xff1a; 安装Python虚拟环境工具&#xff1a;首先确保…

Maven配置文件忘记更新阿里云的Mavne镜像的最新地址

最近更新最新版的IDEA&#xff0c;打开旧的工作空间&#xff0c;发现以前Spring相关项目全部报错并无法运行。 单元测试发现无法识别XML配置文件路径&#xff0c;同时提示各种异常 异常一 org.springframework.beans.factory.BeanDefinitionStoreException: IOException par…

10W 音频功率放大电路芯片TDA2003,可用于汽车收音机及收录机中作音频功率放大器,内部具有短路保护和过热保护等功能

TDA2003 用于汽车收音机及收录机中作音频功率放大器。 采用 TO220B5 封装形式。 主要特点&#xff1a; ⚫ 内部具有短路保护和过热保护。内部具有地线开路、电源极性接 反和负载泄放电压反冲等保护电路。 ⚫ 输出电流大。 ⚫ 负载电阻可低至 1.6 。 …

[C++]C/C++ Socket设置非阻塞模式接收超时时间的多种方法

网络编程中经常需要处理的一个问题就是如何正确地处理Socket超时,对于C/C,有几种常用的技术可以用来设置Socket接收超时时间,在这篇文章中,我们将详细介绍如何在C/C中设置Socket的非阻塞模式以及如何配置接收超时时间,需要的朋友可以参考下 C/C Socket设置非阻塞模式接收超时时…