Functional Product Overview
Cisco Virtual Media Recorder (VMR) provides the core recording capability for cloud DVR (cDVR) or time-shift TV systems. Its architecture allows for scaling service to include millions of subscribers. Recording, storage, and playback can scale independently, allowing service providers to optimize their investment based on channels served and usage data on recording and playback requests.
VMR is a segment-based digital media recorder that records live packaged feed from linear packagers compiled in Common Intermediate Format (CIF) media segments. For recording, VMR consumes media data as segments from an upstream linear packager and parses the manifest files. When a segment corresponding to a recording request arrives, VMR captures the segment and pushes it to storage.
VMR also supports media playout to a compatible just-in-time packager (JITP) by converting recordings to a supported format such as HTTP Live Streaming (HLS) for consumption by end clients. For playback, a request to play back a recorded segment is triggered by a just-in-time (JITP) packager. VMR retrieves the segment from storage and serves it back to the JITP packager.
Compared with event-based offerings, VMR segment-based recording offers much greater storage efficiency. In addition, the stateless, segment-based architecture of VMR promotes resiliency against errors due to packet losses.
Segment Based Recording
Segment-based recording provides much greater efficiency than event-based recording methods. VMR stores all recorded content in segments that represent two seconds of playing time. Before archiving recorded content, VMR analyzes each recorded segment to see if its content is unique or is shared in common with other recordings. VMR then removes all redundant content before moving the content from active storage to archive storage. This process, called deduplication, greatly reduces the overall storage space needed to support the same amount of recording time.
Completed and In-Progress Playout
Because of its segment-based approach, VMR allows recordings to be played either after they are completed or while still in progress. In-progress playout can begin shortly after the recording starts.
VMR supports multiple simultaneous cDVR workflows, and as a result, can record multiple channels at once as well as multiple recordings of the same channel. VMR uses external software components for linear packaging, just-in-time packaging, and storage, and these can be either Cisco or third-party products. In a complete Cisco solution, VMR uses Cisco Media Capture Engine (MCE) as the linear packager, Cisco Media Playback Engine (MPE) for media playout, and Cisco Cloud Object Storage (COS) as the storage component.
In addition, VMR deployments can include software such as the Cisco Virtualized Video Processing Controller (V2PC) to centralize control of compatible components through a single interface. For example, a deployment using VMR together with MCE as the linear packager, MPE for media playout, and COS for storage can use V2PC to orchestrate and provision all of these components.
The VMR recorder core is deployed as a set of microservices deployed in Docker containers and using Kubernetes cluster-management software. This approach not only provides all of the benefits that container technology has to offer, but also provides a wide selection of deployment platforms including VMware, AWS, Rackspace, bare metal, and others.
Operators can deploy VMR and other required components manually. Alternatively, V2PC can (among other functions) act as an orchestration engine that allows operators to deploy an end-to-end cDVR solution without knowing the details of creating node clusters or deploying container management platforms. In this way, V2PC (further described below) makes the deployment of VMR and related applications simple and straightforward.
Multiple Storage Policies
Storage requirements are determined by the throughput needed to sustain peak recording requests. VMR is optimized to work with Cisco Cloud Object Storage (COS) to sustain large storage throughput while minimizing storage total cost of ownership for cDVR or time-shift TV systems.
VMR enables operators to implement storage policy at the channel level to ensure that storage requirements honor the rights negotiated with different content providers and also comply with local legal requirements.
Different storage policies can be achieved by a combination of content deduplication settings and copy types.
Content Deduplication—This scheme is configured on a per channel basis as dedupe or no-dedupe.
DeDupe—If a channel is configured as dedupe, all copies of the same content stored in active storage are deleted and only a single copy is stored in archive storage after a configurable archival time period.
No DeDupe—If a channel is configured as no-dedupe, the metadata of all copies of the same content will be moved from in-memory database tables to on-disk database tables to conserve memory usage after a configurable archival time period.
Copy Types—Depending on legality, customers may select a copy type for each recording, either common or unique.
Unique—If unique is selected, the storage system stores one copy for each subscriber in active storage.
Common—If common is selected, the storage system stores one copy for all subscribers in active storage.
VMR can be installed using V2PC as the controller for VMR or in standalone mode.
VMR with V2PC Integration
V2PC is designed to control VMR and other media applications which, like VMR, provide a V2PC interface module. When used as the controller for VMR, the V2PC graphical web interface allows operators to:
Create the infrastructure from a given infrastructure provider for VMR deployment.
V2PC supports both managed and unmanaged Kubernetes clusters. Support for managed clusters requires VMware. Support for unmanaged clusters requires that customers bring up their own Kubernetes. In this case, only the endpoint is used to configure VMR microservices.
Deploy MCE and MPE nodes and provide their required configuration.
Manage streaming channels.
Create media asset workflows.
Provision VMR to connect to external components as required.
For instructions on installing VMR to use V2PC as the controller interface, refer to Installing VMR with V2PC.
VMR Standalone Mode
VMR, as an application, can be configured and deployed in standalone mode. All configuration, installation and upgrades are done using Ansible or scripts.
For instructions for installing VMR in standalone mode using Ansible, refer to Installing and Upgrading VMR Standalone on COE 3.7.2.
For instructions for installing VMR in standalone mode using scripts, refer to Installing and Upgrading VMR Standalone on COE 1.5.1.