Validating an Akamai Secure Streaming CDN

Edition
Pro, Enterprise

As an alternative to Brightcove's CDN, a Brightcove account can be configured to use a different CDN (BYO CDN). Read more about your content delivery options. Once an account is configured to use a CDN and the CDN is provisioned with content, the next step is validating that the CDN settings are being used and that playback works. Here are some quick tips for doing this validation for Akamai.

To do this validation, you will need to install and run a sniffing tool, such as Charles (http://www.charlesproxy.com/) or ServiceCapture (http://kevinlangdon.com/serviceCapture/). The steps below are specific to Charles.

When you configure the CDN, you should note the following settings. This information will be used in the verification process that follows.

  • URL Base
  • Application Name
  • Virtual Directory
  • Stream Subdirectory (if you have one)
  • Streaming Profile Name (as defined in your Akamai portal)
  • Fingerprint (arbitrary)

Verifying playback in the Media module

There are two things you want to look at when testing with the Media module. The first is obviously do your videos play when you push Preview (in the details pane on the right when you select one). The second is a little harder. You want to know that the videos are being loaded from the right CDN. Here's how to check.

  1. Sign into the Brightcove Studio and load the Media module.
  2. In Charles, switch to the Structure tab on the left.
  3. Find the request for https://console.brightcove.com/services/messagebroker/amf which targets the method com.brightcove.catalog.CatalogFacade.findVideosSummaryForAccountPage
  4. Open the Response tab on the right.
  5. At the bottom of the Response tab, choose the AMF RPC tab.
  6. Drill into the result to find Results -> items -> [0] -> FLVFullLength, where 0 is the zero based index of an item that was uploaded AFTER your account was set up with the Akamai secure CDN.
  7. Examine the defaultURL value for the FLVFullLength as described in Examining the URL.
  8. Back in the Media module, select the same video in the datagrid.
  9. In the video's details pane, click on the thumbnail (or film strip if you do not have a thumbnail) which says Preview & Capture on mouse over.
  10. Wait for the video to start playing back. It should start within a few seconds.

Verifying playback in the player

This time, instead of using Charles or Service Capture, you can use the Brightcove Player Debugger (http://admin.brightcove.com/viewer/BrightcoveDebugger.html). Load the Player Debugger in a browser before continuing.

  1. Sign into the Brightcove Studio and load the Media module.
  2. In the Media module, select a video that was uploaded after the account was set up with the Akamai secure CDN.
  3. In the Details pane, click the Get Video Player Code link.
  4. Under Select A Player, choose a player such as Single Video Player and click the play button to the right.
  5. After the player loads, take a look at the Player Debugger. In it, you should look for these lines:
    •  Attempting to connect to stream: rtmpe://xyz.cdnserver.net/ondemand
    • Akamai secure streaming path: rtmpe://xyz.cdnserver.net/ondemand/&profile/123456/123456_999999_the-video?__nn__=55555&slist=profile/123456/123456_999999_the-video&auth=daEa0aAcAbXaed9bpdmdqaGapbRbqdlb9bQ-blk9z2-eS-mlIpHD&aifp=xyz
    • NetConnection.Connect.Success
  6. You can validate the URL reported as the Akamai Secure Streaming path as described in Examining the URL.
  7. Click the play button in the player. You should then see these lines in the player debugger:
    Playback should begin.
    • Attempting stream: profile/123456/123456_999999_the-video?__nn__=55555&slist=profile/123456/123456_999999_the-video&auth=daEa0aAcAbXaed9bpdmdqaGapbRbqdlb9bQ-blk9z2-eS-mlIpHD&aifp=xyz
    • NetStatusEvent: NetStream.Play.Start
    • NetStatusEvent: NetStream.Play.Reset
    • NetStatusEvent: NetStream.Buffer.Full

Examining the URL

This is an example of a properly-formed Akamai Secure Streaming video URL:

rtmpe://xyz.cdnserver.net/ondemand/&profile/123456/123456_999999_the-video?__nn__=55555&slist=profile/123456/123456_999999_the-video&auth=daEa0aAcAbXaed9bpdmdqaGapbRbqdlb9bQ-blk9z2-eS-mlIpHD&aifp=xyz

Parts of the URL

Base URL rtmpe://xyz.cdnserver.net
Application name ondemand
Virtual directory profile
Asset path 123456/123456_999999_the-video

Query Params

Param Value Meaning
__nn__ 55555 Brightcove's corresponding TTL configuration ID.  Absence implies that TTL is not being used.
 
slist
 
profile/123456/123456_999999_the-video Full name of the stream being connected to
auth
 
daEa0aAcAbXaed9bpdmdqaGapbRbqdlb9bQ-blk9z2-eS-mlIpHD The generated TTL authentication token
aifp xyz The fingerprint value for the TTL configuration

Troubleshooting

Playback fails in the Media module preview window and player fails.

  1. Copy the rtmp or rtmpe URL that you obtained with Charles.
  2. Remove the ampersand between the application name and virtual directory like so:
    • Before: rtmpe://xyz.cdnserver.net/ondemand/&profile/123456/123456...
    • After: rtmpe://xyz.cdnserver.net/ondemand/profile/123456/123456...
  3. Open up the Akamai test player - http://support.akamai.com/flash/index.html
  4. Paste the new URL into the text input near the top.
  5. Push the Test button.

If playback fails, that indicates that one of the entries used to create your CDN / TTL configuration may have been incorrectly entered.