Video stuttering with 4Mbps 1080P RTP streams

419 views
Skip to first unread message

Lewis

unread,
Jun 28, 2019, 1:52:22 AM6/28/19
to kurento
Hi,

I start the RTP Receiver demo, feed it with the 4Mbps 1080P RTP streams and the video stutters every few seconds. The attachment is the  KMS container log.

I've seen the troubleshooting about RTSP Video stuttering, but I don't see the "Queue full" logs. When I reduce the bitrate, the stuttering will disappear.

According to the log, when the key frame packet comes, the sequence number of the RTP packet may miss a few decades and then stream discontinuity log shows.

I add the `setMaxVideoSendBandwidth` and `setMaxVideoRecvBandwidth` methods in the Handler.java, but it seems make no difference.

Here's some details of how I've set things up:

- I use the Docker image to setup the media server, version 6.10
- I use the ffmpeg to feed the RTP stream, which is "ffmpeg -an -re -i '.\Saved RTP Video.dat' -payload_type 103 -c copy -f rtp rtp://192.168.99.100:50092"

Since the CPU usage is quite low, is there a way to configure the KMS to handle the higher bitrate streams more than 2Mbps? Or do I need to modify kms-core files in order to achieve this?

Please guide me if I am missing something or any other changes needs to be done.

Any help will be highly appreciated.
Thanks & Regards, Lewis



0628.log

Lewis

unread,
Jul 28, 2019, 10:11:26 PM7/28/19
to kurento
Problem solved. The I frame (about 500KB) is too large for the default max socket receive buffer(212872). Changing the value of net.core.rmem_default and net.core.rmem_max, the stuttering will disappear.

在 2019年6月28日星期五 UTC+8下午1:52:22,Lewis写道:

Juan Navarro

unread,
Jul 30, 2019, 9:31:03 AM7/30/19
to kurento
Hi,
this could be a very interesting addition to our Troubleshooting section.

I assume that net.core.rmem_default and net.core.rmem_max are tunables of the linux kernel, right?

So, when you configured them to allow receiving I frames as big as 500KB, then the stream didn't stutter and the warnings disappeared altogether?

Lewis

unread,
Aug 6, 2019, 10:40:05 PM8/6/19
to kurento
Correct. The attachment is the video that can reproduce the issue if you need to confirm it.

在 2019年7月30日星期二 UTC+8下午9:31:03,Juan Navarro写道:
Saved RTP Video2.dat

Oberdan Santos

unread,
Aug 12, 2019, 1:20:55 PM8/12/19
to kurento
Hi, 

I am facing a similar problem. Which values ​​for net.core.rmem_default and net.core.rmem_max did you choose?  

My default max socket receive buffer size is 212992.

Thanks, Oberdan.

Lewis

unread,
Aug 19, 2019, 10:23:43 PM8/19/19
to kurento
It depends on the bitrate and the encoding algorithm of the stream. It looks OK for me when I set it to 1M.

在 2019年8月13日星期二 UTC+8上午1:20:55,Oberdan Santos写道:
Reply all
Reply to author
Forward
0 new messages