SWAPUGC: Software for Adaptive Playback of Geotagged User-Generated Content
About
SWAPUGC is a browser-based platform for bulding applications that use accompanying geospatial data to dynamically select streams for watching a spatiotemporal reference point from multiple User-Generated Content (UGC) videos. The platform takes as input video files and their accompanying recorded Orientation and Location traces and utilizes them for multi-view spatial-aware playback.
We also described SWAPUGC in a paper entitled “SWAPUGC: Software for Adaptive Playback of Geotagged UGC”, presented at the 9th ACM Multimedia Systems Conference (MMSys ‘18).
DOI: 10.1145/3204949.3208142.
So… What is SWAPUGC
- An adaptation engine front-end. First and foremost, SWAPUGC can be modified to test adaptation policies, either to geospatial, temporal, video or system critera. This is why it comes with an MPD parser (for multiple video qualities descriptions), and Geospatial data parser.
- A multiview player. SWAPUGC comes with a player implemented (with MPEG-DASH support) for demo applications.
- A geospatial events engine. Triggers for orientation / location updates are part of the afforementioned player.
Then… What isn’t SWAPUGC
- It is not a UGC recorder; for that we use the Spatiotemporal Video Navigarion Recorder, or public datasets like ICoSOLE (for which we also include a parser in the repository!)
- It is not a synchronization engine; even though SWAPUGC enforces synchronous playback, it assumes that the timing information provided with the recordings to be correct. If it is missing, you can use synchronization techniques (like audio landmark detection), prior to loading your content to SWAPUGC.
- It is not an encoder/packager; the video files should already be encoded and segmented. Our recommendation is to use ffmpeg for encoding and MP4Box (of GPAC) for segmenting.
But… Why SWAPUGC
Because there are not any other tools with similar features currently out. There are tools for navigating in time or space betwwen multiple Geotagged videos with spatiotemporal annotation, or tools for adaptive HTTP video streaming (like dash.js). But nothing that combines these functionalities, or being modular enough to be patched to accomodate them.
And… How did it start
The original idea came from the client application of “Extended Video Streams for Spatiotemporal Video Navigation”, presented at The Graphical Web 2016 (slides & video), part of the project “Streaming And Presentation Architectures for Extended Video Streams” (short-paper) showcased at the TVX ‘17. This web application allowed for users to navigate on a map according to the currently displayed frame, or seek in video according to the location. However, there was no concept of common timeline between different recordings, neither live streaming capabilities, nor support for adaptation policies. But, adding those feature would repurpose the platform, thus instead of extending it, we built upon it and SWAPUGC was born.
Who is behind it
SWAPUGC was developed at the Multimedia group of Telecom ParisTech engineering school. It was designed and currently maintained by Emmanouil Potetsianakis (gh: @emmanouil) and Jean Le Feuvre (gh: @jeanlf).