This is my demux app Ive wrote for linux, it has a pretty simple job, you either give it a list of pids you want saved or you dont give it a list and it assumes 4196 (0x2000) record all pids on the tp. It saves the result to /tmp/test.ts you can then use vlc or whatever to play the file.
If you want to give it a list of pids and you want it player friendly then dont forget you need to not only specify the vpid and apid, but also the pcr (often the vpid but not always), the pmt and pat as well.
once your done recording press 'q' to quit
The mips version is setup for dreambox, again I use openpli. The mips version doesnt have the ability to record the entire stream, if you try and select pid 0x2000 it will lock the dreambox up tight and you'll need to reboot. It does though have the ability to send the stream instead of to a file or to the onboard mpeg decoder so that you can watch it on your TV instead. Obv make sure enigma isnt running, lol, only one app at a time can send video to the TV hehe.
edit: I think I fixed the 2GB filesize limit in dreambox demux.mips
edit: December 12th 2010, adjusted how the usleep() size is determined, also switched to fwrite() in mips, hopefully this will eliminate the buffer overruns and keep cpu usage low