Java Media Framework API

Werbung
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

Bearbeiten/Processing zeitbasierter Medien

Aufnehmen/Capturing zeitbasierter Medien
Echtzeitfunktionalität des JMF API

Aufbau und Einordnung des RTP

Senden von Streaming-Media

Empfangen von Streaming-Media
Anwendungen
Java Media Framework API
Architektur des JMF API

Datei lesen, Aufnahmequelle, Netzwerk

Konvertierung, De- Kompression, Effekte, Filter

Datei schreiben, Bildschirm, Netzwerk
Abbildung aus JMF API Guide von sun
Java Media Framework API
Wiedergabe zeitbasierter Medien

Klasse Player


Events entsprechend Status des Players


player = Manager.createPlayer(p), .createRealizedPlayer(p)
Wichtig: RealizeCompleteEvent
Kontroll- und Stueerelemente

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
Bearbeiten zeitbasierter Medien

Klasse Processor


Alle Tracks einer Datei


proc.getTrackContols()
Format, Kodierung und Darstellung festlegen


proc = Manager.createProcessor(p)
tc.setFormat(f), tc.setCodecChain(c), tc.setRenderer(r)
Dateiformat bestimmen

proc.setContentDescriptor(contenDescriptor)

Unterklasse von ContentDescriptor ist FileTypeDescriptor
Java Media Framework API
Aufnahme zeitbasierter Medien

Klasse CaptureDeviceInfo



CaptureDeviceManager.getDevice(„deviceName“)
Processor erzeugen

mit ProcessorModel und Manager.createdRealizedProcessor(pm)

mit dynamischen Einstellungen und Manager.createProcessor(p)
Datei schreiben

Datenquelle erzeugen op = processor.getDataOutput()

Zieldatei angeben ml = new MediaLoacator(„file://demo.wav“)

Datensenke kreieren Manager.createDataSink(op, ml)
Echtzeitfunktionalität des JMF API
Aufbau und Einordnung des RTP

Real-Time Transport Protocol

Echtzeitfunktionalität – Performance statt
Zuverlässigkeit

Setzt meist auf UDP auf
Real-Time Media Framework and Applications
Real-Time Control Protocol (RTCP)
Real-Time Transport Protocol (RTP)
Other Network Transport
Protocols
(TCP, ATM, ST-II, etc)
UDP
Internet Protocol (IP)
Abbildung aus JMF API Guide von sun
Echtzeitfunktionalität des JMF API
Senden von Streaming-Media
Videodatei
Ton
TrackControl[]
getTrackControls()
tcBild
tcTon
Bild
setFormat()
setEnabled(true)
tcBild
tcTon
x=1
tcBild
tcBild
realize()
tcTon
createSendStream(output, x)
Single RTPStream
x=0
tcTon
tcBild
Processor
Mixed RTPStream
Herunterladen