Einsatz und Entwicklung mobiler Applika

Werbung
Einsatz und Entwicklung mobiler Applikationen für das moderne Fernsehstudio
von Roman Holzhause, Tristan Riedel und Matthias Schnöll
Einleitung
Der zukünftige Workflow in einem modernen Fernsehstudio kann deutlich von der Integration mobiler Endgeräte und Softwareapplikationen profitieren. Diese
Anwendungen können das Zusammenwachsen von
professionellen Geräten der Fernsehtechnik mit der
IT-Technologie beschleunigen und als Bindeglied agieren. So können mit Hilfe von Apps komplexe Prozesse
überwacht und vereinfacht werden. In diesem Beitrag
wird die App-Entwicklung zum Steuern und Verwalten
eines Aufnahme- und Wiedergabesystems erläutert
und aufgezeigt. Die rasante Entwicklung der Netzwerkund Informationstechnologie in den angesprochenen
Bereichen und die gravierenden Änderungen der Arbeitsprozesse erfordern deswegen ein Umdenken und
eine Umstellung innerhalb des komplexen Broadcastbereichs. Dieser Artikel soll hierbei verdeutlichen, wohin
die zukünftige Entwicklung und Vernetzung der Geräte
gehen wird und welcher Wandel im modernen Fernsehstudio in Aussicht steht. Im Zuge dessen wird eine
Prototypentwicklung mit dem Arbeitstitel „Venice-App“
(Abbildung 1) vorgestellt, welche ein modernes Medium
mit einem professionellen Videoserver verbindet und
den Workflow in sämtlichen Bereichen des vernetzten
Fernsehstudios produktiver und effizienter gestaltet.
Abbildung 1: Venice- App Prototyp
Einsatzmöglichkeiten
Die Applikation soll sich vor allem an Moderatoren richten, welche in einer Aufzeichnung oder auch im Livebetrieb den Ablauf ihrer Sendung flexibel gestalten möchten. Als Orientierung werden die Talk-Shows „Hart aber
Fair“, „Maybrit Illner“ oder aber auch „TV Total“ heran-
gezogen. Die Moderatoren dieser Sendungen lenken
den Verlauf ihrer Produktion oder das Gespräch mit
einem Interviewpartner oftmals in eine bestimmte Richtung. Dies geschieht meist mit der Einspielung eines
Videoclips. Das Ziel der Applikation ist es, diesen Prozess flexibler und simpler zu gestalten. Das iPad kann
in die Hand genommen werden und der Moderator ist
nicht mehr fest an seinen Moderationsplatz gebunden,
was vor allem bei Live-Produktionen von Vorteil ist.
Des Weiteren könnte der Moderator durch die Applikation selbstständig bestimmen, wann welcher Videoclip
ausgespielt wird und ob er gegebenenfalls an einer bestimmten Stelle pausiert oder abgebrochen werden soll.
Der Moderator ist demzufolge nicht mehr unbedingt auf
Assistenten angewiesen, die ihm den Videoclip ausspielen müssen.
Aufbau und Struktur
Im Allgemeinen sollen Apps Hilfsmittel des täglichen
Lebens sein. Dieser Maxime sollte natürlich auch die
Venice-App nachgehen. Eine generelle Bedingung ist
es, dass die Applikation in allen umgesetzten Bereichen einfach und simpel aufgebaut und zu bedienen
sein soll. Die App soll dem Nutzer ein Hilfsmittel sein,
Arbeitsabläufe im Fernsehstudio effizienter gestalten
und der Unterstützung des täglichen Arbeitsprozesses
dienen. Schon nach dem erstmaligen Öffnen der App
muss der Nutzer alle Hauptfunktionen der Anwendung
überblicken können. Schafft die Applikation Unmut oder
gar Verwirrung bei der Benutzung, hat sie ihr eigentliches Ziel bereits vor der ersten Benutzung verfehlt. Der
strukturelle Aufbau und das grafische Konzept obliegen
in diesem Projekt allein den Programmierern. Ein iPad
hat, im Verhältnis zu anderen mobilen Endgeräten einen relativ großen und hochauflösenden Bildschirm.
Dennoch ist die Möglichkeit der Darstellung von Inhalten auf diesem Gerät begrenzt. Aus diesen Gründen
wurde bereits im Vorfeld ein grafisches Konzept erstellt,
welches die Haupt- und Detailansichten mit ihren jeweiligen Funktionen darstellt. Dies erforderte eine logische
Strukturierung der App und so wurde festgelegt, wie
durch die Inhalte navigiert wird und wann welche Datensätze aus der Datenbank geladen werden. Die hier
beschriebene Strukturierung befasst sich mit dem abstrakten Aufbau und den Navigationswegen der Applikation. Hierbei muss entschieden werden, wie der Nut-
2
zer an die gebotenen Informationen herangeführt wird
und in welcher Form diese sinnvoll dargestellt werden
können. In Abbildung 2 wird die visuelle Strukturierung
der Venice-App aufgezeigt und im Folgenden genauer
erläutert.
gestellten WSDL-Dokuments (Web Services Description Language) [3]. Da die Kommunikation bidirektional
verläuft, sind nicht nur Maßnahmen zur Erstellung einer
Anfrage erforderlich sondern auch für die Bearbeitung
einer Antwort notwendig. Weiterhin ist zur Selektierung
wichtiger Informationen die Verwendung eines XMLParsers [4] entscheidend. Des Weiteren werden bestimmte Informationen für den dauerhaften Gebrauch
innerhalb einer Datenbank abgelegt. Hierfür wird das
Datenbankverwaltungssystem SQLite [5] verwendet.
Das Konzept der Kommunikation zwischen iPad und
Venice-System ist in Abbildung 3 aufgezeigt.
Abbildung 3: Prinzip des angefertigten Kommunikationsmodells
Abbildung 2: Visueller Aufbau
Nach dem Start der Venice-App erscheint die Hauptansicht der Applikation. Diese ist unterteilt in die Masteransicht „Venice-Control“ und die Detailansicht „Playlist-Management“. Im Playlist-Management befinden
sich alle Ausspieloperationen, außerdem werden dem
Nutzer alle Videoclips seiner Wiedergabeliste angezeigt. Von hier aus gelangt der Nutzer bei Bedarf dann
weiter in die „Meta-Information“-Ansicht, wo alle Metadaten eines Videoclips angezeigt werden oder auch in
die „Data-Management“-Ansicht, in der er durch das
Dateisystem des Servers navigieren kann, um weitere Videoclips einer Wiedergabeliste hinzuzufügen. Die
Masteransicht „Venice-Control“ verändert sich, bis auf
die Ausnahme, dass die „Manage“-Operation geladen
wird, nicht in ihrer Darstellung. Von hier aus kann der
Nutzer alle Hauptfunktionen der Applikation aufrufen
und bekommt zusätzlich Informationen geboten, die
das Netzwerk und die Verbindung betreffen, sowie den
Ausspielzustand eines Videoclips anzeigen.
Kommunikationsweg
Um eine Kommunikation zwischen Server und Applikation umsetzen zu können, ist die Verwendung mehrerer
Schnittstellen und Werkzeuge erforderlich. So wird XML
(Extensible Markup Language) [1] als Auszeichnungssprache für die Nachrichten verwendet, welche mittels
SOAP (Simple Object Access Protocol) [2] strukturiert
und übertragen werden. Der Inhalt der Nachrichten richtet sich nach den Vorgaben des vom Empfänger bereit-
Um eine Kommunikation zwischen der Applikation und
den vom Venice-System bereitgestellten Webservices
zu ermöglichen, musste ein Modell entwickelt werden,
welches eine Vielzahl von Aufgaben für den Datenaustausch übernimmt. So muss die Applikation in der Lage
sein, eine HTTP-Verbindung zum Server herzustellen
und zu prüfen. Ebenfalls muss das Modell fähig sein,
eine SOAP-Nachricht mit XML-Struktur generieren und
versenden zu können. Wobei die vom View-Controller
angeforderte Generierung nicht nur mit möglichst vielen
Operationen der gegebenen Webservices kompatibel,
sondern auch unkompliziert vom Entwickler ausführbar
sein soll. Des Weiteren muss das Modell in der Lage
sein, andere Applikationsbestandteile über eine Benachrichtigungszentrale jederzeit Informationen, über
die aktuellen Aktivitäten oder den Verbindungsstatus,
ausliefern zu können. Zur Verdeutlichung der beschriebenen Aktivitäten werden diese zusammenfassend in
der folgenden Abbildung 4 dargestellt.
Abbildung 4: Implementation der Schnittstelle zur Kommunikation
3 Medienproduktion - Online Zeitschrift für Wissenschaft und Praxis
Verarbeitung von Metadaten
Sämtliche, in der Applikation verfügbaren Funktionen
können nur durch den Einsatz und die Verwendung von
Metainformationen realisiert werden. Bei der Darstellung eines Ordners oder dessen Inhalt wird niemals das
Objekt als solches abgebildet, sondern lediglich eine
Grafik mit dazugehöriger Metainformation. Für die Darstellung der Ordner werden beispielsweise die Metainformationen „Path“ und „Name“ abgerufen. Die Funktion der Zuweisung der Grafiken lässt sich ebenfalls nur
durch die Abfrage von Metainformationen realisieren.
Bei dem Aufruf einer Videodatei werden die für die Wiedergabe benötigten Metadaten vom Spycer-Webservice [6] angefordert und in einer Datenbank hinterlegt.
Je nach Bedarf und Verwendungszweck werden die benötigten Metainformationen dann an unterschiedlichen
Stellen verwendet. Für die Darstellung der Elemente
eines Listeneintrages innerhalb der Wiedergabeliste
beispielsweise, werden die Informationen „Name“,
„Format“ und „Duration“ einer Videodatei aus der Datenbank erneut abgerufen. Die Informationen „Duration“
und „Frames per second“ werden darüber hinaus für die
Umsetzung des Fortschrittbalkens und der TimecodeAnzeige benötigt. Sofern dem Nutzer sämtliche Metainformationen ausgegeben werden sollen, muss dieser
die Schaltfläche „Meta“ betätigen, worauf die Ansicht
des Metaview-Controllers (Abbildung 5) erscheint.
Abbildung 5: Der Metaview-Controller
Funktionen der Applikation
Wiedergabesteuerung
Dem Nutzer werden notwendige Funktionen zur Verwaltung von Wiedergabelisten mithilfe des Playlist-Management-Controllers geboten. Die Optionsmöglichkeiten werden direkt in der Seitenleiste des Venice-Control-Controllers jederzeit angeboten (Abbildung 6).
Abbildung 6������������������������������������������
�������������������������������������������
: Über die Seitenleiste können die Wiedergabelisten direkt verwaltet werden
Hier bekommt der Nutzer die Anwahlmöglichkeit „Create
New“ für die Erstellung einer neuen Wiedergabeliste,
„Save As“ für den Kopiervorgang und „Manage“ für das
Laden und Löschen vorhandener Wiedergabelisten geboten. Die Optionen lassen sich innerhalb eines kleinen
Eingabefelds für die Tastatur unmittelbar umsetzen.
Innerhalb der Playlist-Management-Ansicht sind mehrere Optionen zur Steuerung der Wiedergabe innerhalb
einer Werkzeugleiste verankert. Diese wird durch eine
Anzeige des angesteuerten Channels, einem Fortschrittsbalken und eines Timecodes ergänzt. Die angesprochenen Elemente finden sich alle im oberen Teil
des Playlist-Management-Controllers und sind in Abbildung 7 aufgezeigt. Neben der direkten Manipulation
über die Schaltflächen der Werkzeugleiste kann das
Ausspielen eines Clips aber auch durch Aktionen eines
Listeneintrags beeinflusst werden. Unabhängig vom
Auslöser werden festgelegte Methoden abgearbeitet,
welche unter anderem für das Ausspielen, Pausieren
oder Stoppen des Videos verantwortlich sind. Weiterhin
verlangt die Implementation der Steuerung bestimmte
Prozesse, die vorbereitende und ergänzende Aufgaben
übernehmen können.
Abbildung 7: Werkzeugleiste, Timecode und
Fortschrittsbalken
Zur Darstellung der Wiedergabeliste wird ein Table-View
verwendet. Die Nutzung dieses Elements beansprucht
ein speziell angefertigtes Modell an Methoden zur Beschreibung von scrollfähigen Listen-Ansichten. Dies erfordert zudem Befehle zur Bestimmung von Inhalt und
Aussehen eines Listeneintrages, als auch die korrekte
Anwendung der Aufruf-Methode unter Beobachtung auf
einen Array zeigenden Pointer, sofern ein Listenele-
4
ment angetippt wurde. Zugleich soll die Möglichkeit geboten werden, direkte Änderungen an der Wiedergabeliste vornehmen zu können, ohne den Abspielvorgang
unterbrechen zu müssen. In den folgenden Abschnitten
werden die wichtigsten Methoden erläutert.
Ein Listeneintrag wird in Form eines UITableViewCell-Objekts zusammengestellt. Die „cellForRowAtIndexPath“Methode beschreibt dazu den Aufbau eines Listeneintrages des Table-Views, wie in Abbildung 8 dargestellt.
Abbildung 8: Aufbau eines Listeneintrags im PlaylistManagemment-Controller
In dieser Applikation wurde die Darstellung des Eintrages so konzipiert, dass es Dateiname, Format und
Cliplänge neben einem Vorschaubild des Videos darstellt. Weiterhin verfügt jeder Listeneintrag auf der linken Seite über einen Indikatorbalken, welcher den Status der Wiedergabe in Bezug auf den im Listeneintrag
befindlichen Clip visualisiert. Hierbei wird zwischen
drei Zuständen unterschieden. Sofern ein Clip gerade
ausgespielt wird, erhält dieser einen blauen Balken. Ist
hingegen der Clip nur geöffnet, pausiert oder gestoppt,
erhält der Listeneintrag einen hellgrauen Balken. Alle
übrigen nicht aktiven Clips werden mit einem dunkelgrauen Balken gekennzeichnet. Weiterhin ermöglicht
die Meta-Schaltfläche am rechten Rand eine Ansicht
aller verfügbaren Metainformationen des Clips.
Tippt der Nutzer auf die Reorder-Schaltfläche der Wiedergabeliste, versetzt sich die Darstellung in den Editier-Modus, wie in Abbildung 9 aufgezeigt.
wird dieser immer dann deaktiviert, wenn eine andere
Ansicht oder Wiedergabeliste geladen wird. Ein Deaktivieren über die Schaltfläche veranlasst wiederum die
Rücksetzung des Titels auf „Reorder“ und die Überschreibung der geänderten Wiedergabeliste in die Datenbank.
Führt der Nutzer über einen Listeneintrag eine horizontale Wischgeste aus, ohne den Editier-Modus über die
Schaltfläche zu aktivieren, wird der Table-View in einen
alternativen Editier-Modus versetzt. Dieser lässt ebenfalls eine Lösch-Schaltfläche erscheinen, jedoch nur
für den Eintrag, welcher mit der Wischgeste verbunden
ausgelöst wurde.
Um die Reihenfolge aller Einträge einer Warteschlange
manipulieren zu können, kann der Nutzer einen Listeneintrag mit dem Finger auf eine andere Stelle schieben.
Nach kurzem Anfassen eines Ankerpunkts wird hierbei
die Verschiebung aktiviert (Abbildung 10).
Abbildung �����������������������������������������
10���������������������������������������
: Änderung der Reihenfolge einer Warteschlange
Zugriff auf das Dateisystem des Servers
Für die Navigation innerhalb der Ordnerstrukturen des
Venice-Systems wurde der Data-Management-Controller entworfen. Durch diesen wird es dem Nutzer
ermöglicht, gezielt nach Dateien zu suchen und die in
den Ordnern befindlichen Clips in die Wiedergabeliste
zu übernehmen. In Abbildung 11������������������������
��������������������������
ist die grafische Oberfläche des Controllers sichtbar.
v
vv
Abbildung 9����������������������������������������
�����������������������������������������
: Editier-Modus zum Verschieben und Entfernen von Clips
In diesem Modus kann der Nutzer Listeneinträge mit
dem Finger verschieben oder durch Wischgesten und
eingeblendeten Schaltflächen ausgewählte Einträge
löschen. Ein erneutes Betätigen der Reorder-Schaltfläche deaktiviert wieder den Editier-Modus. Ebenfalls
Abbildung 11: Der Data-Management-Controller
5 Medienproduktion - Online Zeitschrift für Wissenschaft und Praxis
Um die notwendigen Informationen für die Darstellung
der Ordnerstruktur zu erhalten, werden mehrere Anfragen für den Spycer-Webservice benötigt. Eine Anfrage
ist für die Auflistung aller Ordner unter einem Pfad zuständig, eine weitere für die Auflistung aller Dateien an
der gegebenen Stelle. Die angeforderten Daten werden
zur Verarbeitung und Nutzung in einem Puffer abgelegt,
welcher bei jedem neuen Verzeichnisaufruf geleert und
erneut gefüllt wird. Es landen also während der Navigation keine Daten in der internen Datenbank. Soll ein
Clip der Wiedergabeliste hinzugefügt werden, folgt eine
weitere Anfrage, welche zur Beschaffung von weiteren,
für die Wiedergabe notwendigen, Metainformationen
dient. Erst in diesem Falle werden Datensätze in der
Datenbank unter einer Wiedergabeliste abgelegt.
Der angezeigte Inhalt eines Verzeichnispfads wird aus
mehreren Elementen gebildet, welche über ein TableView strukturiert ausgegeben werden. Die Darstellung
eines Eintrages wird so konzipiert, dass es neben der
Bezeichnung von Ordner und Datei jeweils ein passendes Icon anzeigt. So wird der Füllstand eines Ordners
mithilfe von unterschiedlichen Grafiken dargestellt, wie
auch zwischen Dateien unterschieden, indem sich deren Darstellung nach der jeweiligen Medien-Kategorie
richtet. In Abbildung 12 sind die entsprechenden Typen
vorzufinden. Hierbei wird zwischen den bearbeitbaren Video- und Container-Formaten unterschieden:
„Content-Video“ und „Content-Container“. Für eine
Wiedergabe nicht relevante Datei-Formate werden als
„Content-Unknown“ gekennzeichnet. Die Einteilung der
Medien-Kategorie wird bereits von der Spycer-Applikation bzw. dessen Webservice durchgeführt.
Abbildung 12: Darstellung von Dateien und Ordnern
Weiterhin bietet jeder Listeneintrag Zusatzinformationen zum Inhalt an. Eine Datei wird ergänzend beschrieben durch: Dateigröße, Format und dem Zeitpunkt der
letzten Änderung. Hingegen wird ein Ordner durch die
Anzahl der darin befindlichen Unterordner und Dateien
näher beschrieben. Zur Angabe der Dateigröße wurden
spezielle Maßnahmen implementiert, da der Webservice diese nur in der Einheit Bytes ausgibt. Im Zuge
der Benutzerfreundlichkeit und Übersicht wird diese
Einheit, je nach Dateigröße in Kilobyte, Megabyte oder
Gigabyte ausgegeben.
Zuletzt bietet ein Listeneintrag die Darstellung eines
Häkchens, welches einen für die Wiedergabelisten zu
übernehmenden Clip hervorheben soll.
Damit ein möglichst einfaches Navigations- und Selektier-Verfahren geboten werden kann, wurde eine Werkzeugleiste in Form von mehreren Schaltflächen zur
Umsetzung verschiedener Funktionen implementiert,
welche in Abbildung 13 dargestellt ist.
Abbildung 13������������������������������������
��������������������������������������
: Die Werkzeugliste des Data-Management-Controllers
Die „Show Playlist“-Schaltfläche blendet die aktuell geöffnete Wiedergabeliste in der linken Seitenleiste ein,
damit der Nutzer stets eine Übersicht hat, welche Dateien bereits hinzugefügt wurden.
Zusammenfassung und Ausblick
Die Venice-App ist ein abgeschlossener Prototyp für
den professionellen Anwendungsbereich. Sie bietet
bereits in diesem Stadium der Entwicklung Funktionen, welche bestimmte Arbeitsprozesse innerhalb eines Fernsehstudios vereinfachen können. Der Nutzer
hat die Möglichkeit sich mit dem Server über WLAN zu
verbinden, die gesamte Ordnerstruktur des Servers zu
durchsuchen, sich seine individuelle Wiedergabeliste
zu erstellen, eine Bezeichnung zu geben und abzuspeichern. Anschließend kann er die Elemente seiner Wiedergabeliste nach eigenem Belieben verschieben oder
aber wieder löschen. Ferner stellt die Anzeige von Metainformationen kein Problem dar, falls diese zur Verfügung stehen. Im Zusammenspiel von Timecode und
Fortschrittsbalken bekommt man zudem eine optische
Anzeige geboten, anhand derer man immer erkennen
kann, an welcher Stelle sich der jeweilige Videoclip befindet.
Als Hauptanwender werden Moderatoren, Redakteure
und Schnittmeister in Betracht gezogen. Für eine kommerzielle Nutzung sind Anpassungen und Optimierung
hinsichtlich der unterschiedlichen Anforderungen in den
Arbeitsgruppen angedacht. Die vorliegende Version
kann daher als Grundgerüst für eventuell fortführende
Arbeiten genutzt werden. Abschließend kann gesagt
werden, dass die Applikation bereits sehr viele Funktionen bietet, diese aber an einigen Stellen verbessert
oder erweitert werden können. Für die Zukunft wäre
eine Weiterentwicklung der angesprochenen Punkte
wünschenswert.
6
Literaturverzeichnis
[1] Ray, Erik T. (2004): Einführung in XML. [Übers.] Lars
Schulten. Dt. Ausgabe 2. Auflage. Bejing : O ́Reilly Verlag.
[2] Mitra, Nilo (Ericsson); Lafon Yves (W3C). W3C
Recommendation (2007): SOAP Version 1.2 Part 0:
Primer (Second Edition). Online: http://www.w3.org/
TR/2007/REC-soap12-part0-20070427/. [Zugriff am:
20. 08. 2014]
[3] Snell, James; Tidwell, Doug & Kulchenko, Pavel
(2002): Programming Web Services with SOAP. Sebastopol: O ́Reilly Verlag.
[4] Hauser, Tobias (2010): XML-Standards 2.
schnell+kompakt. Vollständig überarbeitete und aktualisierte Neuauflage 2010. entwickler.press.
[5] Misgeld, Wolfgang D. (1998): Einstieg und Anwendung Mit SQL-2, IBM DB2, IBM SQL/DS, Informix SQL,
Oracle 3., überarbeitete und aktualisierte Auflage. München; Wien : Carl Hanser Verlag.
[6] DVS Digital Video Systems GmbH (2012): Media
Production Hub VENICE 2U Hardware Guide. [PDFDokument] 1.0, Hannover : s.n.
B. Eng. Roman Holzhause (l.) und B.Eng. Tristan Riedel (m.)
sind wissenschaftliche Mitarbeiter am Fachgebiet Mediensystem
an der Hochschule Anhalt in Köthen. Prof. Dr. Matthias
Schnöll (r.) hat an der Hochschule Anhalt eine Professur für
Mediensysteme.
7 Medienproduktion - Online Zeitschrift für Wissenschaft und Praxis
Herunterladen