Advanced information about ViEVO
This page contains some advanced technical information about ViEVO ideology. If you are looking for ViEVO documentation please go to this ViEVO application page.
ViEVO is a video application that displays video streams from the remote participants and sends local video to them. ViEVO is an OpenGL-based and uses 3D rendering techniques to achieve a better efficiency when drawing to the screen the multiple received videos streams. Using this mode, the 3D rendering is fully controlled by the GPU (Graphics Processing Unit) located on graphical card. The GPU implements a number of graphics primitive operations that will execute much faster than drawing directly to the screen using the usual CPU (Central Processing Unit). This technique significantly eases the CPU load especially in a configuration where ViEVO has to display several concurrent received videos streams at the same time.
OpenGL (Open Graphics Library) is used as an application programming interface for 3D rendering, similar to the techniques used for gaming. In the same time, the OpenGL integration enables us to improve significantly the look and feel with a 3D environment and interface that make the general control of the ViEVO application nicer, more comfortable and easy to use.
Integration in one “unique” window
OpenGL version of ViEVO integrates controls, settings and video components into one unique resizable window.
3D-look
Videos and controls have 3D shape and together with background picture they are composing a final 3D scene displayed (rendered) in the ViEVO window. Background picture gives an affiliation with ongoing EVO meeting. 3D scene is designed in a sense to focus attention on preferred video components like speaker’s video or video pointed/clicked by mouse.
Multithreading support
Multi-core processors requested a change to multi-threaded architecture, allowing parallel execution of the tasks and the greater efficiency in the use of these systems. Several threads are handling the receiving of the video streams, decoding and displaying them and encoding of transmitted video. ViEVO is so much more responsive, can handle more video participants and transmit smoother and bigger video stream.
Nice 3D effects are applied
Each video automatically adopts its position and shape in ViEVO window depending on selected display mode, size and position of ViEVO window on the screen. To complement a 3D depth a mirror effect is applied in bottom part of the window (presence section).
Camera device detection and support
Most of recent webcams from Logitech, Philips, Creative are supported. Correct name of detected devices is shown in the device list. Added is support for FireWire cameras (only Mac OS X) and Blackmagic Design video capturing cards (DeckLink, Intensity) that allow connecting HD video cameras via HDMi or HD-SDI interface.
HD resolution support
It is possible to transmit video with high resolution (up to Full HD if the connected camera supports it).
System requirements to run ViEVO
To run OpenGL version of ViEVO your PC needs to fulfill hardware and software requirements:
Software:
ViEVO (32 or 64 bit) is supported on Microsoft Windows XP, Windows Vista, Windows 7, Mac OS X v10.4 or later (Intel) and most of the major Linux flavors.
Hardware:
Minimum: graphic card with hardware acceleration of OpenGL version 1.4 and upward
Recommended: - NVIDIA or ATI graphic card with 512MB of memory
- dual-core processor
Note that an update of video graphic card driver can improve the support of OpenGL. Graphic card must be installed correctly especially on Linux, otherwise CPU is used for rendering which leads to slow reaction of ViEVO.
Video devices (video cameras) support
To transmit video you need to have properly installed and plugged camera to your PC via USB or FireWire port (Mac OS X).
To grab video from external analog sources (analog camera, VGA signal…) ViEVO supports also internal (PCI) or external (USB) grabbing TV cards/devices.
Video codecs
H.264 video codec is used for encoding the video stream. ViEVO is capable of decoding video streams that are encoded with H.261, H.263 or H.264 codec.
Hints and tips
How to set the frame rate and the bandwidth?
Don’t set the bandwidth that is higher than the upload bandwidth of your internet connection. Otherwise EVO will detect it and will decrease the bandwidth in ViEVO.
Setting the frame rate and the bandwidth has an influence on the quality of the transmitted video. With higher bandwidth you get nicer video. With higher frame rate you get more fluent video. Higher frame rate video requires bigger bandwidth to keep the same video quality.
NOTE that yours transmitted video is locally displayed in the different quality than the others participants can see. They see yours already encoded/decoded picture while you see picture taken directly from your camera (which has always the same “best” quality). To see what you are actually transmitting just click on the “Test sending Audio/Video (Loopback)” in Koala “Help & Test” menu. Then you can play with frame rate and bandwidth settings to get desired video.
There are many factors that affect the video quality:
- Resolution: better resolution needs larger bandwidth to keep the same video quality
- Movement: static video requires much less bandwidth to keep the same quality than video with sharp movements in it
- Camera driver settings: like brightness, contrast… Some web cams may use automatic quality settings which may decrease the camera’s frame rate.
- Light condition: in dark room camera may produce a lot of video noise – ViEVO needs higher bandwidth to keep the good video quality.
How to set up ViEVO to send video from Blackmagic Design video capturing cards (DeckLink, Intensity…)?
First of all, be sure that you can get a correct video signal in the Media express application from Blackmagic. In ViEVO, select the correct Video input through which is external camera connected to the capture card (HDMI, SDI…). Then choose resolution (720p 50, 1080i 50…) which must fit the signal coming from the camera. Then click on the transmit button. If no picture appears just try to find the correct resolution.