Manual Chapter : Implementing Video Quality of Experience Functionality

Applies To:

Show Versions Show Versions

BIG-IP LTM

  • 12.1.6, 12.1.5, 12.1.4, 12.1.3, 12.1.2, 12.1.1, 12.1.0
Manual Chapter

Implementing Video Quality of Experience Functionality

Overview: Video Quality of Experience profile

The BIG-IP® system's video Quality of Experience (QoE) profile enables you to assess an audience's video session or overall video experience, providing an indication of customer satisfaction. The QoE profile uses static information, such as bitrate and duration of a video, and video metadata, such as URL and content type, in monitoring video streaming. Additionally, the QoE profile monitors dynamic information, which reflects the real-time network condition.

By considering both the static video parameters and the dynamic network information, the user experience can be assessed and defined in terms of a single mean opinion score (MOS) of the video session, and a level of customer satisfaction can be derived. QoE scores are logged in the ltm log file, located in /var/log, which you can evaluate as necessary.

Task summary

Creating an iRule to collect video Quality of Experience scores

You can create an iRule to use with a video Quality of Experience (QoE) profile that defines the QoE scores to collect.
  1. On the Main tab, click Local Traffic > iRules .
    The iRule List screen opens, displaying any existing iRules.
  2. Click Create.
    The New iRule screen opens.
  3. In the Name field, type a name, such as my_irule.
    The full path name of the iRule cannot exceed 255 characters.
  4. In the Definition field, type the syntax for the iRule using Tool Command Language (Tcl) syntax.
    For complete and detailed information about iRules syntax, see the F5 Networks DevCentral web site (http://devcentral.f5.com).
    For example, the following iRule saves Content-Type to session DB with a 600-second lifetime.
    …
    when HTTP_REQUEST {
       set LogString "Client [IP::client_addr]:[TCP::client_port] -> 
       [HTTP::host][HTTP::uri]"
       set x_playback_session_id [HTTP::header "X-Playback-Session-Id"]
    }
    
    when HTTP_RESPONSE {
       set content_type [HTTP::header "Content-Type"]
    }
    
    when CLIENT_CLOSED {  
       catch {
          if { ($content_type contains "video") && 
             ([QOE::video available] == 1) } {
             set qoe_params [list available width height duration nominal_bitrate 
             average_bitrate freeze_period freeze_frequency mos] 
             foreach param $qoe_params {
                set value [QOE::video $param]
                append params "$param=$value "
             }
             if {[string length $x_playback_session_id]}{ 
                log local0. "$LogString X-Playback-Session-Id:
                $x_playback_session_id QOE::video $params"
             } else {
                log local0. "$LogString QOE::video $params"
             }
          } 
       }
    }
  5. Click Finished.
    The new iRule appears in the list of iRules on the system.
There is now an available iRule to use with a QoE profile that collects specified QoE scores.

Creating an iRule to collect static information about video files

You can create an iRule to collect static information specific to video files, primarily for use with Policy Enforcement Manager™ (PEM).
  1. On the Main tab, click Local Traffic > iRules .
    The iRule List screen opens, displaying any existing iRules.
  2. Click Create.
    The New iRule screen opens.
  3. In the Name field, type a name, such as my_irule.
    The full path name of the iRule cannot exceed 255 characters.
  4. In the Definition field, type the syntax for the iRule using Tool Command Language (Tcl) syntax.
    For complete and detailed information iRules syntax, see the F5 Networks DevCentral web site (http://devcentral.f5.com).
    For example, the following iRule collects static information specific to video files.
    when QOE_PARSE_DONE {           
      set w [QOE::video width]           
      set h [QOE::video height]           
      set d [QOE::video duration]           
      set b [QOE::video nominal_bitrate]           
      log local0. "QOE_PARSE_DONE_ENABLED: width=$w height=$h 
      bitrate=$b duration=$d"  
    }
  5. Click Finished.
    The new iRule appears in the list of iRules on the system.
There is now an iRule available to collect static information specific to video files.

Creating a video Quality of Experience profile

You can use the Traffic Management shell (tmsh) to create a video Quality of Experience (QoE) profile to use with Policy Enforcement Manager™ (PEM™) or Application Acceleration Manager™ (AAM™) and determine a customer's video Quality of Experience.
  1. Log in to the command-line interface of the system using the root account.
  2. Open the Traffic Management Shell (tmsh).
    tmsh
  3. Create a video QoE profile.
    create ltm profile qoe qoe_profile_name video true
This creates the video QoE profile.

Creating a pool

You can create a pool of servers that you can group together to receive and process traffic.
  1. On the Main tab, click Local Traffic > Pools .
    The Pool List screen opens.
  2. Click Create.
    The New Pool screen opens.
  3. In the Name field, type a unique name for the pool.
  4. Using the New Members setting, add each resource that you want to include in the pool:
    1. (Optional) In the Node Name field, type a name for the node portion of the pool member.
    2. In the Address field, type an IP address.
    3. In the Service Port field, type a port number, or select a service name from the list.
    4. (Optional) In the Priority field, type a priority number.
    5. Click Add.
  5. Click Finished.
  6. Repeat these steps for each pool you want to create.
The new pool appears in the Pools list.

Creating a video Quality of Experience virtual server

Before creating a video Quality of Experience (QoE) virtual server, you need to have created and configured a video QoE profile.
You can assign video QoE profile to a virtual server.
  1. On the Main tab, click Local Traffic > Virtual Servers .
    The Virtual Server List screen opens.
  2. Click the Create button.
    The New Virtual Server screen opens.
  3. From the HTTP Profile list, select http.
  4. In the Resources area, for the iRules setting, from the Available list, select the name of the iRule that you want to assign, and move the name into the Enabled list.
  5. In the Resources area of the screen, from the Default Pool list, select the relevant pool name.
  6. Click Finished.
  7. Log in to the command-line interface of the system using the root account.
  8. Open the Traffic Management Shell (tmsh).
    tmsh
  9. Assign the video QoE profile to the virtual server.
    modify virtual_server_name profile add qoe_profile_name
This assigns the video QoE profile and iRules to the virtual server.