Project Progress
Posted by stephen on Saturday, 08th October, 2005 @ 16:03
I've spent what feels like far too many hours this week playing with a Hauppauge PVR-350 MPEG encoder card. Mostly because I discovered the MPEG decoder chip has a framebuffer driver with alpha channeling. My plans of a PC set top box move a little closer to becoming reality.
I found the necessary source packages for the IVTV modules, along with utils packages for Debian Unstable. Personally I prefer stable, so I've created some binary packages of the drivers and utilities for Debian Sarge which you can get from my software section if you're interested.
It's pretty much been research up until now, along with packaging things up nicely. One of my aims when researching this stuff is to make it quickly reproducible. The mini-ITX system I've got hosting the PVR card also has a DVB-T card installed, and twice now I've reinstalled and made it into a streaming Freeview server in about 15 mins by following my guide. The first time highlighted a couple of bugs in my instructions, so they're fixed now.
Having rebuilt some Debian packages for the PVR card has got me thinking I should build a Debian package to replace most of my DVB streaming how to. Watch this space!
Anywhere, here's where I am now:
- Capturing from the PVR card works.
- Playback through the PVR card works.
- X runs on the PVR cards framebuffer.
- Alpha channeling the framebuffer works.
- The output from the SAA7127 chip onboard the PVR-350 is beautiful, this is definitely something to consider should the opportunity arise one day to create an embedded x86 STB.
- Freevo runs on the framebuffer, looks great.
- LIRC lets me use the Hauppauge remote to control Freevo, sort of. The signals are perfect, just too many of them.
- Using dvbstream I can pull News 24 off the DVB-T card and poke it straight into the PVR-350 decoder just by piping it into the device. I love Unix.
- MythTV also runs on the framebuffer X and apparently can use MPEG decoder on PVR-350, yet to prove though. MythBrowser is a gorgeous implementation of Konqueror in the Myth interface. Need to find Freevo equivalents. Myth has the advantage of being written with Qt, but Freevo is easier to build for as is in Python.
- Can move and resize video display within output area, cool!
- Can pipe videos ripped from the TiVo straight into the decoder, interesting thoughts about leveraging existing technology into a single interface.
And here's where I need to go:
- Get VLS streaming video from the PVR card's encoder. Should be fairly straightforward. Will keep my boss happy.
- Deploy above on other mini-ITX system on it's compact flash install, should be straightforward as mostly things are packaged now.
- Customise Freevo or parts thereof to create an effective STB interface.
- Integrate pvr250player or ivtvplay code with Freevo so video playback is handled by MPEG decoder chip.
- Once I can do both of the above, alpha blend a nice interface with video, make EPG.
- Get Freevo talking with DVB card, ideally with listings from the DVB signal. VDR can do this, investigate further.
- Fix IR remote control codes for Freevo interface.
- Get an image on the PVR-350 framebuffer ASAP during boot up.
- Reduce overall boot time by hardcoding modules and disabling hardware detection.
- Lots of other stuff I can't think of right now.
- Pipe stuff live from the TiVo into the decoder, currently using previously downloaded and de-TiVo'd files.
No doubt I'll be updating you soon with my progress and hopefully I'll have a few more packages and guides to show for it too.
