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