ZEC Adding Push Outputs
8 min
output streams can be pushed to one or more zixi broadcasters you can specify multiple destinations (broadcasters/zec (receivers)) by adding them in the links section you can also split a single stream using multiple links and then bond them into a single stream in the target broadcaster using the bond links feature for each of these links, you can specify the max bitrate that can be used in addition, some links may be specified as backups the backup links will be used if the bandwidth across all the non backup links is not enough for the stream (i e , if a non backup link is not available, it will not use the backup) only if the accumulated bandwidth of non backup links is not enough, then the broadcaster will stream to a backup link to create a push output in the zec outputs page, click +new output the new output window is displayed type in the unique identifier for this output in the output name select an input stream to be made available on this output from the drop down list select the show in matrix check box to display this stream in the matrix (see zec using the matrix docid\ ofxethpsuo9eimqpwfzea ) default selected select the log this stream checkbox if you would like to generate event logs for this output select push specify the output parameters (see output stream parameters table docid\ l0bwr7dwynkilfwe6jstz below) you can decrypt an encrypted stream as it enters the zec to decrypt a stream, select the decrypt stream checkbox and fill in the parameters as described in the output stream parameters table docid\ l0bwr7dwynkilfwe6jstz below for more information, see decrypting an output stream in zec docid\ fqloypidpib19cqfvu8rz click ok the new push output with its settings is created and now appears on the screen output stream parameters table parameter description output parameters links host the destination host for the push stream note additional failover destinations can be added by clicking the adjacent “ + ” button port specify the ports to listen on for push streams default 2088 local ip specify the local ip of the nic that you will be using for this link bond links click this checkbox to split the stream into multiple links, which will be forwarded to a single broadcaster instance max bitrate \[kbps] (for bond links enabled) relevant for the bond links option specify the max bitrate in kbps for the specific link backup (for bond links enabled) relevant for the bond links option select this checkbox to define the link as a backup the backup will be used only if the accumulated bandwidth of the non backup links is not sufficient stream id specify the unique stream id that the remote broadcaster expects password optional specify a string to be used at the receiving broadcaster to authenticate that the pushing zec is allowed to push this stream max latency \[ms] specify the buffer size that zec will keep for error correction for example, 6000 milliseconds would ensure that the stream is protected for six seconds of errors in the network default 4000 ignore tls certificate errors select this option when streaming to a trusted server that does not have a valid certificate when this option is selected, zec will ignore the tls certificate errors and transmit the stream to its destination stream thinning stream thinning on congestion gracefully reduces output frame rate for video transported by zixi protocol, under constrained network conditions without adding latency, preserving audio and key frames to keep streams continuous through congestion and failover enable encryption select this checkbox to encrypt the output stream encryption type (for encryption enabled) specify the type of encryption (aes 128/192/256) click generate to generate an encryption key or enter another encryption key advanced mode the fields discussed below are optional and available only in advanced mode to enter advanced mode add the url parameter ?advanced=1 to the zec url in your browser and press enter/return to reload the page note the advanced mode settings are generally intended for advanced users and special cases if you do not understand the settings, you should probably accept the default values general latency offset \[ms] specify the additional buffering time in milliseconds increasing this value can improve stream stability in unstable network conditions, but will increase end to end delay default 0 ms links local port specify from which local port to source the stream, if desired (instead of randomly chosen by the operating system) device output parameters must use by default, broadcaster auto detects dtls and uses it when available if it's not available, the stream falls back to clear/non dtls select this setting to fail the output (error) when dtls is not available stats history select this checkbox to record stream statistics specify the differentiated services code point (dscp) value for the stream this 6 bit value (ranging from 0 to 63) is embedded within the ip header of the network packets to classify the traffic type and define its priority level across the network routing infrastructure typical value for video transmission is 46 note that this is only a request, and whether it is honored depends on all devices in the path to be dscp capable in most cases, enabling arq and fec are more reliable ways of ensuring video delivery on congested networks if you would like to configure the maximum transmission unit (the largest data packet that a network connected device will accept) for pushing the stream, enter the mtu in bytes mtu packet filling time sets the maximum time the output will hold a packet, accumulating data toward the mtu, before sending it out regardless of whether it's full when the timer expires, the packet goes out partially filled the reason for setting this is that on slow network, waiting for data to fill packets to the mtu amount can increase the stream latency ecn lets a congested router mark a packet to signal congestion rather than dropping it the sender declares "i understand ecn" by marking its packets as ecn capable; a congested router along the path can then flip the bits to signal congestion without packet loss note that this is only a request that depends on all devices downstream being ecn capable in most cases, enabling arq and fec are more reliable ways of ensuring video delivery on congested networks high bitrate select this option to enable the broadcaster to handle streams up to 1gbps (e g , for jpegxs) use cached resolving allow enable arq to automatically detect lost or corrupted data packets and request their transmission options are remote configuration (default), on , and off \[kbps] specify a value in kbps to use the traffic shaping network management technique to control and optimize the flow of data use stochastic rate control fec max overhead % specify the percentage above the source bitrate to apply fec (default is 30%) \[ms] specify the number of milliseconds that zixi protects with a single fec block adaptive fec select to adjust fec latency adaptively in real time when enabled, fec protection is applied only when it's actually needed, not wasting fec bandwidth on clean networks alerts low bitrate threshold \[kbps] specify a bitrate at which an alert will created for low bitrate low bitrate duration \[sec] specify number of seconds for continuous low bitrates (the threshold defined above) before generating an alert disconnect on low bitrate whether to disconnect the stream when the bitrate falls below the threshold for the low bitrate duration defined above encoder feedback encoder address minimal bitrate \[kbps] maximal bitrate \[kbps] update interval \[ms] aggressiveness \[0 100] stream thinning enable automatic level manual level the error recovery techniques implemented in the zixi protocol are protected under u s patent 11,546,615