I am writing every now and then, because I am still with the same issue. And appreciate any time and efforts from the forum members.
Experimenting with Dynamic Variable API, the result was not much different.
I created two versions:
1) Sending IMAQ videos directly (using image data type for the shared variables) without converting to string. The problem in this case is that the Distributed System Manager 2010 does not show "Image" data type in the "Edit Variable" window. Although, we can select "Image" data type while creating (programmatically or from Project window), the DSM does not show it in the property of the shared variable. Instead, it shows "Unnamed Type 1". A bug?
Result: somehow while running this program, the Network Variable Engine on the server computer crashed. Probably due to lack of recognition of Image data type in DSM.
2) Conversion of IMAQ video to string and then sending over the network (like the old times).
Result: the video stream is slow and not at all of the standards when I used to transmit it through DataSocket.
Months of trial and error has taken a lot of time now and I am seriously thinking to going back to the DS technology. But still trying to figure out what is wrong. Or perhaps the SV technology is good, except for streaming video and audio.
Network Stream is worth consideration, but what to do when I do not know the IP address of the two users. In fact, the users of the system will use programs from different computers, and a lot of times, these computers will be behind a LAN firewall. In that case I don't see much possibility of a peer-to-peer communication.
I am attaching the two programs (of the 2nd option above) to see why the transmition is slow (or completely sluggish).