Live Video in World Wind

Post on 11-May-2015

89253 Views

Category:

Education

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

The goal of the project is to show videos from different sources like webcams or local video on the Nasa WorldWind.

Transcript

LIVE VIDEO IN WORLD WINDLIVE VIDEO IN WORLD WIND

Developed byJovan Stevovic

Principles Of Computer GraphicsPrinciples Of Computer Graphics2008 / 2009

The project:The goal of the project is to show videos

from different sources like webcams or local videos on the Nasa World Wind.

The actual Java SDK provides a lot of features for drawing and managing

objects, images, icons, annotations, etc.

But, there are not features for displaying videos or images that can changes their

aspect during the time.

ArchitectureThe WWJ architecture:LayerRenderableData source

Proposed architecture:VideoLayerDynamicSurfaceImageVideoSource

Class diagram

Efficiency trade-offVideoLayer performs these tasks:

Init all objectsStart updating ThreadAt each cycle

•Get the current frame from the source•Update the Renderable with the obtained image•Get the new time to sleep •Sleep

PROBLEMS:Managing Video Sources expensive (Threads, images transform)Updating Renderable’s texture expensive

Quality of imagesThe quality of images can be very high.During the navigation we can view them from a very close

point to a very far one.We don’t need the same quality.Reducing quality improve efficiency.

Time to renderAs we can see, decreasing image dimensions the rendering time decrease proportionally.

Images not in the ViewManaging videos is expensive.Reducing at maximum the number of simultaneously played

videos increase performances.Checking which images are in the view permits to pause

videos that are not visible.

Sloped imagesDuring the navigation user has some videos in the view but

is not interested in them.How we can check this? If images are so sloped in respect to the view eye, we can

suppose that the user is not interested in that image so we can pause the execution.

Images not visible In cities or mountains landscapes images can be hidden

behind some objects.Using RayCasting functions we can detect if there is

something in the middle that hides the image and then pause the playing.

GUI

1. List of webcam types. Clicking on them will be shown the list of available cams.

2. Add country and add webcam buttons3. Search form4. Results list

GUI cont.

• Insertion of a new webcam.• Pick Webcam Angles button permits to capture the webcam

position (yellow rectangle in the figure).• The form on the left contains other meta-information.

Webcam menu

Info button shows the annotation containing meta-information

Settings button shows the setting menu (next slide)Play/Pause button pause or restart the videoCancel button permits to delete the webcam temporally or

from memory.Zoom in/ Zoom out buttons permits to increase or decrease

the image quality

Webcam manager

Angle buttons permits to drag and drop a corner of an imageMiddle buttons permits to drag and drop a side of the imageSave button save the changes on memoryDiscard button restore the previous positionThere is activated also the BasicDragger that permits to

move the image.

Webcam structureA webcam is represented by the XML structure in the figure. There are information about position and URL and meta-information.

Directories

Webcams are divided into folders representing continents and countries.

Supported webcamsSupported webcams: Axis205 Axis206M Axis207 Axis207M Axis207MW Axis2100 Axis2120 Axis2130

Google provides a way to search pages with some substring of theURL, so we can search for example:inurl: axis-cgi/mjpg/video.cgiintitle:Live view - / - AXISinurl:axis-cgi/jpginurl:view/indexFrame.shtmlinurl:view/view.shtmlinurl:view/index.shtml

Websites that provides lists and webcam categories:

http://www.camhacker.com/ http://www.123cam.com/category-webcam-Axis.html http://www.ttrix.com/ipvisionpubcameras.html http://www.snow-cams.com/

ConclusionsManaging Players expensive

Reloading texture expensive

No possibility for reloading at each frame

Statistics class updates dynamically the time to sleep

CPU time spent for managing images. No possibility for GPU processing.

WWJ images quality low. Need more quality (at least like Google Earth) for better results.

Future WorksAutomatic geocoding of webcams

Capture other video sources of other types of webcams (the majority of webcams are represented by some URL of some image that is reloaded periodically server side)

Some Web Service can be added to the application to improve the adding process.

IP to location service (sometimes we have only the IP of the webcam)

Place name to LatLon position (faster finding of the location on WWJ)

Some examplesSeebruke Selling, Germany

A bridge in Newcastle, UK

Some examplesStutgart City airport

top related