Live Video in World Wind


Published on

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

Published in: Education, Business, Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Live Video in World Wind

  1. 1. LIVE VIDEO IN WORLD WIND Developed by Jovan Stevovic Principles Of Computer Graphics 2008 / 2009
  2. 2. The project: <ul><li>The goal of the project is to show videos from different sources like webcams or local videos on the Nasa World Wind. </li></ul><ul><li>The actual Java SDK provides a lot of features for drawing and managing objects, images, icons, annotations, etc. </li></ul><ul><li>But, there are not features for displaying videos or images that can changes their aspect during the time. </li></ul>
  3. 3. Architecture <ul><li>The WWJ architecture: </li></ul><ul><li>Layer </li></ul><ul><li>Renderable </li></ul><ul><li>Data source </li></ul><ul><li>Proposed architecture: </li></ul><ul><li>VideoLayer </li></ul><ul><li>DynamicSurfaceImage </li></ul><ul><li>VideoSource </li></ul>
  4. 4. Class diagram
  5. 5. Efficiency trade-off <ul><li>VideoLayer performs these tasks: </li></ul><ul><li>Init all objects </li></ul><ul><li>Start updating Thread </li></ul><ul><li>At each cycle </li></ul><ul><ul><li>Get the current frame from the source </li></ul></ul><ul><ul><li>Update the Renderable with the obtained image </li></ul></ul><ul><ul><li>Get the new time to sleep </li></ul></ul><ul><ul><li>Sleep </li></ul></ul><ul><li>PROBLEMS: </li></ul><ul><li>Managing Video Sources expensive (Threads, images transform) </li></ul><ul><li>Updating Renderable’s texture expensive </li></ul>
  6. 6. Quality of images <ul><li>The quality of images can be very high. </li></ul><ul><li>During the navigation we can view them from a very close point to a very far one. </li></ul><ul><li>We don’t need the same quality. </li></ul><ul><li>Reducing quality improve efficiency. </li></ul>
  7. 7. Time to render As we can see, decreasing image dimensions the rendering time decrease proportionally.
  8. 8. Images not in the View <ul><li>Managing videos is expensive. </li></ul><ul><li>Reducing at maximum the number of simultaneously played videos increase performances. </li></ul><ul><li>Checking which images are in the view permits to pause videos that are not visible. </li></ul>
  9. 9. Sloped images <ul><li>During the navigation user has some videos in the view but is not interested in them. </li></ul><ul><li>How we can check this? </li></ul><ul><li>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. </li></ul>
  10. 10. Images not visible <ul><li>In cities or mountains landscapes images can be hidden behind some objects. </li></ul><ul><li>Using RayCasting functions we can detect if there is something in the middle that hides the image and then pause the playing. </li></ul>
  11. 11. GUI <ul><li>List of webcam types. Clicking on them will be shown the list of available cams. </li></ul><ul><li>Add country and add webcam buttons </li></ul><ul><li>Search form </li></ul><ul><li>Results list </li></ul>
  12. 12. GUI cont. <ul><li>Insertion of a new webcam. </li></ul><ul><li>Pick Webcam Angles button permits to capture the webcam position (yellow rectangle in the figure). </li></ul><ul><li>The form on the left contains other meta-information. </li></ul>
  13. 13. Webcam menu <ul><li>Info button shows the annotation containing meta-information </li></ul><ul><li>Settings button shows the setting menu (next slide) </li></ul><ul><li>Play/Pause button pause or restart the video </li></ul><ul><li>Cancel button permits to delete the webcam temporally or from memory. </li></ul><ul><li>Zoom in/ Zoom out buttons permits to increase or decrease the image quality </li></ul>
  14. 14. Webcam manager <ul><li>Angle buttons permits to drag and drop a corner of an image </li></ul><ul><li>Middle buttons permits to drag and drop a side of the image </li></ul><ul><li>Save button save the changes on memory </li></ul><ul><li>Discard button restore the previous position </li></ul><ul><li>There is activated also the BasicDragger that permits to move the image. </li></ul>
  15. 15. Webcam structure A webcam is represented by the XML structure in the figure. There are information about position and URL and meta-information.
  16. 16. Directories Webcams are divided into folders representing continents and countries.
  17. 17. Supported webcams <ul><li>Supported webcams: </li></ul><ul><li>Axis205 </li></ul><ul><li>Axis206M </li></ul><ul><li>Axis207 </li></ul><ul><li>Axis207M </li></ul><ul><li>Axis207MW </li></ul><ul><li>Axis2100 </li></ul><ul><li>Axis2120 </li></ul><ul><li>Axis2130 </li></ul><ul><li>Google provides a way to search pages with some substring of theURL, so we can search for example: </li></ul><ul><li>inurl: axis-cgi/mjpg/video.cgi </li></ul><ul><li>intitle:Live view - / - AXIS </li></ul><ul><li>inurl:axis-cgi/jpg </li></ul><ul><li>inurl:view/indexFrame.shtml </li></ul><ul><li>inurl:view/view.shtml </li></ul><ul><li>inurl:view/index.shtml </li></ul><ul><li>Websites that provides lists and webcam categories: </li></ul><ul><li> </li></ul><ul><li> </li></ul><ul><li> </li></ul><ul><li> </li></ul>
  18. 18. Conclusions <ul><li>Managing Players expensive </li></ul><ul><li>Reloading texture expensive </li></ul><ul><li>No possibility for reloading at each frame </li></ul><ul><li>Statistics class updates dynamically the time to sleep </li></ul><ul><li>CPU time spent for managing images. No possibility for GPU processing. </li></ul><ul><li>WWJ images quality low. Need more quality (at least like Google Earth) for better results. </li></ul>
  19. 19. Future Works <ul><li>Automatic geocoding of webcams </li></ul><ul><li>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) </li></ul><ul><li>Some Web Service can be added to the application to improve the adding process. </li></ul><ul><ul><li>IP to location service (sometimes we have only the IP of the webcam) </li></ul></ul><ul><ul><li>Place name to LatLon position (faster finding of the location on WWJ) </li></ul></ul>
  20. 20. Some examples Seebruke Selling, Germany A bridge in Newcastle, UK
  21. 21. Some examples Stutgart City airport