Upload
laasya
View
103
Download
0
Embed Size (px)
DESCRIPTION
Java Media Framework API. Theoretischer Hintergrund und Anwendungen von Daniel Birk. Themenübersicht. Java Media Framework (JMF) API Architektur des JMF API Wiedergabe/Presentation zeitbasierter Medien Bearbeitung/Processing zeitbasierter Medien Aufnahme/Capturing zeitbasierter Medien - PowerPoint PPT Presentation
Citation preview
Themenübersicht Java Media Framework (JMF) API
Architektur des JMF API
Wiedergabe/Presentation zeitbasierter Medien
Bearbeitung/Processing zeitbasierter Medien
Aufnahme/Capturing zeitbasierter Medien
Echtzeitfunktionalität des JMF API Aufbau und Einordnung des Real-Time Transport Protocol (RTP)
Senden von Streaming-Media
Empfangen von Streaming-Media
Anwendungen
Architektur des JMF API Daten importieren, ver- bearbeiten, exportieren
Zeit-, Event- und Datenmodell
3 Manager Klassen
Abbildung aus JMF API Guide von sun
Java Media Framework API
Wiedergabe zeitbasierter Medien Klasse Player
player = Manager.createPlayer(p), .createRealizedPlayer(p)
Events entsprechend Status des Players Wichtig: RealizeCompleteEvent
Kontroll- und Steuerelemente Control[] controls = player.getControls();
Steuereinheit
Visuelle Komponente
Lautstärkeregler
Dateiinformation
Java Media Framework API
Konfigurationsphasen von
Player und Processor
Abbildung aus JMF API Guide von sun
Java Media Framework API
Bearbeitung zeitbasierter Medien Klasse Processor
proc = Manager.createProcessor(p)
Alle Tracks einer Datei TrackControl[] tc = proc.getTrackControls()
Format, Kodierung und Darstellung festlegen tc[1].setFormat(f), .setCodecChain(c), .setRenderer(r)
Dateiformat bestimmen proc.setContentDescriptor(contenDescriptor)
Unterklasse von ContentDescriptor ist FileTypeDescriptor
Java Media Framework API
Aufnahme zeitbasierter Medien Klasse CaptureDeviceInfo
cdi = CaptureDeviceManager.getDevice(„deviceName“);
Processor erzeugen mit dynamischen Einstellungen und Manager.createProcessor(p)
proc.setSource(cdi_source);
proc.setContentDescriptor(contentDesc);
proc.realize();
Datei schreiben Datenquelle erzeugen op = processor.getDataOutput()
Zieldatei angeben ml = new MediaLoacator(„file://demo.wav“)
Datensenke kreieren Manager.createDataSink(op, ml)
Java Media Framework API
Aufbau und Einordnung des RTP Real-Time Transport Protocol (RTP)
Ende-zu-Ende Verbindung
Übertragung in Echtzeit
setzt meist auf UDP auf
Real-Time Control Protocol (RTCP) Identifizierung u. Überwachung der Datenströme
Quality-of-Service Funktionalität
Internet Protocol (IP)
UDP
Real-Time Transport Protocol (RTP)
Real-Time Control Protocol (RTCP)
Other Network Transport Protocols(TCP, ATM, ST-II, etc)
Real-Time Media Framework and Applications
Echtzeitfunktionalität des JMF API
Abbildung aus JMF API Guide von sun
Senden von Streaming-Media Übertragung mittels Processor und Sitzungen
DataSource, die zu übertragende Datei; Manager.createDataSource(url)
MediaLocator spezifiziert Empfänger rtp://192.168.0.1:49150/audio
DataSink, Repräsentator des Empfängers, Übertragung
Processor mit ProcessorModel nur erster erkannter Stream einer Datei kann übertragen werden
Manager.createRealizedProcessor(ProcessorModel pm)
Processor mit SessionManager Übertragung mehrerer Streams
sm.createSendStream(output, x); x: index des Streams oder mixed
Echtzeitfunktionalität des JMF API
Senden von Streaming-Media
Videodatei
Bild
Ton
TrackControl[]
tcBildtcBild
tcTontcTon
getTrackControls() setFormat()
setEnabled(true)
Echtzeitfunktionalität des JMF API
Processor
tcBildtcBild
tcTontcTon
Mixed RTPStream
tcBildtcBild
createSendStream(output, x)
x=0
x=1
tcBildtcBild
tcTontcTon
tcBildtcBild
tcTontcTon
realize() Single RTPStream
Empfangen von Streaming-Media Wiedergabe eines Streams
MediaLocator, analog zum Sender, rtp://192.168.0.1:49150/audio
Erzeugen des Players, Manager.createRealizedPlayer(ml)
Wiedergabe aller Streams mittels SessionManager
NewReceiveStreamEvent bei jedem eingehenden Stream
Erzeugen eines Players bei jedem Event
Echtzeitfunktionalität des JMF API
Abbildung aus JMF API Guide von sun
Anwendungen
Java Media Framework Abspielen von Audio und Video
Konvertierung/Kompression
Aufnahme von WAVE mit Mikrophon