RTP/RTCP的 NACK, PLI,SLI,FIR

这篇具有很好参考价值的文章主要介绍了RTP/RTCP的 NACK, PLI,SLI,FIR。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1,概述

 

在网络环境不是太好的情况下,比如网络拥塞比较严重,丢包率可能比较高,简单实用NACK重传的机制,这样就会有大量的RTCP NACK报文,发送端收到相应的报文,又会发送大量指定的RTP报文,反而会增加网络的拥塞程度,可能导致更高的丢包率,导致接收端解码失败,导致花屏等马赛克现象。这时采用申请I帧的方式可能会解决马赛克等现象,申请的I帧方式主要PLI(Picture Loss Indication)和FIR(Full Intra Request)两种方式,FIR又包括RFC2032和RFC5104规定的两种方式,其中RFC5104规定的FIR报文比较常用。一般发送端在收到接收端发送过来的RTCP PLI报文,按申请I帧处理,当然收到FIR报文,就是申请I帧,NACK如下:

RTP/RTCP的 NACK, PLI,SLI,FIR,NACK,pli,fir,rtp

2,PLI 是Picture Loss IndicationPLI

图片丢失提示消息表明突发性的丢包影响到了一个或多个帧中的多个包。发送方可以通过重传这些包或者生成一个新的I帧以作出回应。但一般来说,PLI同时表现得像一个NACK和一个FIR,因此,通过使用PLI,接收端为发送端如何对该请求作出响应提供了更大的灵活度

RTP/RTCP的 NACK, PLI,SLI,FIR,NACK,pli,fir,rtp

3,SLI 是Slice Loss Indication。

切片丢失提示消息表明该包丢失影响到单个帧的部分(即,多个macroblock)。因此,当发送端接收到SLI消息时,它可以通过重新编码的方式纠正切片,停止部分帧解码错误的传播。

发送方接收到接收方反馈的PLI或SLI需要重新让编码器生成帧并发送给接收端。

4,FIR  

FIR 是Full Intra Request视频在WebRTC的会话中总是以一个I帧开始,然后发送P帧。但是,当有新的参与者中途加入会议会话时,很有可能接收到一系列P帧,但因缺少相应的I帧,它并不能解码。这种情况下,该接收端会发送一个FIR以请求一个I帧。
 RTP/RTCP的 NACK, PLI,SLI,FIR,NACK,pli,fir,rtp

5,FIR和PLI区别

当解码端需要刷新时,可以发送FIR消息给编码端,编码端此时发送关键帧,刷新解码端。这有点类似PLI消息,但是PLI消息是用于丢包情况下的通知,而FIR却不是,在有些非丢包情况下,FIR就要用到。举两个例子:
1)解码端需要切换到另一路不同视频时,由于需要新的解码参数,所以可通过发送FIR消息,通知编码端生成关键帧,获取新的解码参数,刷新视频解码器;
2)在视频会议中,新用户随机时刻加入,各个编码端发送的视频不一定都是关键帧,所以新用户不一定能正常解码。此时该新加入用户发送FIR消息,通知各个编码端给它发关键帧,获取关键帧后即可正常解码。
 文章来源地址https://www.toymoban.com/news/detail-670992.html

到了这里,关于RTP/RTCP的 NACK, PLI,SLI,FIR的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【音视频第21天】RTP、RTCP结合wireshark抓包详解

    感觉单纯看理论没啥意思,结合RTCP、RTP来看一看抓包详解 实时传输协议RTP(Realtime Transport Protocol):是针对Internet上多媒体数据流的一个传输协议, 由IETF作为RFC1889发布,现在最新的为RFC3550。RTP被定义为在一对一或一对多的传输情况下工作,其目的是 提供时间信息和实现流同

    2024年02月15日
    浏览(35)
  • 流媒体协议初探(MPEG2-TS、RTSP、RTP、RTCP、SDP、RTMP、HLS、HDS、HSS、MPEG-DASH)

    流媒体技术需要解决的问题: 1.允许客户端在不下载完整文件的时候即可以开始播放视频; 2.允许客户端从完整内容的任何位置开始播放(不包括视频直播); 3.针对视频直播,允许客户端从任意时间开始观看频道内容; 4.允许在客户的带宽条件和客户端的硬件条件下播放;

    2024年02月03日
    浏览(36)
  • VCS中的DPI和PLI

    在VCS中,DPI(Direct Programming Interface)是一种机制,用于在Verilog和C/C++代码之间进行互操作。DPI允许从Verilog代码中直接调用C/C++函数,并允许C/C++代码直接访问Verilog模块的内部信号和状态。 DPI的主要用途是为仿真器提供更高级别的功能和控制,并将仿真器与其他软件工具进行

    2024年02月10日
    浏览(27)
  • FFmpeg rtp & rtp_mpegts的区别

    RTP是一种用于实时传输音视频数据的协议,常用于视频会议、流媒体等场景。 在FFmpeg中, rtpenc 是一个用于将音视频数据封装成RTP(Real-time Transport Protocol)数据包并发送到网络上的编码器。 rtpenc 可以将音视频数据封装成RTP数据包,并通过UDP协议发送到指定的IP地址和端口号

    2024年02月10日
    浏览(26)
  • sipp重放rtp数据测试FreeSWITCH

    环境:CentOS 7.6_x64    FreeSWITCH版本 :1.10.9    sipp版本:3.6.1   sipp是一款VoIP测试工具,日常开发过程中会使用到该软件,但其自身携带的pcap文件夹里面的rtp数据包太小,rtp长时间测试的场景会出现媒体异常的情况,需要制作长时间pcap文件以满足测试,这里记录下使用sipp作为

    2024年02月06日
    浏览(28)
  • FIR 基础应用 - FM 调频波调制解调(FIR 低通滤波)

    本文链接:https://blog.csdn.net/qq_46621272/article/details/125337119 FIR 基础应用 - FM 调频波调制解调(FIR 低通滤波) 这是 XILINX FIR IP 详解、Verilog 源码、Vivado 工程 这篇文章的实验部分,用 FIR 低通滤波实现了调频波的解调输出。 和上篇文章 FIR 基础应用 - AM 调幅波调制解调(FIR 低通滤波

    2024年02月08日
    浏览(37)
  • TCP、UDP、IP、RTP头长度

    各种协议的数据包头长度如下: UDP 头(8 字节) 源端口(2 字节) 目标端口(2 字节) UDP 数据包长度(2 字节) 校验和(2 字节) RTP 头(12 字节或者24字节) 版本号(2位) 填充位(1位) 扩展位(1位) CSRC计数器(4位) 标记位(1位) 负载类型(7位) 序列号(16位) 时

    2024年02月11日
    浏览(32)
  • RTP协议基本分析(RTSP、WebRTC使用)

    实时流传输协议(RTSP:Real Time Streaming Protocol)是一种网络传输协议,旨在发送低延迟流。 该协议由RealNetworks,Netscape和哥伦比亚大学的专家在1996年开发。它定义了应如何打包流中的数 据以进行传输。 2、RTP RTP协议原理,负责对流媒体数据进行封包并实现媒体流的实时传输,

    2023年04月17日
    浏览(28)
  • python工具-解析wireshark的rtp抓包

    python工具-解析wireshark的rtp抓包 抓包 代码 执行结果 将 rtp 包数据,使用 python 解析,然后根据需要,再进一步分析 使用 tcpdump 或 wireshark 抓 rtp 包 过滤 rtp 包,然后 ctrl+A 全选, ctrl+C 复制, ctrl+V 粘贴,得到下边这样内容的文件 rtp.data 内容如下

    2024年02月07日
    浏览(29)
  • H264码流进行RTP包封装

    一.H264基本概念 H.264从框架结构上分为 视频编码层(VCL)和网络抽象层(NAL) , VCL功能是进行视频编解码,包括运动补偿预测,变换编码和熵编码等功能;NAL用于采用适当的格式对VCL视频数据进行封装打包。 VCL数据即被压缩编码后的视频数据序列,在VCL数据封装到NAL单元中

    2024年01月22日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包