Как избавиться от ошибок "jitter buffer full" в ffmpeg?

Как избавиться от ошибок jitter buffer full?
Я использую ffmpeg из одного из последних снимков.
ffmpeg version N-90078-gf611fef Copyright (c) 2000-2018 the FFmpeg developers

Проблема в том, что с камеры на ртсп есть такой поток:
http://ibb.co/fmckCc
Это невозможно исправить со стороны камеры.

Я принимаю это так:

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

Я позже начинаю получать ошибки время от времени

[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

из-за этого картина рассыпается.

Я увеличил буфер udp в настройках ядра linux:

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

Это не решило мою проблему.
Скажите, как вы можете справиться с такими ошибками?

1 ответ

Попробуйте уменьшить max_delay или увеличить буфер джиттера. Когда вы устанавливаете max_delay на время больше, чем количество пакетов, которое может обработать ваш буфер джиттера, вы получите ошибку переполнения буфера, и, следовательно, пакеты будут потеряны.

Другие вопросы по тегам