Cambria Documentation
website·Indexed 33 days ago
https://documents.capellasystems.netTechnical documentation for Cambria Stream and Cambria FTC, including REST API specifications (FTC v5.0.1), installation guides for Kubernetes on Akamai and Oracle Cloud, and operational tutorials for broadcast-grade encoding and workflow management.
What's inside Cambria
- The Video Segments feature in Cambria FTC allows users to mark and extract specific portions of a video by defining in/out points. This is used for trimming, re-ordering, or selectively encoding segments of a source video.
Overview of Cambria Live Broadcast/Stream Manager API
The Cambria Live Broadcast/Stream Manager API is a REST-based interface used to programmatically control multiple Cambria Live/Stream instances. It allows developers to manage events (one-time, recurring weekly, or 24/7 channels), control inputs and outputs, and retrieve status information and alerts. The API uses HTTP as the transport layer and returns all responses in XML format.Overview of Cambria FTC 5.x capabilities
Cambria FTC is a professional-grade transcoding solution designed for broadcast, streaming, VOD, mobile, and archiving workflows. It supports high-quality video and audio processing, including resolution changes (HD ↔ UHD), frame rate conversion (NTSC ↔ PAL, interlace ↔ progressive), aspect ratio adjustments (pillarbox, letterbox, anamorphic), and SDR ↔ HDR conversions (with supported modules).Overview of Cambria FTC Scriptable Workflows
Scriptable Workflows allow users to customize encoding Job parameters at the start of a Job using Python or Perl scripts. These scripts analyze source material properties (e.g., resolution, frame rate, loudness, complexity) and modify the Job XML accordingly. If the 'Group of Files' feature is enabled in Watch Folder, scripts can access and combine multiple files in a group.Overview of Cambria Cluster Redundancy
Cambria Cluster Redundancy provides high availability for the Cambria Cluster Manager by allowing two machines to be configured: one active Primary Manager and one Backup Manager. If the Primary machine becomes unavailable (due to crashes, network disconnection, or reboots), the Backup machine automatically takes over the Cluster Manager role. This is implemented via real-time PostgreSQL database replication, mirroring the Job List, Watch Folder Settings, Client Machine List, and Options & Preferences.Overview of Cambria Stream and Stream Manager Architecture on Kubernetes
Cambria Stream and Stream Manager are deployed as containerized applications on Kubernetes.
Cambria Stream Manager:
- Recommended deployment: At least 3 nodes (replica = 3) with a Load Balancer service for external access.
- Pod Structure: Each pod contains the Cambria Stream Manager application and a Leader Elector tool to manage failover between the main node and backups.
- Database: A PostgreSQL database runs in a separate pod for each Stream Manager node, with data replicated across pods.
- Web UI: A separate pod for the Web UI runs on one of the Stream Manager nodes.
Cambria Stream:
- Deployment: Runs on pods within a specific node group.
- Pod Structure: Each pod contains the Cambria Stream application and an 'Auto-Connect Stream Instance' dotnet tool, which discovers and connects the instance to the Cambria Stream Manager.
Cluster Layout: Each node in the cluster will run either the Stream Manager deployment or the Stream deployment.
Overview of Cambria Cluster Cloud Extend
Cloud Extend is a feature for Cambria Cluster designed to handle surges in transcoding demand. When the local transcoding system is overloaded, Cloud Extend automatically launches pre-configured cloud instances to offload additional jobs and shuts them down once the jobs are complete. It utilizes bidirectional S3 mapping to allow cloud instances to access source files and write transcoded output back to local drives.Overview of Cambria FTC REST API
The Cambria FTC REST API allows programmatic control over FTC and Cluster environments, including adding, managing, and deleting jobs, configuring settings, and retrieving machine information. The API uses a REST architecture where the FTC software runs a web server. Transport is handled via HTTP/HTTPS, and all server responses are returned in XML format.Understand Event elements in Cambria Live Broadcast/Stream Manager
Events in Cambria Live Broadcast/Stream Manager consist of one or more child Event elements. An Event element contains all information related to a specific event. When retrieving event information viaGetEventInfo, not all returned attributes can be modified viaSetEventInfo; modifiable attributes are identified by the[M]marker.Retrieve job details with GetJobInfo
Retrieve specific information about a job using the
GetJobInfomethod. You can control the level of detail returned using theContentquery argument:Description(default): Metadata including submission time, retries, and status.Status: Current job status.JobData: The posted job data.Full: All available information.
# Example: Get full job info for FTC GET http://machineName:8647/CambriaFC/v1/Jobs/[JobID]?Content=FullCambria FTC Component Overview
Cambria FTC is composed of the following integrated components:
- Cambria File Converter: The core transcoding engine. Handles scaling, frame rate conversion, logo insertion, metadata, and audio channel mapping across various formats.
- Cambria Manager / Cluster: Provides monitoring and control for active, queued, completed, and failed conversions. Includes priority management, diagnostic logging, and a performance benchmark tool.
- Cambria Watch Folder: Automates batch transcoding by assigning presets to folders. Supports post-conversion tasks like email notifications and network delivery (FTP/SFTP, local copy/move).
Cambria Stream AWS Kubernetes Architecture Overview
Cambria Stream and Stream Manager in AWS Kubernetes utilize a distributed architecture:
- Cambria Stream Manager: Recommended to run on at least 3 nodes (replica = 3) with a Load Balancer for external access. Each pod contains the application container and a Leader Elector tool to manage high availability.
- Database: A PostgreSQL database runs in a separate pod for each Stream Manager node, with data replicated across pods.
- Web UI: A separate pod for the Stream Manager Web UI runs on one of the Stream Manager nodes.
- Cambria Stream: Deployed on separate pods. Each pod contains the application container and an 'Auto-Connect Stream Instance dotnet tool' that discovers and connects the instance to the Cambria Stream Manager.
This deployment targets Kubernetes version 1.31.