Projekt: vid-web-droid

Dominik Eckelmann
Julian Heise

Projektbeschreibung

Es soll ein Portal geschaffen werden, in dem Anwender Videos von ihrem Android-Handy streamen können, welche sich Benutzer dann im Internet anschauen können. Parallel zu dem Video soll eine Landkarte angezeigt werden, auf der die Standpunkte der sendenden Teilnehmer angezeigt werden. Auf diese Weise erhalten die Betrachter einen Überblick über zur Verfügung stehendes Videomaterial und können den Sender auswählen.

Das System kann optional mit Benutzermanagement (Anmelde- / Profilfunktion) ausgestattet werden.

Projektziel

Ziel des Projektes ist es, eine die Anwendung prototypisch umzusetzen, so dass:

  • Andorid App von D. Schmid und F. Politz kann Videos an das System senden.
  • Benutzer können Positionen der Live-Streams auf einer Kartenansicht sehen
  • Benutzer können aufgenommenes Video der Android App ansehen

Zudem soll eine vorführbare Demo Version zur langen Nacht der Wissenschaft bereitgestellt werden.

Zielgruppe

Jugendliche und Erwachsene

Stand der Technik

Video wiedergabe im Web:

  • Youtube
  • Flash Player zur wiedergabe
  • HTML5 Video Tag

Online Karten

  • Google Maps API
  • Open Street Map
  • Bing Maps

Übertragungswege

  • Java HTTP Server
  • Airit Protokoll (Schmid/Politz)
  • RTP
  • UDP

Projektinnovation

Bisher ist uns ein vergleichbares Portal nicht bekannt.

Herausforderungen/Risiken

Herausforderungen:

  • Verteiltes System
  • Verschiedene Protokolle
  • Video-
    • formate
    • encoding
    • synchronisierung
    • streaming

 

Verwendete Technik

Der Server soll als Web-Service ausgelegt werden und ein Streaming der Videodaten ermöglichen. Hierfür muss ein geeignetes Protokoll ausgewählt werden. Denkbar sind HTTP, UDP, RTMP oder eine Eigenentwicklung.

Techniken:

  • HTML/CSS
  • JavaScript
    • JQuery
    • Google Maps
  • Airit Protokoll
  • Java SE SDK
  • C/C++

Terminplanung/Meilensteine

  1. Essentials: Video vom Handy via Server direkt zum Web Client
    • Android APP nimmt das Video auf und sendet es direkt an einen Server
    • Server verteilt das Video via Webseite an Clients
    • Video ist nicht persistent
    • Keine Authentifizierung
    • Keine Geodaten
  2. Geo Daten
    • Kartenansicht für Position des Aufnahmegerätes
    • Übertragung der Position zusammen mit Bildmaterial
  3. User-Awareness, Videos persistent
    • Server speichert die Videos
    • Authentifizierung
    • Video-Benutzer Zuordnung
    • Weboberflächen zum ansehen der gespeicherten Videos und der Benutzer
    • einfache Suchfunktion
  4. Social funktionen (optional)
    • Benutzer können anderen Benutzern folgen – Twitter nachempfunden
    • Kommentarfunktion für Videos
    • Bewertungsfunktion (like, +/-)
    • etc.

Einsatz der Kinect zum Chromakeying unter Einbeziehung der Tiefendaten

Projektziel
Es soll anhand eines Prototyps in C# evaluiert werden, ob die technischen Rahmenbedingungen der Kinect (Auflösung, Rauschen, Chromasubsampling etc.) für Chromakeying ausreichend sind

Stand der Technik
Chromakeying erfolgt größtenteils Pixelbasiert

Projektinovationen
Einbeziehung der von der Kinect gelieferten Tiefendaten zum Chromakeying

Herausforderung
Spatiale und Temporale Auflösung der Kinect ist begrenzt

Meilensteine
Generierung der Tiefenkarte und Optimierung der Werte
Chromakeying mit Tiefenkarte
Aufzeichnung des gekeyten Videos
Remotesteuerung (Anpassung der Parameter im Smartphone)
Abschliessende Evaluierung/Vergleich mit rein pixelbasierter Verfahren

Entwicklung einer Tablet-App für das Aufnehmen und Bearbeiten von Videos

Projektziel

Entwicklung einer Tablet-App für das Aufnehmen und Bearbeiten von Videos

Zielgruppe

Fachpersonal – hält ihr Wissen in multimedialer Form fest

Stand der Technik
Ansteuerung von Kamera auf einem Tablet ist möglich, jedoch keine Aufzeichnung

Projektinnovation

Eine videobasierte e-Learning Plattform zum aufzeichnen und vermitteln von Fachwissen. Integration von AV-Frameworks für die Adobe AIR Plattform.

Herausforderungen/Risiken

  • Die Integration von Videoaufnahme und dessen Bearbeitung innerhalb der Adobe AIR Plattform ist zum aktuellen Stand der Technik nicht vorgesehen
  • Persistierung des aufgenommenen Videomaterials
  • Durch das Forschungsprojekt ist die Adobe Flex Plattform Mehr oder Minder vorgeschrieben und führt dadurch zu einer Beschränkung. Es existieren bis dato keine Ansätze zur Implementierung einer solchen Funktion auf Basis einer solchen Plattform. Daher ist die technische Machbarkeit nicht eindeutig nachgewiesen.

Meilensteine/Arbeitspakete

  1. Aufzeichnung von Videomaterial
  2. Segmentierung und Hinzufügen von Metadaten zum aufgenommenen Videomaterial
  3. Persistierung des bearbeiteten Materials


Projektvorschlag: Live Reportage vom Flughafen-Umzug Tegel-Schönefeld

Projektvorschlag: Live Reportage vom Flughafen-Umzug Tegel-Schönefeld

Live Streaming über LTE – in Zusammenarbeit mit einem Unternehmen

Für den kommenden Flughafenumzug werden noch studentische Projektteilnehmer/innen gesucht, die das im Rahmen einer Live-Reportage begleiten wollen.

Eingebunden wird das Projekt in die Lange Nacht der Wissenschaften mit einer Präsentation des Fachbereichsteams Medieninformatik

Teilprojekt: Reportage-Konzept und Produktion

Teilprojekt: Mobiler Sender, PC-basiert, Laptop, Kamera, Encoder; Sender

Optional auch in 3D

Projekte unabhängig voneinander möglich!

LTE ist die Nachfolgetechnologie von UMTS und ermöglicht mobile Datenübertragung mit hohen Bitraten. Damit wird mobiles Live Streaming in HD möglich.

CamDroid

Wir haben dieses APP für Android entwickelt, um uns diesem schnell wachsenden und sehr interessanten Gebiet zu nähern. Nach anfänglichen Problemen und durcharbeiten vieler Tutorials und der veröffentlichten API zu Android, haben wir ein sehr brauchbares, stabiles und für das erste Release doch gut funktionales APP fertigstellen können.

Nämlich eine APP mit der wir das Bild, welches die Kamera unseres Androiden sieht, in die Welt streamen können.

So ist es möglich mit einem M-JPEG fähigem Browser (Firefox, Chrome, Safari) oder Player (VLC, MPlayer) den Stream zu sehen.

Der erste Screenshot zeigt die Einstellungsmaske unseres APPs.

Wir haben dort die Möglichkeit, die:

  • Auflösung (Resolution)
  • Bildwiederholrate (Frequency)
  • Bildqualität (Quality)
  • und den Port

einzustellen.

Natürlich kann man nach erfolgreichem einstellen den Vorgang auch starten.

Das sieht dann so aus:

Dort sieht man dann auch die Adresse, die man in einem M-JPEG fähigen Browser oder Player eingeben kann, um sich so den Stream anzuschauen.

Ein Zusatz ist, dass man jederzeit zur Laufzeit die Einstellungen verändern kann.

Wir haben auch noch einige ToDo’s auf unsere Liste, denen wir uns in Zukunft widmen wollen:

  • Perfomance boost
  • Unterscheidung Querformat/Hochformat
  • Unterstützung durch das eingebaute Flashlight (manuell/automatisch)

CamDroid Projekt Seite @Google Code

Laufschriftanzeige

Das Android App wurde entwickelt um eine Laufschrift vom Smartphone aus in Echtzeit steuerbar zu machen. Die Laufschriftrichtung und Laufschriftgeschwindigkeit sind einstellbar. Die Laufschrift wird auf dem PC simuliert. Für die simulierte Laufschriftoberfläche wurde Microsoft Visual Basic .NET 2010 verwendet. Der Zeichenstring wird per WLAN vom Smartphone auf den PC übertragen und dort angezeigt.

fotofun (Android)

Auf den ersten Blick schien das Projekt leicht überschaubar und realisierbar. Unterschätzt wurde dabei die “spezielle” Ausrichtung von Java auf die Objektorientierung. Zwar ist der Syntax zu C/C++ sehr verwandt, aber keine Programmiersprache gleicht der anderen. Zudem hat es einige Zeit in Anspruch genommen sich alle Komponenten zusammen zu suchen. Zwar hätte man z.B. den Dateibrowser selbst programmieren können, allerdings wäre auf diese Weise das “Rad neu erfunden wurden”. Trotz des Scheitern des Projektes wurde durch diese Vorlesung ein guter Eindruck von

  • Projektmanagment
  • Dokumentation
  • Android-Entwicklung unter Java

gewonnen. Der wohl wichtigste Eindruck ist gewesen, dass die Planung des Arbeitsaufwandes noch Defizite hat und dass Java nicht gleich Java ist.
So ist die Programmierung nicht erfolgreich gewesen, dafür ist ein erster Einblick in die Android Programmierung erfolgt und der persönliche Lerneffekt ist vorhanden gewesen, was wohl das wichtigste ist.
Nichtsdestotrotz wird die Entwicklung der Applikation nach kauf eines HTC/Android Gerätes weitergehen, auch wenn es solche Programme sicherlich wie Sand am Meer gibt.

iPhone OpenGL ES 3D “exploration”

Zur Realisierung einer “erlaufbaren” 3D-“Welt” wurde auf dem iPhone die OpenGL ES-API verwendet. Die Objekte werden zunächst sehr einfach als header-files importiert, welche das Modell in Form dreier Datenarrays enthalten. Hier sind über Vertexe, Faces und Normalen die verschiedenen zusammenhängenden Polygone definiert.

Da komplexere Modelle nicht mehr mit der Hand erzeugt werden können, bedient man sich hierbei eines 3D-Modellers, wie zum Beispiel Blender 3D. Zusätzlich gibt es ein Python-Script von Jeff Lamarche, mit welchem aus Blender komplette Modelle im wavefront.obj-Format direkt als iPhone-Header-Datei exportiert werden können.

Die Idee war die Modellierung eines virtuellen Stonehenge, beispielhaft für eine zu erkundende Umgebung. Die Erkundung erfolgt durch Anpassung der Kameraperspektive und der Modellausrichtung. Hierzu werden entweder der Kompaß des Telefons und/oder Touch-Events auf dem Display des Telefons verwendet.

Als weitere Ausbaustufe wäre die Maßstabsgetreue Modellierung eines echten Objektes denkbar, welches dann mittels GPS grundsätzlich lokalisiert und mit zusätzlichen Telefonbewegungen oder Touch-Events weiter erkunden werden könnte. Mit einem transparenten Hintergrund und einem aktuellen Kamerabild landet man dann schnell bei der Idee von “agmented reality”.

Das Projekt selber wurde mit dem Status der lauffähigen Erkundung in 3D eingefroren und zur Bewertung freigegeben. Die Weiterentwicklung wird sicherlich an diversen Abenden privat erfolgen…….. 🙂

m+h