1java media framework universitÀ degli studi di napoli federico ii facolta di scienze mm.ff.nn...

24
1 Java Media Framework UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO II UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO II FACOLTA’ DI SCIENZE MM.FF.NN FACOLTA’ DI SCIENZE MM.FF.NN CORSO DI LAUREA MAGISTRALE DI INFORMATICA CORSO DI LAUREA MAGISTRALE DI INFORMATICA JAVA MEDIA FRAMEWORK JAVA MEDIA FRAMEWORK Introduzione e primi esempi Introduzione e primi esempi Davide Cutarelli Matr. 961/92 Davide Cutarelli Matr. 961/92 ANNO ACCADEMICO 2008/2009 ANNO ACCADEMICO 2008/2009

Upload: lorenzo-raimondi

Post on 01-May-2015

217 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 1Java Media Framework UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO II FACOLTA DI SCIENZE MM.FF.NN CORSO DI LAUREA MAGISTRALE DI INFORMATICA JAVA MEDIA FRAMEWORK

1Java Media Framework

UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO IIUNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO IIFACOLTA’ DI SCIENZE MM.FF.NNFACOLTA’ DI SCIENZE MM.FF.NN

CORSO DI LAUREA MAGISTRALE DI INFORMATICACORSO DI LAUREA MAGISTRALE DI INFORMATICA

JAVA MEDIA FRAMEWORKJAVA MEDIA FRAMEWORK

Introduzione e primi esempi Introduzione e primi esempi

Davide Cutarelli Matr. 961/92 Davide Cutarelli Matr. 961/92

ANNO ACCADEMICO 2008/2009ANNO ACCADEMICO 2008/2009

Page 2: 1Java Media Framework UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO II FACOLTA DI SCIENZE MM.FF.NN CORSO DI LAUREA MAGISTRALE DI INFORMATICA JAVA MEDIA FRAMEWORK

Java Media Framework 2

Introduzione al JMFIntroduzione al JMF Java Media Framework (JMF) è un API che permette di utilizzare contenuti multimediali all’interno di applicazioni e applet Java.

supporta gli standard noti come au, avi, supporta gli standard noti come au, avi, midi, mpeg, quicktime, wawmidi, mpeg, quicktime, waw

Page 3: 1Java Media Framework UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO II FACOLTA DI SCIENZE MM.FF.NN CORSO DI LAUREA MAGISTRALE DI INFORMATICA JAVA MEDIA FRAMEWORK

Java Media Framework 3

Principali package JMFPrincipali package JMF

I principali package che compongono le API JMF sono : javax.media : contiene le principali classi di JMF javax.media.control : permette di leggere e modificare parametri quali : bit rate, frame rate, lunghezza del buffer di ricezione, ecc.. javax.media.format : per la descrizione dei formati supportati

Page 4: 1Java Media Framework UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO II FACOLTA DI SCIENZE MM.FF.NN CORSO DI LAUREA MAGISTRALE DI INFORMATICA JAVA MEDIA FRAMEWORK

4Java Media Framework

Basic ModelBasic Model

Page 5: 1Java Media Framework UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO II FACOLTA DI SCIENZE MM.FF.NN CORSO DI LAUREA MAGISTRALE DI INFORMATICA JAVA MEDIA FRAMEWORK

5Java Media Framework

JMF ArchitectureJMF Architecture

Capture Capture devicedevice

Files on Files on diskdisk

Network Network inputinput

CodecsCodecs

EffectsEffects

Video RendererVideo Renderer

Save to diskSave to disk

Output to Output to networknetwork

Page 6: 1Java Media Framework UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO II FACOLTA DI SCIENZE MM.FF.NN CORSO DI LAUREA MAGISTRALE DI INFORMATICA JAVA MEDIA FRAMEWORK

6Java Media Framework

JMF Classi e interfacce : JMF Classi e interfacce : ControllerController

In JMF il processo di presentazione è modellato In JMF il processo di presentazione è modellato dall’interfaccia dall’interfaccia

ControllerController. JMF definisce due tipi di Controllers : . JMF definisce due tipi di Controllers : Player e ProcessorPlayer e Processor.

Page 7: 1Java Media Framework UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO II FACOLTA DI SCIENZE MM.FF.NN CORSO DI LAUREA MAGISTRALE DI INFORMATICA JAVA MEDIA FRAMEWORK

7Java Media Framework

JMF Classi e interfacce : JMF Classi e interfacce : Player (1)Player (1)

Un Un PlayerPlayer processa un flusso di dati in input e lo processa un flusso di dati in input e lo renderizza ad un renderizza ad un

tempo preciso. Un tempo preciso. Un DatasourceDatasource è usato per è usato per trasportare lo streamtrasportare lo stream

di input al Player.di input al Player.

Page 8: 1Java Media Framework UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO II FACOLTA DI SCIENZE MM.FF.NN CORSO DI LAUREA MAGISTRALE DI INFORMATICA JAVA MEDIA FRAMEWORK

Java Media Framework 8

JMF Classi e interfacce : JMF Classi e interfacce : Player (2)Player (2)

Page 9: 1Java Media Framework UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO II FACOLTA DI SCIENZE MM.FF.NN CORSO DI LAUREA MAGISTRALE DI INFORMATICA JAVA MEDIA FRAMEWORK

Java Media Framework 9

JMF Classi e interfacce : JMF Classi e interfacce : Player (3)Player (3)

Stato Unrealized : alla creazione, il player è in Stato Unrealized : alla creazione, il player è in questo stato il player, e non sa nulla sui mediaquesto stato il player, e non sa nulla sui media

Stato Realizing : in questo stato il player Stato Realizing : in questo stato il player acquisisce le risorseacquisisce le risorse

Stato Realized : dopo aver acquisito le risorse il Stato Realized : dopo aver acquisito le risorse il player è pronto a renderizzare i dati e può player è pronto a renderizzare i dati e può disporre di componenti visuali e controllidisporre di componenti visuali e controlli

Page 10: 1Java Media Framework UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO II FACOLTA DI SCIENZE MM.FF.NN CORSO DI LAUREA MAGISTRALE DI INFORMATICA JAVA MEDIA FRAMEWORK

Java Media Framework 10

JMF Classi e interfacce : JMF Classi e interfacce : Player (4)Player (4)

Stato Prefetching : il player carica i dati Stato Prefetching : il player carica i dati multimediali e si prepara a visualizzarlimultimediali e si prepara a visualizzarli

Stato Prefetched : il player è pronto ad essere Stato Prefetched : il player è pronto ad essere mandato in esecuzionemandato in esecuzione

Stato Started : il player inizia la visualizzazione Stato Started : il player inizia la visualizzazione del dato multimedialedel dato multimediale

Page 11: 1Java Media Framework UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO II FACOLTA DI SCIENZE MM.FF.NN CORSO DI LAUREA MAGISTRALE DI INFORMATICA JAVA MEDIA FRAMEWORK

Java Media Framework 11

JMF Classi e interfacce : JMF Classi e interfacce : Processor (1)Processor (1)

Il Il ProcessorProcessor può essere usato per la può essere usato per la presentazione dei dati. Un presentazione dei dati. Un

processore è una specializzazione di un Player processore è una specializzazione di un Player che fornisce che fornisce

controlli su come processare il flusso di dati di controlli su come processare il flusso di dati di input. input.

Page 12: 1Java Media Framework UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO II FACOLTA DI SCIENZE MM.FF.NN CORSO DI LAUREA MAGISTRALE DI INFORMATICA JAVA MEDIA FRAMEWORK

Java Media Framework 12

JMF Classi e interfacce : JMF Classi e interfacce : Processor (2)Processor (2)

Il Il ProcessorProcessor estende l’interfaccia Player : A estende l’interfaccia Player : A differenza di un differenza di un

Player può spedire i dati di output a un Player può spedire i dati di output a un dispositivo di dispositivo di

presentazione oppure ad un DataSource. presentazione oppure ad un DataSource.

Page 13: 1Java Media Framework UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO II FACOLTA DI SCIENZE MM.FF.NN CORSO DI LAUREA MAGISTRALE DI INFORMATICA JAVA MEDIA FRAMEWORK

Java Media Framework 13

JMF Classi e interfacce : JMF Classi e interfacce : Processor (3)Processor (3)

Rispetto al Player, il Rispetto al Player, il ProcessorProcessor ha due stati in più ha due stati in più : Configuring e : Configuring e

Configured. Configured.

Page 14: 1Java Media Framework UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO II FACOLTA DI SCIENZE MM.FF.NN CORSO DI LAUREA MAGISTRALE DI INFORMATICA JAVA MEDIA FRAMEWORK

14Java Media Framework

JMF Classi e interfacce : JMF Classi e interfacce : ManagerManager

La classe Manager contiene metodi per la creazione di oggetti Player

e Processor, in grado di riprodurre oggetti multimediali

Page 15: 1Java Media Framework UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO II FACOLTA DI SCIENZE MM.FF.NN CORSO DI LAUREA MAGISTRALE DI INFORMATICA JAVA MEDIA FRAMEWORK

15Java Media Framework

JMF Classi e interfacce : JMF Classi e interfacce : ControlControl

L’interfaccia Control fornisce un

meccanismo per settare e interrogare

attributi di un oggetto

Page 16: 1Java Media Framework UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO II FACOLTA DI SCIENZE MM.FF.NN CORSO DI LAUREA MAGISTRALE DI INFORMATICA JAVA MEDIA FRAMEWORK

16Java Media Framework

JMF Esempio : Creazione JMF Esempio : Creazione DataSourceDataSource

Per gestire il trasferimento dei dati multimediali Per gestire il trasferimento dei dati multimediali da input a output da input a output

si utilizza un DataSource, che incapsula sia la si utilizza un DataSource, che incapsula sia la location per del location per del

video, sia il protocollo per accedere ad esso. La video, sia il protocollo per accedere ad esso. La location è location è

ottenuta mediante :ottenuta mediante :

MediaLocatorMediaLocator

URLURL

Page 17: 1Java Media Framework UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO II FACOLTA DI SCIENZE MM.FF.NN CORSO DI LAUREA MAGISTRALE DI INFORMATICA JAVA MEDIA FRAMEWORK

17Java Media Framework

JMF Esempio : Creazione JMF Esempio : Creazione PlayerPlayer

Per creare il Player si utilizza il metodo Per creare il Player si utilizza il metodo createPlayercreatePlayer della classe della classe

Manager. Manager.

Il player transita nello stato realizing acquisendo le risorse per poi Il player transita nello stato realizing acquisendo le risorse per poi passare nello stato Realized, nel passare nello stato Realized, nel

quale sa come renderizzare i dati e può disporre di componenti visuali e quale sa come renderizzare i dati e può disporre di componenti visuali e

controllicontrolli

Page 18: 1Java Media Framework UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO II FACOLTA DI SCIENZE MM.FF.NN CORSO DI LAUREA MAGISTRALE DI INFORMATICA JAVA MEDIA FRAMEWORK

18Java Media Framework

JMF Esempio : Durata e JMF Esempio : Durata e numero di frame del video numero di frame del video

(1)(1) javax.media.control.FramePositioningControl: javax.media.control.FramePositioningControl:

interfaccia per a controllare il posizionamento di interfaccia per a controllare il posizionamento di un frame all'interno di un video, per i Player e i un frame all'interno di un video, per i Player e i Processor. C'è una corrispondenza diretta tra il Processor. C'è una corrispondenza diretta tra il numero identificativo di un frame e l'istante di numero identificativo di un frame e l'istante di tempo in cui esso viene visualizzato (media tempo in cui esso viene visualizzato (media time).time).

javax.media.control.FrameGrabbingControl: javax.media.control.FrameGrabbingControl: interfaccia per estarre un frame di un video da interfaccia per estarre un frame di un video da

un Playerun Player

Page 19: 1Java Media Framework UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO II FACOLTA DI SCIENZE MM.FF.NN CORSO DI LAUREA MAGISTRALE DI INFORMATICA JAVA MEDIA FRAMEWORK

19Java Media Framework

JMF Esempio : Durata e JMF Esempio : Durata e numero di frame del video numero di frame del video

(2)(2)

Page 20: 1Java Media Framework UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO II FACOLTA DI SCIENZE MM.FF.NN CORSO DI LAUREA MAGISTRALE DI INFORMATICA JAVA MEDIA FRAMEWORK

20Java Media Framework

JMF Esempio : JMF Esempio : Posizionamento su un Posizionamento su un

determinato framedeterminato frame

Posizionamento al frame 30 del videoPosizionamento al frame 30 del videoOttengo l’id del frame correnteOttengo l’id del frame correnteTempo relativo al posizionamento sul Tempo relativo al posizionamento sul frame desideratoframe desiderato

Page 21: 1Java Media Framework UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO II FACOLTA DI SCIENZE MM.FF.NN CORSO DI LAUREA MAGISTRALE DI INFORMATICA JAVA MEDIA FRAMEWORK

21Java Media Framework

JMF Esempio : PlayerApplet JMF Esempio : PlayerApplet (1)(1)

Page 22: 1Java Media Framework UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO II FACOLTA DI SCIENZE MM.FF.NN CORSO DI LAUREA MAGISTRALE DI INFORMATICA JAVA MEDIA FRAMEWORK

22Java Media Framework

JMF Esempio : PlayerApplet JMF Esempio : PlayerApplet (2)(2)

Page 23: 1Java Media Framework UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO II FACOLTA DI SCIENZE MM.FF.NN CORSO DI LAUREA MAGISTRALE DI INFORMATICA JAVA MEDIA FRAMEWORK

23Java Media Framework

JMF Esempio : PlayerApplet JMF Esempio : PlayerApplet (3)(3)

Page 24: 1Java Media Framework UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO II FACOLTA DI SCIENZE MM.FF.NN CORSO DI LAUREA MAGISTRALE DI INFORMATICA JAVA MEDIA FRAMEWORK

24Java Media Framework

JMF RiferimentiJMF Riferimenti

Java Media Framework API Guide, November Java Media Framework API Guide, November 19, 1999, JMF 2.0 FCS19, 1999, JMF 2.0 FCS

Java Media Framework Basics, Java Media Framework Basics, ibm.com/developerWorksibm.com/developerWorks

http://java.sun.com/javase/technologies/desktop/media/jmf/

http://www.mokabyte.it