Sie sind auf Seite 1von 6

FEATURE

Selfmade IPTV

Fernsehen aus dem Netzwerk

Teil 4

146 TELE-audiovision International — The World‘s Largest Digital TV Trade Magazine — 11-12/2013 — www.TELE-audiovision.com

This is how our test

centre looked like for this report.

This is how our test centre looked like for this report. • ideal für Bastler, um

• ideal für Bastler, um Audio und Video zuhause zu streamen

• eine kleine Platine dient als Basis für das eigene Heim IPTV Netzwerk

• MPEG2 und VC Lizenzen müssen getrennt gekauft werden

• zum Streaming wird TSReader Pro eingesetzt

• kann auch mit VLC eingesetzt werden

www.TELE-audiovision.com — 11-12/2013 — TELE-audiovision International — 全球发行量最大的数字电视杂志 147

FEATURE

Selfmade IPTV

Vitor Martins Augusto

Nachdem wir uns in den ersten drei Teilen zum Thema IPTV eher der Theorie gewidmet haben möch- ten wir nun im vierten Teil eine kon- krete IPTV-Lösung implementieren. Benötigt wird gar nicht mal so viel:

als Server dient ein PC mit einem Empfänger für digitales Fernsehen (DVB, ATSC oder ISDB) und TSRea- der Pro. Als IPTV-Receiver benut- zen wir den Raspberry Pi.

Das häufigste Problem bei der Imple - mentierung von IPTV im Heim ist die Frage, wie man denn das IPTV am Fern- seher empfangen und darstellen soll. Natürlich könnte man an jedem Fernse - her einfach einen kompletten PC hinstel- len, doch dies würde nicht unbedingt gut aussehen und außerdem kostet auch ein günstiger PC doch einiges an Geld, von den Stromkosten mal abgesehen. Wir haben uns deshalb umgesehen, welches Gerät wir denn als IPTV Receiver benut- zen könnten. Unsere Kriterien: günstig, klein, verfügbar und vielseitig sollte das Gerät sein. Nachdem wir verschiede - ne Kandidaten geprüft haben (von der Spielekonsole bis zum modifizierten Ap - pleTV war alles dabei), entschieden wir uns für den Raspberry Pi. Der Raspberry Pi ist ein winziger Com- puter, dessen Platine die Fläche einer Kreditkarte belegt (85.6mm x 56mm x 21mm). Trotz der kleinen Größe handelt

2
2

es sich um einen vollwertigen Computer mit einem ARM-Prozessor. Die Eckdaten sind:

SoC („System on Chip“): Broadcom BCM2835 mit einem ARM1176JZFS Kern, der mit 700MHz getaktet wird und eine Videocore 4 GPU Grafikeinheit ent- hält, die in der Lage ist, H.264 mit bis zu 40MBits/s in Hardware zu dekodieren. Weiterhin werden OpenGL ES2.0 und OpenVG Bibliotheken unterstützt. Model B verfügt über 512MB RAM, ak- tuell werden die Platinen sogar zum glei- chen Preis mit 1GB RAM ausgeliefert. Anschlüsse:

- SD-Karte: von dieser wird das Be - triebssystem geladen

1. The Raspberry Pi is a small computer

with the footprint of a credit card. Still, it features all conceivable connections:

- HDMI

- Composite Video

- Analog Stereo Audio

- 2x USB

- 1x Micro-USB for power supply

- RJ-45 Network

- SD card reader

On the PCB there are furthermore connectors for digital and analog inputs/ outputs

2. The Raspberry Pi will convert any TV or

monitor into a full blown media center when using XBMC. Because the Raspberry Pi is so small, it will snug away behind the TV. If you then use a wireless keyboard with integrated trackball or touch pad, you won’t even see any loose cables.

1
1

148 TELE-audiovision International — The World‘s Largest Digital TV Trade Magazine — 11-12/2013 — www.TELE-audiovision.com

3
3
7
7
4
4

3. The webpage “openelec.thestateofme.com” features all

published versions of OpenELEC for Raspberry Pi, including Windows-friendly *.img version, which can be easily flashed using Image Writer, whose Windows version is called Win32 Disk Imager.

4. Just download the latest rXXXXX.img.zip File and extract it with

your favourite compressing tool.

5. Use Win32 Disk Imager to write the image file onto the SD card.

We recommend the use of 8GB SD cards with 6x speed or better. The card is written with 10MB/s which is not that bad. Flashing should take less than a minute.

6. When the flashing is finished, a message box appears. Don’t

remove the card yet, because we need to write the license keys for

the MPEG2 decoder.

7. On the root of the freshly written SD card you will find a file

called “config.txt”. Open it with a text editor (we prefer to use the free Notepad++) and scroll down to the license keys section. Copy & paste the license file you

5
5
6
6

- 2x USB: zum Anschluss

von Tastatur, Maus, USB- Speicher, usw.

- LAN: RJ-45 mit

100MBit/s

- Audio: analoger Stereo- Ausgang

- RCA Video: analoger

Composite Video-Ausgang

- HDMI: für digitale Audio und Video Ausgabe

- Micro-USB: für Stromver-

sorgung Das interessante an die - sem Gerät ist sein Preis: of- fiziell kostet der Raspberry Pi Model B lediglich US$ 35, zu welchen sich Steuern und Versandkosten addieren. In Europa kann man den Ras- pberry Pi für ungefähr 35 Euro kaufen. Dieser niedrige Preis ist deshalb möglich, weil

dieser Miniatur-Computer von der Raspberry Pi Stiftung entwickelt wurde, die es sich

zum Ziel gesetzt hat, einen absolut günstigen Computer

für alle Kinder zur Verfügung zu stellen, um das Program-

mieren auch im Kindesalter zu motivieren, wie es frü-

her bei den 8-Bit Computern wie dem Spektrum und dem

Commodore 64 der Fall war. Für alle anderen ist es aber toll, dass diese Platine un- eingeschränkt zu erwerben ist und somit Applikationen möglich sind, die vorher aus Kostengründen eigentlich un- vorstellbar wären. Der Raspberry Pi wird in Zusammenarbeit von Far- nell und RS Electronics her- gestellt und ist bei diesen

weltweit zu beziehen. Damit man die Platine benutzen kann benötigt man weiterhin ein Micro-USB Netzteil, das auch bei modernen Smart- phones üblich ist. Außerdem braucht man eine SD-Karte, wir empfehlen eine mit 8GB. Ein passendes Gehäuse kann seit kurzem ebenfalls für ca. 6 Euro bestellt werden und macht auf jeden Fall Sinn, um die Platine vor einem Kurzschluss oder statischer Entladung zu schützen. Wir haben die Platine allerdings wochenlang ohne Gehäuse benutzt und diese auch ange - fasst, ohne dass etwas pas- siert wäre. Weil die Platine so klein ist, lässt sie sich prima hin- ter dem Fernseher platzieren

received from the Raspberry Pi store. After completing the purchase our keys arrived about 2 hours later, but the site mentions that it could take up to 72 hours.

und als Tastatur und Maus eignet sich am besten eine kabellose Version, die beide Funktionen auf kleiner Fläche integriert. Im Handel finden sich viele oft als „Multimedia“ oder „TV“ Tastatur bezeich- nete Modelle, deren Maus als Trackball oder Touchpad im- plementiert ist. Ganz wichtig: um den Preis von Raspberry Pi klein zu halten, fehlen dem Gerät die Lizenzen, um MPEG2 abzu- spielen, obwohl die Hardware dazu durchaus in der Lage ist. Dies ist aber für die Dar- stellung von IPTV notwendig, da die meisten Kanäle, die in SD ausgestrahlt werden, in MPEG2 kodiert sind. Im Web - shop der Raspberry Pi Stif- tung kann man für 3,00 Euro die MPEG2 Lizenz kaufen. Man erhält per e-Mail einen Schlüssel, der diese Funkti- on aktiviert. Dieser Schüssel

150 TELE-audiovision International — The World‘s Largest Digital TV Trade Magazine — 11-12/2013 — www.TELE-audiovision.com

muss auf der SD-Karte in der „config.txt“-Datei an ent- sprechender Stelle eingetra- gen werden. Fortan werden auch MPEG2 kodierte Inhalte mittels hardware-gestützter Dekodierung dargestellt. Auf gleiche Weise kann auch eine VC-1 Lizenz für 1.50 Euro ge - kauft werden, um entspre - chende Inhalte darstellen zu können. Raspberry Pi funktioniert hauptsächlich mit einer an- gepassten Linux-Distribution, doch mittlerweile bekommt man auch schon fertige Firmware-Dateien („Image“ genannt) mit XBMC. Der selt- same Name dieser Multime - dia-Software entstand aus der Abkürzung für „Xbox Me - dia Center“: diese Software wurde ursprünglich für die erste Version der Xbox ent- wickelt. Mittlerweile wurde diese Software auf alle denk- baren Systemen portiert, da- runter auch Windows, Linux, MacOS sowie Android und iOS. Keine Frage: bei XBMC handelt es sich um eines der besten Multimedia-Program- me. Es werden praktisch alle Formate abgespielt (Audio, Video und Bilder), es gibt un- zählige Plugins und die Be - dienung ist kinderleicht. Wer XBMC noch nicht kennt sollte dieses Programm unbedingt auf Windows, MacOS oder Li- nux ausprobieren. Wie im Linux-Umfeld üb - lich, gibt es gleich mehrere verschiedene Distributionen von XBMC für den Raspber- ry Pi: OpenELEC, Raspbmc, XBian, usw. Wir haben mit OpenELEC die besten Resul- tate erzielt. Um den Raspberry Pi mit XBMC zu benutzen, müssen folgende Schritte durchge - führt werden:

1) Die Datei mit dem XBMC-Image muss von der OpenELEC Webseite geladen werden (siehe Linktabelle). 2) Entpacken Sie das Archiv zum Beispiel mit WinRAR. 3) Die *.img Datei wird anschließend mit Win32Dis- kImager auf die SD-Karte geflasht. Stellen Sie sicher, dass Win32DiskImager auch wirklich das korrekte Lauf-

8
8
9
9
10
10

werk für die SD-Karte ent- deckt hat, damit Sie nicht aus Versehen das falsche Laufwerk formatieren. 4) Nun muss die „config. txt“ Datei editiert werden:

an der entsprechenden Stelle muss der Lizenz-Schlüssel für MPEG2 eingegeben werden. Nun kann man den Ras- pberry Pi starten und nach wenigen Sekunden erscheint die XBMC Oberfläche, die hervorragend selbsterklä- rend ist. Wichtiger Hinweis:

es ist normal, dass beim

11
11

152 TELE-audiovision International — The World‘s Largest Digital TV Trade Magazine — 11-12/2013 — www.TELE-audiovision.com

ersten Start, nachdem die SD-Karte beschrieben wur- de, das Betriebssystem au- tomatisch neu startet. Erst beim zweiten Start wird dann XBMC geladen. Der erste Durchlauf dient zur Konfigu- ration des Betriebssystems. Warten Sie daher etwa, an- statt es wie wir zu machen:

wir dachten am Anfang, et- was sei fehlgelaufen und ha- ben prompt die SD-Karte neu programmiert… Mit TSReader Pro ist es möglich, den empfangenen Transport Stream direkt über UDP in das Netzwerk einzu- speisen. Entweder kann der Transport Stream komplett 1:1 in das Netzwerk geleitet werden oder man benutzt die integrierte Demuxer-Funkti- on. Mit dieser kann jeder ein- zelne im Transport Stream enthaltene Kanal separat in das Netzwerk gestreamt werden. Da gewöhnliche Multimedia-Geräte normaler- weise über keinen Demuxer verfügen, können Sie einen Transport Stream nicht dar- stellen oder es wird nur ein Kanal des Transport Streams angezeigt ohne Möglichkeit, einen anderen Kanal auszu- wählen. Genau dies passiert auch mit XBMC, wenn man versucht, den kompletten Transport Stream zu empfan- gen: es wird einfach nur ein Kanal dargestellt, ohne dass man die Möglichkeit hat, auf einen anderen umzuschalten. Deshalb benutzen wir die Demuxer-Funktion von TS- Reader Pro und streamen die gewünschten Kanäle per Mul- ticast in das Netzwerk, wobei wir aber für jeden Kanal eine individuelle Port-Nummer verwenden. Damit XBMC diese Streams auf verschiedenen Ports empfangen kann, müssen wir eine Playliste im *.m3u For- mat erstellen. Dies ist prak- tisch, denn so erscheint in XBMC eine Liste mit den voll- ständigen Kanalnamen und das Zappen gestaltet sich äußerst komfortabel. Der Clou ist aber, dass man mehrere Instanzen von TSReader Pro starten kann, jeweils mit einem andern Tu-

12
12
13
13
14
14
15
15

8. Start TSReader Pro and tune

to the desired transponder as

usual.

9. Open the “Forward” menu

and select “Forward to UDP…”. On the list in the upper part of the window select each channel you want to stream and configure the respective IP address and port number. You can use the same IP address for all channels, but then you need to use individual port numbers. Remember that the multicast addresses start at 224.1.1.1 and go up to 239.255.255.255.

10. Using a text editor like

Notepad++, you need to configure the play list for XBMC,

introducing each streamed channel with the respective IP and port.

11. In our first experiment, we streamed four channels and configured the IPTV.m3u file accordingly. Naturally you can name the file as you desire, as long as you keep the *.m3u extension.

12. Not too soon, we wanted

to try to increase our IPTV bouquet and added a second

TSReader session, this time using a DVB-T tuner.

13. With this TSReader

session we were receiving the Portuguese digital terrestrial television, which contains only 4 channels.

14. Each channel was assigned

an IP address and an individual port number.

15. Streaming has started.

TSReader tracks on how much data has been sent and how many errors occurred.

www.TELE-audiovision.com — 11-12/2013 — TELE-audiovision International — 全球发行量最大的数字电视杂志 153

16 6
16
6

17

16 6 17 18 19 20 16. Boot screen of the OpenELEC distribution of XBMC for

18

16 6 17 18 19 20 16. Boot screen of the OpenELEC distribution of XBMC for

19

16 6 17 18 19 20 16. Boot screen of the OpenELEC distribution of XBMC for

20

16 6 17 18 19 20 16. Boot screen of the OpenELEC distribution of XBMC for

16. Boot screen of the OpenELEC

distribution of XBMC for the Raspberry Pi

17. Main menu of XBMC. You can

access all functions from here, using the keyboard, the mouse or any other device you connect, including a wide range of remote controllers.

18. The video menu. You can add

new folders containing video using the “Add Videos…” entry. These can be folders on the Raspberry Pi or shared folders within the network.

19. Playing a TV channel received

over the network – IPTV at its best

20. XBMC includes a wide range of

configurations for audio and video,

including the display of subtitles

21. Zapping can be done using the

|<< and >>| buttons or by going

back to the playlist.

22.

from HOTBIRD 13.0E.

23. This is a different playlist,

showing the channels we are streaming from our DVB-S/S2 card. You can have as many playlists as you wish.

24. Zapping between the different

channels within the playlist is easy, but naturally you have to expect 2-3 seconds to see the next picture. The reason is the buffering that is required, to ensure that sudden delays within the network traffic don’t stop the reproduction.

channel

Playing

a

streamed

21
21
22
22
23
23
24
24

154 TELE-audiovision International — The World‘s Largest Digital TV Trade Magazine — 11-12/2013 — www.TELE-audiovision.com

25

6
6

26

25 6 26 27 28 29 ner (egal ob auf einem oder #EXTM3U #EXTINF:0,TVI nen Kanal.

27

25 6 26 27 28 29 ner (egal ob auf einem oder #EXTM3U #EXTINF:0,TVI nen Kanal.

28

25 6 26 27 28 29 ner (egal ob auf einem oder #EXTM3U #EXTINF:0,TVI nen Kanal.

29

25 6 26 27 28 29 ner (egal ob auf einem oder #EXTM3U #EXTINF:0,TVI nen Kanal.

ner (egal ob auf einem oder

#EXTM3U

#EXTINF:0,TVI

nen Kanal. Um diese Datei

ne Playlisten anlegt. Die hier

mehreren PCs – schließlich

#EX T V LCOP T:ne t wo r k-

zu erstellen und zu editieren,

beschriebene Konfiguration

benutzen wir ja Multicast), so

caching=1000

kann jeder beliebige Textedi-

lässt sich übrigens auch mit

dass man sich ein ansehnli-

udp://@224.2.2.2:1004

tor benutzt werden, denn es

VLC als Server verwirklichen,

ches Bouquet erstellen kann. Wir haben zum Beispiel einige Kanäle eines Transponders von HOTBIRD (13.0E) mit dem portugiesischen digita- len terrestrischen Fernsehen kombiniert. Fortan stehen im ganzen Haus über das Netz- werk diese 8 Kanäle bereit und können mit dem Ras- pberry Pi, aber auch anderen Geräten (PC, Tablet, Konso - le, usw.) empfangen werden, wenn diese mit UDP-Streams umgehen können. Besonders einfach ist es natürlich, wenn auf dem jeweiligen Gerät XBMC installiert ist. Das Format der *.m3u Playliste ist recht einfach und sieht so aus:

Die erste Zeile identifiziert die Datei als EXTM3U-Play- liste und muss genau so vor- handen sein. Nun folgen für jeden Kanal 3 Zeilen: #EX- TINF bietet „Extended Info“, also weitere Informationen, damit XBMC statt dem Da- teinamen und der IP-Adresse den Namen des Kanals an- zeigt. Hier kann nach dem „0,“ ein beliebiger Text, in unserem Fall eben der Name des Kanals, eingegeben wer- den. Die nächste Zeile dient dazu XBMC anzuweisen, ei- nen Puffer anzulegen, da- mit das Bild bei kurzzeitigen Netzwerk-Kollisionen nicht stottert. Bei einem großen Wert dauert das Zappen deutlich länger. Wir verwen-

handelt sich im Grunde um eine normale *.txt-Datei, bei welcher die Datei-Endung auf *.m3u geändert wurde. Wir weisen hier auf Notepad++ hin - ein toller Open Source Editor mit vielen Funktionen und Plugins, der auch mit entsprechendem Plugin als Hex-Editor dient. Die fertige *.m3u-Datei ko - piert man nun zum Beispiel auf einen USB-Speicher und steckt ihn an den Rasperry Pi. Dies kann bei laufendem Gerät erfolgen, XBMC er- kennt den Speicher automa- tisch. Geht man nun auf Vi- deo, kann man die Playliste anklicken und den gewünsch- ten Kanal wählen. Außerdem kann man leicht zum nächs-

wodurch man nochmal et- was Geld spart, da es sich bei VLC um ein Open Source Projekt handelt. Hier muss man aber deutlich mehr Zeit als mit TSReader Pro inves- tieren, da die Konfiguration des VLC-Servers nicht so einfach ist. Wir konnten zum Beispiel problemlos über VLC einen DVB-T Transponder streamen, bei DVB-S klappte es aber nicht, da die aktuelle Version scheinbar einen Pro - blem mit DVB-S Tunern hat. Installiert man eine ältere VLC Version, dann klappt der DVB-S Empfang zwar, dafür funktioniert das Streamen aber nicht mehr. Unser Fazit: IPTV in der Praxis ist gar nicht mal so

#EXTINF:0,RTP-1

deten Werte zwischen 100

ten oder vorherigen Kanal

kompliziert. Wir erzielten ab -

#EX T V LCOP T:ne t wo r k-

und 1000. Nun folgt eine Zei-

zappen. Nur ein direktes nu-

solut brauchbare Resultate

caching=1000

le, in welcher das Protokoll

merisches Anwählen ist nicht

und mit einem 1000MBit/s

udp://@224.2.2.2:1001

(udp://@) und die entspre -

vorgesehen. Weiterhin kann

Netzwerk braucht man sich

#EXTINF:0,RTP-2

chende IP-Adresse mit Port-

man wählen, ob man Kanä-

nicht vor einer Überbelas-

#EX T V LCOP T:ne t wo r k-

Nummer angegeben wird.

le aus verschiedenen Trans-

tung des Netzwerkes fürch-

caching=1000

Diese müssen natürlich zu

pondern, die von verschie -

ten. Durch das Multicasting

udp://@224.2.2.2:1002

den IP-Adressen und Port-

denen TSReader-Instanzen

kann man beliebig viele

#EXTINF:0,SIC

Nummern passen, die in TS-

gestreamt werden, in eine

IPTV-Receiver anschließen

#EX T V LCOP T:ne t wo r k-

Reader angegeben wurden.

einzige *.m3u-Playliste inte -

und mit XBMC kann man

caching=1000

Diese drei Zeilen wieder-

grieren möchte, oder ob man

gleichzeitig auch auf ideale

udp://@224.2.2.2:1003

holen sich für jeden einzel-

nicht doch lieber verschiede -

Weise auf Musik und Filme

30
30
31
31
32
32
33
33

zugreifen, die entweder lokal auf dem USB-Speicher oder im Netzwerk vorhanden sind. Inzwischen hat die Ras- pberry Fan-Gemeinde auch schon diverse USB-Tuner zum Laufen gebracht und na- türlich werden wir demnächst ebenfalls versuchen, auf Ba-

sis des Rasperry Pi unseren eigenen „Linux-Receiver“ zu basteln. Auf jeden Fall ist der Raspberry Pi ein inter- essantes Gerät zum Basteln und wer sich mit Audio und Video beschäftigt bekommt so eine brauchbare Plattform für kleines Geld.

www.raspberrypi.org

Webseite der Raspberry Pi Stiftung. Hier findet man die wich - tigsten Betriebssystem-Images zum Download, einen Wiki, ein Forum und Anleitungen. Außerdem werden hier fast täglich neue interessante Projekte vorgestellt.

www.raspbmc.com

Eine von vielen XBMC-Distributionen für den Raspberry Pi. Die - se ist besonders einsteiger-freundlich.

wiki.openelec.tv/index.php?title=Installing_

OpenELEC_on_Raspberry_Pi

Wiki-Seite der OpenELEC XBMC Distribution für den Raspberry Pi. Diese scheint uns besonders ausgereift und bietet den größ - ten Funktionsumfang.

sources.openelec.tv/tmp/image

Auf dieser offiziellen Seite kann das OpenELEC XBMC Image für verschiedene Plattformen, auch dem Raspberry Pi, gela - den werden. Allerdings lässt sich dieses Image nur über Linux installieren.

openelec.thestateofme.com

Auf dieser Seite werden die OpenELEC XBMC Images für Ras - pberry Pi auch im windows-kompatiblen Format zur Verfügung gestellt. Diese können mit Image Writer auf die SD-Karte ge - flasht werden. Wählen Sie am Ende der Liste die neueste ZIP- Datei (rXXXXX.img.zip).

https://launchpad.net/win32-image-writer/+download

Webseite des Image Writer für Windows. Dieses Tool schreibt die Firmware-Images auf die SD-Speicherkarten.

www.tsreader.com/tsreader

Webseite von TSReader. Für die Streaming-Funktion wird die Professional Version benötigt, die kostenpflichtig ist.

www.videolan.org/vlc

Wer lieber Gratis-Lösungen benutzt, sollte VideoLANs VLC pro - bieren. Mit dieser Software ist es auch möglich, einen Trans - port-Stream zu demuxen und die enthaltenen Kanäle einzeln über separate IP-Adressen und/oder Ports zu streamen. Aller- dings ist die Konfiguration doch weitaus komplizierter.

25. Here you can see both playlists: one for the Portuguese TDT

transponder and one for the HOTBIRD 13.0E satellite transponder

26. If you prefer, you can merge the channels of different playlists

into a single playlist. Here we see all streamed channels in one single playlist, despite the fact that these channels come originally from different tuners.

27. Naturally, XBMC has many more capabilities. Why not watch

a movie? Almost all formats are recognized and supported, including subtitles and multiple audio channels.

28. Time for a break: watching the classic Metropolis. Did you

know that this masterpiece can be downloaded for free, because the copyright expired long time ago?

29. Here a different movie, encoded and encapsulated differently

(*.mp4): a recreation of the Space Odyssey, but using Lego actors…

30. XBMC can be adjusted to your preferences and needs. Just go

to the settings menu.

31. Here you can setup every detail, including the weather settings.

32. We specified the location of our test centre.

33. There are many options to setup audio and video. The

Raspberry Pi features a full HDMI connector and is capable of resolutions up to full HD at 1920x1080

156 TELE-audiovision International — The World‘s Largest Digital TV Trade Magazine — 11-12/2013 — www.TELE-audiovision.com

www.TELE-audiovision.com — 11-12/2013 — TELE-audiovision International — 全球发行量最大的数字电视杂志 157