RTMP Ingest/ HD Flash 1.0 Output
play() method of
HDCore's HDNetStream accepts two types of objects.
These are different from standard RTMP URIs.
String inputs can be pathnames to either a single stream resource, or a .smil file describing a multiple-bit-rate asset.
Here, the domain is a Media Services Live-controlled Edge domain, and the
stream name is
event_angle_bitrate@xxxxx. The xxxxx is a unique numeric ID assigned by Media Services Live: Stream Packaging
when the live stream name is configured in Control Center.
A String input might also represent a path to a .smil resource. This resource can reside on any web server, not necessarily a Media Services Live: Stream Packaging one. It can also be a relative path to a resource. Valid examples would be:
SMIL files used for Media Services Live: Stream Packaging are a subset of the full SMIL standard. The following example shows a sample SMIL file:
<?xml version="1.0"?> <!DOCTYPE smil PUBLIC "-//W3C//DTD SMIL 2.0//EN" "http://www.w3.org/2001/SMIL20/SMIL20.dtd"> <smil xmlns="http://www.w3.org/2001/SMIL20/Language"> <head> <meta name="title" content="Trailer" /> <meta name="httpBase" content="http://myserver.akamai.com/" /> </head> <body> <switch id="Trailer"> <video src="video_h264_3500@14411" system-bitrate="3500000"/> <video src="video_h264_2500@14411" system-bitrate="2500000"/> <video src="video_h264_1500@14411" system-bitrate="1500000"/> <video src="video_h264_700@14411" system-bitrate="700000"/> <video src="video_h264_300@14411" system-bitrate="300000"/> </switch> </body> </smil>Note: You must deliver your SMIL file through a regular HTTP configuration on your account. This is because Media Services Live: Stream Packaging for the RTMP Ingest/ HDS output configuration has advanced coding that is optimized for delivery of HD Flash 1.0 streaming, which makes it incompatible with SMIL file delivery.
httpBasemetatag that defines the Edge domain over which the content is delivered. The
switchelement contains a list of
videoelements, each defined by its
srcattribute, which holds the stream name and the system bit rate, which holds the total bit rate (video bit rate + audio bit rate).
For live events, the streams must have a name structure that is
- a represents the event,
- b represents the angle,
- c represents something that
changes for each rendition, usually the bit rate.
These names originated from webcasting live multiple-camera sporting events.
For MBR packages, to switch smoothly between the renditions, the
event_angleportion of the name must be consistent between each rendition. In the example above, this is
video_h264. If this section of the stream name differs between the renditions, then you cannot switch smoothly between them. The
event_angle_bitratenaming scheme does not literally need to hold those values. These stream names are all valid combinations:
This is an interface that defines a collection of renditions of the same piece of content at different bitrates. It represents a package of files whose class might switch as bandwidth conditions change.
The HDMBRObject implements IMBRObject and bundles an array representing the stream names and their bitrates and more stream specific details.