Impressum/contact information

navigation: About me, PGP | Projects: Debian, DVB, dvbdescramble, glip, eWiki, FBA, minicas

About me

Hey there,

you’ve reached the pages of Patrik Fimml, a 18-year-old computer enthusiast from Volders, Austria. Having passed Matura in June 2009, I am currently doing my Zivildienst. In mid-term future, I intend to study Computer Science.

You can find a variety of mostly computer-related stuff here, especially small programming projects of mine. Suggestions/comments are welcome at patrik@fimml.at.

PGP

Amongst other things, I use PGP to sign and encrypt my email.

Projects

Debian

On all of my systems, I am using Debian GNU/Linux (and proud of it). I’m a huge fan of both the idea of Open Source and GNU/Linux, and I try to make my contribution to some projects by reporting and fixing bugs. I maintain a few packages in the Debian distribution (but I’m not a DD).

DVB

I have been playing with DVB-S ever since setting up my PVR back in 2006. Apart from ubiquitous VDR, I am still awaiting the killer interface to zapping through and/or recording MPEG streams for Linux. Admittedly, I do have a rather special use case, as the computer with the DVB-S card has no video output, just a wireless network connection. Even VDR didn’t feel like the right thing, which is why I am relying on some scripts, dvbstream and at to schedule recordings.

dvbdescramble

While there are many DVB utilities for Linux, I have found most or all of them to lack support for Conditional Access, i.e. encrypted streams. As ORF, the Austrian public service broadcaster, scrambles their streams for licensing reasons, I wrote a little program to drive a CA Module end of 2008.

It does nothing more than that: tell the CAM to descramble a programme. You’ll have to use other programs for tuning and recording, and of course you need a CAM with a smartcard that entitles you to that programme. The big advantage of the “just descrambling” approach is that many programs do not need any modification to work with dvbdescramble. I am using it in conjunction with dvbstream to record CA programmes.

For this to work, dvbdescramble needs the DVB service_id (which you can get e.g. from your channels.conf). An example, using dvbsnoop to check a stream for scrambling:

$ grep ORF1 channels.conf
ORF1:12692:h:0:22000:160:161:13001
$ szap -c channels.conf ORF1 &>szap.log &
$ dvbsnoop -s ts 160 | grep scrambling | head -n 1
transport_scrambling_control: 2 (0x02)  [= TS packet scrambled with Even Key]
$ dvbdescramble --program 13001 &>dvbdescramble.log &
[wait some seconds and/or check dvbdescramble.log for progress]
$ dvbsnoop -s ts 160 | grep scrambling | head -n 1
transport_scrambling_control: 0 (0x00)  [= No scrambling of TS packet payload]

Now that we’re confident that dvbdescramble does its job, we can use it with dvbstream to record a stream:

$ dvbdescramble --program 13001 &>dvbdescramble.log &
$ dvbstream -p h -f 12692000 -s 22000 -ps 160 161 -o > stream.ps

Note that this program was only tested with CAMs and smartcards used by ORF. The implementation of the CAM protocol is incomplete; in short, Your Mileage May Vary. No warranty if the program breaks anything (even though I don’t see how that could happen).

Please give me feedback on whether the program worked/didn’t work for you! Include details on your CAM and smartcard as well as the name of your content provider. If you want me to include support for a specific CAM module, consider sponsoring me a pay-TV subscription so I can test new code.

glip

glip, a git library in PHP, enables your PHP scripts to access git repositories. Written in pure PHP5, it works without even having git installed, thus making it the ideal git library to use with your el-cheapo web hosting service.

eWiki

eWiki is a minimalist wiki software written in PHP5. It uses glip to store wiki pages along with their history in a git repository.

You can see eWiki in action over at David’s personal wiki.

Fachbereichsarbeit

In their last year of secondary school, Austrian students can opt to write a Fachbereichsarbeit (FBA), i.e. a pre-university scientific paper. In mine I cover CAS basics.

Complementing my FBA, I have developed a quick and dirty proof-of-concept CAS that does little more than solving linear equations (hence the name: “minicas”). Written in C++, it comes with a lightweight GTKmm GUI.