OTT Packager¶
Mcaster OTT Packager is designed to prepare transcoded content for playback on mobile devices and players. It processes video streams after the transcoder module to create adaptive streaming formats suitable for various devices and network conditions.
Overview¶
The OTT Packager module takes transcoded video streams and packages them into industry-standard adaptive streaming formats. This enables efficient content delivery to mobile devices, smart TVs, and web browsers with optimal quality based on available bandwidth.
Key Features¶
- Multiple Format Support: HLS, DASH, and MSS protocols
- Adaptive Bitrate Streaming: Automatic quality selection based on network conditions
- CDN Integration: Works with Flussonic CDN and other CDN providers
- Mobile Optimization: Optimized for mobile device playback
- Archive Support: Handles both live and archived content
Supported Protocols¶
HLS (HTTP Live Streaming)¶
HLS is Apple's adaptive streaming protocol, widely supported across devices and platforms.
Advantages:
- Universal compatibility with iOS, Android, and web browsers
- Automatic quality adaptation
- Simple implementation and debugging
Use Cases:
- Mobile applications
- Web browsers
- Smart TVs and set-top boxes
DASH (Dynamic Adaptive Streaming over HTTP)¶
DASH is an international standard for adaptive streaming, offering high efficiency and flexibility.
Advantages:
- ISO standard with broad industry support
- Efficient bandwidth utilization
- Advanced features for live and VOD content
Use Cases:
- High-quality streaming services
- Multi-platform applications
- Professional broadcasting
MSS (Microsoft Smooth Streaming)¶
MSS is Microsoft's adaptive streaming technology, optimized for Windows platforms.
Advantages:
- Excellent Windows ecosystem integration
- Advanced DRM support
- Professional-grade features
Use Cases:
- Windows applications
- Xbox platforms
- Enterprise streaming solutions
Configuration¶
Basic Configuration¶
stream ott_output {
input udp://239.0.0.1:1234;
segment_duration 2;
segments 10;
}
Where:
* segment_duration
- segment duration in seconds
* segments
- number of segments kept in memory and available in playlist
Playback URLs¶
After configuring the OTT Packager, you can play streams using the following URLs:
HLS Playback¶
http://streamer/{stream_name}/index.m3u8
DASH Playback¶
http://streamer/{stream_name}/Manifest.mpd
MSS Playback¶
http://streamer/{stream_name}.isml/manifest
Where {stream_name}
is the name of your configured stream.
CDN Integration¶
Flussonic CDN¶
We recommend building CDN infrastructure using Flussonic technologies for optimal integration and performance.
Benefits:
- Seamless integration with Mcaster OTT Packager
- Optimized performance and reliability
- Comprehensive monitoring and analytics
- Advanced caching and edge delivery
Third-Party CDN¶
Mcaster OTT Packager is compatible with other CDN providers, allowing flexibility in infrastructure choices.
Supported CDN Types:
- Traditional CDN providers
- Cloud-based CDN services
- Hybrid CDN solutions
Archive Playback¶
Sliding Window Mode¶
When playing archived content, separation between CDN and Packager may not be possible. In such cases, archive playback servers need to operate in sliding window mode.
Key Considerations:
- Continuous segment generation
- Dynamic playlist updates
- Efficient storage management
- Real-time content availability
DVR Integration¶
For comprehensive archive playback functionality, refer to the DVR section for detailed information about:
- Archive storage configuration
- Playback server setup
- Sliding window implementation
- Performance optimization
Performance Optimization¶
Segment Optimization¶
- Segment Length: Balance between latency and efficiency
- Playlist Length: Optimize for memory usage and startup time
- Bitrate Ladders: Configure appropriate quality levels
Caching Strategy¶
- CDN Caching: Leverage CDN edge caching for improved delivery
- Local Caching: Implement local caching for frequently accessed content
- Cache Headers: Configure appropriate cache control headers
Monitoring and Analytics¶
Key Metrics¶
- Segment Generation Rate: Monitor segment creation performance
- Playlist Update Frequency: Track playlist generation efficiency
- CDN Delivery Performance: Measure content delivery metrics
- Client Playback Statistics: Analyze viewer behavior and quality
Health Monitoring¶
- Service Availability: Monitor packager service status
- Error Rates: Track packaging and delivery errors
- Resource Utilization: Monitor CPU, memory, and storage usage
- Network Performance: Analyze bandwidth and latency metrics
Security Considerations¶
Content Protection¶
- DRM Integration: Support for various DRM systems
- Token Authentication: Secure access control
- Geographic Restrictions: Content geo-blocking capabilities
- Encryption: Secure content transmission
Access Control¶
- Authentication Methods: Various authentication mechanisms
- Authorization Levels: Role-based access control
- Session Management: Secure session handling
- Audit Logging: Comprehensive access logging
Troubleshooting¶
Common Issues¶
- Segment Generation Failures: Check transcoder output and storage permissions
- Playlist Errors: Verify configuration and file system access
- CDN Delivery Problems: Monitor network connectivity and CDN status
- Client Playback Issues: Analyze client compatibility and network conditions
Debug Tools¶
- Log Analysis: Comprehensive logging for issue identification
- Performance Monitoring: Real-time performance metrics
- Configuration Validation: Automated configuration checking
- Health Checks: Automated service health monitoring
Subtitles and Teletext Support¶
Teletext Processing¶
Mcaster OTT Packager can recognize DVB subtitles, read teletext and closed captions in MPEG-TS and pass them to HLS and DASH.
Teletext Support:
- VBI (SD SDI): Data located in the invisible area of the frame
- OP-47 (HD SDI): Teletext specification for HD SDI allowing more stable transmission
- Automatic Conversion: Teletext is automatically converted to WebVTT and TTML formats
Supported Cards:
Card | VBI (SD SDI) | OP-47 (HD SDI) |
---|---|---|
DekTec | ✅ | ✅ |
Decklink | ✅ | ✅ |
Stream Labs | ✅ | ❌ |
Magewell | ❌ | ❌ |
AJA | ❌ | ❌ |
Closed Captions¶
CEA-608/708 Support:
- CEA-608: Standard for analog closed captions (channels 1-4)
- CEA-708: Standard for digital closed captions (channels 1-63)
- Automatic Extraction: Closed captions are automatically extracted and converted
Configuration Example:
stream example_stream {
input tshttp://EXAMPLE-IP/STREAM_NAME/mpegts cc.extract;
substyle valign=top align=left;
}
Caption Signaling:
To enable closed captions in manifests, add parameters to the input URL:
stream example_stream {
input tshttp://EXAMPLE-IP/STREAM_NAME/mpegts cc.708.12.lang=fr cc.608.1.lang=eng;
}
Where:
* cc.708.12.lang=fr
- CEA-708 channel 12 in French
* cc.608.1.lang=eng
- CEA-608 channel 1 in English
Subtitle Formats¶
HLS Support:
- WebVTT: Primary subtitle format for HLS
- Automatic Conversion: Teletext and closed captions automatically converted to WebVTT
DASH Support:
- WebVTT: Web Video Text Tracks format
- TTML: Timed Text Markup Language (default format)
- Format Selection: Choose format via URL parameter
?text=wvtt
or?text=ttml
MSS Support:
- TTML: Primary subtitle format for MSS
- Automatic Processing: Any subtitle type converted to TTML format
Subtitle Positioning¶
Configure subtitle position using the substyle
parameter:
stream example_stream {
input tshttp://EXAMPLE-IP/STREAM_NAME/mpegts cc.extract;
substyle valign=top align=left;
}
Positioning Options:
- Vertical Alignment:
valign=top|middle|bottom
- Horizontal Alignment:
align=left|center|right
TTML Subtitles¶
TTML (Timed Text Markup Language) is a standard for closed captioning and subtitling that offers:
- Rich Features: Positioning, alignment, styling, multiple languages
- Industry Standard: Widely supported by media players and streaming platforms
- XML-based: Text file with .ttml or .xml extension
- Professional Grade: Used in television industry
Features:
- Multiple language support
- Advanced styling options
- Precise timing control
- Accessibility compliance