首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何消除ffmpeg中的“抖动缓冲区满”错误?

如何消除ffmpeg中的“抖动缓冲区满”错误?
EN

Stack Overflow用户
提问于 2018-02-22 06:21:19
回答 1查看 2.2K关注 0票数 3

如何消除错误jitter buffer full

我使用的是最新的一张快照中的ffmpeg。

ffmpeg version N-90078-gf611fef Copyright (c) 2000-2018 the FFmpeg developers

问题是,在rtsp上的摄像机上有这样一条流:

http://ibb.co/fmckCc

这是不可能从相机方面解决这个问题。

我是这样接受的:

代码语言:javascript
复制
ffmpeg \
-strict experimental \
-fflags + genpts \
-fflags + latm \
-seek2any 1 \
-avoid_negative_ts + make_zero \
-max_delay 5000000 \
-rtsp_transport udp \
-i rtsp: // admin: @ 192.168.87.21: 554/0? .sdp \
-map 0 \
-r 15 \
-c: v copy \
-an \
-f mpegts udp: //239.0.0.1: 1234? ttl = 1? pkt_size = 1316

后来我开始不时地收到错误。

代码语言:javascript
复制
[rtsp @ 0x154d180] jitter buffer full
[rtsp @ 0x154d180] RTP: missed 1 packets
[rtsp @ 0x154d180] jitter buffer full
[rtsp @ 0x154d180] RTP: missed 1 packets
[rtsp @ 0x154d180] jitter buffer full
[rtsp @ 0x154d180] RTP: missed 2 packets
[rtsp @ 0x154d180] jitter buffer full
[rtsp @ 0x154d180] RTP: missed 4 packets

正因为如此,这幅画就崩塌了。

我在linux内核设置中增加了udp缓冲区:

代码语言:javascript
复制
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.udp_mem = 8388608 12582912 16777216
net.ipv4.tcp_rmem = 4096 87380 8388608
net.ipv4.tcp_wmem = 4096 65536 8388608

这并没有解决我的问题。

告诉我,你怎么处理这些错误?

EN

回答 1

Stack Overflow用户

发布于 2021-12-07 14:59:48

尝试降低max_delay或增加抖动缓冲区。当您设置max_delay的时间超过您的抖动缓冲区所能处理的数据包数时,您将得到缓冲区完全错误,因此数据包将丢失。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48920875

复制
相关文章

相似问题

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