Configuring Video Optimization over TCP
To optimize video traffic over TCP, begin by enabling the video optimization feature. The appliance then activates the built-in detection policies to detect the incoming video traffic and identify the type of video. User configurable optimization policies for each video type specify the optimization bit rate needed for optimizing the traffic.
Configuring Video Optimization over TCP by using the CLI
To configure video optimization on a Citrix ADC appliance, you perform the following tasks:
- Enable the video optimization feature.
- Add virtual servers for HTTP and HTTPS traffic.
- Bind all the built-in detection policies to a load balancing virtual server for HTTP traffic.
- Bind all the built-in detection policies to an SSL-bridge load balancing virtual server for HTTPS traffic.
- Add the desired optimization policies for HTTP and HTTPS traffic.
- Bind optimization policies to a load balancing virtual server for HTTP Traffic.
- Bind optimization policies to an SSL-bridge load balancing virtual server for HTTPS traffic.
Enabling Video Optimization
If you want the Citrix ADC appliance to detect, optimize, and report video traffic, you must enable the Video Optimization feature and set optimization to ON. After enabling the feature you can use built-in detection policies to identify the incoming video traffic, and you can configure optimization policies to optimize encrypted ABR traffic. To optimize ABR video traffic, you must configure the download bit rate (also called the pacing rate).
You must also enable the load balancing feature, and if you want to use video optimization for HTTPS traffic you must enable the SSL feature.
To enable the video optimization feature
At the command prompt, type the following command:
enable ns feature VideoOptimization
<!--NeedCopy-->
Note
If you want to monitor the video optimization performance and video insight reports you must enable the AppFlow feature and then access the Video Analytics feature on Citrix Application Delivery Management (ADM). For more information, see Video Insight documentation.
Creating Virtual Servers for HTTP and HTTPS Video Traffic
A Citrix ADC appliance uses different virtual servers for detecting and optimizing the different types of incoming video traffic. The appliance supports the following types of virtual servers for TCP traffic.
- HTTP Load Balancing virtual server. For detecting HTTP video traffic, the appliance uses an HTTP load balancing virtual server. It manages HTTP video requests that the appliance receives from clients.
- SSL-Bridge Load Balancing virtual server. To detect encrypted video traffic, you must configure an SSL bridge virtual server on the appliance.
To add an HTTP Load Balancing virtual server for detecting HTTP video traffic
At the command prompt, type the following:
add lb vserver <name> HTTP * 80 -persistenceType NONE
<!--NeedCopy-->
Example:
add lb vserver ProxyVserver-HTTP HTTP * 80 -persistenceType NONE -cltTimeout 120
<!--NeedCopy-->
To add an SSL Bridge virtual server for detecting HTTPS video traffic
At the command prompt, type the following:
add lb vserver <name> SSL_BRIDGE * 443 -persistenceType NONE
<!--NeedCopy-->
Example:
add lb vserver ProxyVserver-SSL SSL_BRIDGE * 443 -persistenceType NONE -cltTimeout 180
<!--NeedCopy-->
Binding Built-In Detection Policies to an HTTP Load Balancing Virtual Server
To detect video traffic over an HTTP connection, you must bind all the built-in detection policies to a load balancing virtual server. You must bind the policies to either request-time or response-time processing, depending on the policy type.
Note:
The
ns_videoopt_http_body_detection
video optimization policy does not support theCONNECT
HTTP request method.
To bind detection policies for different video types to an HTTP load balancing virtual server
At the command prompt, type the appropriate command for each type. The available commands are:
bind lb vserver <name> -policyName ns_videoopt_http_abr_netflix -priority <integer> -type (REQUEST | RESPONSE)
bind lb vserver <name> -policyName ns_videoopt_http_abr_netflix2 -priority <integer> -type (REQUEST | RESPONSE)
bind lb vserver <name> -policyName ns_videoopt_http_abr_youtube -priority <integer> -type (REQUEST | RESPONSE)
bind lb vserver <name> -policyName ns_videoopt_http_pd_youtube -priority <integer> -type (REQUEST | RESPONSE)
bind lb vserver <name> -policyName ns_videoopt_http_pd_youtube2 -priority <integer> -type (REQUEST | RESPONSE)
bind lb vserver <name> -policyName ns_videoopt_http_pd_youtube3 -priority <integer> -type (REQUEST | RESPONSE)
bind lb vserver <name> -policyName ns_videoopt_http_abr_generic -priority <integer> -type (REQUEST | RESPONSE)
<!--NeedCopy-->
Example:
bind lb vserver ProxyVserver-HTTP -policyName ns_videoopt_http_abr_netflix -priority 400 type RESPONSE
bind lb vserver ProxyVserver-HTTP -policyName ns_videoopt_http_abr_netflix2 -priority 500 -type RESPONSE
bind lb vserver ProxyVserver-HTTP -policyName ns_videoopt_http_abr_youtube -priority 600 -type RESPONSE
bind lb vserver ProxyVserver-HTTP -policyName ns_videoopt_http_pd_youtube -priority 800 -type RESPONSE
bind lb vserver ProxyVserver-HTTP -policyName ns_videoopt_http_pd_youtube2 -priority 900 -type RESPONSE
bind lb vserver ProxyVserver-HTTP -policyName ns_videoopt_http_pd_youtube3 -priority 1000 -type REQUEST
bind lb vserver ProxyVserver-HTTP -policyName ns_videoopt_http_abr_generic -priority 1100 -type RESPONSE
<!--NeedCopy-->
Binding the HTTP Body Content Detection Policy to Load Balancing Virtual Server
To detect video traffic over HTTP, you must bind the body content detection policy to the load balancing virtual server. You can use the following command:
bind lb vserver <name> -policyName ns_videoopt_http_body_detection -priority <integer> -type (REQUEST | RESPONSE)
<!--NeedCopy-->
Example:
bind lb vserver ProxyVserver-HTTP -policyName ns_videoopt_http_body_detection -priority 1500 -type REQUEST
<!--NeedCopy-->
Binding Built-In Detection Policies to an SSL-Bridge Load Balancing Virtual Server
To detect video traffic over an HTTPS connection, you must bind built-in detection policies to an SSL Bridge load balancing virtual server.
To bind a detection policy to an SSL bridge load balancing virtual server
At the command prompt, type the appropriate command for each type. The available commands are:
bind lb vserver <name> -policyName ns_videoopt_https_abr_netflix -priority <positive_integer> -type (REQUEST | RESPONSE)
bind lb vserver <name> -policyName ns_videoopt_https_abr_youtube -priority <positive_integer> -type (REQUEST | RESPONSE)
bind lb vserver <name> -policyName ns_videoopt_https_abr_generic -priority <positive_integer> -type (REQUEST | RESPONSE)
<!--NeedCopy-->
Example:
bind lb vserver ProxyVserver-SSL -policyName ns_videoopt_https_abr_netflix -priority 120 -type REQUEST
bind lb vserver ProxyVserver-SSL -policyName ns_videoopt_https_abr_youtube -priority 140 -type REQUEST
bind lb vserver ProxyVserver-SSL -policyName ns_videoopt_https_abr_generic -priority 150 -type REQUEST
<!--NeedCopy-->
Adding Optimization Policies for Pacing ABR traffic
To optimize ABR traffic, you have to configure optimization policies and the associated actions. You then bind the policies to the same load balancing virtual servers to which you bound the detection policies. For each policy, create the action first, so that you can include it when you create the policy.
To add an optimization action
At the command prompt, type:
add videooptimization pacingaction <action Name> -rate <integer> [-comment <string>]
<!--NeedCopy-->
Where the rate parameter specifies the rate in Kbps at which to send the traffic (the pacing rate).
Example:
add videooptimization pacingaction MyOptAct2000 -rate 2000
<!--NeedCopy-->
To add an optimization policy
At the command prompt, type:
add videooptimization pacingpolicy <name> -rule <expression> -action <string>
<!--NeedCopy-->
Example:
add videooptimization pacingpolicy myOptPolicy2000 -rule TRUE -action MyOptAct2000
<!--NeedCopy-->
Binding Optimization Policies to an HTTP Load Balancing Virtual Server
To optimize ABR video traffic over an HTTP connection, you must bind the optimization policies to a load balancing virtual server to which the detection policies are bound.
To bind an optimization policy to a Load Balancing virtual server
At the command prompt, type the following command:
bind lb vserver <name> -policyName <policy_name> -priority <positive_integer> -type (REQUEST | RESPONSE)
<!--NeedCopy-->
Example:
bind lb vserver ProxyVserver-HTTP -policyName myOptPolicy2000 -priority 3400 -type REQUEST
<!--NeedCopy-->
Binding Optimization Policies to SSL-bridge Virtual Servers
To optimize ABR video traffic over an HTTPS connection, you must bind the optimization policies to the SSL Bridge virtual server to which the built-in detection policies are bound.
To bind an optimization policy to SSL Bridge virtual server for pacing encrypted traffic
At the command prompt, type the following command:
bind lb vserver <name> -policyName <policy_name> -priority <positive_integer> -type (REQUEST |RESPONSE)
<!--NeedCopy-->
Example:
bind lb vserver ProxyVserver-SSL -policyName myOptPolicy2000 -priority 3400 -type REQUEST
<!--NeedCopy-->
Setting video optimization pacing parameters
The CLI enables you to set the video optimization pacing parameters, such as random sampling percentage.
To set the random sampling percentage
At the command prompt, type the following command:
set videooptimization parameter –RandomSamplingPercentage <realNumber>
<!--NeedCopy-->
Where, realNumber is a value from 0.0 to 100.0.
Example:
set videooptimization parameter -RandomSamplingPercentage 50
<!--NeedCopy-->
Configuring Video Optimization over TCP by using the GUI
The GUI enables you to:
- Enable video optimization feature.
- Create HTTP load balancing virtual server.
- Create SSL-bridge load balancing virtual server.
- Bind built-in detection policies to HTTP load balancing virtual server.
- Bind built-in detection policies to SSL-bridge load balancing virtual server.
- Create an optimization policy.
- Create an optimization action.
- Configuring optimization pacing parameter.
- Bind an optimization policy to load balancing virtual server for HTTP traffic.
- Bind an optimization policy to SSL-bridge load balancing virtual server for HTTPS traffic.
To enable video optimization feature
- In the navigation pane, expand System, and then click Settings.
- On the Settings page, click the Configure Advanced Features link.
- On the Configure Advanced Features page, select the Video Optimization check box.
- Click OK, and then click Close.
To create load balancing virtual server for HTTP traffic
- Sign in to the Citrix ADC appliance and navigate to the Traffic Management > Load Balancing > Virtual Servers page.
- In the details pane, click Add.
- On the Load Balancing Virtual Server screen, set the following parameters:
- Name. Name of the load balancing virtual server.
- Protocol. Select protocol type as HTTP
- IP Address Type. IP address type: IPv4 or IPv6.
- IP Address. IPv4 or IPv6 address assigned to the virtual server.
- Port. Port number of the virtual server.
- Click OK to continue with configuration of other, optional, parameters. For more information, see Creating a Virtual Server.
- Click Create and Close.
To create load balancing virtual server for HTTPS traffic
- Sign in to the Citrix ADC appliance and navigate to the Traffic Management > Load Balancing > Virtual Servers page.
- In the details pane, click Add.
- On the Load Balancing Virtual Server screen, set the following parameters:
- Name. Name of the load balancing virtual server.
- Protocol. Select protocol type as SSL-bridge.
- IP Address Type. IP address type: IPv4 or IPv6.
- IP Address. IPv4 or IPv6 address assigned to the virtual server.
- Port. Port number of the virtual server.
- Click OK to continue with the configuration of other, optional, parameters. For more information, see Creating a Virtual Server.
- Click Create and then Close.
To bind a built-in detection policy to a load balancing virtual server
- Sign in to the Citrix ADC appliance and navigate to Traffic Management > Load Balancing > Virtual Servers screen.
- In the details pane, select the load balancing virtual server and click Edit.
- In the Advanced Setting section, click Policies.
- In the Policies section, click the + icon to access the Policies slider.
- In the Policies section, set the following parameters.
- Choose Policy. Select a video optimization detection policy from the drop-down list.
- Choose Type. Select the policy type as Request.
- Click Continue.
- Select the video detection policy from the list and click Close.
To bind a built-in detection policy to a SSL-bridge load balancing virtual server
- Log on to the Citrix ADC appliance and navigate to the Traffic Management > Load Balancing > Virtual Servers screen.
- In the details pane, select the SSL-bridge load balancing virtual server and click Edit.
- In the Advanced Setting section, click Policies.
- In the Policies section, click the + icon to access the Policies slider.
- In the Policies section, set the following parameters.
- Choose Policy. Select video optimization detection policy from the drop-down list.
- Choose Type. Select the policy type as Request.
- Click Continue.
- Select the video detection policy from the list and click Close.
To create a video optimization action
- Log on to the Citrix ADC appliance and navigate to Configuration > Optimization > Video Optimization > Pacing > Actions.
- In the details pane, click Add.
- On the Create Video Optimization Pacing Action page, set the following parameters.
- Name. Name of the optimization action.
- ABR Optimization Rate (Kbps). Pacing rate at which to send the ABR video traffic. The default rate for ABR optimization is 1000 Kbps. The minimum value is 1, and the maximum value is 2147483647.
- Comment. A short description of the action.
- Click Create and Close.
To create a video optimization policy
- Log on to the Citrix ADC appliance and navigate to Configuration > Optimization > Video Optimization > Pacing > Policies.
- In the details pane, click Add.
- On the Create Video Optimization Pacing Policy page, set the following parameters.
- Name. Name of the optimization policy
- Expression. Custom regex expressions that implement the policy.
- Action. Optimization action associated with the policy to handle the incoming video traffic.
- UNDEF Action. Undefined event if the incoming request does not match the optimization policy.
- Comment. A short description of the policy.
- Log Action. Select the audit log action that creates the desired log messages.
- Click Create, and then click Close.
To set video optimization pacing parameters
- Log on to the Citrix ADC appliance and navigate to Configuration > Optimization > Video Optimization.
- In the Video Optimization page, click Change Video Optimization Settings link.
- In the Video Optimization Settings page, set the following parameter.
- Random Sampling Percentage (%). Percentage of packets selected for random sampling.
- Click OK and Close.
To bind a video optimization policy to an HTTP load balancing virtual server
- Log on to the Citrix ADC appliance and navigate to Configuration > Optimization > Video Optimization.
- On the Video Optimization page, click the Video Optimization Pacing Policy Manager link.
- Set the following parameters.
- Bind Point. The point at which to apply the optimization policy during request or response processing.
- Connection Type. Connection type as Request or Response.
- Virtual Server. The load balancing virtual server to which to bind the policy.
- Click Continue.
- In the Bind Point section, do one of the following:
- Select a policy from the list.
- Click Add Binding to access the Policies Binding slider.
- Select an existing policy or add a new policy.
- Enter binding details and click Bind.
- Click Close.
To bind a video optimization policy to an SSL-bridge load balancing virtual server
- Log on to the Citrix ADC appliance and navigate to Configuration > Optimization > Video Optimization.
- On the Video Optimization page, click the Video Optimization Pacing Policy Manager link.
- On the Video Optimization Policy Manager page, set the following parameters.
- Bind Point. The point at which to apply the optimization policy during request/response processing.
- Connection Type. Connection type as Request or Response.
- Virtual Server. The SSL-bridge load balancing virtual server to which to bind the policy.
- Click Continue.
- In the Bind Point section, do one of the following:
- Select a policy binding from the list.
- Click Add Binding to access the Policies Binding slider.
- Select an existing policy or add a policy.
- Enter binding details and click Bind.
- Click Close.
In this article
- Configuring Video Optimization over TCP by using the CLI
- Creating Virtual Servers for HTTP and HTTPS Video Traffic
- Binding Built-In Detection Policies to an HTTP Load Balancing Virtual Server
- Binding the HTTP Body Content Detection Policy to Load Balancing Virtual Server
- Binding Built-In Detection Policies to an SSL-Bridge Load Balancing Virtual Server
- Adding Optimization Policies for Pacing ABR traffic
- Binding Optimization Policies to an HTTP Load Balancing Virtual Server
- Binding Optimization Policies to SSL-bridge Virtual Servers
- Setting video optimization pacing parameters
- Configuring Video Optimization over TCP by using the GUI