Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux-dvb] Re: [ANNOUNCE] VirtualSTB



:) wow!

dvb@epmak.info wrote:
Hi All!

I could imagine your mixed feelings about what you will read next.
But anyway I want to announce first public release of
new W*****s (censored) GPL'ed project named VirtualSTB.

---------------------------------------------------------------------------

    VirtualSTB

1. Intro
  Primary goal of VirtualSTB is to allow Linux DVB (digital TV) software
to run under Windows without code modification. Surprisingly, and as it
usually
happens,during development of this software it became clear that some
solutions
could be used for other goals.
Generaly VirtualSTB could be divided to 2 parts:
1) Linux part: proxyDVB, proxyDVB_Handler & proxyDVB_Pusher
2) Windows part: VirtualSTBViewer
These parts could be used together or separately. That depends on your
needs.
Currently it is possible (with some limitations) to run unmodified vdr
(Video Disk Recorder - http://www.cadsoft.de/vdr/).



2. Linux part
  General idea was to use only one computer for VirtualSTB that means that
Linux is supposed to be Virtual on Windows machine. You can use any Linux
virtualization software like coLinux, VirtualPC, VMWare, QEmu, Bosch...
Development is done using coLinux (because there is no CPU emulation).
During tests with VirtualPC no problems were found. Of course you can use
stand-alone Linux machine too.

2.1 proxyDVB
  proxyDVB is Linux kernel module that implements LinuxDVB API and behaves
as DVB card. Development is done using Kernel 2.4.26 and LinuxDVB driver
from
2004.04.03. When driver is loaded it creates following devices:
/dev/dvb/adapterX/audio0
/dev/dvb/adapterX/backdoor
/dev/dvb/adapterX/ca0
/dev/dvb/adapterX/demux0
/dev/dvb/adapterX/dvr0
/dev/dvb/adapterX/frontend0
/dev/dvb/adapterX/net0
/dev/dvb/adapterX/osd0
/dev/dvb/adapterX/push_channel
/dev/dvb/adapterX/video0
as you see that is supposed to be a Premium-DVB card. In fact proxyDVB does
nothing but transfers API calls to another program
via /dev/dvb/adapterX/backdoor
device and sends back data that is received
from /dev/dvb/adapterX/push_channel

2.2 proxyDVB_handler
  This program just opens device /dev/dvb/adapterX/backdoor and reads API
calls
from proxyDVB. When new API call is read, this information is being sent to
special server via TCP/IP where this command will be processed. When
command
is processed, answer is received and sent back to proxyDVB adapter.
proxyDVB_handler have 3 arguments: BackdoorDevice ServerAddress ServerPort

2.3 proxyDVB_pusher
  This program opens device /dev/dvb/adapterX/push_channel and writes DVB
data
that is received from special server via TCP/IP. Currently it is supposed
to receive only MPEG2 TransportStream.
proxyDVB_pusher have 3 arguments: PushDevice ServerAddress ServerPort



3. Windows part
  Windows part is program named VirtualSTBViewer. This program receives DVB
API
calls from Linux application via TCP/IP, processes them on real hardware
and sends data back. OSD implemented with DirectShow using
VideoMixingRenderer9
and alpha-blending. "Universal Source Filter" (usrc.ax) from WinSTB project
is required.
Currently following run modes are supported:
-SkyStar2(SkyAVCdata)
-Nova
-AnalogTV
-OSDWithoutHardware
-StreamReader
-PCTVSat
-SkyStar2(SkyAVC)
VSTBViewer can send all pressed keyboard keys and WinLIRC received remote
keys
via SVDRP (VDR server protocol).

3.1 SkyStar2 (SkyAVCdata)
  In this mode SkyStar2 hardware is controlled by Marfi's SkyAVC.ax
DirectShow
filter.  You can download it on http://www.cait.com.pl/dvb.php?sect=eng
Current problems: No Diseqc support implemented. PID 0 is not being sent
back
to Linux.
When filter for new PID filter is added, video stops for some time
NB: SkyAVC filter have expiration date

3.2 Nova
  In this mode Nova (SkyStar3 or TechnoTrend budget DVb card) is controlled
by OpenSource Windows driver written by Marcel Major. No bugs related to
driver are known.

3.3 AnalogTV
  In this mode your DVB commands will be translated to AnalogTV API. Only
tuning
and Video/Audio display is implemented. Data capture is not implemented yet.
To be honest it is not really related to DVB but it was easy to implement
and include into VirtualSTB so it was done...8)

3.4 OSDWithoutHardware
  In this mode no hardware related commands are processed. But OSD is
working
and your custom DirectShow graph is loaded. That means that you could create
graph that will receive streamed data from Linux (streaming plugin) that
will work with OSD and keyboard.
In Addons directory you will find ugly, dirty patch for vdr that will send
OSD
commands directly to VirtualSTBViewer. Target IP address is hardcoded.
It is supposed to run together with streaming plugin. At now it is not
tested yet.

3.5 StreamReader
  In this mode hardware is controlled using StreamReader.dll. It has been
tested
for SkyStar2 using StreamReader.dll from WinSTB project. Unfortunatelly
at least this version is very unstable. You can try to use other versions.
BTW you also can try to use StreamReader.dll for other cards.
For instance there is (not yet tested with VSTB) version for TwinHan cards:
http://joshyfun.sytes.net/
NB: StreamReader.dll for SkyStar1 will not work!!!

3.6 PCTVSat
  Code is based on WinSTB project. Currently for unknown reasons it does
not work.
Please submit your patches.

3.7 SkyStar2 (SkyAVC)
  In this mode Video/Audio displayed using original approach. So that means
that Video/Audio is not captured.



TODO:
- fix all hardware problems
- implement Linux client for proxyDVB
- Implement playback feature for Video/Audio device (timeshifting)
- Enigma / Neutrino
- port Windows code from Delphi to Lazarus
(http://www.lazarus.freepascal.org/)?
---------------------------------------------------------------------------

You can download it from:
http://prdownloads.sourceforge.net/vstb/VirtualSTB-coLinux-20040803.zip?
download
http://prdownloads.sourceforge.net/vstb/VirtualSTBViewer-20040808.zip?
download

Total required download size is ~65mb. (if you allready have coLinux and
official
coLinux 6.1 Debian image then you need to download only 4.5mb)

Please note: this release is supposed for people who knows what
is coLinux/LinuxDVB/VDR.

Prefered configuration: Nova & CPU>1.5Ghz

With best wishes
Epmak








Home | Main Index | Thread Index