Program Usage

Commandline options

Unified Capture is a command-line driven program. Its generic format is:

unified_capture -o output_file [options] <input-url>

Supported input

The <input-url> needs to be a fully qualified URL that points to a Unified Origin client manifest (or, when Multiple sections into a single clip, a SMIL file containing several of such URLs). The URL can be used to either fetch the manifest via HTTP or to address it locally.

Important

When capturing content, it is required that the software versions of Unified Origin and Capture are identical.

Whether you capture a video via a HTTP or a local request makes no real difference, as the same options are supported. However, when addressing a client manifest locally, do note that the client manifest is not stored on disk so that the part of the URL addressing it, actually is a virtual path.

Looking at the example below, the first part of the URL is 'real', as it points to the server manifest, which is stored on disk (/var/www/live/channel01/channel01.isml). The /Manifest part that follows however, is 'virtual', because it points to the client manifest, which isn't stored on disk but generated on the fly. Then, after the part of the path that addresses the client manifest, comes the time range that you want to capture. This time rang is specified using t as a query parameter:

#!/bin/bash
unified_capture -o video.ismv
  "file:///var/www/live/channel01/channel01.isml/Manifest?t=2013-03-31T12:00:00.000-2013-03-31T12:30:00.000"

And when using a request via HTTP, the command looks very similar:

#!/bin/bash
unified_capture -o video.ismv
  "http://live.unified-streaming.com/channel01/channel01.isml/Manifest?t=2013-03-31T12:00:00.000-2013-03-31T12:30:00.000"

Options for Capturing

--license-key

The license key

--copy_ts

Copy the timestamp from the source (default is to start at 0).

--key

The 128 bits Key ID (KID) and 128 bits Content Encryption Key (CEK) are passed with the --key option to Decrypt the stream.

--frame_accurate

Enable frame accurate mode.

-v

Verbosity level.

Frame accurate

By default, the begin and end times of a captured clip are aligned to video key frames. When the --frame-accurate option is used, Unified Capture transcodes the beginning and ending fragments to allow for sample accurate timing.

Note

The --frame_accurate option requires the installation of the Intel Media SDK. Read how to install the SDK on Windows and Linux: Intel Media SDK installation.

Also note that when using Unified Origin or Packager to generate progressive MP4's from frame accurate captured content, only advanced players will be able to play it.

Decrypt

When the presentation is encrypted, you can decrypt and store an unencrypted stream.

To do so the KID and CEK used for encryption/DRM must be passed to capture using the --key option, separating KID and CEK by a colon, e.g. --key=KID:CEK.

The KID identifier uniquely identifies the content. The CEK is the Content Encryption Key.

In case the encryption/DRM does not use a KID the CEK may be passed as --key=:CEK, omitting the KID.

Example:

#!/bin/bash

KID=000102030405060708090a0b0c0d0e0f
CEK=000102030405060708090a0b0c0d0e0f

unified_capture -o clip1.ismv \
  --key=${KID}:${CEK} \
  "http://example.com/video1/video1.ism/Manifest"

This option is available for both VOD and Live streams.

Decrypting clips can for instance be useful for QoS purposes (to monitor normally encrypted/DRM'ed streams) or to maintain a clear archive for catch-up services.

Clips produced by Unified Capture may be post-processed with the Unified Packager to create other formats.

Filtering may be applied make a selection of tracks or just one track to be captured.