View page as slide show

Vorlesung 14: Internet-TV Revisited

Monitorwand

Doch zuerst...

Sie wissen schon:

Inhalt

  • IP-TV
  • Internet-TV
  • Entwurf einer (interaktiven) Internet-TV-Infrastruktur

Zur Erinnerung: IP-TV

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

Screenshot 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.0 Beta

Miro 2.0 Beta

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

Der Adobe Media Player als Beispiel einer AIR-Anwendung

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 und die NetBeans IDE

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

Screenshot Neukölln.tv

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

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

Screenshot Archive.org und VLC

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

Screenshot Blip.tv und Miro

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

Screenshot 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

Screenshot S3 Brwoser

Screenshot S3 Browser

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«
  • Das Amazon-Spinoff workhabit bietet mit CDN2 (S3) und Elastic2 eine rundum sorglos Lösung zu günstigen Preisen für Drupal an. (Wobei CDN2 auch mit anderen CMS und Weblogs (WordPress!) funktionieren soll.)

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!


Navigation