Adding Multiplex Streams
6 min
the multiplex input enables you to combine multiple spts streams into a single multiplex stream the mpts should have a target bitrate that is higher than the sum of all of the effective bitrates of the individual stps inputs included in the multiplex stream the process involves selecting multiple streams from the list of existing streams each input stream will become a program in the mpts stream you will need to name the program and can optionally specify a program number (by default, the first program number is 0) this program number will be assigned to the program in the newly created mpts, regardless of the original program number to avoid pid id conflicts between the pids in the source spts and the output mpts, it is recommended to set a base pid id number that is high enough the base pid will be the first number that is used to assign to the various pids in the stream when adding additional streams, make sure that the base pid number value of the additional stream is higher than 10 than the previous one (e g , 1000, 1011, etc ) to add a multiplex stream in the zixi broadcaster 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 zec 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 using the matrix docid\ bp6mo9f2qbxmu6gurkog4 ) 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 multiplex for the input stream new multiplex input select the drop inactive streams checkbox if you do not want to include in the mpts streams that are inactive in the target bitrate (kbps) field, specify the target bitrate for the multiplex stream in kbps the target bitrate number should be at least as high as the sum of all of the effective bitrates of the individual stps inputs included in the multiplex stream under inputs , click the + button and specify the following settings click the stream field to select the stps stream the selected stream will become a program in the mpts stream in the program name , enter a name for this program this overwrites any pre existing program name previously assigned to the stream in the program number field, enter a program number for the spts stream this overwrites any pre existing program number previously assigned to the stream in the base pid , enter a base pid number for the stps stream zixi will automatically assign new pid numbers for all pids in the spts stream with consecutive numbers following the base pid number based on this number (note that the lowest number allowed is 33 ) click the + again to add another stps stream and enter the relevant details each input’s base pid should be separated by an interval greater than 10 (e g , 1000, 1011, etc ) specify additional stream parameters (see input stream parameters table docid\ wqxj4baipjwwjyx6kmm8o ) if you want to specify billing codes to identify and differentiate traffic on a zixi broadcaster for billing purposes, select this checkbox (see input stream parameters table docid\ wqxj4baipjwwjyx6kmm8o ) if you want to enable time shift , select this checkbox ( see input stream parameters table docid\ wqxj4baipjwwjyx6kmm8o ) the stream will be recorded and broadcast after the specified delay the time shift feature is typically used to broadcast a live event across time zones (due to the time differences between locations) if you want to enable multicast on pull outputs , select this checkbox ( see input stream parameters table docid\ wqxj4baipjwwjyx6kmm8o ) you can encrypt the stream as it enters zixi broadcaster to encrypt the stream, select the enable encryption checkbox and fill in the parameters as described in the input stream parameters table docid\ wqxj4baipjwwjyx6kmm8o below for more information, see encrypting an input stream in zixi broadcaster docid\ v3ryrbn08r4cojwl wvoq if you want to configure the recording parameters , specify them in the respective fields ( see input stream parameters table docid\ wqxj4baipjwwjyx6kmm8o ) click ok the “input added” message appears at the top of the screen the multiplex stream is added to the zixi broadcaster and now appears in the list of streams available in the zixi broadcaster inputs ui the created mpts file is accessible in the file tab at the top of the zixi broadcaster administrative screen and can be added as a new file input stream in the add a new input stream window input stream parameters table parameter description stream parameters the general stream settings drop inactive streams select this checkbox if you do not want to include mpts streams that are inactive target bitrate \[kbps] specify the target bitrate for the multiplex stream the target bitrate number should be at least as high as the sum of all of the effective bitrates of the individual stps inputs included in the multiplex stream inputs click “ + ” to add a stream stream select a stream id from the drop down list program name enter a program name for the spts stream this overwrites any pre existing program name previously assigned to the stream program number enter a program number for the spts stream this overwrites any pre existing program number previously assigned to the stream base pid enter a base pid number for the stps stream zixi will automatically assign new pid numbers for all pids in the spts stream with consecutive numbers following the base pid number based on this number each input’s base pid should be separated by an interval greater than 10 note the lowest pid number that can be assigned is 33 after the new pid numbers are assigned, they should be saved for future use with the zixi api billing codes billing codes are used to identify and differentiate traffic on a zixi broadcaster for billing purposes when a billing code is added to a source or target, zixi can track the traffic on that broadcaster input or output separately from other inputs and outputs on the same broadcaster billing codes are created by zixi personnel on the zixi customer portal for a particular organization billing code enter the billing code that corresponds to this stream the relevant billing can be obtained from the organization that received the billing code from zixi billing password enter the password that corresponds to this billing code enable time shift select this checkbox to record the stream content and broadcast it after a specified delay to deploy an input stream that uses the current stream's time shift, you need to configure a "delayed" input stream, see adding delayed streams docid\ zp5ql 5kthhdphmrhddhe maximum delay \[hh\ mm\ ss] specify the time of the delayed transmission of this stream maximum 24 hours enable multicast on pull outputs select this checkbox to enable the transmission of this stream’s outputs as multicast a zixi receiver that will pull the stream will receive it in multicast by default, zixi broadcaster is configured to allow transparent fallback to unicast if it is out of the lan requires enabling multicast pull in the settings multicast only selecting this checkbox will force the transmission of this stream only in multicast 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 zixi broadcaster can only encrypt the stream after it has been decrypted if the stream is being encrypted by the zixi broadcaster 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 encrypting an input stream in zixi broadcaster docid\ v3ryrbn08r4cojwl wvoq 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 using an external storage docid\ z2amp6 fj7crckkfqrthq section record to s3 – the file is saved to your aws s3 bucket the mechanism uses aws multipart upload amazon advises defining a lifetime rule for objects in the destination 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 2017 recording15 32 35 ts max recorded file duration \[hours] specify the maximum time allotted for recording a video stream default 2 hours keep recorded files for \[hours] 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 2017 recording15 32 35 ts max recorded file duration \[hours] 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, zixi broadcaster 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 zixi broadcaster 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 scte 35 the most commonly used advanced settings are those which relate to scte markers support scte 35 injection select this if you want to be able to insert your own scte 35 messages for such purposes as inserting a preroll or ad break scte 35 pid you can specify a specific pid for scte 35 injection, or leave it at the default auto value remove old scte 35 packets if you are inserting new scte 35 messages, it's a good idea to remove any old ones, unless you know what they are and that they need to stay timeout for number of ms to wait for a null packet to insert scte 35 (keeps the stream cbr) latency offset latency offset is a configuration parameter that delays the processing of a transport stream by a defined amount of time (in milliseconds) this delay is not arbitrary—it serves specific operational goals scte 35 cue injection and pre roll support in broadcast workflows, scte 35 markers signal ad breaks or content insertion points by applying a latency offset, the system can inject scte 35 packets ahead of playback , ensuring accurate timing for ad insertion or blackout triggers this is critical for compliance and monetization workflows example zixi broadcaster introduced latency offset to enable scte 35 insertion after the offset for pre roll scenarios stream normalization and timeline alignment hls inputs often arrive with irregular timestamps (pcr, pts, dts) or discontinuities adding a latency offset gives the system time to buffer and normalize segments , repair timeline irregularities, and remultiplex into a stable mpeg ts output this prevents audio drift and switching errors downstream smooth buffering for burst handling when upstream encoders send data in bursts, latency offset combined with buffering helps maintain a steady flow into the broadcaster this avoids jitter and packet timing issues that could disrupt adaptive bitrate workflows

