<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://avisynth.nl/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://avisynth.nl/index.php?action=history&amp;feed=atom&amp;title=TCPDeliver</id>
		<title>TCPDeliver - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://avisynth.nl/index.php?action=history&amp;feed=atom&amp;title=TCPDeliver"/>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php?title=TCPDeliver&amp;action=history"/>
		<updated>2026-04-07T21:35:20Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.19.24</generator>

	<entry>
		<id>http://avisynth.nl/index.php?title=TCPDeliver&amp;diff=11939&amp;oldid=prev</id>
		<title>Admin: fixed link to GitHub</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php?title=TCPDeliver&amp;diff=11939&amp;oldid=prev"/>
				<updated>2020-06-29T21:06:21Z</updated>
		
		<summary type="html">&lt;p&gt;fixed link to GitHub&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 21:06, 29 June 2020&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 115:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 115:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== External Links ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== External Links ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;*[https://github.com/DJATOM/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;TCPDelivert &lt;/del&gt;GitHub] - Source code repository.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;*[https://github.com/DJATOM/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;TCPDeliver &lt;/ins&gt;GitHub] - Source code repository.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;-----------------------------------------------&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;-----------------------------------------------&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;'''Back to [[External_filters#Support_filters|External Filters]] &amp;amp;larr;'''&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;'''Back to [[External_filters#Support_filters|External Filters]] &amp;amp;larr;'''&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php?title=TCPDeliver&amp;diff=11934&amp;oldid=prev</id>
		<title>Reel.Deal: TCPDeliver v0.2 update for AviSynth+</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php?title=TCPDeliver&amp;diff=11934&amp;oldid=prev"/>
				<updated>2020-06-29T17:37:42Z</updated>
		
		<summary type="html">&lt;p&gt;TCPDeliver v0.2 update for AviSynth+&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{FilterCat4|External_filters|Plugins|Plugins_x64|Support_filters}}&lt;br /&gt;
{{Filter3&lt;br /&gt;
|1={{Author/Sh0dan}}, [https://github.com/DJATOM DJATOM]&lt;br /&gt;
|2=v0.2&lt;br /&gt;
|3=[https://github.com/DJATOM/TCPDeliver/releases TCPDeliver-x86.7z]&amp;lt;br&amp;gt;[https://github.com/DJATOM/TCPDeliver/releases TCPDeliver-x64.7z]&lt;br /&gt;
|4=[[:Category:Support_filters|Support filters]]&lt;br /&gt;
|5=[http://www.gnu.org/licenses/gpl-2.0.txt GPLv2]&lt;br /&gt;
|6=[https://forum.doom9.org/showthread.php?t=72868 Doom9 Forum]&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Description ==&lt;br /&gt;
This filter will enable you to send clips over your network. You can connect several clients to the same machine. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Requirements ==&lt;br /&gt;
* [x86]: [[AviSynth+]] or [https://sourceforge.net/projects/avisynth2/ AviSynth 2.6]&lt;br /&gt;
* [x64]: [[AviSynth+]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== [[Script variables|Syntax and Parameters]] ==&lt;br /&gt;
&lt;br /&gt;
=== Server: ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;TCPServer&amp;lt;/code&amp;gt; (clip, int &amp;quot;port&amp;quot;)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
This will spawn a server thread on the current machine running on the specified port. Port default is 22050.&amp;lt;br /&amp;gt;&lt;br /&gt;
You will get output in the application you open your script in, but the server will only be running as long as the application (vdub for instance) is open.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Colorbars(512, 256)&lt;br /&gt;
TCPServer()&amp;lt;/pre&amp;gt;&lt;br /&gt;
will start a server.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== Client: ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;TCPSource&amp;lt;/code&amp;gt; (string hostname, int &amp;quot;port&amp;quot;, string &amp;quot;compression&amp;quot;)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
This will connect to the machine with the given address (IP-number for instance) to a server running on the given port. Port default is also 22050 here.&lt;br /&gt;
&lt;br /&gt;
Compression enable you to choose the compression used for the video:&lt;br /&gt;
&lt;br /&gt;
:{|&lt;br /&gt;
| '''Compression Type'''&lt;br /&gt;
| '''Description'''&lt;br /&gt;
|-&lt;br /&gt;
| None&lt;br /&gt;
| Use no compression. Fastest option - video will not be compressed before being sent over the net.&lt;br /&gt;
|-&lt;br /&gt;
| LZO&lt;br /&gt;
| Use [http://www.oberhumer.com/opensource/lzo/ LZO] dictionary compression. Fairly fast, but only compresses well on artificial sources, like cartoons and anime with very uniform surfaces.&lt;br /&gt;
|-&lt;br /&gt;
| Huffman&lt;br /&gt;
| Uses a fairly slow Huffman routine by [http://bcl.sourceforge.net/ Marcus Geelnard]. Compresses natural video better than LZO.&lt;br /&gt;
|-&lt;br /&gt;
| GZip&lt;br /&gt;
| Uses a [http://www.gzip.org/ Gzip] Huffman only compression. Works much like Huffman setting, but seems faster.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If no compression is given, GZip is currently used by default. Interlaced material compresses worse than non-interlaced due to downwards deltaencoding. If network speed is a problem you might want to use [[SeparateFields]].&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;TCPSource(&amp;quot;127.0.0.1&amp;quot;)&lt;br /&gt;
Info()&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will connect to the local machine, if a server is running.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
You can use this to run each/some filters on different PC's. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;# Clustermember 1:&lt;br /&gt;
AVISource&lt;br /&gt;
Deinterlacer&lt;br /&gt;
TCPServer&lt;br /&gt;
&lt;br /&gt;
# Clustermember 2:&lt;br /&gt;
TCPSource&lt;br /&gt;
Sharpener&lt;br /&gt;
TCPServer&lt;br /&gt;
&lt;br /&gt;
# Clustermember 3:&lt;br /&gt;
TCPSource&lt;br /&gt;
# client app -&amp;gt; video codec -&amp;gt; final file&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Usability Notes ===&lt;br /&gt;
&lt;br /&gt;
Once you have added a TCPServer, you cannot add more filters to the chain, or use the output from the filter. The server runs in a separate thread, but since AviSynth isn't completely thread-safe you cannot reliably run multiple servers. This should '''not''' be used:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AviSource(&amp;quot;avi.avi&amp;quot;)&lt;br /&gt;
TCPServer(1001)&lt;br /&gt;
TCPServer(1002) # This is NOT a good idea&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
So the basic rule is '''never more than one TCPServer per script'''.&lt;br /&gt;
&lt;br /&gt;
Using commands after TCPServer is also a bad idea:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;AviSource(&amp;quot;avi.avi&amp;quot;)&lt;br /&gt;
TCPServer(1001)&lt;br /&gt;
AviSource(&amp;quot;avi2.avi&amp;quot;) # Do not do this, this will disable the server.&amp;lt;/pre&amp;gt;&lt;br /&gt;
AviSynth detects that the output of TCPServer isn't used, so it kills the Server filter. '''TCPServer should always be the last filter.'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Changelog ==&lt;br /&gt;
 Version      Date            Changes&amp;lt;br&amp;gt;&lt;br /&gt;
 v0.2         2017/02/13      - TCPDeliver for AviSynth+ version 0.2&lt;br /&gt;
                              - Differences from 0.1:&lt;br /&gt;
                                * support for YUVA/PlanarRGBA colorspaces;&lt;br /&gt;
                                * HBD formats should be handled better if compression is involved;&lt;br /&gt;
                                * dropped old garbage from source code;&lt;br /&gt;
                                * no need in the old VS runtime.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== External Links ==&lt;br /&gt;
*[https://github.com/DJATOM/TCPDelivert GitHub] - Source code repository.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-----------------------------------------------&lt;br /&gt;
'''Back to [[External_filters#Support_filters|External Filters]] &amp;amp;larr;'''&lt;/div&gt;</summary>
		<author><name>Reel.Deal</name></author>	</entry>

	</feed>