Hi,

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
   - no live pause
   - no seek back while watching

2. xine
   + also a wide range of output
   - bad channel switching during runtime
   - no live pause
   - no seek back while watching

3. vdr
   + good channel switching during runtime
   + live pause
   - hard to control from inside Freevo
   - no seek back while watching
   - doesn't work with our recordserver

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.

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.

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 pes and put it into a fifo.

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. 

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

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.
  - 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.
  - Scan the ts while getting it for more information like EPG
  - 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.


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. 


Comments? Questions? Better ideas? Volunteers?


Dischi

-- 
None of the ideas expressed above are actually mine. They are told to
me by Luthor and Ferdinand, the five inch tall space aliens who live
under my desk. In return for these ideas, I have given them permission
to eat any dust bunnies they may find under there.


-------------------------------------------------------
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