[vlc-devel] Vlc / live555 problem with RTP packet bursts
Sampsa Riikonen
sampsa.riikonen at iki.fi
Tue Sep 8 20:55:19 CEST 2015
Dear Vlc Developers,
I have the following problem, which has been reappearing & torturing me
in one form or the other during the last six months by now ..
.. it is related to RTP packet bursts in H264 video streams.
First, two illustrative cases (A) and (B) and then some concrete questions.
A) The packets arrive directly from a camera to vlc, with some latency
between them:
p0 [latency] p1 [latency] p2 [latency] p3 [latency] p4
The video visualizes in correct order and ok.
B) Now I use a proxy between the camera and vlc.
The proxy accumulates packets and after N packets have arrived, it
floods them into a port where vlc is receiving them.
(vlc is given an input .sdp file where the h264 payload and port are
defined)
I.e., in python, approximately:
for i in range(N):
socket.sendto(data,(ip,port))
.. which creates a zero-latency packet burst, i.e. when compared to case
(1), there is no latency *between* the packets:
p0 p1 p2 p3 p4
In this case vlc displayes corrupted video and jitter occurs. If frames
should be shown in order 1,2,3,4,5,6,7 .., they are typically displayed
for example 1,2,6,7,3,4,5, i.e. with "jitter"
C) Here we created situation (B) artificially, but it typically occurs
in wifi, which tends to send packets over the air in large bursts
One can fix this problem to some extent (but not completely) by
increasing the value of "--network-caching" .. But after experimenting a
lot with this, I don't think it is an issue of a buffer underrun (i.e.
cases when there is nothing for live555/vlc in the cache to consume).
So, the concrete questions:
- Could there be something in live555 and/or in vlc that can't handle
packet bursts? Any ideas of such a thing?
- Maybe the network buffers ("socket sizes") are too small, so:
- Where are the network buffer / socket sizes defined (i.e.,
socket.SO_RCVBUF) in live555 and/or in vlc and what are what are their
default values?
- .. can they be tuned (are they tuned by vlc) ?
Regards,
Sampsa
More information about the vlc-devel
mailing list