FEATURE

Selfmade IPTV

■ This is how our test

centre looked like for
this report.

Fernsehen
aus dem
Netzwerk

•	ideal f...
FEATURE

Selfmade IPTV

Vitor Martins Augusto
Nachdem wir uns in den ersten
drei Teilen zum Thema IPTV eher
der Theorie ge...
3

7

4

3. The webpage “openelec.thestateofme.com” features all
published versions of OpenELEC for Raspberry Pi, includin...
8

muss auf der SD-Karte in der
„config.txt“-Datei an entsprechender Stelle eingetragen werden. Fortan werden
auch MPEG2 k...
16
6

16. Boot screen of the OpenELEC
distribution of XBMC for the
Raspberry Pi
17. Main menu of XBMC. You can
access all ...
25
6

26

27

28

ner (egal ob auf einem oder
mehreren PCs – schließlich
benutzen wir ja Multicast), so
dass man sich ein ...
Upcoming SlideShare
Loading in...5
×

Feature satip4

521

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
521
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Feature satip4

  1. 1. FEATURE Selfmade IPTV ■ This is how our test centre looked like for this report. Fernsehen aus dem Netzwerk • 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 Teil 4 146 TELE-audiovision International — The World‘s Largest Digital TV Trade Magazine — 1 1-12/2013 — www.TELE-audiovision.com www.TELE-audiovision.com — 1 1-12/2013 — TELE-audiovision International — 全球发行量最大的数字电视杂志 147
  2. 2. FEATURE Selfmade IPTV Vitor Martins Augusto Nachdem wir uns in den ersten drei Teilen zum Thema IPTV eher der Theorie gewidmet haben möchten wir nun im vierten Teil eine konkrete 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 TSReader Pro. Als IPTV-Receiver benutzen wir den Raspberry Pi. Das häufigste Problem bei der Implementierung von IPTV im Heim ist die Frage, wie man denn das IPTV am Fernseher empfangen und darstellen soll. Natürlich könnte man an jedem Fernseher einfach einen kompletten PC hinstellen, 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 benutzen könnten. Unsere Kriterien: günstig, klein, verfügbar und vielseitig sollte das Gerät sein. Nachdem wir verschiedene Kandidaten geprüft haben (von der Spielekonsole bis zum modifizierten AppleTV war alles dabei), entschieden wir uns für den Raspberry Pi. Der Raspberry Pi ist ein winziger Computer, dessen Platine die Fläche einer Kreditkarte belegt (85.6mm x 56mm x 21mm). Trotz der kleinen Größe 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 enthä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, aktuell werden die Platinen sogar zum gleichen Preis mit 1GB RAM ausgeliefert. Anschlüsse: - 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 won’t even see any loose cables. 1 148 TELE-audiovision International — The World‘s Largest Digital TV Trade Magazine — 1 1-12/2013 — www.TELE-audiovision.com
  3. 3. 3 7 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 from 6 received After the Raspberry Pi store. completing the purchase our keys arrived about 2 hours later, but the site mentions that it could take up to 72 hours. 5 - 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: für digitale Audio und Video Ausgabe - Micro-USB: für Stromversorgung Das interessante an diesem Gerät 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 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 Programmieren 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 uneingeschränkt zu erwerben ist und somit Applikationen möglich sind, die vorher aus Kostengründen eigentlich unvorstellbar wären. 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 benötigt man weiterhin ein Micro-USB Netzteil, das auch bei modernen Smartphones ü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 angefasst, ohne dass etwas passiert wäre. Weil die Platine so klein ist, lässt sie sich prima hinter dem Fernseher platzieren 150 TELE-audiovision International — The World‘s Largest Digital TV Trade Magazine — 1 1-12/2013 — www.TELE-audiovision.com 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 bezeichnete Modelle, deren Maus als Trackball oder Touchpad implementiert ist. Ganz wichtig: um den Preis von Raspberry Pi klein zu halten, fehlen dem Gerät die Lizenzen, um MPEG2 abzuspielen, obwohl die Hardware dazu durchaus in der Lage ist. Dies ist aber für die Darstellung von IPTV notwendig, da die meisten Kanäle, die in SD ausgestrahlt werden, in MPEG2 kodiert sind. Im Webshop der Raspberry Pi Stiftung kann man für 3,00 Euro die MPEG2 Lizenz kaufen. Man erhält per e-Mail einen Schlüssel, der diese Funktion aktiviert. Dieser Schüssel
  4. 4. 8 muss auf der SD-Karte in der „config.txt“-Datei an entsprechender Stelle eingetragen 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 gekauft werden, um entsprechende Inhalte darstellen zu können. Raspberry Pi funktioniert hauptsächlich 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 Abkürzung für „Xbox Media Center“: diese Software wurde ursprünglich für 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 unzählige 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 für den Raspberry Pi: OpenELEC, Raspbmc, XBian, usw. Wir haben mit OpenELEC die besten Resultate erzielt. Um den Raspberry Pi mit XBMC zu benutzen, müssen folgende Schritte durchgefü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 Win32DiskImager auf die SD-Karte geflasht. Stellen Sie sicher, dass Win32DiskImager auch wirklich das korrekte Lauf- 9 10 werk für 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-Schlüssel für MPEG2 eingegeben werden. Nun kann man den Raspberry Pi starten und nach wenigen Sekunden erscheint die XBMC Oberfläche, die hervorragend selbsterklärend ist. Wichtiger Hinweis: es ist normal, dass beim 152 TELE-audiovision International — The World‘s Largest Digital TV Trade Magazine — 1 1-12/2013 — www.TELE-audiovision.com 11 12 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 möglich, 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 gewöhnliche Multimedia-Geräte normalerweise über keinen Demuxer verfügen, können Sie einen Transport Stream nicht darstellen oder es wird nur ein Kanal des Transport Streams angezeigt ohne Möglichkeit, einen anderen Kanal auszuwählen. 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 Möglichkeit hat, auf einen anderen umzuschalten. Deshalb benutzen wir die Demuxer-Funktion von TSReader Pro und streamen die gewünschten Kanäle per Multicast 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 Format erstellen. Dies ist praktisch, denn so erscheint in XBMC eine Liste mit den vollstä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- 13 15 14 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 — 1 1-12/2013 — TELE-audiovision International — 全球发行量最大的数字电视杂志 153
  5. 5. 16 6 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, 17 21 18 22 19 23 20 24 154 TELE-audiovision International — The World‘s Largest Digital TV Trade Magazine — 1 1-12/2013 — www.TELE-audiovision.com 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 don’t stop the reproduction.
  6. 6. 25 6 26 27 28 ner (egal ob auf einem oder mehreren PCs – schließlich benutzen wir ja Multicast), so dass man sich ein ansehnliches Bouquet erstellen kann. Wir haben zum Beispiel einige Kanäle eines Transponders von HOTBIRD (13.0E) mit dem portugiesischen digitalen terrestrischen Fernsehen kombiniert. Fortan stehen im ganzen Haus über das Netzwerk diese 8 Kanäle bereit und können mit dem Raspberry Pi, aber auch anderen Geräten (PC, Tablet, Konsole, 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: #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 30 #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 für 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 nächste Zeile dient dazu XBMC anzuweisen, einen Puffer anzulegen, damit das Bild bei kurzzeitigen Netzwerk-Kollisionen nicht stottert. Bei einem großen Wert dauert das Zappen deutlich länger. 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 müssen natürlich zu den IP-Adressen und PortNummern passen, die in TSReader angegeben wurden. Diese drei Zeilen wiederholen sich für jeden einzel- nen 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 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 kopiert man nun zum Beispiel auf einen USB-Speicher und steckt ihn an den Rasperry Pi. Dies kann bei laufendem Gerät erfolgen, XBMC erkennt den Speicher automatisch. Geht man nun auf Video, kann man die Playliste anklicken und den gewünschten Kanal wählen. Außerdem kann man leicht zum nächsten oder vorherigen Kanal zappen. Nur ein direktes numerisches Anwählen ist nicht vorgesehen. Weiterhin kann man wählen, ob man Kanäle aus verschiedenen Transpondern, die von verschiedenen TSReader-Instanzen gestreamt werden, in eine einzige *.m3u-Playliste integrieren möchte, oder ob man nicht doch lieber verschiede- 32 ne Playlisten anlegt. Die hier beschriebene Konfiguration lässt 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, dafür 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 fürchten. Durch das Multicasting kann man beliebig viele IPTV-Receiver anschließen 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 natü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 interessantes 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 wichtigsten 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. Diese 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, geladen werden. Allerdings lässt sich dieses Image nur über Linux installieren. openelec.thestateofme.com Auf dieser Seite werden die OpenELEC XBMC Images für Raspberry Pi auch im windows-kompatiblen Format zur Verfügung gestellt. Diese können mit Image Writer auf die SD-Karte geflasht werden. Wählen Sie am Ende der Liste die neueste ZIPDatei (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 probieren. Mit dieser Software ist es auch möglich, einen Transport-Stream zu demuxen und die enthaltenen Kanäle einzeln über separate IP-Adressen und/oder Ports zu streamen. Allerdings ist die Konfiguration doch weitaus komplizierter. 29 31 156 TELE-audiovision International — The World‘s Largest Digital TV Trade Magazine — 1 1-12/2013 — www.TELE-audiovision.com 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 — 全球发行量最大的数字电视杂志 157
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×