One of the more enjoyable things I like to do besides tinkering with electronics, computers, or programming is trail riding with my mountain bike. The trail system here in Seattle and King County is extensive and I still haven’t seen it all, even after many years of riding.
One of the things that I had started doing early on was capturing the scenery with an action camera. My first camera was a modest 480p bullet camera that doubled as a flashlight. I purchased it from remote control airplane site for $80. The video quality was poor and the audio was worse. Since then I’ve used 720p and now 1080p cameras that are lower in cost and much higher in quality. My earlier posts have some of the material from these cameras.
I’ve modified the earlier cameras with wide angle lenses to capture more of the scene. The more recent cameras already come stock with wide angle lenses, around 120 degrees. Even so, I still would like to capture more of the scenery.
A few months ago I stumbled on a 360 degree lens for the iPhone, called Kogeto. It was less than $20 on amazon, so I decided to buy it. The maker of the lens makes an app that dewarps the image into an interactive panable video. One thing I didn’t like was that it wasn’t editable video. Also, it used a proprietary cloud service to host the video, another downside. I had seen other innovators, like Scene and their 3D imaging technology, get gobbled up by bigger players only to see my content disappear, thanks Snapchat!
Fast forward to more recently. A few weeks ago I saw a video (https://www.youtube.com/watch?v=KSRaU9MHVVg) from Tinkernut about 360 degree video using a raspberry pi on board camera. Turns out he uses the Kogeto lens and processed his video with SimpleCV to dewarp it, http://www.tinkernut.com/portfolio/make-cheap-360-video-camera-raspberry-pi/. Once that was done, he then uploaded it to Youtube. However, there was a process he used called Metadata Injection.
Youtube, aka Google, has provided some guidelines on uploading pannable 360 degree video. The video has to have some data in the video that defines the 360 degree environment. To enable virgin video to be used as panable video on youtube, metadata is injected into the video to create a new submittable video file. Youtube provides these steps with this site, https://support.google.com/youtube/answer/6178631?hl=en
I stepped through the injection of a video I had shot a few months ago. One thing that I found curious was the lack of “what is it doing”. It appeared that something happend, it said it was successful. Metadata was now injected into the video. I was able to view the new video file, just like the old one. But I had no idea what was really done, enter ExifTool.
ExifTool – Metadata Translation
ExifTool is a metadata reader / editor. It lets you view the metadata in multimedia files in plain text. The program and much of its information can be found here, http://owl.phy.queensu.ca/~phil/exiftool/. Phil Harvey puts it in perspective on the philosophy behind ExifTool. He writes, “You have the right to know about the metadata contained in your images. A main goal of the Exiftool project is to make this information freely available, both to the general public and as a resource for other developers.” I happen to agree. iPhone metadata about GPS location was an early concern for iPhone users, http://www.nytimes.com/2010/08/12/technology/personaltech/12basics.html?_r=0
Back to the Metadata on my injected video. So I downloaded the ExifTool and ran it against my injected video.
exiftool -h IMG_1951_injected.mov
The results popped up on the screen instantly. There were some other odds and ends about the video file like size, length, dimensions, etc. But it was the stitching software tag that interested me. It made a reference to a tag called “Stitching Software” that was defined as “Spherical Metadata Tool”. A quick search online brought me to a GitHub page that was recently updated, https://github.com/google/spatial-media/pull/41/commits/1682ed7972397f60e6f85e51ad322af594cb8ad8. It is titled “Updated Spherical Metadata Injection tool GUI”. The original injection routine uses Python to inject metadata into a new video file. This post appears to be continuation of that approach. The GitHub site catagorizes the technology as Spacial Media.
Again, back to ExifTool. I then decided to run the tool against my original file.
exiftool -h IMG_1951.mov
To my surprise there was metadata, however it lacked the spacial details contained in my process video file. Clearly there is a lot to learn about metadata and the ExifTool. Fortunately there is plenty of reading material on Phil’s website. For those of you that prefer videos on the subject, you’re in luck. You can find online tutorials here, AVPreserve Exiftool Tutorial Part 1 – https://www.youtube.com/channel/UC7tPZmhbgjIWEzNCLkdRo8g
I’ll cover the process of uploading metadata injected video to Youtube in another post. For now, just find comfort in knowing a picture is a thousand words.