Inhaltsverzeichnis
Vorlesung 14: Internet-TV Revisited
Doch zuerst...
Sie wissen schon:
Inhalt
- IP-TV
- Internet-TV
- Entwurf einer (interaktiven) Internet-TV-Infrastruktur
Zur Erinnerung: IP-TV
Standard (für Europa)
- DVB (Digital Video Broadcasting)
- Codec MPEG 2
- SDTV (Standard Definition Television)
- HDTV (High Definition Television)
MHP als Application-Plattform
- Multimedia Home Platform (MHP)
- Java-basiert (DVB-J)
Clients
- Fernseher mit STBox
- Personalcomputer?
- Handys/PDAs (UMTS)?
Nachteile
- Kann (nur) herkömmliches Fernsehen (mit einem bis heute nicht wirklich eingelösten Versprechen nach Interaktivität)
- (Interaktivität: Interaktive Werbung?)
- SetTop-Boxen (STBox) nötig
- DRM eingebaut
Internet-TV
- Mehr ein Begriff, denn ein Standard
- »Normale« Internet-Protokolle (RTSP bei Streaming-Video, HTTP sonst)
Podcast (was: Vodcast)
Podcast (2)
- Erweiterung des Internet-TV-Begriffs
- Download via HTTP
- Benachrichtigung via RSS/Atom
- Asynchron
Standards
- RSS 2.0/Atom
- Codec: MPEG 4 (H.264)
- SDTV (Standard Definition Television)
- HDTV (High Definition Television)
Adressierte Hardware
- Personal-Computer mit entsprechender Software (iTunes, Miro etc.)
- Fernseher mit STBox (entsprechend aufgebohrt)
- Handy/PDA mit entsprechenden Clients
Client Software (1): Fertige Produkte
- iTunes
- Miro (XUL-Applikation)
Client Software (2): RIA Frameworks
- Mozilla XUL
- Adobe AIR
- JavaFX
- SMIL
iTunes
iTunes (2)
- Fertige Applikation (nicht erweiter- und anpaßbar)
- DRM
- Clients: Personal-Computer und Apple-TV
- Offline Synchronisation mit iPod und iPhone
- Nur noch als Pionier interessant
Miro
Miro (2)
- Gegenentwurf zu iTunes
- kein DRM
- mächtiger Player (Engine: VLC)
- Open Source
- Beispiel einer XUL-Anwendung
- Von den derzeitigen Alternativen m.E. die Beste
Mozilla XUL
- Engine: Entweder Mozilla/Firefox oder XULRunner
- GUI: XUL (XML-Anwedung)
- Logik: JavaScript (aber auch Python, Perl, PHP, wenn sie das DOM ansprechen können)
Mozilla XUL: Clients
- Überall dort, wo auch Firefox läuft
- STBox? (vermutlich einfach zu implementieren)
- Handy/PDA?
Adobe AIR
Adobe AIR (2)
- Engine: Flash-Player (Flex)/AIR-Runtime
- GUI (1): MXML (XML-Anwendung)
- Logik (1): ActionScript 3
- GUI (2): XHTML und CSS
- Logik (2): JavaScript
Adobe AIR: Client
- Überall da, wo Flash läuft
- STBox? (vermutlich einfach zu implementieren)
- Handy/PDA: Flash Lite (nicht sicher, ob die AIR-Runtime damit läuft)
JavaFX
JavaFX (2)
- Engine: Java Runtime Environment (JRE)
- Logik: JavaFX-Skript (ein Java-»Dialekt«)
- GUI: Deklarative Strutkur innerhalb von JavaFX-Skript (ähnlich JSON)
JavaFX: Client
- Überall dort, wo eine JRE existiert
- STBox (MHP? Nicht sicher, ob einfach zu implementieren, aber außerhalb MHP sicher einfach)
- Handy/PDA (Mit JavaME läuft JavaFX vermutlich (noch) nicht)
SMIL
SMIL (2)
- nicht wirklich ein Framework, aber…
- W3C-Standard
- GUI: SMIL (XML-Anwendung)
- Logik: Extern
SMIL: Client
- Auf dem Desktop (und im Browser): Ambulant, RealOne, QuickTime (nur SMIL 1.0)
- STBox (?)
- Handy (Nokia)
Internet-TV mit RIA: Fazit
- Alle vorgestellten Kandidaten eigenen sich sicher für erste Versuche
- Wenn man statt der STBox einen PC nimmt (z.B. einen Mac Mini) kann auch das Wohnzimmer erschlossen werden
- Für Internet-TV auf dem Handy bietet derzeit SMIL die größte Verbreitung (dank des Engagements der Firmen Nokia und Real)
- Aber was sich wirklich durchsetzt…
Internet-TV: Fazit (2)
- Für meinen Geschmack sind JavaFX und SMIL die vielversprechendsten Kandidaten
- Aber JavaFX ist gerade erst dem Beta-Stadium entwachsen
- SMIL ist W3C-Standard, aber es fehlt (noch) die (interne) Möglichkeit der Programmierung (Zugriff auf das DOM)
Internet-TV: Ein Entwurf
- Client
- Produzenten
Internet-TV: Client
- Entwurfssprache: SMIL
⇒ Für einige Anwendungen sind begleitende HTML-Seiten erforderlich
Spezifikation
- Programmwähler, um RSS-/Atom-Feeds zu abonnieren
- Kanalwähler, um abonnierte Programme auszuwählen
- Interaktivität
- Nachrichtenticker
- Einblendungen
Programmwähler
- Ähnlich ITMS oder Miros Channel Guide
- Begleitende PHP-/HTML-Seite
- Abonnierte Channels werden so abgelegt, daß SMIL darauf zugreifen kann
Kanalwähler
- Kann komplett in SMIL realisiert werden
- Funktioniert ähnlich, wie ein klassischer (RSS-) FeedReader (Fenster 1: Kanäle, Fenster 2: Aktuelles Programm des ausgewählten Kanals, Fenster 3: Meta-Informationen des ausgewählten Programms/Videos)
- Zusätzliches »Fenster 4« zeigt Vorschaubild des Filmes
Interaktivität (1)
- Wenn eine Trackback-fähige Webseite zum Programm exisitiert, kann aus der Anwendung ein Trackback abgesetzt werden
- Dazu muß der RSS-Feed aufgebohrt werden, um eine Trackback-URL mitzugeben
- Das Absetzen des Trackback erfolgt am Einfachsten von begleitender Website
- Während des Absetzens des Trackbacks kann die aktuelle Sendung angehalten werden
Interaktivität (2)
- Aus der SMIL-Applikation kann leicht auf eine begleitende Website verlinkt werden
- Einmal, um zusätzliche Informationen bereitzustellen
- Aber auch zum Webshop eines Werbeschaltenden
- Währenddessen kann die aktuelle Sendung angehalten werden
Nachrichtenticker
- Während eine Sendung läuft, kann der User gleichzeitig einen Nachrichtenticker zur Information mitlaufen lassen.
- Der Ticker ist konfigurierbar und in SMILText realisiert
(Werbe-) Einblendungen
- Ein- und Überblendungen aller Art sind in SMIL leicht zu realisieren
- Vorsicht bei kleinen Bildschirmen (Handy/PDA)
Internet-TV: Produzenten
- Website
- Streaming oder Progressive Streaming
- Asset-Management
Internet-TV: Website
Als Website für einen Internet-TV-Produzenten ist eigentlich jedes CMS geeignet, das folgende Voraussetzungen erfüllt:
- RSS-2.0-/Atom-Feed
- Abspielen von Flash-Videos
- Asset-Management
Internet-TV mit WordPress
Internet-TV mit Drupal
Ruby-Framework
Panda ist ein Internet-TV-Ruby-Framework, das komplett in Amazons Cloud (S3, EC2, SimpleDB) läuft.
To Stream Or Not To Stream...
- Streaming Video
- Progressives Streaming
Streaming Video
- QuickTime
- Flash Streaming Server
- Real
Streaming Video (2)
- Protokoll: Irgendeine Form von RTP (Ausnahme: lighttpd), daher oft Firewall-Probleme
- Video bleibt auf dem Server
- Zeitsynchron (daher für Live-Aufnahmen geeignet)
- Protokollbedingt können bei langsamen Leitungen Aussetzer auftreten
QuickTime
- Server: MacOS X Server
- Protokoll: RTSP
- kostenlos (liegt jedem MacOS X Server bei)
- Proprietärer Client (QuickTime), aber extrem leistungsfähig
- Schwierige Konfiguration
Flash Streaming Server
- Extrem teuer (aber kostenlose Version für Entwickler)
- Proprietärer Client (Flash Player), aber leistungsfähig
- Proprietäres Protokoll (RTMP)
- Es gibt auch schon Anbieter im Cloud, z.B. Wowoza Media Server
- Für Streaming-FLV beinahe ein Muß, aber…
Red5
- Open Source Flash Streaming Server
- Server: Alles auf dem ein aktuelles Java läuft
- Protokoll ?
- Noch nicht getestet
Real Streaming Server
- Ebenfalls teuer
- Proprietärer Client (RealOne)
- Protokoll: RTSP
- Nicht getestet
VLC
- Open Source
- Client und Server: VLC Media Player
- Protokoll: RTSP
- Schwierig zu konfigurieren
- Nach meinen Tests nur für kleinere Live-Übertragungen zu gebrauchen (z.B. um einen Vortrag auch auf Leinwände in anderen Räumen zu übertragen)
lighttpd
- Open Source Webserver mit Streaming Modul
- sprich: lighty
- Streamt via HTTP!
- Klein, leichtgewichtig und schnell
- Extrem skalierbar (wird z.B. – in modifizierter Form – auch von YouTube eingesetzt)
Progressive Streaming
- Film startet, wenn genügend Puffer vorgeladen wurde
- Download auf Festplatte des Nutzers
- Film ist immer vollständig verfügbar (spätestens nach dem kompletten Download)
- Kann natürlich nur soweit »vorgespult« werden, wie schon runtergeladen wurde (kann man durch den Einsatz von lighttpd umgehen)
Streaming: Fazit
- Der Einsatz von Streaming Video ist eigentlich nur noch bei Live-Übertragungen und Filmen in voller Feature-Länge nötig
- Wenn man die Vorteile von Streaming nutzen will (z.B. wegen Filme in Kinolänge), aber nicht auf HTTP verzichten kann (Firewall), sollte man auf lighttpd setzen
- Progressive Streaming ist aber bei nicht allzulangen Filmen die Methode der Wahl
Asset-Management
- Asset-Management bei spezialisierten Videohostern
- Asset-Management im Cloud
Videohoster
- (In der Grundversion meist) umsonst (Ausnahme: z.B. Bightcove) [+]
- bieten meist eigene RSS-/Ato,-Feeds [+]
- Übernehmen die Konvertierung nach Flash [+]
- Flash-Qualität nicht immer optimal [-]
- Verfügungsgewalt über die Filme geht oft auf den Hoster über (AGBs lesen!) [-]
Videohoster: Anforderungen
- Bereitstellung von Flash- und MPEG 4 (H.264)-Filmen
- RSS-Feed (optional)
- Mehrere Channels (optional)
Ausgewählte Videohoster
Archive.org
Archive.org
- Stellt Filme in den unterschiedlichen Formaten bereit
- Aufgrund von Überlastung nicht immer zuverlässig erreichbar
- Hakeliger Flash-Player
- Fazit: Eher eine Option für die Langzeitarchivierung denn für die Produktion
Blip.tv
Blip.tv (2)
- (In der Grundversion) kostenlos
- Hervorragenden RSS-Feed
- CC-Unterstützung
- Stellt Flash- und MPEG 4 (H.264)-Filme bereit
- Auf Wunsch separates (eigenes) Startbild
- Fazit: Derzeit meine Empfehlung, wenn es um einen Videohoster geht
Vimeo
Vimeo (2)
- (In der Grundversion) kostenlos
- Mehrere Channels pro Account möglich
- Podcastfähige Feeds je Channel
- Hervorragende Flash-Qualität (besser als zur Zeit bei Blip.tv)
- Hervorragender Flash-Player
- Fazit: Holt gewaltig zu Blip.tv auf
Asset Management im Cloud
(Beispielhaft rede ich hier von Amazons Cloud (S3, EC2 und SimpleDB), bei anderen Anbietern sind die Vorteile und Probleme aber ähnlich.)
- Videos sind rechen- und speicherintensiv
- (Normale) Hoster sind mit den Anforderungen eines Internet-TV an Skalierbarkeit und Speicherplatz oft überfordert (oder zu teuer).
Selber machen
Selber machen (2)
- Kaum ein Weblog oder CMS bietet Unterstützung für externes Asset-Management [-]
- Man hat die Kontrolle über den kompletten Produktionsvorgang und damit auch über die Qualität der Filme [+]
Selber machen (3)
Wer es dennoch probieren will, es bietet sich folgende Vorgehensweise an:
- Speicherung der Assets (Filme, Bilder etc.) in S3
- Das CMS oder Weblog in EC2 installieren
- Metadaten in SimpleDB
- Alternativ kann man das CMS oder Weblog auch bei einem beliebigen Provider hosten, die Metadaten werden dann in der Regel dort in einer Datenbank (MySQL) gespeichert.
- Bei der letzten Lösung verliert man den Vorteil der Skalierbarkeit
Alternativen zum Selbermachen
- Das oben schon angesprochene Ruby-Framework »Panda«
Fazit
- Trotz einiger noch nicht restlos gelösten Probleme (speziell bezüglich etwaiger Standards) ist das Hochziehen einer podcastfähigen Internet-TV-Station mit relaitv geringem Aufwand möglich.
- Speziell die Vorzüge des »Cloud« (skalier- und kalkulierbar) lassen Internet-TV auch für kleinere und Amateur-Produzenten erschwinglich und beherrschbar werden.
- Internet-TV hat damit eine riesigen Vorteil gegenüber IPTV.
- Fernseh-Machen ist eine kreative Tätigkeit. Das kann einem die Technik nicht abnehmen.
Fragen?
?
Danke!
- Danke für Ihre Aufmerksamkeit!













