[vlc-devel] [HOWTO] New Dreambox port of VLC

Christophe Massiot massiot at via.ecp.fr
Fri Nov 7 15:02:14 CET 2003


Dear friends,

I have just checked in some files from the Dreambox port of VLC. My goal
was to stream DVB channels from the Dreambox to a PC, not the contrary
(though is should be possible, I haven't written any support for an
audio and video output which would use the Dreambox's
/dev/dvb/card0/video and /dev/dvb/card0/audio).

I own a Dreambox DM 7000-S. It was initially loaded with the 1.05
firmware, though I reflashed it with 1.06.5. I have tried the Viaccess
CAM, and you can get Viaccess-encrypted channels (for instance TPS and
ABSat) unencrypted on your computer, provided you have the smartcards
from the provider. The AstonCrypt v2 module for Mediaguard doesn't work,
though.

First you need to compile the full Dreambox CDK from the sources, see the
instructions at : http://www.net42.co.uk/dreambox-hints.shtml#cvs

Beware, not all software is opensource : there is a dream.o kernel
module which contains the interesting part (DVB and CAM drivers) and
which isn't open source. But the interface (enigma) is open source and
is enough to understand how the CAM works. The DVB is still using the
old API from linuxTV.org (in the rel1_0_0 branch), though there is
work on supporting the new API (the HEAD branch) it isn't functional
currently. That's why I reused the old satellite module. See :
https://tuxbox.org/forum/viewtopic.php?t=23572

Once you have the CDK installed, you can configure VLC that way :

CXXCPP=powerpc-tuxbox-linux-gnu-cpp CC=powerpc-tuxbox-linux-gnu-gcc CPPFLAGS="-mpowerpc -mcpu=823 -msoft-float -mmultiple -mstring -I! -I/home/cmassiot/videolan/tuxbox-cvs/driver/include" ./configure --prefix=/home/cmassiot/videolan/dbox2/cdkroot --disable-dvd --disable-ffmpeg --disable-mad --disable-libmpeg2 --enable-satellite --with-dvbpsi-tree=/home/cmassiot/videolan/libdvbpsi-dreambox --disable-plugins --host="i686-linux-gnu" --target="powerpc-tuxbox-linux-gnu" --disable-gtk --disable-x11 --disable-sdl

To avoid building too many modules, I just hacked configure.ac and added
this line just after "AM_CONDITIONAL(HAVE_PLUGINS, ${plugin_support})" :

BUILTINS="ts_dvbpsi mux_ts_dvbpsi dummy rc logger memcpy es mpga mpeg_system ps ts demuxstream mpeg_audio a52 access_file access_udp ipv4 access_output_dummy access_output_udp access_output_file access_output_http mux_ts mux_ps mux_dummy packetizer_mpegvideo packetizer_copy stream_out_dummy stream_out_standard stream_out_es stream_out_duplicate satellite"

AFAIK it is the simplest way to specify the exact modules you want to
build. Before that you'd need to configure and compile libdvbpsi with
the same CXXCPP, CC and CPPFLAGS variables.

To test your binary (only the binary of VLC and libdvbpsi.so are
necessary), just mount a file system with NFS (for instance the cdkroot
directory created by the cdk build system), and type :

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/hdd/lib"
/hdd/bin/vlc --noaudio --novideo -I dummy -vvv satellite/demuxstream: --program 17029 --demuxstream-mrl "udp:192.168.255.1:1234" --dvb-dmx 1 > /var/tmp/toto 2>&1 &

Note that I don't specify a frequency, because I prefer to tune with
enigma (it has the big advantage of initing the CAM card properly so
that I can watch encrypted channels).

You should get the MPEG stream on 192.168.255.1. It uses about 10 % of
the CPU on the Dreambox. In theory it should be possible to get
several channels, but there is a limit of 8 demux filters on the
Pallas processor. Besides, the CAM card will only let you decipher
one DVB service.

Enjoy !

-- 
Christophe Massiot.

-- 
This is the vlc-devel mailing-list, see http://www.videolan.org/vlc/
To unsubscribe, please read http://developers.videolan.org/lists.html
If you are in trouble, please contact <postmaster at videolan.org>



More information about the vlc-devel mailing list