Viewport Export v0.5.0
Hi there,
Here we go. First release of the software is attached in this post. It is released under GPL license, and that means that it is free, open source, and it is meant to be that way forever.
Requisites:
- This is not one of those softwares that it is installed through a wizard. In order to use this, you have to be used to mess with files, wires, and setups of different softwares and hardwares.
- It is a Java software. You will need the Java Runtime Environment, if you don't have already installed. You can get it here: http://www.java.com/en/download/
- You know how to create viewports of DCSW indicators. There are other threads that explain it in detail, like this: http://forums.eagle.ru/showthread.php?t=70716
What this software do
Well... it captures part of the desktop, and export it through network. It is designed with the purpose in mind of exporting things like MFCds, radars, and other things that can only be rendered on one of the screens of the computer that is running DCS world.
There are other tools for exporting the desktop remotely, for instance TeamViewer, and it is a very good software. But it is designed for other uses: it is designed to use very low bandwidth at the expense of high CPU and quality.
This software is designed to be used in a LAN, where you can have easily a lot of bandwidth available, but it is designed to be very light on CPU, so that DCS World can have more resources to render more frames per second... it is also designed to have low latency and it is lossless, everything is exported with 100% fidelity.
It works very well with Helios.
How you can run it
First download the ZIP and uncompress it somewhere. If you Java RE is correctly installed, you can execute the JAR by double clicking. If you like command line, then "java -jar ViewportExport.jar" would do the trick.
You will have to execute two instances of Viewport Export. One is the emitter, that will be executed on the computer that runs DCS World. I suppose that you previously have your indicators rendered on a second monitor (Note: it can be done with just one monitor. Pressing Win + P on Windows 8 and 10, and clicking extend will create a virtual screen at the right of your main screen).
The other one is the receiver, and has to be run on the computer / laptop / tablet where you want to render those DCS World indicators. You also probably will run Helios there.
Once the application is opened, and after accepting the GPL license, you will see two buttons 'Launch emitter' and 'Launch receiver'. They explain themselves.
You will also see a textfield where there is a path to a viewportexport.properties file. You can specify any path that you wish, but I recommed to create the file in the same directory that ViewportExport.jar resides. Now you will need to edit this files.
Emitter properties
This is an example viewportexport.properties for the emitter:
port=12321
fps=10
viewport.source=800,0,1024,512
compression=LZ4
port: default value 12321. The TCP port where the emitter will listen to the receiver.
fps: Frames per second
viewport.source: This is the desktop rectangle (x, y, width and height) that will captured and transmitted through the network.
compression: Default LZ4. Accepted values are LZ4 and GZIP. This is the compression algorithm to be used. LZ4 is very fast, but GZIP compresses a bit more.
Receiver properties
This is an example viewportexport.properties for the receiver:
emitter=192.168.0.2
port=12321
background=405060
areas=MFCDl, MFCDr
MFCDl.source=0,0,512,512
MFCDl.target=40,40,640,640
MFCDr.source=512,0,512,512
MFCDr.target=840,40,400,400
emitter: IP y nostname of the emitter computer
port: It has to be the same as used in the emitter.
background: RGB color for background (000000 for black, FFFFFF for white, etc)
areas: this is a comma-separated list of area names. In the example there are two, MFCDl and MFCDr but you can have many, or only one.
For each area you will define two properties, the source and target. Both of them are rectangles (x,y,width,height). The source is relative to the captured rectangle not to the origin of the desktop and the target is where you want that to be shown on the receiver screen.
A tutorial
Well, it's an easy application, but hard to use (emitters, receivers, ports, viewports). So I have prepared an easy sample. In the ZIP there is a sample viewportexport.properties with these contents:
emitter= localhost
port=12321
fps=10
background=405060
viewport.source=0,0,800,400
areas=left_big, right_small
left_big.source=0,0,400,400
left_big.target=0,500,640,640
right_small.source=400,0,400,400
right_small.target=640,500,200,200
Now execute thar JAR once. Click on the "Launch emitter" and then on "Launch receiver" buttons. If everything goes well a window will open covering the desktop. Now open another window and move it over this top left part of this window, and you will see parts of your desktop reproduced on this window. Not useful but would illustrate how this works.
Ok... let me know if you have questions or any kind of feedback.
Regards,
Kurt.- ViewportExport.zip