Vz

From M1Research

(Difference between revisions)
Jump to: navigation, search
(vz-1.0-rc6 (2006-09-26))
(vz-r303 (2010-09-02))
 
(60 intermediate revisions not shown)
Line 1: Line 1:
-
<b>vz (ViZualizator) Real-Time TV graphics production system</b>
+
'''vz (ViZualizator) Real-Time TV dynamic graphics production, channel brending, system'''
-
==Overview==
+
==About==
-
<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.
+
[[image:Vz_Interface_0.jpg|left|thumb|100px|[[help:contents|screen #1]]]]
 +
[[image:Vz_Interface_1.jpg|left|thumb|100px|[[help:contents|screen #2]]]]
 +
[[image:Vz_Interface_2.jpg|left|thumb|100px|[[help:contents|screen #3]]]]
-
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.
+
<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 in SD and HD modes.
-
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).
+
Scene (or project file) is external file (in XML format). It's tree - based description of graphics primitives layout and operation about parameters changing.
-
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.
+
Managing of vz behavior performed by external program that communicate with main rendering module using TCP or UDP protocols. 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).
-
==Examples/Samples==
+
== Hardware requirements  ==
-
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.
+
Minimum is nVidia VGA board higher ther GeForce 5200, other manufacturer's board not supported. CPU and RAM configuation depends on task it will be used for.  
-
It's a best way to describe a features and behavior of software
+
For dual video input channels + animated background its require Dual Xeon configuration with nVidia QuadroFX board.
-
===Sample #1 - simple graphics subtitling graphics application.===
+
The easy task you need the lighter hardware configuration required.
-
Find appropriate "telnet" program for operating. "putty" is nice free program.
+
== Supported Outputs  ==
 +
Video output provided by professional TV video output board. For now there are 2 supported:
-
Step by step with screen shot explaination:
+
=== decklink (blackmagic design) ===
 +
*<b>Decklink Pro</b>: SD modes, tested agains DeckLink Windows 6.8.3 drivers version
 +
*<b>Decklink HD Pro</b>: SD and HD modes, tested agains DeckLink Windows 6.8.7 drivers version
-
*0. Install and start application   
+
Board supports only FILL+KEY output operations only. No input available.
-
*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.===
+
Manufacturer site is [http://www.blackmagic-design.com/ Blackmagic_Design].
-
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>
+
=== bluefish===
 +
*<b>SD|Greed</b>, SD modes, tested against 5.4.26 drivers version, input (single and dual) and output (FILL+KEY) supported.
-
Step by step with screen shot explaination:
+
Most tested video output driver. Support almost all hardware supported features.
-
*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:
+
Manufacturer site is [http://www.Bluefish444.com www.Bluefish444.com].
-
<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:
+
===streamalpha===
-
<pre>
+
StreamAlphaPlus card tested long time ago. Not sure about current version. Manufacturer site is
-
vz in$> scene.tree.function.text_name_1.s_text=Maksym
+
[http://www.stream-labs.com/ www.stream-labs.com]
-
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:
+
===nullvideo===
-
<pre>
+
Fake output video module. Used for emulating CPU load, texture transfer and can be used as skeleton for writing new output modules
-
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)
+
Output driver could be written for almost all adapters with open SDK.
-
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)
+
 +
== Documentation ==
 +
*[[Vz:Doc:Running|Running]]
 +
*[[Vz:Doc:Configuration|Configuration]]
 +
*[[Vz:Doc:Scene|Scene Building]]
 +
*[[Vz:Doc:Plugins|Plugins usage]]
 +
*[[Vz:Doc:IpControl|IP Control Protocol]]
 +
*[[Vz:Doc:SerControl|Serial Control Protocol]]
 +
*[[Vz:Doc:Samples|Usefull samples]]
==Downloads==
==Downloads==
-
===vz-1.0-rc8 (2006-11-03)===
+
===vz-r320 (2010-11-09)===
-
Binaries:
+
* [{{SERVER}}/downloads/vz/vz-r320.win32.zip vz-r320.win32.zip] - precompiled binaries with demo projects for x86 (win32) (require [http://www.microsoft.com/downloads/details.aspx?FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf&displaylang=en Microsoft Visual C++ 2008 Redistributable Package (x86)] for operating and [http://www.microsoft.com/downloads/details.aspx?FamilyId=333325FD-AE52-4E35-B531-508D977D32A6&displaylang=en Microsoft .NET Framework 3.5] for running vzDemoPilotVB2008).
-
* [{{SERVER}}/downloads/vz/vz-1.0-rc8.bin.zip vz-1.0-rc8.bin.zip] - precompiled binaries with demo projects.
+
* [{{SERVER}}/downloads/vz/vz-r320.x64.zip vz-r320.x64.zip] - precompiled binaries with demo projects for x64 (win64) (require [http://www.microsoft.com/downloads/details.aspx?familyid=BD2A6171-E2D6-4230-B809-9A8D7548C1B6&displaylang=en Microsoft Visual C++ 2008 Redistributable Package (x64)] for operating and [http://www.microsoft.com/downloads/details.aspx?FamilyId=333325FD-AE52-4E35-B531-508D977D32A6&displaylang=en Microsoft .NET Framework 3.5] for running vzDemoPilotVB2008).
-
* [{{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-r320.src.zip vz-r320.src.zip] - vz source files.
-
Source code:
+
-
* [{{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.
+
 +
===vz-r261 (2010-07-15)===
 +
* [{{SERVER}}/downloads/vz/vz-r261.win32.zip vz-r261.win32.zip] - precompiled binaries with demo projects for x86 (win32) (require [http://www.microsoft.com/downloads/details.aspx?FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf&displaylang=en Microsoft Visual C++ 2008 Redistributable Package (x86)] for operating and [http://www.microsoft.com/downloads/details.aspx?FamilyId=333325FD-AE52-4E35-B531-508D977D32A6&displaylang=en Microsoft .NET Framework 3.5] for running vzDemoPilotVB2008).
 +
* [{{SERVER}}/downloads/vz/vz-r261.x64.zip vz-r261.x64.zip] - precompiled binaries with demo projects for x64 (win64) (require [http://www.microsoft.com/downloads/details.aspx?familyid=BD2A6171-E2D6-4230-B809-9A8D7548C1B6&displaylang=en Microsoft Visual C++ 2008 Redistributable Package (x64)] for operating and [http://www.microsoft.com/downloads/details.aspx?FamilyId=333325FD-AE52-4E35-B531-508D977D32A6&displaylang=en Microsoft .NET Framework 3.5] for running vzDemoPilotVB2008).
 +
* [{{SERVER}}/downloads/vz/vz-r261.src.zip vz-r261.src.zip] - vz source files.
 +
===vz-1.0-fix4 (2009-01-25)===
 +
* [{{SERVER}}/downloads/vz/vz-1.0-fix4.zip vz-1.0-fix4.zip] - precompiled binaries with demo projects (require [http://www.microsoft.com/downloads/thankyou.aspx?familyId=200b2fd9-ae1a-4a14-984d-389c36f85647&displayLang=en Microsoft Visual C++ 2005 SP1 Redistributable Package (x86)] for operating and [http://www.microsoft.com/downloads/details.aspx?FamilyId=333325FD-AE52-4E35-B531-508D977D32A6&displaylang=en Microsoft .NET Framework 3.5] for running vzDemoPilotVB2008).
 +
* [{{SERVER}}/downloads/vz/vz-r203.src.zip vz-r203.src.zip] - vz source files.
 +
===vzDemoPilots (2009-01-25)===
 +
* [{{SERVER}}/downloads/vz/vzDemoPilots.zip vzDemoPilots.zip] - VB6.0 and VB2008 source code of control application
 +
===vz-1.0-fix3 (2008-03-23)===
 +
* [{{SERVER}}/downloads/vz/vz-1.0-fix3.zip vz-1.0-fix3.zip] - precompiled binaries with demo projects (require [http://www.microsoft.com/downloads/thankyou.aspx?familyId=200b2fd9-ae1a-4a14-984d-389c36f85647&displayLang=en Microsoft Visual C++ 2005 SP1 Redistributable Package (x86)].
 +
* [{{SERVER}}/downloads/vz/vz-r164.src.zip vz-r164.src.zip] - vz source files.
-
===vz-1.0-rc4 (2006-05-10)===
+
===vfb (virtual frame buffer)===
-
Many thanks to Jon Stenqvist for hard testing
+
Requiered for DMA operation with StreamAlpha SDI video output adapter.
-
 
+
* [{{SERVER}}/downloads/vz/vfb4.bin.zip vfb4.bin.zip] - VirtualFrameBuffer device driver.  
-
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.
* [{{SERVER}}/downloads/vz/vfb4.src.zip vfb4.src.zip] - VirtualFrameBuffer source files.
-
===vz-1.0-test-rc0 (2005-07-10)===
+
===anamorphic picture test files ===
 +
* [{{SERVER}}/downloads/vz/aspect-tests.zip aspect-tests.zip]
-
Files:
+
==Links==
-
* [{{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==
+
<b>vz</b> linked against libraries supplied by another projects. For compiling VZ you will need:
-
*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==
+
-
<b>vz</b> linked against libraries supplied by another projects. Precompiled binaries of requiered dlls could be found on projects sites.
+
*The FREETYPE Project [http://www.freetype.org/  www.freetype.org]
 +
*Xerces-C++ [http://xml.apache.org/xerces-c/ xml.apache.org]
 +
*Bluefish444 SDK [http://www.bluefish444.com  www.bluefish444.com]
 +
*StreamLabs SDK [http://www.stream-labs.com/ www.stream-labs.com]
 +
*DeckLink DirectShow SDK [http://www.blackmagic-design.com/support/ Blackmagic Design Support].
-
*1. GLUT - The OpenGL Utility Toolkit - [http://www.opengl.org/resources/libraries/glut.html http://www.opengl.org/resources/libraries/glut.html]
+
For operating with <b>vz</b> throw IP i recommend to use  [http://www.chiark.greenend.org.uk/~sgtatham/putty/ PuTTY - A Free Telnet/SSH Client]
-
*2. The FREETYPE Project [http://www.freetype.org/ | http://www.freetype.org/]
+
-
*3. Xerces-C++ [http://xml.apache.org/xerces-c/ http://xml.apache.org/xerces-c/]
+
-
*4. PuTTY: A Free Telnet/SSH Client [http://www.chiark.greenend.org.uk/~sgtatham/putty/ http://www.chiark.greenend.org.uk/~sgtatham/putty/]
+
-
*5. Stream Labs [http://www.stream-labs.com/ http://www.stream-labs.com/]
+
==Licence==
==Licence==

Latest revision as of 09:24, 9 November 2010

vz (ViZualizator) Real-Time TV dynamic graphics production, channel brending, system

Contents

About

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

Scene (or project file) is 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 or UDP protocols. 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).

Hardware requirements

Minimum is nVidia VGA board higher ther GeForce 5200, other manufacturer's board not supported. CPU and RAM configuation depends on task it will be used for.

For dual video input channels + animated background its require Dual Xeon configuration with nVidia QuadroFX board.

The easy task you need the lighter hardware configuration required.

Supported Outputs

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

decklink (blackmagic design)

  • Decklink Pro: SD modes, tested agains DeckLink Windows 6.8.3 drivers version
  • Decklink HD Pro: SD and HD modes, tested agains DeckLink Windows 6.8.7 drivers version

Board supports only FILL+KEY output operations only. No input available.

Manufacturer site is Blackmagic_Design.

bluefish

  • SD|Greed, SD modes, tested against 5.4.26 drivers version, input (single and dual) and output (FILL+KEY) supported.

Most tested video output driver. Support almost all hardware supported features.

Manufacturer site is www.Bluefish444.com.

streamalpha

StreamAlphaPlus card tested long time ago. Not sure about current version. Manufacturer site is www.stream-labs.com

nullvideo

Fake output video module. Used for emulating CPU load, texture transfer and can be used as skeleton for writing new output modules

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

Documentation

Downloads

vz-r320 (2010-11-09)

vz-r261 (2010-07-15)

vz-1.0-fix4 (2009-01-25)

vzDemoPilots (2009-01-25)

vz-1.0-fix3 (2008-03-23)

vfb (virtual frame buffer)

Requiered for DMA operation with StreamAlpha SDI video output adapter.

anamorphic picture test files

Links

vz linked against libraries supplied by another projects. For compiling VZ you will need:

For operating with vz throw IP i recommend to use PuTTY - A Free Telnet/SSH Client

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