View Single Post
  #6   Spotlight this post!  
Unread 18-01-2014, 13:03
sparkytwd's Avatar
sparkytwd sparkytwd is offline
Registered User
FRC #3574
Team Role: Mentor
 
Join Date: Feb 2012
Rookie Year: 2012
Location: Seattle
Posts: 101
sparkytwd will become famous soon enough
Re: Announcing ocupus, a toolkit for working with onboard vision processors

Quote:
Originally Posted by Greg McKaskle View Post
The more modern Axis cameras support better compression standards, but the licensing of the codecs is potentially an issue on a FIRST team. Also, the benefit of the newer codecs goes down as the robot starts to move and virtually no content from frame to frame is the same.
ocupus uses VP8 as its codec, which is available under a BSD license and as such free for anyone to use.

As for frame-to-frame variance, at 30fps, there is usually enough interframe redundancy to still beat mjpeg pretty handily. You can tell this by looking at the relative size of the P-frames in the encoded stream.

One of the most useful things chrome has for me while testing this is at chrome://webrtc-internals which provides bandwidth graphs. Here's one that resulted from me quickly moving the camera from looking at my .. ahem .. "visually noisy" desk and the view outside my window:



Quote:
Originally Posted by Greg McKaskle View Post
There were teams who used H.264 on the field last year streaming to a browser. Of course, the one I dealt with determined their camera bandwidth with a stationary robot. They severely underestimated, and made the FTA very nervous in their matches.

The high variability of the encoding versus the predictability of MJPEG was also a consideration.

Greg McKaskle
I can see that being an issue, and until ocupus gets more real world testing and performance characterization, teams should stick to existing size suggestions as well as having a very large safety margin. For 3574, we'll be using no more than 2mbps.