oliver lietz – mobile software embedded systems ausgewählte themen (es-m) beuth-hochschule ws...
TRANSCRIPT
Oliver Lietz – Mobile Software
Embedded SystemsEmbedded SystemsAusgewählte Themen (ES-M)Ausgewählte Themen (ES-M)
Beuth-Hochschule WS 2010Beuth-Hochschule WS 2010
Oliver LietzOliver LietzDipl.-Ing.Dipl.-Ing.
Oliver Lietz – Mobile Software– http://www.nanocosmos.de/lietz
ÜberblickÜberblick
Themenvorschlag „Virtuelles Studio“Themenvorschlag „Virtuelles Studio“
Mobile PlattformenMobile Plattformen
Oliver Lietz – Mobile Software– http://www.nanocosmos.de/lietz
ÜbersichtÜbersicht
Themenvorschlag „Virtuelles Studio“Themenvorschlag „Virtuelles Studio“
PC-basiertes AufzeichnungsgerätPC-basiertes AufzeichnungsgerätVideo-Video-Einführung AndroidEinführung Android– Einführung iPhoneEinführung iPhone
Blog: Blog: http://bht.mobilecoders.dehttp://bht.mobilecoders.deInteressante AppsInteressante AppsProjektvorschlägeProjektvorschläge
Weitere PlattformenWeitere PlattformenEinrichtung EntwicklungsumgebungenEinrichtung Entwicklungsumgebungen
Oliver Lietz – Mobile Software– http://www.nanocosmos.de/lietz
Virtuelles Video-StudioVirtuelles Video-Studio
Aufzeichnung und Streaming von Live-VideoAufzeichnung und Streaming von Live-Video
KameraKamera PC-Workstation PC-Workstation AndroidAndroidUSB, HDMI, SDIUSB, HDMI, SDI iPhoneiPhone
PC/FlashPC/Flash
ErfassungErfassung Aufzeichnung/VerarbeitungAufzeichnung/Verarbeitung Streaming Streaming (Capture) (Capture) CodierungCodierung Server (IP) PlayoutServer (IP) Playout
Streaming.BoxStreaming.Box
Oliver Lietz – Mobile Software– http://www.nanocosmos.de/lietz
Anbindung Beuth.BoxAnbindung Beuth.Box
Video-Aufzeichnung für Video-CMS / PortalVideo-Aufzeichnung für Video-CMS / Portal
KameraKamera PC-Workstation PC-Workstation
ErfassungErfassung Streaming.Box Streaming.Box Beuth.Box Beuth.Box (Capture)(Capture)
Oliver Lietz – Mobile Software– http://www.nanocosmos.de/lietz
Virtuelles StudioVirtuelles Studio
Color Key / Blue-Screen (Green Screen)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-Streaming3D-Video-Streaming
Video-Aufzeichnung für Video-CMS / PortalVideo-Aufzeichnung für Video-CMS / Portal
ErfassungErfassung Aufzeichnung/VerarbeitungAufzeichnung/Verarbeitung 3D-Ausgabe 3D-Ausgabe (Capture)(Capture) CodierungCodierung
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
ProduktionsstreckeProduktionsstrecke
TechnischTechnisch
Inhaltlich (Semantisch): MetadatenInhaltlich (Semantisch): Metadaten
Video
Übertragung
Audio
Wiedergabe /Playback
Codierung
Codierung
Aufzeichnung /Speicherung
Beschreibung / Content Description
Meta-Daten Anzeige
Oliver Lietz – Mobile Software– http://www.nanocosmos.de/lietz
Video-Aufzeichnung (Capture)Video-Aufzeichnung (Capture)Eingabe-Gerät (Capture Device): Video/Audio getrenntEingabe-Gerät (Capture Device): Video/Audio getrennt
Codierung (Encoder): Video/Audio getrenntCodierung (Encoder): Video/Audio getrennt
Multiplex: Video/Audio kombiniertMultiplex: Video/Audio kombiniert
Ziel (Datei oder IP-Stream / Socket)Ziel (Datei oder IP-Stream / Socket)
uncompressed uncompressed ↑↑ compressed compressed ↑↑
Oliver Lietz – Mobile Software– http://www.nanocosmos.de/lietz
Video-WiedergabeVideo-Wiedergabe
Hilfsmittel (Tool): „GraphEdit“ (Microsoft) / „GraphStudio“ (OpenSource)Hilfsmittel (Tool): „GraphEdit“ (Microsoft) / „GraphStudio“ (OpenSource)
Beispiel Beispiel DirectShowDirectShow: „Filter“ über „Pins“ verbunden„Filter“ über „Pins“ verbunden
Datenfluss durch den „Filter-Graphen“Datenfluss durch den „Filter-Graphen“
Datenfluss: Datenfluss:
Datei oder IP-Stream, Splitter, Decoder A/V getrenntDatei oder IP-Stream, Splitter, Decoder A/V getrennt
Oliver Lietz – Mobile Software– http://www.nanocosmos.de/lietz
Web-Streaming Web-Streaming Adobe Flash Media Live EncoderAdobe Flash Media Live Encoder
Oliver Lietz – Mobile Software– http://www.nanocosmos.de/lietz
nanoStream Live Video EncodernanoStream Live Video EncoderLive Encoding/Streaming Live Encoding/Streaming aus dem aus dem BrowserBrowser
Aufzeichnung, Encoding, StreamingAufzeichnung, Encoding, Streaming– Webcam oder Profi-KameraWebcam oder Profi-Kamera
Flash-kompatibel (RTMP-Protokoll)Flash-kompatibel (RTMP-Protokoll)
3D-Video (Stereoskopie)3D-Video (Stereoskopie)
Plugin-Basiert fürPlugin-Basiert fürInternet Explorer, Firefox, …Internet Explorer, Firefox, …
3D-Video (Stereoskopie)3D-Video (Stereoskopie)
Javascript-APIJavascript-API
Oliver Lietz – Mobile Software– http://www.nanocosmos.de/lietz
Live Playback mit FlashLive Playback mit Flash
Encoder spielt auf Encoder spielt auf
Media ServerMedia Server
Player (Flash) holt von Player (Flash) holt von
Media ServerMedia Server
Flash Media ServerFlash Media Server
Wowza Media ServerWowza Media ServerPhoto © Rob WatkinsPhoto © Rob Watkins
Oliver Lietz – Mobile Software– http://www.nanocosmos.de/lietz
Live Streaming - BrowserbasiertLive Streaming - Browserbasiert
Live EncoderLive Encoder Wowza/Flash Media Server Flash Player Wowza/Flash Media Server Flash Player
Oliver Lietz – Mobile Software– http://www.nanocosmos.de/lietz
Mobile PlattformenMobile Plattformen
AndroidAndroid
iPhoneiPhone
WindowsMobile 6 / WindowsPhone 7WindowsMobile 6 / WindowsPhone 7
Nokia / Symbian / Maemo / MeeGoNokia / Symbian / Maemo / MeeGo
(Samsung Bada, Palm, …)(Samsung Bada, Palm, …)
Oliver Lietz – Mobile Software– http://www.nanocosmos.de/lietz
Plattformen: AndroidPlattformen: Android
Android SDK: Android SDK: http://developer.android.comhttp://developer.android.com
Eclipse: Java DevelopmentEclipse: Java Development
Android PlatformAndroid Platform– Versionen 1.0 (alt), 1.5, 1.6, 2.0, 2.1, 2.2Versionen 1.0 (alt), 1.5, 1.6, 2.0, 2.1, 2.2
Native Developer Kit (NDK): C/C++Native Developer Kit (NDK): C/C++
Web Apps?Web Apps?
Verteilung der Anwendung / AppStore?Verteilung der Anwendung / AppStore?
Oliver Lietz – Mobile Software– http://www.nanocosmos.de/lietz
Plattformen: iPhonePlattformen: iPhone
Entwicklung nur auf MacOS-X möglichEntwicklung nur auf MacOS-X möglich
IDE: XcodeIDE: Xcode
iPhone-SDK: Emulator+XcodeiPhone-SDK: Emulator+Xcode
Objective-CObjective-C
Verteilung nur über AppStoreVerteilung nur über AppStore
Deployment nur mit Apple-IDDeployment nur mit Apple-ID
Weitere Möglichkeiten (Weitere Möglichkeiten (mögliche LV-Themenmögliche LV-Themen))– WebAppsWebApps
DashCode: HTML+JScriptDashCode: HTML+JScript
– Flash CS5: AS-Cross-Compiler für AppsFlash CS5: AS-Cross-Compiler für Apps– XMLVM: Java-Cross-Compiler, PhoneGapXMLVM: Java-Cross-Compiler, PhoneGap
Oliver Lietz – Mobile Software– http://www.nanocosmos.de/lietz
PlatformsPlatforms
iPhone / iPodiPhone / iPodAndroidAndroidWindowsMobileWindowsMobileSymbian (Nokia u.a.)Symbian (Nokia u.a.)Maemo / Moblin / Meego (Nokia)Maemo / Moblin / Meego (Nokia)BlackberryBlackberryJavaMEJavaMEPalmPalm……
Oliver Lietz – Mobile Software– http://www.nanocosmos.de/lietz
Themen für KurzvorträgeThemen für Kurzvorträge
PlattformenPlattformen– iPhone / iPodiPhone / iPod– AndroidAndroid– WindowsMobileWindowsMobile– Symbian (Nokia u.a.)Symbian (Nokia u.a.)– Maemo / Moblin / Meego (Nokia)Maemo / Moblin / Meego (Nokia)– BlackberryBlackberry– JavaMEJavaME– PalmPalm
ThemenThemen– StreamingStreaming– Localisation / GPSLocalisation / GPS– Besondere FeaturesBesondere Features
Gerne auch spezielle Themen !Gerne auch spezielle Themen !
SoftwareSoftware– iPhone: Objective-C, Cocoa, iPhone: Objective-C, Cocoa,
Apps/Signing/Appstore, Apps/Signing/Appstore, Dashcode: Web-WidgetsDashcode: Web-Widgets
– Android: SDK/API, Java, CAndroid: SDK/API, Java, C– Symbian: C++, Nokia-SDKs, Symbian: C++, Nokia-SDKs,
Java2ME, Qt, ggf. PythonJava2ME, Qt, ggf. Python– Maemo/Moblin/MeegoMaemo/Moblin/Meego– WindowsMobile: .NET WindowsMobile: .NET
CompactFramework, C#, C++, CompactFramework, C#, C++, MFC, VBMFC, VB
– Flash / FlashLiteFlash / FlashLite– Apps, Appstore, Signing, Apps, Appstore, Signing,
DistributionDistribution– IDEs / KommandozeileIDEs / Kommandozeile– APIs: Flickr, Google,…APIs: Flickr, Google,…
Oliver Lietz – Mobile Software– http://www.nanocosmos.de/lietz
Arbeitsplattform identifizierenArbeitsplattform identifizieren
Welche Plattformen gibt es?Welche Plattformen gibt es?
Welche Programmiersprachen sind möglich?Welche Programmiersprachen sind möglich?
Welche Geräte sind verfügbar?Welche Geräte sind verfügbar?
Eigene Projektideen?Eigene Projektideen?
Kurzpräsentation Plattform / Technologie / ProjektKurzpräsentation Plattform / Technologie / Projekt
Oliver Lietz – Mobile Software– http://www.nanocosmos.de/lietz
Nächste SchritteNächste Schritte
Identifikation einer geeigneten EntwicklungsplattformIdentifikation einer geeigneten Entwicklungsplattform
Identifikation eines Softwareprojektes / ProduktideeIdentifikation eines Softwareprojektes / Produktidee
Softwareentwicklung und ProjektmanagementSoftwareentwicklung und Projektmanagement
Begleitende AufgabenBegleitende Aufgaben
Oliver Lietz – Mobile Software– http://www.nanocosmos.de/lietz
Aufgabe 1Aufgabe 11. Finden Sie 1-2 Mobile Anwendungen, die Sie 1. Finden Sie 1-2 Mobile Anwendungen, die Sie
persönlich besonders gut finden!persönlich besonders gut finden!
2. Welche Technologien werden in der Anwendung 2. Welche Technologien werden in der Anwendung verwendet?verwendet?
3. Fassen Sie das Ergebnis zusammen (inkl. 3. Fassen Sie das Ergebnis zusammen (inkl. Screenshot!)Screenshot!)Einstellen in Blog – Einstellen in Blog – http://bht.mobilecoders.de/wp-adminhttp://bht.mobilecoders.de/wp-admin
Oliver Lietz – Mobile Software– http://www.nanocosmos.de/lietz
Aufgabe 2: Android-HelloWorldAufgabe 2: Android-HelloWorld1. Installieren Sie die Android-Entwicklungsumgebung für Ihren 1. Installieren Sie die Android-Entwicklungsumgebung für Ihren
PC. Dokumentieren Sie die SchrittePC. Dokumentieren Sie die Schritte
Labor: Lokales LW D: ist nutzbarLabor: Lokales LW D: ist nutzbar
Netz: Dozenten-PC Netz: Dozenten-PC \\dsy25\DATA\download\\dsy25\DATA\download
a)a) eclipse-java-galileo.zip herunterladen nach D:eclipse-java-galileo.zip herunterladen nach D:
b)b) Android-SDK kopieren/installieren …Android-SDK kopieren/installieren …
3. Entwickeln Sie ein einfaches „Hello World, my Name is …“ mit 3. Entwickeln Sie ein einfaches „Hello World, my Name is …“ mit Hilfe eines Tutorials!Hilfe eines Tutorials!
Schätzen und messen Sie den Aufwand für jeden Arbeitsschritt! (z.B. 4 Schätzen und messen Sie den Aufwand für jeden Arbeitsschritt! (z.B. 4 Stunden – 6 Stunden)Stunden – 6 Stunden)
Oliver Lietz – Mobile Software– http://www.nanocosmos.de/lietz
Aufgabe 2a (weitere Plattformen)Aufgabe 2a (weitere Plattformen)1. Wählen Sie eine Plattform, auf der Sie Ihre erste 1. Wählen Sie eine Plattform, auf der Sie Ihre erste
Anwendung entwickeln möchten! (Begründung?)Anwendung entwickeln möchten! (Begründung?)
2. Installieren Sie eine Entwicklungsumgebung für 2. Installieren Sie eine Entwicklungsumgebung für Ihren PC. Dokumentieren Sie die SchritteIhren PC. Dokumentieren Sie die Schritte
3. Entwickeln Sie ein einfaches „Hello World, my Name 3. Entwickeln Sie ein einfaches „Hello World, my Name is …“ mit Hilfe eines Tutorials!is …“ mit Hilfe eines Tutorials!
Schätzen und messen Sie den Aufwand für jeden Schätzen und messen Sie den Aufwand für jeden Arbeitsschritt! (z.B. 4 Stunden – 6 Stunden)Arbeitsschritt! (z.B. 4 Stunden – 6 Stunden)
Oliver Lietz – Mobile Software– http://www.nanocosmos.de/lietz
Aufgabe 3 (Entwurf)Aufgabe 3 (Entwurf)1. Wählen Sie ein Projekt, das Sie entwickeln möchten! 1. Wählen Sie ein Projekt, das Sie entwickeln möchten!
Wählen Sie eine Plattform, auf der Sie entwickeln Wählen Sie eine Plattform, auf der Sie entwickeln möchten! möchten!
2. Schreiben Sie ein kurzes Expose über Ihr Projekt!2. Schreiben Sie ein kurzes Expose über Ihr Projekt!
Schätzen und messen Sie den Aufwand! Schätzen und messen Sie den Aufwand!