On Fri 25.06.2004 at 10:31:16AM +0200, Dirk Meyer wrote:
> yesterday I played with three tv players supporting dvb to find the
> right one for Freevo. All players have problems I want to have
> removed. So here a list of what I found out:
> 
> 1. mplayer
>    + good output (many vo modules)
>    + support to add infos on the screen with bmovl
>    - no channel switching during runtime

not true. It crashes my box sometimes, it is slow like hell, but it
works (read mplayer's manual, the input section about slave mode). Btw,
I wonder why Freevo is (was?) using a v4lzap (or whatever the name)
program to change the channel, rather than mplayer's own function?)

>    - no live pause

I played with Thomas' patch, and it works great (except when the thingy
crashes, but that can be fixed :) I use a modified version of tzap to
record either to a file, or to the timeshift buffer.

>    - no seek back while watching

Works with Thomas' patch.

Besides, I played with the seek function for TS streams, and now I can
seek to precisely whatever position I want. The same modifications can
be applied to the PS stream seek function in mplayer.

And I also managed to get DVB SPU subtitles displayed in mplayer (but
only when the source stream is a TS, because I haven't implemented any
autodetect of subtitle type for PS streams).
 
> So we have too many '-' in all players and no one can seek backwards.
> One idea would be to hack some support of the missing features in the
> player. I looked at the code and adding live pause to xine shouldn't
> be too hard. Adding anything to mplayer doesn't look easy. And vdr
> isn't written to be controlled by Freevo at all.

Adding things to mplayer is not that hard either (once you have spent
several hours tearing your hair off wondering wtf... :)

> Some people wrote that they use tzap in combination with ts2pes to do
> the recording. These tools are very small and maybe we can reuse the
> source to build some tv app on our own. That isn't too hard if we use
> mplayer or xine to do the real work.

I suppose you mean PS, not PES? PES is not a multiplexed stream, PS and
TS are.

Is there really a need to convert the TS to a PS ? I've read that
someone here is allergic to TS, but is there any real reason for that?
It is not much bigger than PS (1% or something). The one thing which is
annoying, is the timestamps that don't start at 0, but this could be
changed also maybe.

> My design:
> 
> o We merge tzap (and it's brothers szap and czap) with ts2pes. The
>   result should be an application that get's a channel, converts the
>   ts into ps and put it into a fifo.

Or a file, or the timeshift buffer.

> o We use mplayer to read from that fifo. By that, we have complete
>   control over the ts and don't have to care about displaying.
> 
> o The new app (let's call it tzap2pes for now) starts mplayer in slave
>   mode and has slave mode on it's own. Now the new app can control
>   mplayer and can be controlled itself by Freevo. 

I have thought about such a design already. This could be actually
implemented in Freevo, Freevo being the glue between tzap2ps and
mplayer. The same tzap2ps could then be used for recording digital TV to
the disk (instead of mencoder).

> o Now the fun part:
>   - if we press PAUSE, tzap2pes starts dumping the steam to a file and
>     also pauses mplayer.
>   - on resume, tzap2pes still dumps the stream to a file, but also
>     sends the recorded stream to mplayer
>   - on channel change, tzap2pes switches the channel and mplayer
>     doesn't even have to know

Why not use live TV all the time, with a fixed-size buffer? OK, we are
limited in time, but it would be easier than your design.

> o The advanced setup:
>   If we have an application like the one above, we have fast channel
>   switching, complete control and live pause. To make an even better
>   app, we could add the following stuff:
>   - On PAUSE, don't pause mplayer, just send a still image to the fifo.

Doesn't work: the fifo contains a video packet (made of 12 images), not
one single image. mplayer will not comply. Pausing mplayer is the only
solution. Your solution requires video decoding inside tzap2ps.

>   - Always save the stream and on seeking, send the needed stuff into
>     the fifo for mplayer. Maybe we have to rewrite some timestamps for
>     that.

No *need* to rewrite the timestamps, but it would be nice to have the
movie starting at 0:00 instead of whatever else. However, mplayer has an
inside timer that starts at 0, I planned to hack mplayer so that this
timer is displayed instead of the pts while watching a TS.

>   - Scan the ts while getting it for more information like EPG

Support subtitles (done already).

>   - Support recording streams
>   - Do not use one file for live pause, use a set of files. E.g. start
>     writing to dump0001 and when this file is 50 MB, move on the
>     dump0002. When dump0003 is the one tzap2pes sends to mplayer, we
>     could remove dump0001.

That's actually better than Thomas' timeshift, because we could have a
longer pause than the length of the timeshift buffer, if we need to.

> I want to spend most of my free hacking time on Freevo. So I need some
> people (maybe two) to do this. The people need to have some C
> programming skills and should not be afraid of stupid protocols like
> ts. As doc I have a pdf about TS and PES and we should use the sources
> of tzap and ts2pes. For cool stuff like EPG and teletext, we could
> read some vdr source. 

It would be good to have teletext in freevo, yes (analog and digital).

I'm not afraid of hacking mplayer, but I won't do any hacking else than
what I need for myself (not so much time, sorry).

Matthieu
-- 
 (~._.~)        Matthieu Weber - Université de Jyväskylä         (~._.~)
  ( ? )                email : [EMAIL PROTECTED]                  ( ? ) 
 ()- -()               public key id : 452AE0AD                  ()- -()
 (_)-(_)  "Humor ist, wenn man trotzdem lacht (Germain Muller)"  (_)-(_)


-------------------------------------------------------
This SF.Net email sponsored by Black Hat Briefings & Training.
Attend Black Hat Briefings & Training, Las Vegas July 24-29 -
digital self defense, top technical experts, no vendor pitches,
unmatched networking opportunities. Visit www.blackhat.com
_______________________________________________
Freevo-users mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-users

Reply via email to