DIY: DVB-T Streaming server/Austria, Vienna

Despite the end of DVB-T is close, since DVB-T2 is already simulcasted in Austria, there may still be some use for this.

Germany is currently rolling out DVB-T2 HD and the availability of USB-Receivers has been announced. My hope is, that some of these devices will work in this setup as well. We’ll see.

What you need:

  • Server:
    • DVB-T receiver (USB or other).
    • Linux
    • minisatip
    • an m3u file
  • Client:
    • vlc or elgato sat>ip, …

I assume, that you already have working drivers for your DVB-T receiver. You’ll notice that by looking into dmesg (after plugging the USB stick). If a Frontend (frontend0) has logged information there, you should be ready to go. You can double-check by running scan from the dvb-utilities.

Minisatip is an implementation of the SAT>IP protocol. Despite it’s name it can handle all kinds of DVB signals and stream them. I’ll focus on rtsp for now.

Currently, there is no debian archive I’d know of, but that’s no problem at all.

You can get minisatip from https://github.com/catalinii/minisatip, preferrably as a ZIP archive: https://github.com/catalinii/minisatip/archive/master.zip

Unpack it, and follow the instructions of the readme.

Now get or edit a relevant m3u file. For Vienna, Austria this will currently look like this:

#EXTM3U
#EXTINF:-1, ORFeins
rtsp://192.168.1.2/?freq=498&bw=8&msys=dvbt&mtype=16qam&fec=34&tmode=8k&gi=14&pids=0,101,1010,1011
#EXTINF:-1, ORF2W
rtsp://192.168.1.2/?freq=498&bw=8&msys=dvbt&mtype=16qam&fec=34&tmode=8k&gi=14&pids=0,102,1020,1021
#EXTINF:-1, ORF2N
rtsp://192.168.1.2/?freq=498&bw=8&msys=dvbt&mtype=16qam&fec=34&tmode=8k&gi=14&pids=0,103,1020,1021
#EXTINF:-1, ATV
rtsp://192.168.1.2/?freq=498&bw=8&msys=dvbt&mtype=16qam&fec=34&tmode=8k&gi=14&pids=0,104,1040,1041
#EXTINF:-1, Puls TV Austria
rtsp://192.168.1.2/?freq=578&bw=8&msys=dvbt&mtype=16qam&fec=56&tmode=8k&gi=18&pids=0,150,1050,1051,1052
#EXTINF:-1, 3SAT
rtsp://192.168.1.2/?freq=578&bw=8&msys=dvbt&mtype=16qam&fec=56&tmode=8k&gi=18&pids=0,151,1055,1056,1057,1058,1059
#EXTINF:-1, ORF Sport+
rtsp://192.168.1.2/?freq=578&bw=8&msys=dvbt&mtype=16qam&fec=56&tmode=8k&gi=18&pids=0,152,1060,1061,1062,1069
#EXTINF:-1, Servus TV
rtsp://192.168.1.2/?freq=578&bw=8&msys=dvbt&mtype=16qam&fec=56&tmode=8k&gi=18&pids=0,153,1064,1066,1067,1068,1169
#EXTINF:-1, ORF III
rtsp://192.168.1.2/?freq=578&bw=8&msys=dvbt&mtype=16qam&fec=56&tmode=8k&gi=18&pids=0,154,1070,1071,1072,1078,1079
#EXTINF:-1, SchauTV
rtsp://192.168.1.2/?freq=578&bw=8&msys=dvbt&mtype=16qam&fec=56&tmode=8k&gi=18&pids=0,155,1080,1081
#EXTINF:-1, RADIO MARIA
rtsp://192.168.1.2/?freq=578&bw=8&msys=dvbt&mtype=16qam&fec=56&tmode=8k&gi=18&pids=0,111,1111
#EXTINF:-1, ATV II
rtsp://192.168.1.2/?freq=634&bw=8&msys=dvbt&mtype=16qam&fec=56&tmode=8k&gi=14&pids=0,3011,3110,3111
#EXTINF:-1, gotv
rtsp://192.168.1.2/?freq=634&bw=8&msys=dvbt&mtype=16qam&fec=56&tmode=8k&gi=14&pids=0,3012,3120,3121
#EXTINF:-1, OKTO
rtsp://192.168.1.2/?freq=634&bw=8&msys=dvbt&mtype=16qam&fec=56&tmode=8k&gi=14&pids=0,3013,3130,3131
#EXTINF:-1, Pro7 MAX
rtsp://192.168.1.2/?freq=634&bw=8&msys=dvbt&mtype=16qam&fec=56&tmode=2k&gi=14&pids=0,3014,3140
#EXTINF:-1, Hope Channel
rtsp://192.168.1.2/?freq=634&bw=8&msys=dvbt&mtype=16qam&fec=56&tmode=8k&gi=14&pids=0,3015,3150,3151

I’ve stored that file as /var/www/html/minisatip/m3u

If you haven’t already installed minisatip in /usr/local/bin, you can run it from /usr/src.

/usr/src/minisatip/minisatip -D1 -x 8080 -p /m3u -R /var/www/html/minisatip/ &

That’s all.

If you now run vlc and open a network stream to http://%5Byour server’s ip, e.g. 192.168.1.2]:8080/m3u you can already zap through the channels.

You may want to find better permissions/groups for security reasons and create a additional systemd service or udev rule for your dvb-t stick, that will run minisatip automagically. We’ll probably discuss that later.

If you don’t have an m3u file for your region, use “scan”. It will find the correct values for you. Afterwards you have to create an m3u file as follows:

#EXTM3U

This is the header.

#EXTINF:-1, ORFeins

This is the broadcasting station’s name.

rtsp://192.168.1.2/?freq=498&bw=8&msys=dvbt&mtype=16qam&fec=34&tmode=8k&gi=14&pids=0,101,1010,1011

  • rtsp is the streaming protocol
  • 192.168.1.2 is an example ip address for your minisatip server
  • freq is the frequency in MHz of your broadcasting station’s transponder/transceiver. (scan will list that as kHz, so remove the trailing zeros accordingly.)
  • bw is the channels bandwidth as seen by scan.
  • msys is dvb-t in our example.
  • mtype is the modulation type. In this case QAM 16. Stick to scan’s output again.
  • fec(forward error correction): here 34 means 3/4
  • tmode specifies the amount of subcarriers. This is usually 2k or 8k.
  • gi is the guard interval (insertion). In our example 14 means 1/4 guard interval.
  • pids specify the virtual channels. For Sat>IP 0 means to demux the channel. If it’s missing, all the whole DVB stream get’s transmitted, but no a/v data will be visible. The other IDs are taken from scan’s output. The specify the services like audio stream, video stream and other services.

 

Maybe this can also be used for SD DVB-T2, but I couldn’t yet try. The austrian HD-variant “SimpliTV”, that’s also a broadcasting platform for other TV stations, uses base encryption. The RTR (Telecom Control) will allow to use base encryption only, if the service is widely used and accepted. Otherwise base encryption may be legally denied by the RTR.

DVB-T2-USB solutions on the market can -up to now- not handle encryption by itselves.

3 thoughts on “DIY: DVB-T Streaming server/Austria, Vienna

    1. Your are right, Robert. The change to DVB-T2 made it almost impossible to stream tv broadcasts in the described way.
      Nevertheless ORF1 and ORF2 are still broadcasted unencrypted on MUX A using DVB-T2. This means, in theory, an USB stick receiver capable of DVB-T2 and High Efficiency Video Coding (HEVC/H.265) will at least give these broadcasts in Standard Definition.
      The thing is, that KommAustria/RTR regulated, that this should only work “for at least” 5 Years.
      In regard to base encryption they stated, that they will continuously evaluate the use of terrestrial broadcasts. If the number of customers gets diminished beyond 150.000 users, the need for base encryption will be discussed. The evualation and observation periods are 2 years each.

      The Irdeto usb adapter you mentioned before has just been released on the german market and was originally designed for freenet TV. I guess it will undergo an ORS certification before been released. It’s my guess, that it will cost around a hundred euros or above (a simple DVB-T2 stick cost around 50 eu-bucks).
      Thanks for sharing the the information on the contract. Do you know where to get a full version?

      Like

      1. If you mean a full version of the contract, than unfortunately no. If you mean a full version of the article, here it is:
        ————-
        Irdeto and Austrian Broadcasting Services (ORS) entered into a new ten-year deal which will see ORS implementing Irdeto Cloaked CA to enable the delivery of video entertainment services to its customers. The new partnership is the extension of a previous long-term relationship that sees ORS move from using Irdeto Conditional Access for smart cards to software-based Cloaked CA. Irdeto Cloaked CA provides security for both broadcast networks and connected IP environments.
        ————–
        yes it’s just that short. 😉

        Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s