Record DreamBox dm 500 S On Linux Over HTTP Stream


Record “DreamBox dm 500 S” On Linux Over HTTP Stream


1- Preliminary Note

we will be using these tools:

  • DreamBox dm 500 s or any similor device
  • Linux machine running “Ojuba 2”, Arabic distribution Fedora 10 based
  • Linux tools “wget, mplayer, ffmpeg, tee”


2- Preparing

When you attach your DreamBox to your network it will get a IP if you have a DHCP server (or DSL modem on your home network); if not, you can set the IP manually using your OSD (On-Screen-Display). If you are able to ping it you are ready. 🙂

From now on I’ll use the IP as my DreamBox IP.


3- Knowing the basics

DreamBox provides a stream TCP/IP server to access the TV channels, each channel in your DreamBox has its own HTTP address. You can find it out using the DreamBox web interface like this:

1- Open your DreamBox in your web browser:

2- Go and find your targeted channel.

3- Double-click on it and make sure it is appears on your TV.

4- Find and click the VLC icon in your web interface.

5- Download the m3u file (don’t watch it now please).

6- Open the m3u file using any text editor (gedit as an ex.) and it will look like this:,0105,0205,02bc,0085


4 Watch the show

You can copy and paste the channel address into any media player and it should run it, in my case I love to run it using mplayer from the terminal like this:

mplayer “,0105,0205,02bc,0085”


5 Record the show

You can record the show using “wget” like this:

wget “,0105,0205,02bc,0085” -O file_to_save_record.ts

The “-O” option is to save the output in a file using “file_to_save_record.ts” as its name, the stream comes in “TS” format and in “MPEG2” video codec and “MP3” audio codec.


6 Convert the show

The stream comes in a high quality so it takes much disk space so you may want to convert it on the fly, you can do that like this:

ffmpeg -i “,0105,0205,02bc,0085” file_to_save_record.mpg

For sure you can use your own ffmpeg switch to do more jobs if you need to, the command just like this will save you around 80% of the record disk space.


7 Watch, record and convert on-fly

If you like to record the show and watch it at the same time you can do it like this:

wget “,0105,0205,02bc,0085” -O – | tee  file_to_save_record.ts | mplayer –

The “-O -” tells the “wget” to send the output to the STDOUT instead of a file, and the “tee” command copies the input that comes from the pipe into the file “file_to_save_record.ts” and sends it to STDOUT again, after that “mplayer” takes its input from STDOUT because we used “-” as the file name.

And you can save it in two different formats (the orignal TS and any other) like this:

wget “,0105,0205,02bc,0085” -O – | tee  file_to_save_record.ts | ffmpeg -i – file_to_save_record.mpg

Again we use “-” as the input file so that “ffmpeg” gets its input from STDOUT.


8 Watch, record and convert on-the-fly (my way)

The previous way is not my favorite, I used to do that like this:

1- Record the show like this:

wget “,0105,0205,02bc,0085” -O file_to_save_record.ts

2- Then run another command to watch it, like this:

tail -f file_to_save_record.ts | mplayer -

What that command does is to give you the last recorded part of the show and send it to “mplayer” so you can watch it, it works as much as you record from your DreamBox, this way gives you more options than the previous one, first you can pause the show if you like to get a cup of coffee, second you will be able to forward the show to skip an advertisement or some silly part (just if the live one had passed it).

And you can use the same method for the converted files too, like this:

1- Record and convert  the show like this:

ffmpeg -i “,0105,0205,02bc,0085” file_to_save_record.mpg

2- Then run another command to watch it, like this:

tail -f file_to_save_record.mpg | mplayer -

You may also like:

    None Found