首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为RTSP服务器添加缓冲区?

如何为RTSP服务器添加缓冲区?
EN

Stack Overflow用户
提问于 2020-11-05 10:37:44
回答 1查看 568关注 0票数 1

我试图创建以下管道:

On Jetson

1.1)照相机->…-> udpsink 1.2) udpsrc -> rtspserver

主机PC上的

( 2.1) rtspsrc -> jitterbuffer ->检测->跟踪器->分析

主要问题是我的Jetson通过本地WiFi网络连接到主机PC。我选择了mesh WiFi Tenda Nova MW3。当Jetson从一个WiFi访问点重新连接到另一个访问点时,我丢失了一些帧(从0.5秒流到10秒流)。我知道我们不可能得到理想的无缝WiFi网络,系统在重连接过程中会“松掉一些帧”。

我尝试在udpsrc和udpsink上设置缓冲区,尝试在rtspsrc上设置重传,但是它没有工作,或者我做错了。

  1. 如何在RTSP服务器中设置缓冲区,使Jetson客户端重新连接到另一个WiFi点并继续将帧从最后一点发送到主机PC
  2. 我应该在udpsink或udpsrc或rtspserver上设置缓冲区吗?
  3. 如何配置rtpsrc以从“丢失的时间”发送帧?
EN

回答 1

Stack Overflow用户

发布于 2020-11-07 00:42:47

我松开了一些帧(从0.5秒流到10秒流)

可能是因为主机流水线中的解码器错过了I帧,应该等待下一个I帧,所以0.5~10s依赖于GOP中的第一个帧位置(GOP可以通过编码器属性改变)。

  1. 您可以使用rtmp服务器而不是rtsp,srs是一个不错的选择,并打开gop缓存。该管道希望成为相机->编码器-> flvmux -> rtmp接收器。 vhost __defaultVhost__ { gop_cache on;}
  2. 延迟会增加,同时启用gop缓存,因此编码器的GOP不应该那么大,可能是2s是好的。
  3. 主机pc上的流水线可以接收重新连接wifi之前处理过的视频数据,并且与禁用gop相比,延迟更大。如果两者都算在内,您应该在解码后放弃过时的帧。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64695445

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档