Vz

From M1Research

Revision as of 13:20, 2 October 2006 by Verem (Talk | contribs)
Jump to: navigation, search

vz (ViZualizator) Real-Time TV graphics production system

Contents

Overview

vz (ViZualizator) is software complex for generation realtime TV-graphics. Its based on OpenGL rendering engine that perform rendering target picture in video adapter's framebuffer and block code that transfer framebuffer from videocard to video output adapter's framebuffer.

Rendering objects list is supplied from external file (in XML format). It's tree - based description of graphics primitives layout and operation about parameters changing.

Managing of vz behavior performed by external program that communicate with main rendering module using TCP protocol. Main program provides telnet-like shell where external commands send throw using predefined syntax. Command could be used for loading "scene" file (primitives layout), modification parameters of graphic primitives or for starting/stopping timeline's complex (called director).

Video output provided by professional video adapter (for now it's only StreamAlphaPlus card tested). Output driver could be written for almost all adapters with open SDK.

Examples/Samples

This section contains description of demo projects (samples) with explaination of how to use that one. Samples supplied with precompiled application. You can use theese samples for understanding of vz architecture and building own scene.

It's a best way to describe a features and behavior of software

Sample #1 - simple graphics subtitling graphics application.

Find appropriate "telnet" program for operating. "putty" is nice free program.

Step by step with screen shot explaination:

  • 0. Install and start application
  • 1. Start telnet program, connect to remote tcp port and load scene:
[verem@pamir vz]$ telnet dev-2 8001
Trying 10.1.5.63...
Connected to dev-2.internal.m1stereo.tv (10.1.5.63).
Escape character is '^]'.
ViZualizator (vz-1.00-test-rc0) [tcpserver]
 
vz in$> renderman.load(./projects/demo1.xml)
vz out$> OK!Load
vz in$>

As result you can see scene loaded:

  • 2. Setup values of approprate fields and start "director" to show up content:
vz in$> scene.tree.function.text_1.s_text=Maksym Veremeyenko
vz out$> OK
vz in$> scene.tree.function.text_2.s_text=ViZualizator developer
vz out$> OK
vz in$> scene.tree.motion.director.main.start()
vz out$> OK
vz in$>

As result you can see new object appears on screen:

  • 3. After few seconds hide the scene:
vz in$> scene.tree.motion.director.main.cont()
vz out$> OK
vz in$> quit
vz out$> Bye!
Connection closed by foreign host.
[verem@pamir vz]$

As result you can see scene return to previous state:

  • 4. To continue, assign new values for fields and start show, see step 2

Sample #2 - Dumb onscreen SMS game.

Find appropriate "telnet" program for operating. "putty" is nice free program.
ATTENSION! External controller application (bash script) could be found in ./projects/demo2.sh

Step by step with screen shot explaination:

  • 0. Install and start application
  • 1. Start telnet program, connect to remote tcp port and load scene:
[verem@pamir verem]$ telnet support 8001
Trying 10.1.5.8...
Connected to support (10.1.5.8).
Escape character is '^]'.
ViZualizator (vz-1.00-test-rc0) [tcpserver]
 
vz in$> renderman.load(./projects/demo2.xml)
vz out$> OK!Load
vz in$>
  • 2. Set values of text fields:
vz in$> scene.tree.function.text_name_1.s_text=Maksym
vz out$> OK
vz in$> scene.tree.function.text_name_2.s_text=Yuliya
vz out$> OK
vz in$> scene.tree.function.text_top.s_text=1995
vz out$> OK
vz in$> scene.tree.function.desc.s_text=Simple text for customers\r\nRendered by 'vz-1.00-test-rc0'
vz out$> OK
vz in$>
  • 3. Start scene motion - "director" - groups of timelines that change position and alpha value of some primitives:
vz in$> scene.tree.motion.director.d_names.start()
vz out$> OK
vz in$> scene.tree.motion.director.d_desc.start()
vz out$> OK
vz in$>
  • 4. (Optional, demo purpose)

Change texts values during text fields is in visible states:

vz in$> scene.tree.function.text_name_1.s_text=Artem
vz out$> OK
vz in$> scene.tree.function.text_name_2.s_text=Lera
vz out$> OK
vz in$> scene.tree.function.text_top.s_text=2005
vz out$> OK
vz in$> scene.tree.function.desc.s_text=Another Fine text\r\n\r\nLook here
vz out$> OK
vz in$>
  • 5. Start scene motion to hide some primitives :
vz in$> scene.tree.motion.director.d_names.cont()
vz out$> OK
vz in$> scene.tree.motion.director.d_desc.cont()
vz out$> OK
vz in$>
  • 6. Go to the step 2. (set another fields values)


Downloads

vz-1.0-rc7 (2006-10-02)

Binaries:

  • vz-1.0-rc7.bin.zip - precompiled binaries with demo projects.
  • vfb4.bin.zip - VirtualFrameBuffer device driver - requiered for DMA operation with StreamAlpha SDI video output adapter

Source code:

vz-1.0-rc6 (2006-09-26)

Binaries:

  • vz-1.0-rc6.bin.zip - precompiled binaries with demo projects.
  • vfb4.bin.zip - VirtualFrameBuffer device driver - requiered for DMA operation with StreamAlpha SDI video output adapter

Source code:

vz-1.0-rc4 (2006-05-10)

Many thanks to Jon Stenqvist for hard testing

Binaries:

  • vz-1.0-rc4.bin.zip - precompiled binaries with demo projects.
  • vz-1.0-rc4.lib.zip - system32 libs (or download from Links section.
  • vfb4.bin.zip - VirtualFrameBuffer device driver - requiered for DMA operation with StreamAlpha SDI video output adapter

Source code:

vz-1.0-test-rc0 (2005-07-10)

Files:

Installation

  • 1. Download libs and unpack into system32 directory.
  • 2. Download vfb4 driver and install (for StreamAlpha board support only, see INSTALL file inside of archive).
  • 3. Download vz binaries and unpack.
  • 4. Configure your output module (see vz.conf, and install driver)

Links

vz linked against libraries supplied by another projects. Precompiled binaries of requiered dlls could be found on projects sites.

Licence

    ViZualizator
    (Real-Time TV graphics production system)
                                                                                                                                               
    Copyright (C) 2005 Maksym Veremeyenko.
    Contributed by Maksym Veremeyenko, verem@m1stereo.tv, 2005.
                                                                                                                                               
    ViZualizator is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.
                                                                                                                                               
    ViZualizator is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.
                                                                                                                                               
    You should have received a copy of the GNU General Public License
    along with ViZualizator; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
                                                                                                                                               
Personal tools