<?xml version="1.0" encoding="utf-8" standalone="yes"?>

<?xml-stylesheet href="./_c74_ref.xsl" type="text/xsl"?>

<!--This is an automatically generated file. DO NOT EDIT THIS FILE DIRECTLY. Rather, use the _ref.xml files found in the 'edits' folder.-->
<c74object name="jit.broadcast" module="jit" category="Jitter Networking">
	<digest>
		Broadcast video using RTSP
	</digest>
	<description>
		The <o>jit.broadcast</o> object is an RTSP server. It takes a 4 char matrix as input, compresses the data and streams it over a network (local or internet) using the RTSP streaming standard.
	</description>
	<!--METADATA-->
	<metadatalist>
		<metadata name="author">
			Cycling '74
		</metadata>
		<metadata name="tag">
			Jitter
		</metadata>
		<metadata name="tag">
			Jitter Networking
		</metadata>
	</metadatalist>
	<!--INLETS-->
	<inletlist>
		<inlet id="0" type="matrix">
			<digest>
				in
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
		<inlet id="1" type="matrix">
			<digest>
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
	</inletlist>
	<!--OUTLETS-->
	<outletlist>
		<outlet id="0" type="matrix">
			<digest>
				out
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
		<outlet id="1" type="matrix">
			<digest>
				dumpout
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
	</outletlist>
	<!--MOP-->
	<mop matrixinputcount="1" matrixoutputcount="1">
		<matrixoutput name="out" planelink="1" typelink="1" dimlink="1" minplanecount="4" maxplanecount="4" mindimcount="1" maxdimcount="32">
			<types>
				char
			</types>
		</matrixoutput>
	</mop>
	<!--MESSAGES-->
	<methodlist>
		<method name="start">
			<arglist />
			<digest>
				Start the broadcast server
			</digest>
			<description>
				Starts the broadcast server and reports the success or failure of the start operation from the right outlet of the <o>jit.broadcast</o> object. In the event of success, the message will be in the format <m>start</m>  <i>1</i>  <i>URL</i>. The <i>URL</i> argument is the RTSP URL which client computers will use to access the stream.
				<br />
				Note that, if your computer is behind a router, the IP address reported may not permit access to the stream by client machines outside of your local network. In that instance, you will need to substitute your network's WAN address (the IP address of the router, as seen by the outside world) for the IP address portion of the <i>URL</i>, before non-local clients can receive your broadcast. The <at>vport</at> will also need to be unblocked, if a firewall is active, and the port mapped to your computer behind the router.
			</description>
		</method>
		<method name="stop">
			<arglist />
			<digest>
				Stop the broadcast server
			</digest>
			<description>
				Stops the broadcast server.
			</description>
		</method>
	</methodlist>
	<jittermethodlist>
		<jittermethod name="bang" />
		<jittermethod name="clear" />
		<jittermethod name="exportattrs" />
		<jittermethod name="exportsummary" />
		<jittermethod name="getattributes" />
		<jittermethod name="getstate" />
		<jittermethod name="jit_matrix" />
		<jittermethod name="importattrs" />
		<jittermethod name="outputmatrix" />
		<jittermethod name="summary" />
	</jittermethodlist>
	<!--ATTRIBUTES-->
	<attributelist>
		<attribute name="codec" get="1" set="1" type="symbol" size="1">
			<digest>
				Streaming video codec
			</digest>
			<description>
				The video codec for streaming (default = mpeg4)
				<br />
				The available codec types are <m>jpeg</m>, <m>mjpega</m>, <m>mjpegb</m>, <m>h263</m> and <m>mpeg4</m>.
			</description>
		</attribute>
		<attribute name="datarate" get="1" set="1" type="int" size="1">
			<digest>
				Data rate
			</digest>
			<description>
				Sets the data rate in frames/second.
			</description>
		</attribute>
		<attribute name="dstrect" get="1" set="1" type="int" size="4">
			<digest>
				Destination rectangle
			</digest>
			<description>
				The rectangular portion of the streaming image to be drawn to, when an incoming matrix is received. (default = 0 0 (image width) (image height))
				<br />
				The proportions of the rectangle are expressed in the form <i>left top right bottom</i>. All values are relative to the top left corner of the viewing area of the streamed image.
			</description>
		</attribute>
		<attribute name="interp" get="1" set="1" type="int" size="1">
			<digest>
				Interpolation
			</digest>
			<description>
				Interpolation flag (default = 0)
				<br />
			</description>
		</attribute>
		<attribute name="ip" get="1" set="1" type="symbol" size="1">
			<digest>
				IP address
			</digest>
			<description>
				Video IP address (default = variable)
				<br />
				In multicast mode (the default. See <at>unicast</at>, below), this IP address is automatically assigned, and read-only, and refers to the special multicast address client computers access to reach your broadcast.
				<br />
				In unicast mode, this IP address should be set to the IP address of the single client computer.
			</description>
		</attribute>
		<attribute name="kframe" get="1" set="1" type="int" size="1">
			<digest>
				Keyframe rate
			</digest>
			<description>
				Keyframe rate (default = 50)
				<br />
				If set, the <o>jit.broadcast</o> object will attempt to configure the video compressor to use the specified keyframe rate. Keyframes (temporal compression) are not available to all codecs.
			</description>
		</attribute>
		<attribute name="mode" get="1" set="1" type="int" size="1">
			<digest>
				Streaming source mode
			</digest>
			<description>
				Streaming source mode (default = 0)
				<br />
				0 = matrix input
				<br />
				1 = Hinted Movie input (uses the <at>movie</at> attribute to choose a pre-hinted source movie)
				<br />
			</description>
		</attribute>
		<attribute name="movie" get="1" set="1" type="symbol" size="1">
			<digest>
				Mode 1 source movie
			</digest>
			<description>
				Source movie for <at>mode</at> 1 (default = &quot;&quot;)
				<br />
				If no movie is specified when setting this attribute, a File dialog will be presented. Movies must be hinted, to be used with the <o>jit.broadcast</o> object. See <i>Tutorial 51: Broadcasting</i> for more information.
			</description>
		</attribute>
		<attribute name="port_v" get="1" set="1" type="int" size="1">
			<digest>
				Port number
			</digest>
			<description>
				Video broadcast port number (default = 8554)
				<br />
				The network port to be used by the video portion of the broadcast stream.
			</description>
		</attribute>
		<attribute name="preview" get="1" set="1" type="int" size="1">
			<digest>
				Matrix preview flag
			</digest>
			<description>
				Matrix preview flag (default = 0)
				<br />
				If set, an incoming matrix will be copied to the object's output matrix (with <at>srcrect</at>, <at>interp</at> or <at>dstrect</at> transformations) when the <o>jit.broadcast</o> object is streaming. Otherwise, the matrix is simply passed through the object. Only functional in <at>mode</at> 0.
			</description>
		</attribute>
		<attribute name="size" get="1" set="1" type="int" size="2">
			<digest>
				Broadcast dimensions
			</digest>
			<description>
				The dimensions of the broadcast (default = 160 120)
				<br />
			</description>
		</attribute>
		<attribute name="spatialquality" get="1" set="1" type="symbol" size="1">
			<digest>
				Codec spatial compression quality
			</digest>
			<description>
				Codec spatial compression quality (default = 2 (normal))
				<br />
				0 or min = minimum
				<br />
				1 or low = low
				<br />
				2 or normal = normal
				<br />
				3 or high = high
				<br />
				4 or max = maximum
				<br />
				5 or lossless = lossless
				<br />
				<br />
				Note that minimum quality is, in many cases, the codec's default quality. Use &quot;low&quot; quality for consistent results.
			</description>
		</attribute>
		<attribute name="srcrect" get="1" set="1" type="int" size="4">
			<digest>
				Source rectangle
			</digest>
			<description>
				The rectangular section of the incoming matrix to compress and stream (default = 0 0 (movie width) (movie height))
			</description>
		</attribute>
		<attribute name="streamname" get="1" set="1" type="symbol" size="1">
			<digest>
				Broadcast stream name
			</digest>
			<description>
				Name of the broadcast stream, as displayed in the stream's URL (default = &quot;jitStream&quot;)
				<br />
			</description>
		</attribute>
		<attribute name="temporalquality" get="1" set="1" type="symbol" size="1">
			<digest>
				Codec temporal compression quality
			</digest>
			<description>
				Codec temporal compression quality (default = 2 (normal))
				<br />
				0 or min = minimum
				<br />
				1 or low = low
				<br />
				2 or normal = normal
				<br />
				3 or high = high
				<br />
				4 or max = maximum
				<br />
				5 or lossless = lossless
				<br />
				<br />
				Note that minimum quality is, in many cases, the codec's default quality. Use &quot;low&quot; quality for consistent results.
			</description>
		</attribute>
		<attribute name="ttl" get="1" set="1" type="int" size="1">
			<digest>
				Packet time to live
			</digest>
			<description>
				Packet time to live (default = 255)
				<br />
			</description>
		</attribute>
		<attribute name="unicast" get="1" set="1" type="int" size="1">
			<digest>
				Unicast broadcast flag
			</digest>
			<description>
				Unicast broadcast flag (default = 0)
				<br />
				If set, the <o>jit.broadcast</o> object will broadcast in unicast mode. In this mode, the <at>ip</at> refers to a single client computer, which will be able to receive your broadcast. In multicast mode (the default), as many clients as your system's bandwidth can support will be able to access the stream.
			</description>
		</attribute>
		<attribute name="usedstrect" get="1" set="1" type="int" size="1">
			<digest>
				Use destination rectangle flag
			</digest>
			<description>
				Destination rect flag (default = 0)
				<br />
				When the flag is set, the <at>dstrect</at> attributes are used when compressing an input matrix for streaming.
			</description>
		</attribute>
		<attribute name="usesrcrect" get="1" set="1" type="int" size="1">
			<digest>
				Use source rectangle flag
			</digest>
			<description>
				Source rect flag (default = 0)
				<br />
				When the flag is set, the <at>srcrect</at> attributes are used when compressing an input matrix for streaming. The proportions of the rectangle are expressed in the form <i>left top right bottom</i>. All values are relative to the top left corner of the viewing area of the incoming matrix.
			</description>
		</attribute>
		<attribute name="vcodec" get="1" set="1" type="symbol" size="1">
			<digest>
				Video codec
			</digest>
			<description>
				The video codec for streaming (default = h263)
				<br />
				Synonym for <at>codec</at>, above.
			</description>
		</attribute>
		<attribute name="vip" get="1" set="1" type="symbol" size="1">
			<digest>
				IP address
			</digest>
			<description>
				Video IP address (default = variable)
				<br />
				Synonym for <at>ip</at>, above.
			</description>
		</attribute>
		<attribute name="vport" get="1" set="1" type="int" size="1">
			<digest>
				Port number
			</digest>
			<description>
				Video broadcast port number (default = 8554)
				<br />
				Synonym for <at>port_v</at>, above.
			</description>
		</attribute>
	</attributelist>
	<jitterattributelist>
		<jitterattribute name="outputmode" />
		<jitterattribute name="out_name" />
		<jitterattribute name="type" />
		<jitterattribute name="planecount" />
	</jitterattributelist>
	<!--EXAMPLE-->
	<examplelist>
		<example img="jit.broadcast.png" />
	</examplelist>
	<!--SEEALSO-->
	<seealsolist>
		<seealso name="jit.net.recv" />
		<seealso name="jit.net.send" />
		<seealso name="jit.qt.broadcast" />
		<seealso module="jit" name="jitterchapter53" type="tutorial" />
	</seealsolist>
</c74object>
