Capturarea de imagini de la o camera web folosind Java Media Framework Pentru a folosi un anumit dispozitiv media, primul lucru

de care este nevoie este numele cu care JMF API se refera la acesta. Pentru aflarea acestuia se porneste aplicatia JMStudio, care este parte din pachetul cu care vine JMF API. Odata ce aplicatia ruleaza, se selecteaza Capture Devices din meniu. Astfel vor fi prezentate optiunile pentru configurarea dispozitivelor video si audio. Pe o platforma Microsoft Window, un nume tipic pentru o camera web ar fi: vfw:Creative WebCam NX Pro (VFW):0 . În acest mod se pot afla mai multe informatii despre dispozitiv:

Majoritatea camerelor web suporta un numar de formate diferite, rezolutia, adâncimea culorii si numarul de frame-uri pe secunda pot fi modificate. Formatele suportate de un anumit dispozitiv pot fi determinate folosind metoda getFormats din clasa CaptureDeviceInfo. Din aceasta lista pot fi selectate formatele apropiate. Pentru a obtine o imagine de la o camera web, este necesar un obiect JMF PushBufferStream. Pentru acesta, este necesar un obiect MediaLocator, care descrie locatia continutului media.. Pasul urmator este crearea unei DataSource folosind metoda createDataSource din clasa Manager. Clasa Manager este un punct general de acces oferit de JMF pentru obtinerea resurselor dependente de sistem. JMF API permite folosirea DataSource pentru a afisa informatia media sau pentru a o schimba (folosind un procesor). Pentru a crea un obiect procesor se foloseste clasa Manager, si se transmite ca argument DataSource. Pentru a folosi acest procesor, trebuie sa fie in stare de realizat. În momentul în care procesorul este gata, se poate accesa PushBufferDataSource care poate oferi un PushBufferStream. PushBufferDataSource este o forma speciala de DataSource, care se ocupa cu datele în forma de push stream-uri care trec in obiecte buffer. PushBufferStream-ul ofera o modalitate de accesare a buffere-lor care

trec prin stream, în acest caz, fiecare buffer reprezinta un frame de la camera web. În final se obtine un PushBufferStream (camStream) din care se pot citi obiecte Buffer care reprezinta frame-uri de la camera web. Se creeaza un obiect BufferToImage care permite convertirea acestor buffere în imagini AWT, care pot fi manipulate sau afisate.

Sign up to vote on this title
UsefulNot useful