Design und Entwicklung eines Live-Streaming-Frontends

Design und Entwicklung einer Anwendung für Live Video Encoding und Streaming

Ziel: TV-Studio-ähnliche Anwendung zur Ansteuerung mehrerer Videoquellen, Erzeugen eines Live Streams.

Techniken:

Alternativ Browser/Desktop-App

– Browser-basierte Entwicklung (HTML, Javascript, jQuery)

– Desktopbasierte Entwicklung (C/C++, C#, ObjC, Qt, o.a.)

– Verwendung des nanoStream Plugins für Kameraansteuerung

http://www.nanocosmos.de/demo

Plattform:

Windows/MacOS, alternativ Mobil (iOS, Android, WindowsPhone)

Ähnliche Anwendungen und Geräte:

Telestream Wirecast

Livestream.com Broadcaster

ATEM Television Studio

nanocosmos / nanoStream Live Video Encoder

 

Continue reading “Design und Entwicklung eines Live-Streaming-Frontends”

Projektvorschlag Masterprojekt: H.265 Video Codec – Entwicklung und Test

High Efficiency Video Coding (HEVC), auch bekannt als H.265, ist der als Nachfolger von H.264 geplante Standard zum Kodieren von Videos.

Für H.265 existieren Referenzimplementierungen, die als Grundlage für die weitere Analyse und Entwicklung verwendet werden können.

Ziele:

– Analyse und Setup aktuell existierender Softwareimplementierungen

– Test und Vergleich H.264

– Performanceanalyse anhand verschiedener Parameter und Systeme

– Entwicklung einer einfachen Anwendung (mit/ohne GUI) zur Kompression von Videodateien nach H.265

http://de.wikipedia.org/wiki/High_Efficiency_Video_Coding

http://hevc.hhi.fraunhofer.de/

Technologien:

C/C++, Videokompression

Plattform:

Windows, MacOS, Linux

 

Projektvorschlag Masterprojekt: Web Meeting / Screen Sharing

Entwicklung einer Web-Meeting-Software aus bereits vorhandenen Basiskomponenten.

Ziele:

– browserbasierte “web meeting” app

– einfacher Aufbau mit HTML5

– Chat und Whiteboard zum gemeinsamen Arbeiten

– Clientsoftware für Win/Mac oder Mobile Devices

– Server software zur Vermittlung/Koordination

– ergänzende Plugins für Audio/Videoübertragung und Screen Sharing

– optional integration von mobilen App(s)  (iOS, Android, WindowsPhone)

Basistechnologien:

HTML5, Javascript, ggf. C/C++ für native Entwicklungen

nanoStream Live Video Encoder Plugin  / Screen capture driver für Win/Mac

Kooperation: nanocosmos gmbh, oliver lietz

 

Projektvorschlag Masterprojekt: Video-Chat mit WebRTC

Entwicklung eines browser-basierten Video-Chats mit HTML5/WebRTC (ohne Flash und andere Plugins)

WebRTC stellt Echtzeit-Peer-to-Peer-Verbindungen her und eignet sich vor allem für Telefonate und Chats. Demos von Mozilla zeigen eine Skype-ähnliche Anwendung mit Video-Telefonie und dem Austausch von Dokumenten oder Browser-URLs. Bisher unterstützt außer Firefox nur Chrome WebRTC.

http://www.heise.de/newsticker/meldung/Chrome-29-Beta-Mobile-Videochats-im-Browser-1919151.html

Demo chat:

http://www.webrtc.org/demo

https://apprtc.appspot.com

Source code:

https://code.google.com/p/webrtc-samples/source/browse/trunk/apprtc/

required:

google appengine

 

Anderes Beispiel:

http://badankles.com/?p=209

Die Links zum Code funktionieren dort nicht,  aber hier:

https://github.com/chrisallick/ProcessingWebSocketVideoStreamer

Technologien:

HTML5, Javascript, WebRTC, Server-Engine (Google Apps, Python oder anderes)

Kooperationspartner

nanocosmos GmbH, Oliver Lietz

 

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

Projektvorschlag MPEG-DASH

In diesem Projekt sollen Softwarekomponenten für den neuen Streaming-Standard MPEG DASH entwickelt werden.

  • Grundlagen Live Streaming/Conferencing
  • Probleme mit bisherigen Verfahren
  • HTTP Live Streaming (HLS, HDS, Smooth Streaming)
  • Wofür dient MPEG DASH als Lösungsansatz
  • Implementierung eines Software-Prototypen

Softwareplattform:

Windows, MacOS, Linux

Techniken:

C/C++