Fernsehen aus dem Netzwerk

telesatellitedeutsch

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

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ö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

1

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.

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


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

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.

5 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 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

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

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


8 12

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 Laufwerk

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

9

10

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

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 TS-

Reader 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-

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.

13

14 15

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 World‘s Largest Digital TV Trade Magazine — 11-12/2013 — www.TELE-audiovision.com

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


16 6

17

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,

21

including the display of subtitles

21. Zapping can be done using the

|>| 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.

18

22

19

23

20

24

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


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

#EXTVLCOPT:networkcaching=1000

udp://@224.2.2.2:1001

#EXTINF:0,RTP-2

#EXTVLCOPT:networkcaching=1000

udp://@224.2.2.2:1002

#EXTINF:0,SIC

#EXTVLCOPT:networkcaching=1000

udp://@224.2.2.2:1003

30

#EXTINF:0,TVI

#EXTVLCOPT:networkcaching=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: #EX-

TINF 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 Port-

Nummer angegeben wird.

Diese müssen natürlich zu

den IP-Adressen und Port-

Nummern passen, die in TS-

Reader 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 Basis

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 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 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

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

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

Weitere Magazine dieses Users
Ähnliche Magazine