<system type="client"> <datapump> <type value="MNSTREAMER" /> <sendblock value="no" /> </datapump> </system>
The options mean specifically:
<type>
specifies the data pump implementation that should be used in server and proxy. At the time of this writing, only the default setting MNSTREAMER is valid. The setting VCSTREAMER that specifies the use of the VideoCharger server suffers severe bitrot, and the setting INSTANCE is meant for future use.<sendblock>
is a boolean value that indicates whether the integrated SendBlockSH should be used in the special case that dummy layered data is sent from file. This option is meant for the performance comparison between the SH approach and an integrated approach.The RTSP section in the system configuration specifies the use of RTSP in the komssys system. Options specify RTSP behaviour but also addresses. Here is an overview:
<system type="client"> <rtsp> <eol value="CRLF" /> <destination /> <default-server-port value="554" /> <use-proxy /> <proxy> <host value="localhost" /> <port value="554" /> </proxy> </rtsp> </system>
The options mean specifically:
<eol>
is an enum value that can take the values CR, LF, CRLF or LFCR. CR mean carrige return, and LF means line feed. The RTSP RFC as well as the SDP RFC consider CRLF the standard line feed sequence. Implementations are supposed to understand the alternatives as well. This flag allows the generation of other alternatives to test the compliance.<destination>
is a boolean value that indicates whether the client should send the destination token in the Transport line of an RTSP SETUP header. The destination token tells the server which target hostname of address it should send it RTP packets to. It is an RTSP feature that is meant for flexibility in RTSP control. But if a server sends data to the given destination address without any checks, this would attract DoS attacks. The RTSP RFC requires authentication in all cases where client and destination are separate. If the destination value is false, the address from which the RTSP connection was made is supposed to be the target.<default-server-port>
is an integer value that is used by server and client alike. The default is the default RTSP port value, which is 554. When this attribute is present, the server will listen for RTSP connects on the given port, and the client will automatically add the port number to the default URLs that it creates. It does not imply that the client always tries to contact this RTSP port instead of the one that is given by the user in its URL. It is important to note that a client that contacts the server through a proxy does not contact this port number at all. This port number is passed to the proxy for the proxy's own connection to the server. The port that the client connects to in that situation is given by the proxy settings in the <proxy>
section.<use-proxy>
is a boolean value that indicates whether a proxy should be used upstream. It has no default value. If this value is true, the <proxy>
section must be present in this RTSP section to specify detail about the proxy use.<proxy>
is explained in more detail in Configuration: RTSP Proxy.The Transcoding section in the system configuration specifies the behaviour of proxies. Here is an overview:
<system type="proxy"> <transcoding> <use-transcoding value="no"/> <screenwidth value="240"/> <screenheight value="320"/> <libraries> <transcoding-lib pt="MPV" lib="./libnop1.so"/> <transcoding-lib pt="MPA" lib="./libnop2.so"/> </libraries> <client name="faust"> <screenwidth value="240"/> <screenheight value="320"/> <libraries> <transcoding-lib pt="MPV" lib="./libtest.so"/> </libraries> </client> <client name="mephisto"> <use-transcoding value="no"/> </client> </transcoding> </system>
The options mean specifically:
<use-transcoding>
specifies whether to use transcoding capabilities within the proxy or not.<screenwidth>
specifies the screenwith which should be used for transcodign.<screenheight>
specifies the screenheight which should be used for transcodign.<libraries>
begins a block where some libraries for transcoding are specified.<transcoding-lib pt="MPV" lib="./libnop1.so"/>
specifies a library for payloadtype "MPV".</libraries>
<client name="faust">
starts a block where options for special clients could be set.<transcoding>
-block.