【GStreamer】减小延时的参数设置、从RTP中获取时间戳

1、问题描述

在使用 GStreamer 实现 RTSP 转 RTMP 时,延时很大,2~5秒,这是为了应对网络抖动、丢包重传、音视频同步等问题,建立了一些缓冲区。

2、解决方法

在可以损失流畅度、画面质量的前提下,可以使用如下参数来减小延时
1)rtspsrc 参数:

  • buffer-mode=auto:自动调整缓冲区大小
  • drop-on-latency=true:缓冲区满时丢弃旧数据
  • latency=0:最小化 RTSP 接收缓冲区
  • do-retransmission=false:禁用 RTCP 重传请求,减少延时

2)queue 参数:

  • max-size-time=100000000:设置队列最大时间为 100ms
  • leaky=downstream:队列满时丢弃旧帧

3)flvmux 参数:

  • latency=0:最小化 FLV 封装延迟

4)rtmpsink 参数:

  • sync=false:禁用音视频同步&#x

你可能感兴趣的:(视频,GStreamer)