Media Flow Controller Overview : Media Flow Controller Functions : Virtual Player

Virtual Player
Media Flow Controller provides a virtual player function that assists in media viewing optimization. You can create any number of virtual players; they are utilized when assigned to a namespace. Namespaces that are not assigned a virtual-player use the values set under network connection for the same functions. Virtual players let you implement custom delivery policies. There are five types of virtual players, described in this section. Type generic has a super-set of delivery options including hash verification of data; Type break has a subset of Type 0 delivery options, Type qss-streamlet lets you create an assured flow rate map to apply different delivery rates per URI; Type yahoo provides a subset of delivery options plus special health and hash verification options; Type smoothflow provides SmoothFlow options and is required for SmoothFlow delivery; Type youtube provides a subset of delivery options and YouTube-specific options.
Type generic
The type generic (formerly type 0) virtual player provides options for nearly all virtual player functions.
assured-flow—Assure that content is delivered at the specified rate (AFR), but no more than the set connection max-bandwidth. AFR is defined in a kilobits per second rate, auto (auto-calculate), or signaled with a query param.
connection max-bandwidth—Maximum allowable bandwidth for a session. The actual session bandwidth used does not exceed this value, even if there is available bandwidth in the link. When it is a full download, Media Flow Controller tries to allocate this value to the session.
fast-start—Deliver the 1st set of kilobytes at either the configured maximum session speed or the detected available bandwidth; or by a value determined by one of the fast-start options: either a static size value, a static time value, or a query-string-parm name.
full-downloadAllow the delivery to download at the fastest possible speed, up to the set connection max-bandwidth and possibly exceeding the set assured-flow rate.
hash-verify—Verify the authorization hash value specified in the URL query string.
seek—Implement seek (currently only for FLV media files) based on the value of query-string-parm. This function allows the client player to seek a specific part of the media content; for example, to jump ahead a few minutes or go back a few minutes in the video.
Type break
The type break (formerly type 1) virtual player offers a subset of Media Flow Controller delivery options: assured-flow, connection max-bandwidth, fast-start, hash-verify, and seek options (see Type generic for details).
Type qss-streamlet
The type qss-streamlet (formerly type 2) virtual player includes connection max-bandwidth (see Type generic for details) and AssuredFlow via a special rate-map attribute. The rate-map rate argument extracts the value from the URL to calculate the assured flow rate needed for each HTTP request. By default, the match string (length must be 2 bytes) is extracted by going to the end of the URL and skipping 12 Bytes from the end. The value in that location is mapped to the configured rate in kbps. Example:
http://video.example.com/public/BBB87026/xy_750_1938344/AC60E15B2A7C4A45AC4C1472E2AC0816_030000003F.flv
In the URL above, the value 03 (12 Bytes from the end of the URL) is extracted, and the corresponding assured flow rate (1000Kbps) is applied.
Type yahoo
The type yahoo (formerly type 3) virtual player includes assured-flow, connection max-bandwidth, and seek options (see Type generic for details) as well as these special options:
health-probe—Configure an external server to do health checks by making Media Flow Controller fetch data from origin and play it to the server initiating the health check. The signal that a given HTTP request is for a health probe is the health-probe query-string-parm name. If that name value matches the following <string> value, the GET request is treated as a health probe. When servicing health probes, Media Flow Controller does not cache the data into disk or in buffer. Use virtual player <name> type 3 no health-probe to disable.
req-auth—Compute MD-5 hash of query string parameters representing stream-id, auth-id, a configured shared-secret, and time-interval; and match the computed value with the specified match query-string-parm <string>. The HTTP GET proceeds if the computed MD-5 hash matches; if there is no match, the session is rejected. Use virtual player <name> type 3 no req-auth to disable.
Type smoothflow
The type smoothflow (formerly type 4) virtual player configures SmoothFlow. It is a requirement of SmoothFlow that this virtual player be configured and used through a configured namespace. The Type 4 virtual player includes connection max-bandwidth, hash-verify, and seek options (see Type generic for details) as well as these special options:
control-point—Specify either server or player for smooth flow signaling. If server, then Media Flow Controller detects the bandwidth variations at the client side and adjusts the bit-rate of the video accordingly. If player, then the player at the client side explicitly signals the bandwidth changes and Media Flow Controller adjusts the bit-rate of the video accordingly.
signals—Set triggers for delivery functions; use virtual player <name> type 4 no signals to disable.
session-id query-string-parm—Specify a query-string-parm name to set the session ID; default is sid. Session ID is the way you bind the control session that signals the bandwidth change with the data channel.
state query-string-parm—Specify a query-string-parm name to set SmoothFlow state; default is sf. The values this query param take signal various function calls to SmoothFlow.
profile query-string-parm—Specify a query param name to set the media bit?rate profile; default is pf.
Type youtube
The type youtube (formerly type 5) virtual player is designed for YouTube and offers a subset of Media Flow Controller delivery options: assured-flow, connection max-bandwidth, fast-start, seek (see Type generic for details), and YouTube-specific options for identifying the requested video, video-id, and its format, format-tag.
Type smoothstream-pub
The type smoothstream-pub virtual player is supports Smoothstream functionality for Internet Information Se4rvices (IIS) for Windows® Server.
Encoding Schemes
Media Flow Controller supports the formats and encoding schemes shown in Table 5.

Report an Error
Media Flow Controller Administrator's Guide and CLI Command Reference
Copyright © 2010 Juniper Networks, Inc.