Live Video in World Wind

92,470 views
92,245 views

Published on

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

Published in: Education, Business, Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
92,470
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
12
Comments
0
Likes
1
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>http://www.camhacker.com/ </li></ul><ul><li>http://www.123cam.com/category-webcam-Axis.html </li></ul><ul><li>http://www.ttrix.com/ipvisionpubcameras.html </li></ul><ul><li>http://www.snow-cams.com/ </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

×