SRT协议

        SRT(Secure Reliable Transport)是一种开源的视频传输协议,专为高丢包、高延迟网络环境设计,结合了UDP的低延迟和TCP的可靠性,广泛应用于直播、远程制作、视频会议等场景。

  • 定位:SRT协议的官方C/C++实现库,由Haivision和社区维护,提供高可靠、低延迟的流媒体传输能力。

  • 核心功能

    • 支持SRT协议的全部特性(ARQ重传、FEC、AES加密、自适应码率)。

    • 跨平台(Windows/Linux/macOS),提供C API和C++封装。

    • 与FFmpeg、GStreamer等主流多媒体框架集成。

1. SRT的核心优势

特性 描述
低延迟 基于UDP,支持端到端延迟可控制在 100ms~500ms(可配置)。
抗丢包 通过ARQ(自动重传请求)和FEC(前向纠错)恢复丢包,支持 30%+ 丢包率
安全性 内置AES加密(128/256位),防止数据窃听。
自适应码率 动态调整发送速率,避免网络拥塞。
多路复用 支持单端口多流传输,降低资源占用。

2. SRT的工作原理

(1) ARQ(自动重传请求)
  • 丢包检测:接收端通过序列号检测丢包,发送NACK(丢包重传请求)。

  • 选择性重传:仅重传丢失的包,而非全部数据,减少带宽浪费。

  • 重传超时:可配置超时时间(默认250ms),超时后放弃重传,避免延迟累积。

(2) FEC(前向纠错)
  • 可选功能,在数据包中加入冗余信息,允许接收端直接恢复少量丢包(无需重传)。

(3) 自适应传输
  • 带宽探测:持续监测网络带宽,动态调整发送码率。

  • 延迟控制:通过缓冲区(Latency Buffer)平滑网络抖动࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

byxdaz

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值