MPEG-TS Framerate Divider?

Edward Hervey bilboed at
Tue Apr 9 23:48:46 PDT 2013


  One way or another you are going to have to demux the stream, modify
the framerate and timestamps and remux it.

  * framerate : that information is present in the video elementary
streams (i.e. not at the mpeg-ts level itself unlike other container
formats) ... but a lot of decoders simply ignore it (and use the PTS/DTS
instead for synchronization).
  * PTS/DTS : you will need to modify those. I'm not sure we can do this
right now with the video parsers for example.

  Note that this is assuming that (for some weird reason) the provider
of that stream encoded the video stream faster than the other streams.

  If you want to *drop* frames, you will have to either:
  * decode the stream, drop extra frames, re-encode
  * OR keep only I-frames ... but this might not work for all formats

  If you want to *insert* frames, you will have to decode, insert
duplicate frames, re-encode.


On Mon, 2013-04-08 at 10:57 -0700, Peter Witkowski wrote:
> Hello,
> I'm wondering if GStreamer has any way to lower the framerate of a
> video stream inside a MPEG-2 TS without demuxing the TS.  I'm provided
> the MPEG-TS by a device and read out the bytes via a serial driver.  I
> currently have no say in terms of the framerate or size of the video.
> The reason I ask is that there are other private data streams in the
> TS that I want to preserve, and I only want to lower the framerate of
> the video stream in the TS to lower the networking bandwidth
> requirements of the TS.
> Thank you in advance for the help!

More information about the gstreamer-devel mailing list