Video Editor



Video editor is a small utility I wrote in C++ / Qt 3.3 to edit and save pictures from raw YUV streams captured from the cameras of the robots from CAMBADA. It is still a test version but it works quite well. It was written because there was no tool, back in 2005, that could manipulate raw YUV video files.


Design and Implementation

The idea behind this application was to create a tool capable of open multiple video files, crop them and export to several formats.

The cameras used back then provided video in YV12, YUV420, YUV411, YUV422 and RGB depending on the resolution and framerate. Sometimes it was useful to have a big image and other times a small video with high framerate and some means to manipulate them easily. It was also useful to convert between formats and save some pictures from a movie in jpg or png.

So the first thing decided was to create an internal format capable of being converted to any of the formats used and YUV444 was selected.
Codecs for YUV420, YUV411 and YUV422 were created that exported data in YUV444 for the application to manipulate and show and received data in YUV444 to export to their native formats.
Convertion of pictures to jpg and png is provided by QT::QImage class.
To display the image on screen first it needs to be converted from YUV444  to RGB, because Qt works with RGB on screen. This is done with a lookup table to reduce the time for the convertion. Infortunately it requires 64MBytes of RAM but provides 3 times more speed than always converting via the equations! (tested on a G3 750FX PowerPC @ 700MHz)



The software runs in linux and requires Qt 3.3 to compile. See below for the files.



These are some screen shots of the application in action at the Cambada MSL soccer field of the University of Aveiro. On the left we can see two videos made by an application that detects robots from their top markers and on the right the About box. While playing a video it is possible to rewind, play, stop, fast forward, select a position and set the crop markers for the begining and end positions.






  1. CAMBADA Home - The CAMBADA MSL Team from the University of Aveiro
  2. YUV Colorspace - Lots of information about YUV and convertion to other formats
  3. Trolltech - QT Homepage



Published on Monday 2007/09/03, last modified on Monday 2013/04/29