[FFmpeg-devel] make work (live) libsrt

Tudor Suciu tudor.suciu at gmail.com
Tue Aug 21 23:22:34 EEST 2018


Hello,

I get errors when I try to send a live srt stream that the first packet is
too big:
21:30:39.896626/ffmpeg*E: SRT.c: LiveSmoother: payload size: 1504 exceeds
maximum allowed 1316

Here are example commands for server and client:
ffmpeg -re -i ~/Downloads/ToS-4k-1920.mov -vcodec libx264 -g 50 -refs 1 -s
640x360 -b:v 1000k -acodec aac -b:a 64k -flush_packets 0 -f mpegts "srt://
127.0.0.1:5555?mode=listener"
ffplay srt://127.0.0.1:5555

A patch that fully solves the issue is:
diff --git a/libavformat/libsrt.c b/libavformat/libsrt.c
index 0f9529d263..156a4776e2 100644
--- a/libavformat/libsrt.c
+++ b/libavformat/libsrt.c
@@ -412,6 +412,8 @@ static int libsrt_open(URLContext *h, const char *uri,
int flags)
         return AVERROR_UNKNOWN;
     }

+    h->max_packet_size = 1316;
+
     /* SRT options (srt/srt.h) */
     p = strchr(uri, '?');
     if (p) {

How would you like this option to be made work in a way that can be
accepted in ffmpeg?
Is there a way to change the max packet size without this patch?

Regards,


More information about the ffmpeg-devel mailing list