Vz

From M1Research

(Difference between revisions)
Jump to: navigation, search
(Downloads)
Line 3: Line 3:
==Overview==
==Overview==
-
<b>vz</b> (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.
+
<b>vz</b> (ViZualizator) is software complex for generation realtime TV-graphics. Fine and easy solution for TV studio graphics, channel branding and TV-Interective solutions.
 +
 
 +
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.
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.
Line 9: Line 11:
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).
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 [http://www.stream-labs.com/ StreamAlphaPlus] card tested). Output driver could be written for almost all adapters with open SDK.
+
== Supported Outputs ==
-
==Examples/Samples==
+
Video output provided by professional TV video output board. For now there are 2 supported:
 +
*<b>bluefish</b> - http://www.bluefish.com, supported SD|Greed
 +
*<b>streamalpha</b> - http://www.stream-labs.com/, StreamAlphaPlus card tested.
-
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.
+
Output driver could be written for almost all adapters with open SDK.
-
It's a best way to describe a features and behavior of software
+
== Documentation ==
-
 
+
-
===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:
+
-
<pre>
+
-
[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$>
+
-
</pre>
+
-
As result you can see scene loaded:
+
-
{|
+
-
|-
+
-
| valign="top"|
+
-
[[image:Vz_demo1_fill_s1_full.png|none|thumb|250px|[[help:contents|FILL]]]]
+
-
| valign="top"|
+
-
[[image:Vz_demo1_alpha_s1_full.png|none|thumb|250px|[[help:contents|KEY]]]]
+
-
|}
+
-
*2. Setup values of approprate fields and start "director" to show up content:
+
-
<pre>
+
-
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$>
+
-
</pre>
+
-
As result you can see new object appears on screen:
+
-
{|
+
-
|-
+
-
| valign="top"|
+
-
[[image:Vz_demo1_fill_s2_full.png|none|thumb|250px|[[help:contents|FILL]]]]
+
-
| valign="top"|
+
-
[[image:Vz_demo1_alpha_s2_full.png|none|thumb|250px|[[help:contents|KEY]]]]
+
-
|}
+
-
*3. After few seconds hide the scene:
+
-
<pre>
+
-
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]$
+
-
</pre>
+
-
As result you can see scene return to previous state:
+
-
{|
+
-
|-
+
-
| valign="top"|
+
-
[[image:Vz_demo1_fill_s1_full.png|none|thumb|250px|[[help:contents|FILL]]]]
+
-
| valign="top"|
+
-
[[image:Vz_demo1_alpha_s1_full.png|none|thumb|250px|[[help:contents|KEY]]]]
+
-
|}
+
-
*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.<br><b>ATTENSION!</b> External controller application (bash script) could be found in <code>./projects/demo2.sh</code>
+
-
 
+
-
Step by step with screen shot explaination:
+
-
*0. Install and start application
+
-
[[image:Vz_demo2_fill_s0.jpg|none|thumb|150px|[[help:contents|FILL]]]]
+
-
 
+
-
*1. Start telnet program, connect to remote tcp port and load scene:
+
-
<pre>
+
-
[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$>
+
-
</pre>
+
-
[[image:Vz_demo2_fill_s1.jpg|none|thumb|150px|[[help:contents|FILL]]]]
+
-
 
+
-
*2. Set values of text fields:
+
-
<pre>
+
-
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$>
+
-
</pre>
+
-
[[image:Vz_demo2_fill_s2.jpg|none|thumb|150px|[[help:contents|FILL]]]]
+
-
 
+
-
*3. Start scene motion - "director" - groups of timelines that change position and alpha value of some primitives:
+
-
<pre>
+
-
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$>
+
-
</pre>
+
-
[[image:Vz_demo2_fill_s3.jpg|none|thumb|150px|[[help:contents|FILL]]]]
+
-
 
+
-
*4. (Optional, demo purpose)
+
-
Change texts values during text fields is in visible states:
+
-
<pre>
+
-
vz in$> scene.tree.function.text_name_1.s_text=Artem
+
-
vz out$> OK
+
-
</pre>
+
-
[[image:Vz_demo2_fill_s4a.jpg|none|thumb|150px|[[help:contents|FILL]]]]
+
-
<pre>
+
-
vz in$> scene.tree.function.text_name_2.s_text=Lera
+
-
vz out$> OK
+
-
</pre>
+
-
[[image:Vz_demo2_fill_s4b.jpg|none|thumb|150px|[[help:contents|FILL]]]]
+
-
<pre>
+
-
vz in$> scene.tree.function.text_top.s_text=2005
+
-
vz out$> OK
+
-
</pre>
+
-
[[image:Vz_demo2_fill_s4c.jpg|none|thumb|150px|[[help:contents|FILL]]]]
+
-
<pre>
+
-
vz in$> scene.tree.function.desc.s_text=Another Fine text\r\n\r\nLook here
+
-
vz out$> OK
+
-
vz in$>
+
-
</pre>
+
-
[[image:Vz_demo2_fill_s4d.jpg|none|thumb|150px|[[help:contents|FILL]]]]
+
-
 
+
-
*5. Start scene motion to hide some primitives :
+
-
<pre>
+
-
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$>
+
-
</pre>
+
-
[[image:Vz_demo2_fill_s6.jpg|none|thumb|150px|[[help:contents|FILL]]]]
+
-
 
+
-
*6. Go to the step 2. (set another fields values)
+
Line 172: Line 30:
* [{{SERVER}}/downloads/vz/vz-trunk-32.src.zip vz-trunk-32.src.zip] - vz source files.
* [{{SERVER}}/downloads/vz/vz-trunk-32.src.zip vz-trunk-32.src.zip] - vz source files.
* [{{SERVER}}/downloads/vz/vfb4.src.zip vfb4.src.zip] - VirtualFrameBuffer source files.
* [{{SERVER}}/downloads/vz/vfb4.src.zip vfb4.src.zip] - VirtualFrameBuffer source files.
-
 
-
===vz-1.0-rc4 (2006-05-10)===
 
-
Many thanks to Jon Stenqvist for hard testing
 
-
 
-
Binaries:
 
-
* [{{SERVER}}/downloads/vz/vz-1.0-rc4.bin.zip vz-1.0-rc4.bin.zip] - precompiled binaries with demo projects.
 
-
* [{{SERVER}}/downloads/vz/vz-1.0-rc4.lib.zip vz-1.0-rc4.lib.zip] - system32 libs (or download from Links section.
 
-
* [{{SERVER}}/downloads/vz/vfb4.bin.zip vfb4.bin.zip] - VirtualFrameBuffer device driver - requiered for DMA operation with StreamAlpha SDI video output adapter
 
-
Source code:
 
-
* [{{SERVER}}/downloads/vz/vz-trunk-14.src.zip vz-trunk-14.src.zip] - vz source files.
 
-
* [{{SERVER}}/downloads/vz/vfb4.src.zip vfb4.src.zip] - VirtualFrameBuffer source files.
 
-
 
-
===vz-1.0-test-rc0 (2005-07-10)===
 
-
 
-
Files:
 
-
* [{{SERVER}}/downloads/vz/vz-1.0-test-rc0.bin.zip vz-1.0-test-rc0.bin.zip] - precompiled binaries with demo projects.
 
-
* [{{SERVER}}/downloads/vz/vz-1.0-test-rc0.libs.zip vz-1.0-test-rc0.libs.zip] - system32 libs (or download from Links section.
 
-
* [{{SERVER}}/downloads/vz/vfb4.bin.zip vfb4.bin.zip] - VirtualFrameBuffer device driver - requiered for DMA operation with StreamAlpha SDI video output adapter
 
-
* [{{SERVER}}/downloads/vz/vz-1.0-test-rc0.src.zip vz-1.0-test-rc0.src.zip] - vz source files.
 
-
* [{{SERVER}}/downloads/vz/vfb4.src.zip vfb4.src.zip] - VirtualFrameBuffer source files.
 
-
 
-
==Installation==
 
-
*1. Download <b>libs</b> and unpack into <code>system32</code> directory.
 
-
*2. Download <b>vfb4</b> driver and install (for StreamAlpha board support only, see <code>INSTALL</code> file inside of archive).
 
-
*3. Download <b>vz</b> binaries and unpack.
 
-
*4. Configure your output module (see <code>vz.conf</code>, and install driver)
 
==Links==
==Links==

Revision as of 17:18, 24 March 2007

vz (ViZualizator) Real-Time TV graphics production system

Contents

Overview

vz (ViZualizator) is software complex for generation realtime TV-graphics. Fine and easy solution for TV studio graphics, channel branding and TV-Interective solutions.

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).

Supported Outputs

Video output provided by professional TV video output board. For now there are 2 supported:

Output driver could be written for almost all adapters with open SDK.

Documentation

Downloads

vz-1.0-rc8 (2006-11-03)

Binaries:

  • vz-1.0-rc8.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:

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