Embedded Systems
Ausgewählte Themen (ES-M)
Beuth-Hochschule WS 2010
Oliver Lietz
Dipl.-Ing.
Oliver Lietz – Mobile Software
Überblick
Themenvorschlag „Virtuelles Studio“
Mobile Plattformen
Oliver Lietz – Mobile Software– http://www.nanocosmos.de/lietz
Übersicht
Themenvorschlag „Virtuelles Studio“
PC-basiertes Aufzeichnungsgerät
VideoEinführung Android
– Einführung iPhone
Blog: http://bht.mobilecoders.de
Interessante Apps
Projektvorschläge
Weitere Plattformen
Einrichtung Entwicklungsumgebungen
Oliver Lietz – Mobile Software– http://www.nanocosmos.de/lietz
Virtuelles Video-Studio
Aufzeichnung und Streaming von Live-Video
Streaming.Box
Erfassung
(Capture)
Kamera
Aufzeichnung/Verarbeitung
Codierung
Streaming
Server (IP)
PC-Workstation
Playout
Android
iPhone
PC/Flash
USB, HDMI, SDI
Oliver Lietz – Mobile Software– http://www.nanocosmos.de/lietz
Anbindung Beuth.Box
Video-Aufzeichnung für Video-CMS / Portal
Erfassung
(Capture)
Kamera
Streaming.Box
Beuth.Box
PC-Workstation
Oliver Lietz – Mobile Software– http://www.nanocosmos.de/lietz
Virtuelles Studio
Color Key / Blue-Screen (Green Screen)
http://tv.newtek.com/player.php?recordID=32
Oliver Lietz – Mobile Software– http://www.nanocosmos.de/lietz
3D-Video-Streaming
Video-Aufzeichnung für Video-CMS / Portal
Erfassung
(Capture)
Aufzeichnung/Verarbeitung
Codierung
3D-Ausgabe
Oliver Lietz – Mobile Software– http://www.nanocosmos.de/lietz
http://www.grassvalley.com/solutions/workflows/live-production
Oliver Lietz – Mobile Software– http://www.nanocosmos.de/lietz
Produktionsstrecke
Technisch
Video
Codierung
Aufzeichnung /
Speicherung
Audio
Übertragung
Wiedergabe /
Playback
Codierung
Inhaltlich (Semantisch): Metadaten
Beschreibung /
Content Description
Meta-Daten
Anzeige
Oliver Lietz – Mobile Software– http://www.nanocosmos.de/lietz
Video-Aufzeichnung (Capture)
Eingabe-Gerät (Capture Device): Video/Audio getrennt
Codierung (Encoder): Video/Audio getrennt
Multiplex: Video/Audio kombiniert
Ziel (Datei oder IP-Stream / Socket)
uncompressed
↑
compressed
↑
Oliver Lietz – Mobile Software– http://www.nanocosmos.de/lietz
Video-Wiedergabe
Beispiel DirectShow: „Filter“ über „Pins“ verbunden
Datenfluss durch den „Filter-Graphen“
Datenfluss:
Datei oder IP-Stream, Splitter, Decoder A/V getrennt
Hilfsmittel (Tool): „GraphEdit“ (Microsoft) / „GraphStudio“ (OpenSource)
Oliver Lietz – Mobile Software– http://www.nanocosmos.de/lietz
Web-Streaming
Adobe Flash Media Live Encoder
Oliver Lietz – Mobile Software– http://www.nanocosmos.de/lietz
nanoStream Live Video Encoder
Live Encoding/Streaming aus dem Browser
Aufzeichnung, Encoding, Streaming
– Webcam oder Profi-Kamera
Flash-kompatibel (RTMP-Protokoll)
3D-Video (Stereoskopie)
Plugin-Basiert für
Internet Explorer, Firefox, …
3D-Video (Stereoskopie)
Javascript-API
Oliver Lietz – Mobile Software– http://www.nanocosmos.de/lietz
Live Playback mit Flash
Encoder spielt auf
Media Server
Player (Flash) holt von
Media Server
Flash Media Server
Wowza Media Server
Photo © Rob Watkins
Oliver Lietz – Mobile Software– http://www.nanocosmos.de/lietz
Live Streaming - Browserbasiert
Live Encoder
Wowza/Flash Media Server
Flash Player
Oliver Lietz – Mobile Software– http://www.nanocosmos.de/lietz
Mobile Plattformen
Android
iPhone
WindowsMobile 6 / WindowsPhone 7
Nokia / Symbian / Maemo / MeeGo
(Samsung Bada, Palm, …)
Oliver Lietz – Mobile Software– http://www.nanocosmos.de/lietz
Plattformen: Android
Android SDK: http://developer.android.com
Eclipse: Java Development
Android Platform
– Versionen 1.0 (alt), 1.5, 1.6, 2.0, 2.1, 2.2
Native Developer Kit (NDK): C/C++
Web Apps?
Verteilung der Anwendung / AppStore?
Oliver Lietz – Mobile Software– http://www.nanocosmos.de/lietz
Plattformen: iPhone
Entwicklung nur auf MacOS-X möglich
IDE: Xcode
iPhone-SDK: Emulator+Xcode
Objective-C
Verteilung nur über AppStore
Deployment nur mit Apple-ID
Weitere Möglichkeiten (mögliche LV-Themen)
– WebApps
DashCode: HTML+JScript
– Flash CS5: AS-Cross-Compiler für Apps
– XMLVM: Java-Cross-Compiler, PhoneGap
Oliver Lietz – Mobile Software– http://www.nanocosmos.de/lietz
Platforms
iPhone / iPod
Android
WindowsMobile
Symbian (Nokia u.a.)
Maemo / Moblin / Meego (Nokia)
Blackberry
JavaME
Palm
…
Oliver Lietz – Mobile Software– http://www.nanocosmos.de/lietz
Themen für Kurzvorträge
Plattformen
–
–
–
–
–
–
–
–
Software
iPhone / iPod
Android
WindowsMobile
Symbian (Nokia u.a.)
Maemo / Moblin / Meego (Nokia)
Blackberry
JavaME
Palm
Themen
– Streaming
– Localisation / GPS
– Besondere Features
– iPhone: Objective-C, Cocoa,
Apps/Signing/Appstore,
Dashcode: Web-Widgets
– Android: SDK/API, Java, C
– Symbian: C++, Nokia-SDKs,
Java2ME, Qt, ggf. Python
– Maemo/Moblin/Meego
– WindowsMobile: .NET
CompactFramework, C#, C++,
MFC, VB
– Flash / FlashLite
– Apps, Appstore, Signing,
Distribution
– IDEs / Kommandozeile
– APIs: Flickr, Google,…
Gerne auch spezielle Themen !
Oliver Lietz – Mobile Software– http://www.nanocosmos.de/lietz
Arbeitsplattform identifizieren
Welche Plattformen gibt es?
Welche Programmiersprachen sind möglich?
Welche Geräte sind verfügbar?
Eigene Projektideen?
Kurzpräsentation Plattform / Technologie / Projekt
Oliver Lietz – Mobile Software– http://www.nanocosmos.de/lietz
Nächste Schritte
Identifikation einer geeigneten Entwicklungsplattform
Identifikation eines Softwareprojektes / Produktidee
Softwareentwicklung und Projektmanagement
Begleitende Aufgaben
Oliver Lietz – Mobile Software– http://www.nanocosmos.de/lietz
Aufgabe 1
1. Finden Sie 1-2 Mobile Anwendungen, die Sie
persönlich besonders gut finden!
2. Welche Technologien werden in der Anwendung
verwendet?
3. Fassen Sie das Ergebnis zusammen (inkl.
Screenshot!)
Einstellen in Blog – http://bht.mobilecoders.de/wp-admin
Oliver Lietz – Mobile Software– http://www.nanocosmos.de/lietz
Aufgabe 2: Android-HelloWorld
1. Installieren Sie die Android-Entwicklungsumgebung für Ihren
PC. Dokumentieren Sie die Schritte
Labor: Lokales LW D: ist nutzbar
Netz: Dozenten-PC \\dsy25\DATA\download
a) eclipse-java-galileo.zip herunterladen nach D:
b) Android-SDK kopieren/installieren …
3. Entwickeln Sie ein einfaches „Hello World, my Name is …“ mit
Hilfe eines Tutorials!
Schätzen und messen Sie den Aufwand für jeden Arbeitsschritt! (z.B. 4
Stunden – 6 Stunden)
Oliver Lietz – Mobile Software– http://www.nanocosmos.de/lietz
Aufgabe 2a (weitere Plattformen)
1. Wählen Sie eine Plattform, auf der Sie Ihre erste
Anwendung entwickeln möchten! (Begründung?)
2. Installieren Sie eine Entwicklungsumgebung für
Ihren PC. Dokumentieren Sie die Schritte
3. Entwickeln Sie ein einfaches „Hello World, my Name
is …“ mit Hilfe eines Tutorials!
Schätzen und messen Sie den Aufwand für jeden
Arbeitsschritt! (z.B. 4 Stunden – 6 Stunden)
Oliver Lietz – Mobile Software– http://www.nanocosmos.de/lietz
Aufgabe 3 (Entwurf)
1. Wählen Sie ein Projekt, das Sie entwickeln möchten!
Wählen Sie eine Plattform, auf der Sie entwickeln
möchten!
2. Schreiben Sie ein kurzes Expose über Ihr Projekt!
Schätzen und messen Sie den Aufwand!
Oliver Lietz – Mobile Software– http://www.nanocosmos.de/lietz

ES-2010