[linux-dvb] How to convert MPEG-TS to MPEG-PS on the fly?

Josef Wolf jw at raven.inka.de
Wed Aug 27 00:31:40 CEST 2008


On Tue, Aug 26, 2008 at 08:49:08AM +0200, Nico Sabbi wrote:

Thanks for your answer, Nico!

> > If I remove the PS pack header and the PS system header (stream-id 0xba
> > and 0xbb) then both play the stream, but no STB plays it :-(
> You must have corrupted some header in your application :)

I have trimmed my application to create exactly the same output as
ts2ps does.  But you are correct: I should have checked ts2ps output
before adopting :-/

> replex never worked with at least 60% of the TSs I fed it with,
> that left me no other choise than to fix mencoder's muxer, as long
> as something as horribly crippled and broken like mencoder can be
> fixed (that may not work if you give it 100% correct timestamps
> for every single frame)

I agree that mencoder really needs a indent run.  But at least it
produces output that can be played on a wide variety of players/devices.

> > It seems to be a mess.  None of the programs seem to produce proper
> > streams.  Only mencoder seems to generate a proper stream.  But AFAICS,
> > mencoder completely decodes the stream and re-encodes it again, eating
> > up all the CPU.
> 
> it doesn't decode: it just demuxes, although parsing audio and video
> frame headers is probably eating up a good % of your cpu.
> If you want to make it lighter either
> - use ffmpeg, it can be surely used to generate many PS from a single TS
>   although its command line is really challenging

The problem is that I have multiple TS which are to be remuxed into
multiple PS (one-to-one).

> - use -demuxer lavf and fix libmpdemux/muxer_mpeg.c so that frames are
>   not analyzed within the muxer itself, but just copied verbatim in
>   teh corresponding mpeg_frame_t[] array

Hmm, I am not really sure I understand what you are trying to say to me.

> > Any more ideas how to do the conversion?
> > 
> > BTW: Can anybody recommend a good book on the topic?
> 
> none that I know of, but muxing mpeg-ps is more trivial than it looks
> like when reading the specs

Ugh, I am not really sure about this, given that many applications fail
badly on this.



More information about the linux-dvb mailing list