Log in

View Full Version : TCPServer/TCPSource problem


dwrbudr
2nd January 2005, 18:28
I have two AthlonXP 1700+ PC's at home and without success tried TCPServer/TCPSource. AVISynth 2.55 is installed on both PCs.

Here is a sample server AVS script:

---------------------------
AVISource(...) // xvid AVI file, xvid 1.0.3 installed
crop(...)
LanczosRezise(...)
undot()
TCPServer()
---------------------------

The server's IP is 192.168.0.2 (100Mbit LAN)

The client script (client IP is 192.168.0.1):

---------------------------
TCPSource("192.168.0.2")
---------------------------

I load the server script in VDub (tryed 1.5.10, 1.6.1, 1.6.2).
On the server the script loads OK.
The problem is that VDub crashes on the client machine when I load the client script. I always used the same VDub versions on the both PC. Sometime VDub crashes (disappears), sometime freezes and sometime VDub crashes and the server's VDub when opening the .avs file on the client machine. When I stop VDub on the server machine and try to open the client .avs - message appears that cannot connect to the server and thats right. But why VDub crashes when the avisynth server is started I have no idea. I also tried ti change the port with TCPServer parameter, but the result is the same.

What is the right way to use this kind of frameserving over the network? The brief 'help' on the avisynth site does not give a working example of that :(

dwrbudr
3rd January 2005, 13:40
I've found what causes the problem described above.
The PC where TCPServer is started has IP 192.168.0.2 and has default gateway and DNS set to 192.168.0.1 - where the TCPSource command is executed.
192.168.0.1 is the IP for internet connection sharing. Since I removed default gateway and DNS from 192.168.0.2 PC the whole TCPDeliver system began to work. But ... too SLOW.
I tested the AVS script on one of the PCs and it reaches about 50fps on a single CPU 1700+. Then I connect everything with TCPDeliver system on a 100Mbit LAN (only these 2 PC are in the 'LAN' or home:)
And here is the situation:

100Mbit network utilization: ~20%
TCPServer PC (VDub 1.5.10): ~50% CPU utilization
TCPSource PC (VDub 1.5.10, XVid 1.0.3, 1 of 2 pass): ~15-20% CPU utilization or about 10 fps max.

So that system works about 5 times SLOWER on 2 CPUs than on single CPU...

Just post my experience...
:D

lithoc
11th January 2005, 22:14
I tried to do the same but failed.

The client side always appear :

TCPClient: Could not connect to server.

What could be the problem??

Anyone?

Thanks in advance

d0ORk
6th September 2005, 17:15
Same problem for me

I tried to do the same but failed.

The client side always appear :

TCPClient: Could not connect to server.

What could be the problem??

Anyone?

Thanks in advance

sh0dan
6th September 2005, 17:49
Try downloading this updated version. It might fix your problems. I currently can't test in a multimachine setup, but I'll get on it ASAP.

http://www.zenaria.com/kpo/TCPDeliver.dll

d0ORk
6th September 2005, 20:26
it works now. but it's slower than in 'normal' mode.
20fps instead of ~ 60fps... :(

sh0dan
7th September 2005, 00:14
ok - got a new version up. Same link as before. Filesize 348.160 bytes.

I think I've finally cracked the problem on why this has performed so miserably.

d0ORk
7th September 2005, 11:56
I'll try it this evening
Thanks a lot

Mug Funky
7th September 2005, 12:03
gigabit ethernet might be a good idea :)

uncompressed (or losslessly-compressed) video just has a huge bandwidth, so it only makes sense to use TCPdeliver when your filterchain runs significantly slower than TCPdeliver does. then you can run half your filters on 1 machine and the other half on the 2nd.

dwrbudr
7th September 2005, 13:38
I'll try it tonight when I got back home with the above scripts. Will it be useful if I do the avisynth processing on the 1st machine and the encoding on the other?

sh0dan
7th September 2005, 15:49
I just tested the new version. It's better, but still not as good as it should be. I've got a few hunches on how it maybe could be made faster.

sh0dan
7th September 2005, 23:11
ok - Here is Yet Another Version. DDL version is 1.0.0.3 (Right Click, Properties, Version). URL is still:

http://www.zenaria.com/kpo/TCPDeliver.dll

* Agressive Frame prefetching on Server.
* Simpler - and more effective timing on server.
* Higher priority for transfer thread on client.
* Rewrote client packet fetching.

My main dev system is still single CPU/non networked, so I can only hope that this improves performance.

sh0dan
8th September 2005, 08:56
Yes! Success!

After testing on a 1Gbit network there seem to be no problems maxing out either the client or the server. But you need more than trivial scripts to max them out.