I'm in the process of developing a client that can receive and decode
h264 video streamed via rtp from an rtsp server.

The SDP file looks like this:

v=0
o=- 0 0 IN IP4 127.0.0.1
s=camera stream
c=IN IP4 239.255.12.42/5
t=0 0
a=tool:libavformat 54.20.4
m=video 7654 RTP/AVP 96
b=AS:8000
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1


But because the camera is fairly high resolution, the frames were too
large and the client frequently dropped RTP packets (observed the same
with avplay).

It turns out the receive buffer configured in udp.c is too small:

#define UDP_MAX_PKT_SIZE 65536

Bumping that parameter takes care of the packet drops.

Others have brought this issue up as well:

https://ffmpeg.org/pipermail/libav-user/2013-October/005686.html
http://ffmpeg.org/pipermail/libav-user/attachments/20131017/1cd03172/attachment.html

I have not found an acceptable solution posted anywhere (want to use
multicast, switching to TCP is not an option).

Does this issue indeed require an API change (e.g. add an AVOption), and
if yes, what is the cleanest way? If some of the developers can offer
guidance I'm willing to implement and test.

Thanks!

Bernd
 

_______________________________________________
libav-api mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-api

Reply via email to