Vooya YUV/RGB Player - Usage Guide
Drag & Drop is supported, or use CTRL-O to open a file. Unless you have to specify the format due to improper file naming, hit Space to start playback (You should need to enter the format once only - it will be remembered).
Common shortcuts like LEFT, RIGHT, PageUp, PageDown, Pos1/Home, End work as expected. Press F11 to toggle full screen mode, and N to step through color channels. Resize the window as you like with the mouse, or use +/-. Toggle a timecode overlay with T. You can always alter the format (color space, width, height etc.) with CTRL-F. With A, you toggle aspect ratio handling.
You can draw with the right mouse button, enable the Magnifier with the middle mouse button (or M, or with mouse wheel) and drop a bitmap to wherever you like (a skype chat for instance) with the left mouse button. You can also hit CTRL-C to copy a frame as bitmap, or SHIFT-CTRL-S to save it. Clear a drawing with double click or DEL, enable advanced deinterlacing wit I.
On a Mac, of course, CTRL means CMD.
If you drag two files onto a vooya window, you will see the difference. More files will open more player instances.
Command Line Usage
The basic syntax is
vooya [options] path/to/my/file_720x480.yuv
where the file can be replaced by a dash "-", indicating read from stdin.
Currently, the following options are supported:
- -p, --play Start playing automatically
- -d, --diff <<file name>> Show difference and MSE/PSNR between the input file and the file specified.
- -w, --width <<N>> the video width
- -h, --heigth <<N>> the video height
- -r, --rate <<double>> the frame rate
- -f, --format <<string>>, where <<string>> can be one of yuv422, yuv444, yuv410, yuv411, uyvy, yuyv, yuy2, nv12, v210, rgb, rgba, bgr, bgra, rgbp, rgbap, bgrp , bgrap or luma lets you specify the color space.
Open File(s)... You can load multiple files at once, opening multiple player instances. As a special case, if you open two files at once, the difference mode will be enabled. Note that you can also simply drag files over the playing area and drop them there with the same results.
Reload File Reload the file and update the frame count. The current seeking position is maintained if possible.
Close File Closes the current file and displays the startup panel.
Format shows the format dialog.
Copy Frame copies the current frame (including timestamp overlays and drawing annotations) to the clipboard. Note that you can also drag a frame with the mouse off the display into a folder or something that accepts bitmap clipboard data.
Save Frame Save a frame as image (PNG, JPG, TIF or BMP) to a user-specified folder.
On the bottom of the file menu, a list of recently used sequences should be displayed.
Should be pretty self-explanatory.
The Sync icon on the lower right of the player window can be dragged onto another player instance; the two will then be coupled for playing. This is useful for playing side-by-side.
Size Display the video at greater or smaller size. Using "+" and "-", you can also do this with keyboard shortcuts, or even resize the window with the mouse, as usual.
Maintain Aspect Ratio Upon resizing the window, the video can be set to maintain its actual aspect ratio.
Fullscreen As it tells, enables fullscreen mode. Use F11 to activate and deactivate, or double-click in the full screen window.
Time Code Display a time code on the bottom left corner of every frame. This includes the frame number and the current time stamp based on the FPS given in the format dialog, in the format mm'ss''ms.
Next Channel Cycle through the color channels (N). The order of channels depends on the current color format.
Enable Magnifier Show a magnifying rectangle around the pointer, showing the current position and the respective values of all color channels.
Stay on Top, as it says, keeps the window on top of all others. Useful if you need a video reference while programming in Visual Studio.
Magnifier is best turned on with mouse wheel / touch pad scroll, on middle click, or M. The magnifier can be moved around with the mouse and can be closed with "ESC". The magnifier can be fine-tuned with Q,W,E,S.
Difference Against... Turn on diff mode. A file dialog will pop up and let you choose the second reference file. It is assumed that this file has exactly the same format settings as the current one. On the upper right, PSNR and MSE values per color channel are displayed, along with the first difference pixel from top left. You can cycle through diff components with C and V.
Deinterlace Turn on (high quality!) deinterlacing. The frame rate is halved.
Normalize File Name changes the file name into something every yuv player should understand
Extract opens a dialog where you can create a new sequence from a range of frames.
Reverse allows to reverse the current sequence, giving you a new one.
Brightness, Contrast opens a toolbar where you can adjust brightness, contrast and gamma, e.g. for better examining coding artefacts.
Vooya supports the follwoing formats:
- UYVY, YUY2, YUYV, v210 (interleaved 4:2:2 YUV formats, 8/10bit only)
- P420, P422, P444 (4:2:0, 4:2:2, 4:4:4 planar formats in YUV)
- NV12 (interleaved/planar yuv 4:2:0 format, 8bit only)
- RGB24, RGB32, RGB48 (interleaved 4:4:4 RGB, I444 in file names)
- BGR24, BGR32, BGR48 (interleaved 4:4:4 RGB)
- All combinations of RGB data in planar form
- BW (Gray only)
To avoid entering formats every time, it is convenient to name raw data files appropriately. A file name Vooya can handle should at least contain the video's resolution, e.g.
More generically, a valid file name looks like
youNameIt_WIDTHxHEIGHT[_FPS[Hz|fps]][_BITSbit][_(P420|P422|P444|UYVY|YUY2|YUYV|I444)].[rgb|yuv|bw|rgba|bgr|bgra … ]
Fallback is P420, 8bit YUV. Some examples:
unsigned char 8 little-endian
1280 720 3
with frame rate and count in a >VIDEO< section, and resolution, color channel count and x/y chroma subsampling in an image header. There was also a version for RGB data, but I don't remember how that one worked - presumably similar.
Since Rev 482, also YUVPlayer Deluxe ".hdr"-files can be read. These are plain text files residing in the same directory as their corresponding raw data video file and have the same name, except for the suffix, which is '.hdr'. The content of an example hdr-file is given below:
width = 832; width of a video frame, in pixels
height = 480; height of a video frame, in pixels
framerate = 50; frames per second
format = "YUV444"; pixel format
offset = 0; file header bytes to be skipped
interlaced = true; bit depth as per channel
anamorph = false; use anamorphic pixel stretch
flipped = true; flip upside-down
supported color formats for '.hdr' files are
- YUV420, YUV422, YUV444, YUV410, YUV411
- UYVY, YUYV, YUY2
- RGB24, RGB32, BGR24, BGR32
For politeness, no file associations are set during install. Instead, you might want to do that yourself by selecting "Open With ..." on the respective file type and check that this will happen always then.