ZEC Adding RIST Streams
5 min
this enables the zec to receive an rist stream rist seeks to provide reliable, high performance media transport by using udp at the transport layer to avoid the inefficiencies of tcp, then layering on top forward error correction and retransmits to add the reliability inherently absent from udp zec supports rist streams from any compliant rist device zixi supports the following rist profiles simple profile – the rist simple profile provides best in class packet protection, as well as support for multi link bonding and seamless switching main profile – the rist main profile builds upon the features of the simple profile to provide backwards compatibility, while opening the door for additional features, including the use of industry standard dtls with a variety of available cyphers to ensure the most up to date protection, while being flexible to accommodate local legal regulations support for pre shared keys is also included, which makes rist main profile compatible with one to many environments such as satellite or multicast distribution contact your zixi representative to learn more about interoperability testing between zec and 3rd party devices more details about rist can be found at www rist tv http //www rist tv/ to add a rist stream in the zec navigation menu, click the inputs tab in the menu bar, click new input the add a new input stream window is displayed enter the unique stream id note this must be identical (case sensitive) to the stream name configured in the sending zixi broadcaster or mediaconnect select the maximum concurrent connections to this stream from the max outputs drop down list default unlimited 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 input select the analyze checkbox if you would like to enable stream analysis for the input select rist for the input stream options will vary depending on whether you select the main profile or the simple profile simple profile main profile > push main profile > pull specify the stream parameters (see the input stream parameters table docid\ ra5 syzb5mvqa5l1qiv3d below) if you want to enable encryption , select this checkbox (see input stream parameters table docid\ ra5 syzb5mvqa5l1qiv3d ) for more information, see zec encrypting an input stream docid\ qern0zffbaztl vrw4rn if you want to configure the recording parameters , specify them in the respective fields (see input stream parameters table docid\ ra5 syzb5mvqa5l1qiv3d ) click ok the “input added” message appears at the top of the screen the rist stream is added to zec and now appears in the list of streams available in the zec inputs ui input stream parameters table parameter description stream parameters profile select one of the following rist profiles that matches the input stream simple profile (default) main profile simple profile parameters local port specify the port to listen on this port must be open on all firewalls between the zec and other devices it is communicating with multicast ip if multicast, type the multicast ip address (or leave blank in the case of unicast) ssm source ip specify the source ip for a source specific multicast remote port specify the remote port in the source rist device default 0 (any port) type select one of the following protocol types from the drop down list rtp rtp + smpte 2022 fec bind to ip select from the drop down list the local ip address to be used for this input, or select any to enable any ip to be used max bitrate \[kbps] specify the maximum expected bitrate for memory allocation recommended 2x the actual bitrate, which will prevent buffer overruns (especially with vbr streams) default 8000 note – overflows will typically occur when the max bitrate isn’t sufficient max latency \[ms] specify the maximum latency of the stream in milliseconds default 1000 dejitter buffer \[ms] a buffer size used to de jitter rtp and udp inputs for rtp, packet timing is fixed according to packet arrival times and rtp timestamps for udp, dejittering is only based on arrival times default 0 assuming that the timestamps in the rtp are accurate, this feature is helpful when the encoder generates an accurate timestamp on the stream, but the arrival is jittery/bursty in case of jitter, specify a higher value than the rtp input jitter to view the jitter level of the input stream, create the input and select it on the inputs screen; the jitter metric will be displayed in the stats pane at the bottom of the screen main profile parameters type select the radio button for the stream type options are push pull main profile – push parameters local port specify the port to listen on this port must be open on all firewalls between the zec and other devices it is communicating with multicast ip if multicast, type the multicast ip address (or leave blank in the case of unicast) ssm source specify the source ip for a source specific multicast remote port specify the remote port in the source rist device default 0 (any port) type select one of the following protocol types from the drop down list rtp rtp + smpte 2022 fec bind to ip select from the drop down list the local ip address to be used for this input, or select any to enable any ip to be used max bitrate \[kbps] specify the maximum expected bitrate for memory allocation recommended 2x the actual bitrate, which will prevent buffer overruns (especially with vbr streams) default 8000 note – overflows will typically occur when the max bitrate isn’t sufficient max latency \[ms] specify the maximum latency of the stream in milliseconds default 1000 use dtls select this checkbox to encrypt the stream dynamically using dtls user enter the authentication credentials password enter the authentication credentials dejitter buffer \[ms] a buffer size used to de jitter rtp and udp inputs for rtp, packet timing is fixed according to packet arrival times and rtp timestamps for udp, dejittering is only based on arrival times default 0 assuming that the timestamps in the rtp are accurate, this feature is helpful when the encoder generates an accurate timestamp on the stream, but the arrival is jittery/bursty in case of jitter, specify a higher value than the rtp input jitter to view the jitter level of the input stream, create the input and select it on the inputs screen; the jitter metric will be displayed in the stats pane at the bottom of the screen main profile – pul l parameters remote host specify the ip address of the remote rist device from which the stream will be pulled remote port specify the port of the remote rist device from which the stream will be pulled default 0 (any port) local port specify the local port to which the stream will be pulled default 0 (any port) type select one of the following protocol types from the drop down list rtp rtp + smpte 2022 fec bind to ip select from the drop down list the local ip address to be used for this input, or select any to enable any ip to be used max bitrate \[kbps] specify the maximum expected bitrate for memory allocation recommended 2x the actual bitrate, which will prevent buffer overruns (especially with vbr streams) default 8000 note – overflows will typically occur when the max bitrate isn’t sufficient max latency \[ms] specify the maximum latency of the stream in milliseconds default 1000 use dtls select this checkbox to encrypt the stream dynamically using dtls ignore tls certificate errors when this option is selected, zec will ignore the tls certificate errors and transmit the stream to its destination user enter the authentication credentials password enter the authentication credentials dejitter buffer \[ms] a buffer size used to de jitter rtp and udp inputs for rtp, packet timing is fixed according to packet arrival times and rtp timestamps for udp, dejittering is only based on arrival times default 0 assuming that the timestamps in the rtp are accurate, this feature is helpful when the encoder generates an accurate timestamp on the stream, but the arrival is jittery/bursty in case of jitter, specify a higher value than the rtp input jitter to view the jitter level of the input stream, create the input and select it on the inputs screen; the jitter metric will be displayed in the stats pane at the bottom of the screen enable encryption select this checkbox to encrypt the input stream the stream encryption prevents any further processing, such as analysis, transcoding, etc the encryption works in the following way if the stream has been encrypted at the source the stream will remain encrypted regardless of the output type zec can only encrypt the stream after it has been decrypted if the stream is being encrypted by the zec it will be encrypted only if the output is a zixi pull or zixi push output all other outputs will send out an unencrypted stream for more information, see zec encrypting an input stream docid\ qern0zffbaztl vrw4rn encryption type (for encryption enabled) specify the type of encryption (aes 128/192/256) encryption key (for encryption enabled) click generate to generate an encryption key the generated encryption key must be sent to the end user to decipher the received encoded stream recording parameters select this checkbox to customize the recording parameters destination type select the radio button for the desired storage type and then fill in the relevant parameters record to disk – the recording is saved on the local disk it is possible to record to an external destination by replacing the default storage location with a symbolic link to learn more, see the zec using an external storage docid\ va00gdlmr u7oiykgklnx section record to s3 – the file is saved to your aws s3 bucket record to disk parameters file name template specify the file name pattern that zixi will use to generate when saving the recorded content a separate file will be generated for each recording up to the time specified in the max recorded file duration parameter (see above) after this duration, a new file will be generated the file name pattern can include any string and up to five variables listed below only the %t=hh mm ss creation time is mandatory you can change the order of these variables and add text as long as you maintain the legitimate structure of the file in linux and windows %s=stream id optional %y=year optional %m=month optional %d=day optional %t=hh mm ss creation time mandatory %u=yyyymmddthhmmssz utc timestamp – optional for example, the following pattern %y recording%t ts will generate the following file name 2022 recording15 32 35 ts max recorded file duration \[hh\ mm] specify the maximum time allotted for recording a video stream default 2 hours keep recorded files for \[hh\ mm] specify the maximum time for storing the recording default 0 hours custom path optionally specify a storage location for the recorded files that is relative to the root folder this location bypasses the location specified as the root folder in the settings > general screen record to s3 parameters file name template specify the file name pattern that zixi will use to generate when saving the recorded content a separate file will be generated for each recording up to the time specified in the max recorded file duration parameter (see above) after this duration, a new file will be generated the file name pattern can include any string and up to five variables listed below only the %t=hh mm ss creation time is mandatory you can change the order of these variables and add text as long as you maintain the legitimate structure of the file in linux and windows %s=stream id optional %y=year optional %m=month optional %d=day optional %t=hh mm ss creation time mandatory %u=yyyymmddthhmmssz utc timestamp – optional for example, the following pattern %y recording%t ts will generate the following file name 2022 recording15 32 35 ts max recorded file duration \[hh\ mm] specify the maximum time allotted for recording a video stream default 2 hours url specify the url of the s3 bucket ignore tls certificate errors tls certificate for s3 bucket might be detected as faulty if bucket name contains dot\[s] when this option is selected, zec will ignore the tls certificate errors and transmit the stream to its destination access key the access key that is used for accessing the s3 bucket secret key the secret key that is used for accessing the s3 bucket 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 inject metadata allows zixi create a pid that carries information about what hops a feed has travelled through on the way to its destination, it includes things like cc errors and iat at each hop the information is useful for debugging issues with streams support injection select this checkbox if you would like the stream to support scte 35 insertion scte 35 pid enter a pid number for scte 35 injection you can enter a value manually or use the up/down arrows that appear when clicking the field (or leave as auto to match existing scte 35 pid) remove old scte 35 packets if scte 35 injection is supported, select this checkbox to clear out existing packets timeout for time in ms to wait for a null packet to inject scte 35 into stream parameters bind to nic select from the drop down list the cidr that represents the ip range where the desired nic is accessed internal target ip specifies the destination ip address used inside the rist tunnel by default, this is automatically derived from the external connection settings, but it can be manually configured to match the requirements of specific third party devices or workflows internal target port specifies the destination port used inside the rist tunnel this value typically mirrors the external port configuration, but can be overridden when interoperability with other vendors or predefined port mappings is required internal source ip specifies the source ip address used for the internal rist channel in most cases, this is automatically aligned with the external connection, but can be manually set to comply with specific network or vendor requirements internal source port specifies the source port used for the internal rist channel this parameter is optional and is primarily used in scenarios where fixed or predefined port configurations are required by the receiving system reduced headers enables the use of a reduced header format for rist packets this mode minimizes header overhead to improve efficiency, but requires that both sender and receiver support the reduced header format when enabled, the internal and external addressing must be identical because not all rist main profile receivers support this feature, it is configurable and disabled by default if you would like to configure the maximum transmission unit (the largest data packet that a network connected device will accept) for pulling the stream, enter the mtu in bytes in the mtu field dejittering clock source select which mechanism should be used in the calculation of the jitter arrival times rtp timestamps compression enables bandwidth optimization by replacing null packets with signaling information embedded in packet headers this reduces the overall bitrate without affecting content integrity since not all receivers support this compression method, it is optional the system can receive compressed streams, but will only transmit compressed data when this option is explicitly enabled fast connect enables faster session establishment by reducing the time required to initiate the rist connection this is useful in environments where rapid recovery or quick stream startup is required support for this feature may vary depending on the receiving endpoint

