Dear Freevo's friends,
attached you can find a funny piece of Python code developed by me for Freevo; 
trying to pay off a small part of my debt with Freevo. Indeed, my children kill 
me if our PC-Home had not got Freevo ;-)

For impatients, type "python dvb3l.py". For reckless guys, unpack the tarball 
and activate the plugin in your local_conf.py: plugin.activate('dvb.dvb3l')

dvb3l.py allows access to the DVB v3 kernel device driver for Linux: the 
present DVB API for Linux (although S2API is coming ... see linuxtv.org). 
Supossedly, Windows' guys could rewrite it for analogous operation. The list 
DVB_HW defines entries to be sequentially tuned during a specified time 
(DVB_DWELL_TIME).

Special entries in the list DVB_HW trigger the scanner capability. Any entry 
without the frequency field (for instance: [0,0,0]) provokes a scanner looks 
for valid DVB frequencies which become as they would be manually written in the 
list DVB_HW. A scanner entry tries to tune at frequencies according to 
DVB_SCANNER_RES_FREQ resolution.

The real work for DVB demux is carry out by dvb_ts.py, which works at the 
lowest level: DVB packets. Code is compliant with two normative levels: H222.0 
(as knwown as ISO.13818-1) and DVB (see ETSI docs). Present code is focused on 
data available within the DVB stream, known as PSI or SI; the most significant 
and known data is the real-time EPG of all DVB channels. Therefore, this 
middleware piece of code could be used to extract continuously EPG data. Other 
future developments could be based on it: ATSC for American guys, interactive 
TV (MPH, TV Any-Time), ... even to grab directly video, audio or other stream 
data (subtitles, ...) 

Although I have long-term background for several programming languages, this is 
my first Python experience; besides, code has been written from scratch. This 
means heavy testing would be advisable, though I have tested it during days 
after releasing this first alpha.

A good improvement would be to add cache support for data gathered by the 
scanner and demuxer. A pending integration task is a method to allow to live 
with other resources (mplayer, xine, ...  or Freevo code) tunning the DVB card.

Friends, ... try it out, enjoy and consider to incorporate this code into 
Freevo. I will try to continue supporting this contribution within my personal 
limitations.

Regards, JP



      

Attachment: dvb_test_package.tar.gz
Description: Unix tar archive

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Freevo-devel mailing list
Freevo-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freevo-devel

Reply via email to