2.2.7 Live Ingest

The LiveIngest field and related fields contain data that is required to request the start of a live broadcast.

LiveIngestRequest (variable): The URI [RFC2396] to which the LiveIngestRequest field is sent.

Identifier (variable): A unique URISAFE-IDENTIFIER that enables the server to differentiate between different streams. Each identifier can have at most one active connection.

EventID (variable): An optional identifier that enables the reuse of URLs without collision due to downstream cache pollution. Publishing streams that have different event names to the same published URL simultaneously is an error. All encoders MUST use the same EventID identifier, either blank or a string. The default value is the empty string.

StreamID (variable): A unique identifier that is used to collate fragments in the case of encoder failover. It allows separate encoder nodes to POST to separate URLs, but multiple active connection URLs that have the same StreamID identifier can be used for redundancy. In that case, the server will filter out duplicated or out-of-order fragments. This identifier is commonly used to distinguish between video quality (for example, "Streams(1080p)", "Streams(720p)", "Streams(480p)").

The syntax of the fields that are defined in this section, specified in ABNF [RFC5234], is as follows.

 LiveIngestRequest = Protocol "://" BroadcastURL Identifier
 Protocol = "http" / "https"
 BroadcastURL = ServerAddress "/" PresentationPath 
 ServerAddress = URISAFE-IDENTIFIER
 PresentationPath = URISAFE-IDENTIFIER ".isml"
 Identifier = [EventID ] StreamID
 EventID = "/Events(" URISAFE-IDENTIFIER ")"
 StreamID = "/Streams(" URISAFE-IDENTIFIER ")"

LiveIngestMessage (variable): The structure of the long-running POST operation requests that are sent from the encoder to the LiveIngestRequest field.

The syntax of the fields that are defined in this section, specified in ABNF [RFC5234], is as follows.

 LiveIngestMessage = FileType [StreamManifest] LiveServerManifest MoovBox *1Fragment