Vous êtes sur la page 1sur 6

FEATURE

Selfmade IPTV

This is how our test

centre looked like for this report.

Fernsehen aus dem Netzwerk


Teil 4
146 TELE-audiovision International The Worlds Largest Digital TV Trade Magazine 1 1-12/2013 www.TELE-audiovision.com

ideal fr Bastler, um Audio und Video zuhause zu streamen eine kleine Platine dient als Basis fr das eigene Heim IPTV Netzwerk MPEG2 und VC Lizenzen mssen getrennt gekauft werden zum Streaming wird TSReader Pro eingesetzt kann auch mit VLC eingesetzt werden

www.TELE-audiovision.com 1 1-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 mchten wir nun im vierten Teil eine konkrete IPTV-Lsung implementieren. Bentigt wird gar nicht mal so viel: als Server dient ein PC mit einem Empfnger fr digitales Fernsehen (DVB, ATSC oder ISDB) und TSReader Pro. Als IPTV-Receiver benutzen wir den Raspberry Pi. Das hufigste Problem bei der Implementierung von IPTV im Heim ist die Frage, wie man denn das IPTV am Fernseher empfangen und darstellen soll. Natrlich knnte man an jedem Fernseher einfach einen kompletten PC hinstellen, doch dies wrde nicht unbedingt gut aussehen und auerdem kostet auch ein gnstiger PC doch einiges an Geld, von den Stromkosten mal abgesehen. Wir haben uns deshalb umgesehen, welches Gert wir denn als IPTV Receiver benutzen knnten. Unsere Kriterien: gnstig, klein, verfgbar und vielseitig sollte das Gert sein. Nachdem wir verschiedene Kandidaten geprft haben (von der Spielekonsole bis zum modifizierten AppleTV war alles dabei), entschieden wir uns fr den Raspberry Pi. Der Raspberry Pi ist ein winziger Computer, dessen Platine die Flche einer Kreditkarte belegt (85.6mm x 56mm x 21mm). Trotz der kleinen Gre handelt

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 enthlt, die in der Lage ist, H.264 mit bis zu 40MBits/s in Hardware zu dekodieren. Weiterhin werden OpenGL ES2.0 und OpenVG Bibliotheken untersttzt. Model B verfgt ber 512MB RAM, aktuell werden die Platinen sogar zum gleichen Preis mit 1GB RAM ausgeliefert. Anschlsse: - SD-Karte: von dieser wird das Betriebssystem 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 wont even see any loose cables.

148 TELE-audiovision International The Worlds Largest Digital TV Trade Magazine 1 1-12/2013 www.TELE-audiovision.com

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. Dont 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 from the Raspberry 6 received 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.

- 2x USB: zum Anschluss von Tastatur, Maus, USBSpeicher, usw. - LAN: RJ-45 mit 100MBit/s - Audio: analoger StereoAusgang - RCA Video: analoger Composite Video-Ausgang - HDMI: fr digitale Audio und Video Ausgabe - Micro-USB: fr Stromversorgung Das interessante an diesem Gert ist sein Preis: offiziell kostet der Raspberry Pi Model B lediglich US$ 35, zu welchen sich Steuern und Versandkosten addieren. In Europa kann man den Raspberry Pi fr ungefhr 35 Euro kaufen. Dieser niedrige Preis ist deshalb mglich, weil

dieser Miniatur-Computer von der Raspberry Pi Stiftung entwickelt wurde, die es sich zum Ziel gesetzt hat, einen absolut gnstigen Computer fr alle Kinder zur Verfgung zu stellen, um das Programmieren auch im Kindesalter zu motivieren, wie es frher bei den 8-Bit Computern wie dem Spektrum und dem Commodore 64 der Fall war. Fr alle anderen ist es aber toll, dass diese Platine uneingeschrnkt zu erwerben ist und somit Applikationen mglich sind, die vorher aus Kostengrnden eigentlich unvorstellbar wren. Der Raspberry Pi wird in Zusammenarbeit von Farnell und RS Electronics hergestellt und ist bei diesen

weltweit zu beziehen. Damit man die Platine benutzen kann bentigt man weiterhin ein Micro-USB Netzteil, das auch bei modernen Smartphones blich ist. Auerdem braucht man eine SD-Karte, wir empfehlen eine mit 8GB. Ein passendes Gehuse kann seit kurzem ebenfalls fr ca. 6 Euro bestellt werden und macht auf jeden Fall Sinn, um die Platine vor einem Kurzschluss oder statischer Entladung zu schtzen. Wir haben die Platine allerdings wochenlang ohne Gehuse benutzt und diese auch angefasst, ohne dass etwas passiert wre. Weil die Platine so klein ist, lsst sie sich prima hinter dem Fernseher platzieren

und als Tastatur und Maus eignet sich am besten eine kabellose Version, die beide Funktionen auf kleiner Flche integriert. Im Handel finden sich viele oft als Multimedia oder TV Tastatur bezeichnete Modelle, deren Maus als Trackball oder Touchpad implementiert ist. Ganz wichtig: um den Preis von Raspberry Pi klein zu halten, fehlen dem Gert die Lizenzen, um MPEG2 abzuspielen, obwohl die Hardware dazu durchaus in der Lage ist. Dies ist aber fr die Darstellung von IPTV notwendig, da die meisten Kanle, die in SD ausgestrahlt werden, in MPEG2 kodiert sind. Im Webshop der Raspberry Pi Stiftung kann man fr 3,00 Euro die MPEG2 Lizenz kaufen. Man erhlt per e-Mail einen Schlssel, der diese Funktion aktiviert. Dieser Schssel

150 TELE-audiovision International The Worlds Largest Digital TV Trade Magazine 1 1-12/2013 www.TELE-audiovision.com

12

muss auf der SD-Karte in der config.txt-Datei an entsprechender Stelle eingetragen werden. Fortan werden auch MPEG2 kodierte Inhalte mittels hardware-gesttzter Dekodierung dargestellt. Auf gleiche Weise kann auch eine VC-1 Lizenz fr 1.50 Euro gekauft werden, um entsprechende Inhalte darstellen zu knnen. Raspberry Pi funktioniert hauptschlich mit einer angepassten Linux-Distribution, doch mittlerweile bekommt man auch schon fertige Firmware-Dateien (Image genannt) mit XBMC. Der seltsame Name dieser Multimedia-Software entstand aus der Abkrzung fr Xbox Media Center: diese Software wurde ursprnglich fr die erste Version der Xbox entwickelt. Mittlerweile wurde diese Software auf alle denkbaren Systemen portiert, darunter auch Windows, Linux, MacOS sowie Android und iOS. Keine Frage: bei XBMC handelt es sich um eines der besten Multimedia-Programme. Es werden praktisch alle Formate abgespielt (Audio, Video und Bilder), es gibt unzhlige Plugins und die Bedienung ist kinderleicht. Wer XBMC noch nicht kennt sollte dieses Programm unbedingt auf Windows, MacOS oder Linux ausprobieren. Wie im Linux-Umfeld blich, gibt es gleich mehrere verschiedene Distributionen von XBMC fr den Raspberry Pi: OpenELEC, Raspbmc, XBian, usw. Wir haben mit OpenELEC die besten Resultate erzielt. Um den Raspberry Pi mit XBMC zu benutzen, mssen folgende Schritte durchgefhrt 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 anschlieend mit Win32DiskImager auf die SD-Karte geflasht. Stellen Sie sicher, dass Win32DiskImager auch wirklich das korrekte Lauf-

10

werk fr die SD-Karte entdeckt 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-Schlssel fr MPEG2 eingegeben werden. Nun kann man den Raspberry Pi starten und nach wenigen Sekunden erscheint die XBMC Oberflche, die hervorragend selbsterklrend ist. Wichtiger Hinweis: es ist normal, dass beim

11

ersten Start, nachdem die SD-Karte beschrieben wurde, das Betriebssystem automatisch neu startet. Erst beim zweiten Start wird dann XBMC geladen. Der erste Durchlauf dient zur Konfiguration des Betriebssystems. Warten Sie daher etwa, anstatt es wie wir zu machen: wir dachten am Anfang, etwas sei fehlgelaufen und haben prompt die SD-Karte neu programmiert Mit TSReader Pro ist es mglich, den empfangenen Transport Stream direkt ber UDP in das Netzwerk einzuspeisen. Entweder kann der Transport Stream komplett 1:1 in das Netzwerk geleitet werden oder man benutzt die integrierte Demuxer-Funktion. Mit dieser kann jeder einzelne im Transport Stream enthaltene Kanal separat in das Netzwerk gestreamt werden. Da gewhnliche Multimedia-Gerte normalerweise ber keinen Demuxer verfgen, knnen Sie einen Transport Stream nicht darstellen oder es wird nur ein Kanal des Transport Streams angezeigt ohne Mglichkeit, einen anderen Kanal auszuwhlen. Genau dies passiert auch mit XBMC, wenn man versucht, den kompletten Transport Stream zu empfangen: es wird einfach nur ein Kanal dargestellt, ohne dass man die Mglichkeit hat, auf einen anderen umzuschalten. Deshalb benutzen wir die Demuxer-Funktion von TSReader Pro und streamen die gewnschten Kanle per Multicast in das Netzwerk, wobei wir aber fr jeden Kanal eine individuelle Port-Nummer verwenden. Damit XBMC diese Streams auf verschiedenen Ports empfangen kann, mssen wir eine Playliste im *.m3u Format erstellen. Dies ist praktisch, denn so erscheint in XBMC eine Liste mit den vollstndigen Kanalnamen und das Zappen gestaltet sich uerst komfortabel. Der Clou ist aber, dass man mehrere Instanzen von TSReader Pro starten kann, jeweils mit einem andern Tu-

13

14

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.

152 TELE-audiovision International The Worlds Largest Digital TV Trade Magazine 1 1-12/2013 www.TELE-audiovision.com

www.TELE-audiovision.com 1 1-12/2013 TELE-audiovision International

153

16 6

17

21

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. Playing a streamed channel 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 dont stop the reproduction.

18

22

19

23

20

24

154 TELE-audiovision International The Worlds Largest Digital TV Trade Magazine 1 1-12/2013 www.TELE-audiovision.com

25 6
ner (egal ob auf einem oder mehreren PCs schlielich benutzen wir ja Multicast), so dass man sich ein ansehnliches Bouquet erstellen kann. Wir haben zum Beispiel einige Kanle eines Transponders von HOTBIRD (13.0E) mit dem portugiesischen digitalen terrestrischen Fernsehen kombiniert. Fortan stehen im ganzen Haus ber das Netzwerk diese 8 Kanle bereit und knnen mit dem Raspberry Pi, aber auch anderen Gerten (PC, Tablet, Konsole, usw.) empfangen werden, wenn diese mit UDP-Streams umgehen knnen. Besonders einfach ist es natrlich, wenn auf dem jeweiligen Gert XBMC installiert ist. Das Format der *.m3u Playliste ist recht einfach und sieht so aus: #EXTM3U #EXTINF:0,RTP-1 #E X T V L C O P T:n e t w o r kcaching=1000 udp://@224.2.2.2:1001 #EXTINF:0,RTP-2 #E X T V L C O P T:n e t w o r kcaching=1000 udp://@224.2.2.2:1002 #EXTINF:0,SIC #E X T V L C O P T:n e t w o r kcaching=1000 udp://@224.2.2.2:1003 #EXTINF:0,TVI #E X T V L C O P T:n e t w o r kcaching=1000 udp://@224.2.2.2:1004 Die erste Zeile identifiziert die Datei als EXTM3U-Playliste und muss genau so vorhanden sein. Nun folgen fr jeden Kanal 3 Zeilen: #EXTINF bietet Extended Info, also weitere Informationen, damit XBMC statt dem Dateinamen und der IP-Adresse den Namen des Kanals anzeigt. Hier kann nach dem 0, ein beliebiger Text, in unserem Fall eben der Name des Kanals, eingegeben werden. Die nchste Zeile dient dazu XBMC anzuweisen, einen Puffer anzulegen, damit das Bild bei kurzzeitigen Netzwerk-Kollisionen nicht stottert. Bei einem groen Wert dauert das Zappen deutlich lnger. Wir verwendeten Werte zwischen 100 und 1000. Nun folgt eine Zeile, in welcher das Protokoll (udp://@) und die entsprechende IP-Adresse mit PortNummer angegeben wird. Diese mssen natrlich zu den IP-Adressen und PortNummern passen, die in TSReader angegeben wurden. Diese drei Zeilen wiederholen sich fr jeden einzelnen Kanal. Um diese Datei zu erstellen und zu editieren, kann jeder beliebige Texteditor benutzt werden, denn es handelt sich im Grunde um eine normale *.txt-Datei, bei welcher die Datei-Endung auf *.m3u gendert 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 kopiert man nun zum Beispiel auf einen USB-Speicher und steckt ihn an den Rasperry Pi. Dies kann bei laufendem Gert erfolgen, XBMC erkennt den Speicher automatisch. Geht man nun auf Video, kann man die Playliste anklicken und den gewnschten Kanal whlen. Auerdem kann man leicht zum nchsten oder vorherigen Kanal zappen. Nur ein direktes numerisches Anwhlen ist nicht vorgesehen. Weiterhin kann man whlen, ob man Kanle aus verschiedenen Transpondern, die von verschiedenen TSReader-Instanzen gestreamt werden, in eine einzige *.m3u-Playliste integrieren mchte, oder ob man nicht doch lieber verschiedene Playlisten anlegt. Die hier beschriebene Konfiguration lsst sich brigens auch mit VLC als Server verwirklichen, wodurch man nochmal etwas Geld spart, da es sich bei VLC um ein Open Source Projekt handelt. Hier muss man aber deutlich mehr Zeit als mit TSReader Pro investieren, 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 Problem mit DVB-S Tunern hat. Installiert man eine ltere VLC Version, dann klappt der DVB-S Empfang zwar, dafr funktioniert das Streamen aber nicht mehr. Unser Fazit: IPTV in der Praxis ist gar nicht mal so kompliziert. Wir erzielten absolut brauchbare Resultate und mit einem 1000MBit/s Netzwerk braucht man sich nicht vor einer berbelastung des Netzwerkes frchten. Durch das Multicasting kann man beliebig viele IPTV-Receiver anschlieen und mit XBMC kann man gleichzeitig auch auf ideale Weise auf Musik und Filme zugreifen, die entweder lokal auf dem USB-Speicher oder im Netzwerk vorhanden sind. Inzwischen hat die Raspberry Fan-Gemeinde auch schon diverse USB-Tuner zum Laufen gebracht und natrlich werden wir demnchst ebenfalls versuchen, auf Bawww.raspberrypi.org Webseite der Raspberry Pi Stiftung. Hier findet man die wichtigsten Betriebssystem-Images zum Download, einen Wiki, ein Forum und Anleitungen. Auerdem werden hier fast tglich neue interessante Projekte vorgestellt. www.raspbmc.com Eine von vielen XBMC-Distributionen fr den Raspberry Pi. Diese ist besonders einsteiger-freundlich. wiki.openelec.tv/index.php?title=Installing_ OpenELEC_on_Raspberry_Pi Wiki-Seite der OpenELEC XBMC Distribution fr den Raspberry Pi. Diese scheint uns besonders ausgereift und bietet den grten Funktionsumfang. sources.openelec.tv/tmp/image Auf dieser offiziellen Seite kann das OpenELEC XBMC Image fr verschiedene Plattformen, auch dem Raspberry Pi, geladen werden. Allerdings lsst sich dieses Image nur ber Linux installieren. openelec.thestateofme.com Auf dieser Seite werden die OpenELEC XBMC Images fr Raspberry Pi auch im windows-kompatiblen Format zur Verfgung gestellt. Diese knnen mit Image Writer auf die SD-Karte geflasht werden. Whlen Sie am Ende der Liste die neueste ZIPDatei (rXXXXX.img.zip). https://launchpad.net/win32-image-writer/+download Webseite des Image Writer fr Windows. Dieses Tool schreibt die Firmware-Images auf die SD-Speicherkarten. www.tsreader.com/tsreader Webseite von TSReader. Fr die Streaming-Funktion wird die Professional Version bentigt, die kostenpflichtig ist. www.videolan.org/vlc Wer lieber Gratis-Lsungen benutzt, sollte VideoLANs VLC probieren. Mit dieser Software ist es auch mglich, einen Transport-Stream zu demuxen und die enthaltenen Kanle einzeln ber separate IP-Adressen und/oder Ports zu streamen. Allerdings ist die Konfiguration doch weitaus komplizierter.

sis des Rasperry Pi unseren eigenen Linux-Receiver zu basteln. Auf jeden Fall ist der Raspberry Pi ein interessantes Gert zum Basteln und wer sich mit Audio und Video beschftigt bekommt so eine brauchbare Plattform fr kleines Geld.

26

27

28

30

32

29

31

33

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
www.TELE-audiovision.com 1 1-12/2013 TELE-audiovision International

156 TELE-audiovision International The Worlds Largest Digital TV Trade Magazine 1 1-12/2013 www.TELE-audiovision.com

157