Overview
A transform in Ravnur Media Services describes a recipe or workflow for processing your video or audio files. Once you create a transform, you can reuse it to process multiple files by submitting jobs that reference that transform. Transforms define the instructions for encoding, analyzing, or processing media assets, providing a consistent and repeatable way to handle media workflows.
What Are Transforms?
A transform is a template that contains one or more processing instructions called presets. Each preset defines a specific operation to perform on input media, such as:
- Encoding video to adaptive bitrate formats
- Generating thumbnails
- Extracting audio tracks
- Creating sprite images
- Analyzing audio for transcription and captions
- Analyzing video for insights and metadata
Transforms separate the definition of your processing workflow from the actual execution. You create a transform once with your desired settings, then submit multiple jobs against that transform to process different input files. This approach ensures consistency across your media processing pipeline and simplifies management.
Key Concepts
Transform - The reusable template containing processing instructions
Preset - A specific processing operation within a transform (encoding, analysis, etc.)
Job - A single execution of a transform against specific input asset(s), producing output asset(s)
Input Asset - The source media file(s) to be processed
Output Asset - The resulting processed media file(s) after the job completes
Workflow Overview
- Create a Transform - Define your processing workflow with one or more presets
- Create Input Assets - Upload your source media files
- Submit a Job - Reference the transform and specify input/output assets
- Monitor Job Progress - Track encoding or analysis progress
- Access Output Assets - Use the processed media for streaming or further processing
Transform Presets
Presets are the building blocks of transforms. Each preset defines a specific processing operation with its configuration parameters.
Built-In Presets
Ravnur Media Services provides several built-in presets for common scenarios:
Encoding Presets:
- AdaptiveStreaming - Creates a multi-bitrate adaptive streaming set optimized for various network conditions and devices
- ContentAwareEncoding - Analyzes content complexity and generates optimized bitrate ladder
- H264MultipleBitrate1080p - Produces specific bitrate ladder up to 1080p resolution
- H264MultipleBitrate720p - Produces specific bitrate ladder up to 720p resolution
- H264MultipleBitrateSD - Produces standard definition bitrate ladder
- H264SingleBitrate1080p - Produces a single 1080p resolution file
- H264SingleBitrate720p - Produces a single 720p resolution file
- H264SingleBitrateSD - Produces a single 480p resolution file
- H265ContentAwareEncoding - HEVC/H.265 codec with content-aware optimization
- H265AdaptiveStreaming - Creates a multi-bitrate adaptive streaming set optimized for various network conditions and devices
- H265SingleBitrate720 - Produces a single 720p resolution file using the H.265 codec
- H265SingleBitrate1080 - Produces a single 1080p resolution file using the H.265 codec
- H265SingleBitrate4k - Produces a single 2160p resolution file using the H.265 codec
- AACGoodQualityAudio - Produces a single MP4 file containing only stereo audio encoded at 192 kbps
- CopyAllBitrateNonInterleaved - Copies all bitrates without re-encoding (transmux only)
Analysis Presets:
- AudioAnalyzer - Transcribes audio to text and generates captions (VTT files)
Thumbnail Presets:
- Custom thumbnail generation configurations
Custom Presets
You can create custom presets when built-in options don't meet your specific requirements. Custom presets allow you to specify:
Video Encoding Parameters:
- Codec (H.264, H.265/HEVC)
- Resolution and aspect ratio
- Bitrate and quality settings
- Frame rate
- GOP (Group of Pictures) size
- Profile and level
Audio Encoding Parameters:
- Codec (AAC, MP3)
- Bitrate
- Sample rate
- Channel configuration (mono, stereo, surround)
Output Format:
- Container format (MP4, TS, CMAF)
- Fragmentation settings for streaming
- File naming patterns
Filters and Processing:
- Deinterlacing
- Rotation and cropping
- Overlay and watermarking
- Fade in/out effects
Encoding with Transforms
Adaptive Bitrate Streaming
The most common use case for transforms is creating adaptive bitrate (ABR) streaming outputs. ABR streaming delivers multiple quality levels, allowing players to switch between them based on available bandwidth.
AdaptiveStreaming Preset: This is the recommended preset for most streaming scenarios. It automatically:
- Analyzes input video resolution and bitrate
- Generates an appropriate bitrate ladder (set of quality levels)
- Encodes each quality level with optimized settings
- Outputs fragmented MP4 files suitable for DASH and HLS streaming
The preset handles various input resolutions intelligently, creating outputs that don't exceed the input quality.
Content-Aware Encoding
Content-aware encoding analyzes the complexity of your video content and adjusts encoding parameters accordingly:
Benefits:
- Reduced File Sizes - Simple content (e.g., talking heads, presentations) uses lower bitrates
- Maintained Quality - Complex content (e.g., action scenes, sports) receives higher bitrates where needed
- Cost Savings - Lower bitrates reduce storage and bandwidth costs without sacrificing perceived quality
- Faster Encoding - Optimized settings can reduce processing time
When to Use:
- Large content libraries with varying complexity
- Cost-sensitive deployments where bandwidth matters
- Mixed content types (films, TV shows, presentations, sports)
Single Bitrate Encoding
For scenarios where adaptive streaming isn't needed, you can create transforms that output a single quality level:
Use Cases:
- Download-to-own content
- Content for social media upload
- Archive copies at specific quality
- Preview or proxy files for editing workflows
Analysis with Transforms
Beyond encoding, transforms can analyze media to extract valuable metadata and insights.
Audio Analysis
The AudioAnalyzer preset processes audio tracks to generate:
Transcription:
- Word-by-word transcription with timestamps
- Speaker identification (diarization)
- Confidence scores for transcribed words
Caption Files:
- WebVTT (.vtt) format files suitable for use as subtitles or closed captions
- Properly synchronized with video timeline
- Support for multiple languages
Audio Insights:
- Language detection
- Audio effects detection (applause, silence, music)
- Sentiment analysis from speech
Configuration Options:
- Language specification (or auto-detect)
- Audio channel selection
- Custom vocabulary for improved accuracy
Creating and Managing Transforms
Transform Creation
When creating a transform, you specify:
Transform Name - Unique identifier within your Ravnur Media Services account
Description - Optional description of the transform's purpose
Outputs - One or more preset configurations defining what to produce
Priority - Optional job priority (Low, Normal, High) for jobs using this transform
Transform Naming Strategy
Use descriptive names that indicate the transform's purpose:
Examples:
adaptive-streaming-1080paudio-transcription-englishthumbnail-generation-10sech264-720p-social-mediacontent-aware-hevc-premium
Clear naming helps teams understand which transform to use for different scenarios.
Transform Reusability
Transforms are designed to be reused across many jobs:
Benefits:
- Consistency - Every job using the transform produces output with identical settings
- Efficiency - No need to reconfigure encoding settings for each job
- Maintainability - Update processing logic by creating a new transform version
- Governance - Control which encoding profiles are available to different teams or applications
Best Practice: Create a library of transforms matching your common workflows rather than creating unique transforms for each asset.
Multiple Outputs in a Single Transform
A transform can include multiple presets, producing several outputs from a single job execution:
Common Multi-Output Scenarios
Encoding + Analysis:
- Output 1: Adaptive streaming preset for playback
- Output 2: AudioAnalyzer preset for captions
Multiple Formats:
- Output 1: H.264 encode for broad compatibility
- Output 2: H.265 encode for bandwidth savings
Streaming + Download:
- Output 1: Adaptive bitrate for streaming
- Output 2: Single high-quality file for download
Production + Preview:
- Output 1: Full-quality adaptive streaming
- Output 2: Low-resolution proxy for quick preview
Execution Behavior
When a job runs with a multi-output transform:
- All outputs process in parallel when possible
- Single input asset(s) generate multiple output assets
- Each output has its own configuration and result
- Job completes when all outputs finish successfully
This approach is more efficient than running separate jobs for each output type.
Job Submission with Transforms
To process media using a transform:
- Create or select a transform matching your processing requirements
- Upload source media to create an input asset
- Create an output asset (or have the system create it automatically)
- Submit a job referencing the transform and specifying input/output assets
- Monitor job progress through status updates and events
- Access results in the output asset once the job completes
Job Input Options
Jobs can accept input from various sources:
Asset Input - Reference an existing asset in your Ravnur Media Services account
HTTP(S) Input - Provide a publicly accessible URL to source media
Multiple Inputs - Some scenarios support combining multiple input assets
Job Output Configuration
For each output defined in the transform, specify:
Output Asset Name - Name for the resulting asset (or auto-generate)
Label - Optional label to identify this specific output
Relative Priority - When transform has multiple outputs, indicates processing priority
Transform Versioning
Since transforms are immutable (cannot be modified after creation), handle updates through versioning:
Versioning Strategy:
- Include version in transform name:
adaptive-streaming-v1,adaptive-streaming-v2 - Use date-based naming:
h264-encode-2024-02,h264-encode-2024-08 - Semantic versioning:
audio-analysis-1-0,audio-analysis-1-1
Migration Approach:
- Create new transform with updated settings
- Update applications to submit jobs to new transform
- Keep old transform for processing any remaining jobs
- Delete old transform once no longer needed
This approach maintains consistency for in-flight jobs while enabling updates.
Performance and Optimization
Encoding Speed vs. Quality
Transform configuration affects processing time:
Faster Encoding:
- Single bitrate outputs
- Lower resolution targets
- Simpler codec profiles
- Fewer quality levels in ABR ladder
Higher Quality (Slower):
- Content-aware encoding analysis
- Multiple bitrate outputs
- Higher resolution targets
- Advanced codec features (B-frames, multi-pass)
Balance your quality requirements against processing time and costs.
Use Cases and Examples
Video on Demand Platform
Scenario: Encode user-uploaded videos for streaming with captions
Transform Configuration:
- Output 1: AdaptiveStreaming preset for multi-bitrate playback
- Output 2: AudioAnalyzer preset to generate English captions
Result: Each uploaded video becomes a streamable asset with synchronized captions
Educational Content Library
Scenario: Process lecture recordings for student access with transcripts
Transform Configuration:
- Output 1: ContentAwareEncoding preset for efficient encoding
- Output 2: AudioAnalyzer preset with academic vocabulary
- Output 3: Thumbnail preset for chapter markers
Result: Cost-effective streaming with searchable transcripts and navigation
Sports Broadcasting
Scenario: Quickly encode live event replays for immediate distribution
Transform Configuration:
- Output 1: H264MultipleBitrate720p for fast encoding
- Output 2: Thumbnail generation for highlight reels
Result: Rapid turnaround for time-sensitive content
Archive Digitization
Scenario: Convert legacy media formats to modern streaming formats
Transform Configuration:
- Output 1: AdaptiveStreaming for primary access
- Output 2: H264 single bitrate at maximum quality for preservation
- Output 3: VideoAnalyzer for metadata extraction and cataloging
Result: Modernized archive with rich metadata for discovery
Best Practices
✅ Create Transforms for Workflows, Not Individual Assets - Design transforms around use cases (e.g., "user-generated content", "premium films") rather than specific files
✅ Use Built-In Presets When Possible - Start with built-in presets like AdaptiveStreaming before creating custom configurations
✅ Test with Sample Content - Validate new transforms with representative content before deploying to production
✅ Document Transform Purpose - Use descriptions to explain when and why to use each transform
✅ Monitor Job Statistics - Track encoding times, success rates, and output quality to optimize transforms
✅ Plan for Multiple Output Scenarios - Combine encoding and analysis in single transforms to reduce processing time
✅ Consider Content Characteristics - Match transform complexity to content type (e.g., content-aware encoding for mixed libraries)
✅ Version Your Transforms - Use clear naming conventions to manage transform updates over time
✅ Balance Cost and Quality - Higher quality settings increase processing time and costs; find the optimal balance
✅ Clean Up Unused Transforms - Periodically review and remove transforms that are no longer used
Limitations and Considerations
Transform Immutability - Transforms cannot be modified after creation; create new transforms for changes
Preset Compatibility - Not all presets can be combined in a single transform; check compatibility requirements
Input Format Support - Ensure your input media formats are supported by the chosen presets
Output Size Limits - Very long videos or high-resolution content may have processing limitations
Analysis Language Support - AudioAnalyzer supports specific languages; verify your target language is supported
Processing Time Variability - Job duration depends on input complexity, resolution, and transform configuration
Concurrent Job Limits - Account configuration determines how many jobs can process simultaneously
Cost Implications - More complex transforms and longer content increase encoding costs
Related Topics
For more information about related concepts, see:
- Jobs and Job Monitoring
- Assets
- Presets and Encoding Settings
- Audio and Video Analysis
- Streaming Locators
- Content Key Policies
For detailed implementation guidance for your specific Ravnur Media Services deployment, including code examples for creating transforms and submitting jobs, consult your technical documentation or contact your Ravnur support team.