Capturing LIVE

The HD Live to VOD and Playout Automated Workflow provides background and also outlines the technologies that are used together with Unified Capture.

Note

From version 1.10.27 it is recommended to capture livestreams from a DASH endpoint (instead of a Smooth endpoint) because that way Timed Metadata such as SCTE 35 markers will be captured as well.

LIVE to VOD: Catch-up TV (start and end time in the past)

When a Live presentation is streamed by Unified Origin and the Origin is set up to archive the presentation on disk, Unified Capture can create VOD clips from this Live archive. You simply specify a time range of which the start and end time fall within the Live archive, after this time range is captured and stored as a VOD item.

Note

By default, beginning and end times will be aligned to video key frames. To bypass this limitation, you can use Unified Capture's --frame-accurate option.

Since the encoder is timestamping the audio/video fragments, it is the encoder that creates the timeline of the Live feed. Please make sure that it uses Must Fix: use of UTC timestamps. This gives the timeline a useful reference point so that you can match an existing EPG (Electronic Program Guide) to the timeline, for example.

The format used for specifying a time range is the ISO 8601 date-time format ("2013-03-31T12:34:56.000"). Capturing a half hour show on the 31st of March from noon until 12:30 looks like this:

#!/bin/bash

unified_capture -o news-at-noon.ismv \
  "http://live.unified-streaming.com/channnel01/channel01.isml/.mpd?t=2013-03-31T12:00:00.000-2013-03-31T12:30:00.000"

Note

Your shell may require quoting the input URL when it contains special characters.

LIVE to VOD: Realtime (start time in the past, end time in the future)

New in version 1.10.27: Realtime capture support for dynamic MPD with SegmentTimeline

The end time may be set in the future, that is, after the current live point. In this case, Unified Capture records up to the live point and will then continue capturing the segments that become available from the publishing point in real-time.

When either the end time is reached or the presentation is closed, the capture process will end as well. This allows for close to realtime publishing of catch-up content: as soon as a show finishes the catch-up version can be put live as well.

Realtime capture is supported for Smooth Streaming and DASH. The DASH MPD should use a $Time$-based SegmentTimeline.

Multiple sections into a single clip

Attention

This functionality of Unified Capture is deprecated. To stitch multiple clips together we recommend the use of Unified Remix instead, which can seamlessly stitch clips from one or more sources.

New in version 1.6.6.

Using the 'stitch' functionality it is possible to create a new file that is a selection of clips from the original.

For instance two clips of n seconds can be concatenated into one, by using the begin and end time of the clip.

The following table lists the begin and end points of two clips. The duration then is end - begin.

Clip From Until Duration
1 2014-01-30T15:02:45.960Z 2014-01-30T15:02:50.960Z 5 seconds
2 2014-01-30T15:17:52.680Z 2014-01-30T15:17:57.680Z 5 seconds

This information can be passed to Unified Capture using a SMIL file. This file should contain the begin and end times (begin + duration) of the clips that need be stitched into a new clip.

Such a SMIL file looks like this:

<?xml version="1.0" encoding="utf-8"?>
<smil xmlns="http://www.w3.org/2001/SMIL20/Language">
  <head>
  </head>
  <body>
    <seq>
      <video
        src="http://usp-test/video.out/rtl8/rtl8.ism/Manifest"
        clipBegin="wallclock(2014-01-30T15:02:45.960Z)"
          clipEnd="wallclock(2014-01-30T15:02:50.960Z)"
      />
      <video
        src="http://usp-test/video.out/rtl8/rtl8.ism/Manifest"
        clipBegin="wallclock(2014-01-30T15:17:52.680Z)"
          clipEnd="wallclock(2014-01-30T15:17:57.680Z)"
      />
    </seq>
  </body>
</smil>

The clipBegin and clipEnd attributes specify the wallclock time of the presentation. The datetime is in ISO 8601 format and it is recommended to use UTC timestamps.

The SMIL file can be passed to Unified Capture on the command line, not unlike previous examples:

#!/bin/bash

unified_capture -o video.ismv clips.smil

All the bitrates in the stream are captured into one single file, which can be moved into Block Storage or Cloud Storage so that it can be used for catch-up or other purposes.