[FFmpeg-devel] [patch][RFC] mpeg-ts not packetized properly over UDP

Måns Rullgård mans
Tue Aug 17 12:19:26 CEST 2010

Michael Niedermayer <michaelni at gmx.at> writes:

> On Sun, Aug 15, 2010 at 04:24:59PM +0300, aviad rozenhek wrote:
>> when using ffmpeg to mux an mpegts stream over UDP, the data is not
>> packetized properly.
>> the default packet size of UDP is 1472, which is not an integer multiple of
>> 188 (the TS packet size).
>> this causes problems if UDP packets are dropped or reordered.
>> this can be worked around from the commandline if changing  cmdline from:
>> *> ffmpeg -re -i <input_file>  -f mpegts udp://localhost:1234*
>> to:
>> *> ffmpeg -re -i <input_file>  -f mpegts udp://localhost:1234?pkt_size=188*
>> *
>> *
>> however I think this makes it difficult for user to use properly.
>> attached is a simple (but not as efficient as possible) patch that fixes
>> this problem, by flushing after writing every TS packet.
> the udp packet size should be a multiple of the underlaying streams packet
> size when possible and it should be as large as possible
> making it 188 is not ok, this has too much overhead

It is common to send 7 188-byte TS packets per UDP packet as this is
the maximum number which fits in a 1500-byte MTU.

M?ns Rullg?rd
mans at mansr.com

More information about the ffmpeg-devel mailing list