- AAMP is a native media player supporting DASH, HLS, Fragmented mp4, and progressive mp3/mp4 stream formats.
- Fronted by Universal Video Engine APIs.
- Integrated with multiple DRM systems (Adobe Access
...
...
Show If |
---|
group | confluence_rdk_user, rdk_license_onlywiki |
---|
|
- Compatible with FOG Time Shift Buffer Service
|
- Currently licensed under Apache License, Version 2.0.
Supported IP Video Formats
IP Video Format | Status |
---|
HLS/TS - demuxed (separate audio/video playlists) | supported |
HLS/TS - muxed (single audio + video in each ts fragment) | supported |
HLS/TS - direct media playlist playback support (with no main manifest) | supported |
HLS/TS - muxed (multiple audio + video in each ts fragment) | roadmap |
HLS, Fragmented MP4 (aka HLS-CMAF) | supported |
MPEG DASH ISOBMFF | supported |
Progressive MP4 | supported |
Progressive MP3 | supported |
Secure Video Pipeline (SVP) support for 4k Playback
RDKV status as of 20 Feb 2021, courtesy of Doug Adler:
- SVP support is enabled on the
Xi6
and Xg1v4
. - SVP support is very close on the
XiOne
(all variants). - For
Llama
and PlatCo
SVP support will be provided but only for the video stream- With Widevine then there must be separate audio and video keys with only the video key requiring SVP.
- With Playready audio needs to be in clear (at least until we have PlayReady 4.0
- HDR detection (for the device and for the HDMI connected devices) is provided by the device settings thunder plugin.
Audio Support
Codec | Format |
---|
mp4a.40.2 | FORMAT_AUDIO_ES_AAC |
mp4a.40.5 | FORMAT_AUDIO_ES_AAC |
ac-3 | FORMAT_AUDIO_ES_AC3 |
mp4a.a5 | FORMAT_AUDIO_ES_AC3 |
ec-3 | FORMAT_AUDIO_ES_EC3 |
ec+3 | FORMAT_AUDIO_ES_ATMOS |
eac3 | FORMAT_AUDIO_ES_EC3 |
Video Support
Codec | Format |
---|
avc1 | FORMAT_VIDEO_ES_H264 |
hvc1. | FORMAT_VIDEO_ES_HEVC |
hev1. | FORMAT_VIDEO_ES_HEVC |
mpeg2v | FORMAT_VIDEO_ES_MPEG2 |
Show If |
---|
group | confluence_rdk_user, rdk_license_onlywiki |
---|
|
Text Track SupportType | RDK CC Manager | Subtec |
---|
CEA608 | supported | roadmap | CEA708 | supported | integration in progress | VTT | n/a | supported | TTML | n/a | supported | Teletext | n/a | roadmap |
|
Features
Feature |
|
---|
seek, pause, play |
|
VCR style FF/REW leveraging iframe track |
|
live, VOD, and hot recording support |
|
Show If |
---|
group | confluence_rdk_user, rdk_license_onlywiki |
---|
| time shift buffer support leveraging "FOG" component |
|
|
eventing for inband ID3 signals |
|
EventStream timed metadata |
(http://www.scte.org/schemas/35/2016) |
|
Session Based Statistics for latency histogram, http failure counts, time to top profile |
|
rich metrics including "Micro Event" profiling for visualizations of serial/parallel contributors to tune time |
|
sub-fragment granularity seeking |
|
JPEG thumbnail support leveraging 'image' |
spritesheet sprite sheet track |
|
massively configurable |
|
state of the art hybrid throughput/buffering model for ABR decisions |
|
raw pts based progress reporting |
|
virtual stream stitcher support, including randomly deferred license requests |
|
client and server side DAI |
|
support for Universal Video Engine (UVE) JS bindings for integration of native video engine with web apps |
|
extensible custom curl headers |
|
anomaly reporting and real time events to drive dashboards and onscreen diagnostics |
|
feature rich reference player web app, demonstrating use of native IP player functionality |
|
support for |
prerolled ip pre rolled IP video content and fast player switching |
|
Roadmap
Roadmap Item |
|
---|
| Features: |
RDK-30256 | [Peacock] [HLS][DASH] thumbnail based scrubbing support (2101) |
RDK-29520[Whirlpool] [AAMP]
| FriendMTS Watermarking Support |
(2101 *)RDK-29433 |
| Red Button/VCID Support (2101) |
TBD | slow motion support (arbitrary trick play speed) |
https://comcastcorp-my.sharepoint.com/personal/kbaska201_apac_comcast_com/_layouts/15/onedrive.aspx?id=%2Fpersonal%2Fkbaska201%5Fapac%5Fcomcast%5Fcom%2FDocuments%2FLabweek%20Dec%202020%2Fcustom%5Fplayback%5Fspeed%2Emp4&parent=%2Fpersonal%2Fkbaska201%5Fapac%5Fcomcast%5Fcom%2FDocuments%2FLabweek%20Dec%202020&originalPath=aHR0cHM6Ly9jb21jYXN0Y29ycC1teS5zaGFyZXBvaW50LmNvbS86djovZy9wZXJzb25hbC9rYmFza2EyMDFfYXBhY19jb21jYXN0X2NvbS9FZTkyZEp2bVpDcEtsRG8ycTU4TkQyc0JTMXpYSEx6djlXSGJlWVI1cEVqZl93P3J0aW1lPUZkTDY0WjZtMkVnRDK-28456] Improved Compatibility and Formal Specification ComplianceRDK-28546 | [AAMP[DASH] Improved Compatibility and Formal Specification Compliance |
RDK-29773 | RDK-29879[Spike][Verdi][Sky]
| support for muxed HLS with AV fragments containing multiple audio and text tracks |
RDK-24621 | Build support for playing shoutcast music streams in AAMP |
DELIA-39249 |
| [FOG] handle pending ATMOS DASH manifest change (Dolby Specification) |
|
|
| CDAI: |
RDK-28871 |
| [AAMP] Client Side VOD DAI Optimizations |
(follow-up to RDK-26577)RDK-26569 |
| harden mp4 playback to give option for non-Spotlight ad avail playback that may not have hls/dash equivalents (was [AAMP] support for progressive audio/video playback (such as streaming mp3 music and mp4 video) - phase#2) |
|
|
| Optimization / Robustness: |
RDK-26162 | [AAMP] Timed Metadata transmission optimization |
RDK-29319 |
| [AAMP] delays refreshing playlists can interfere with fragment harvesting |
RDK-29955 | POC - parallel manifest download at start time to improve robustness/performance |
RDK-30104 | [PEACOCK][VOD][DAI][DASH] robustness when ad content unavailable |
RDK-28508 | [FOG][GRAM] Linear robustness issues with impaired network (but VOD & CDVR fine) |
RDK-24597 | Fallback from DD+ to AAC audio fragments on failures PoC |
RDK-25602 |
| [AAMP] Analysis/mitigation for intermittent audio drops with demuxed content |
RDK-25973 |
| [AAMP] support for Retry-After http header with HTTP 429 "TOO MANY REQUESTS" rate limiting directive |
RDK-25405 |
| Root Cause Aware Player Switching |
RDK-29318 |
| [AAMP] initialization fragments needlessly re-downloaded if ramping down and back up, or after transition to ad and back to main content |
DELIA-39964 | [AAMP] [HLS/DASH] tune fails if initial audio playlist download fails at tune time (without considering alternate audio profiles/formats) |
|
|
| ABR: |
RDK-28933 | [AAMP] [SPIKE] configuration to support preservation of video quality after trickplay/seek |
RDK-26742 | [AAMP][HLS/DASH] Restrict Video profile based on display resolution |
RDK-23598 |
| [AAMP] Capped VBR Support for DASH |
|
|
| Metrics / Profiling: |
RDK-24562 |
| Error reporting for catastrophic video decoder problems associated with bad streams (including stale PPS/SPS) |
RDK-28972 | Video Capture Performance Analysis (PoC) |
RDK-27425 |
| AAMP/FOG to report onMediaError event on loss of network connection |
DELIA-42462 |
| [AAMP] collect data to prove benefits of warming edge cache |
RDK-28452 |
| [AAMP] Pass location data in HTTP upstream header |
RDK-29308 |
| [AAMP] support for custom http headers configured by |
XRE/ReFLEX/ Resident app - centrally configured to include user privacy flags |
RDK-27740 |
| Send IP DAI Triggers to SSIMWAVE |
(Xi Devices) |
|
|
| Tech Debt: |
DELIA-36671 | [FOG] fragment bitrate reporting mechanism consistency |
RDK-27619 | [AAMP] Configuration Management Refactoring for Consistency & Control |
DELIA-41429 |
| evaluate pros/cons of libxml vs libdash for DASH manifest parsing (FOG/AAMP consolidation) |
|
|
| Configurability: |
| In case of setDrmConfig api other than passing keySystem and LA_URL details, add capability to pass initData (in base64 format) alongwith initDataType (cenc_pssh,mspr_pro). |
| Expose ePARAM_VODTRICKPLAYFPS, ePARAM_LINEARTRICKPLAYFPS in UVE |
|
|
| Misc: |
RDK-30113 |
| IP Linear TSB Internet Interruption Handling |
RDK-26627 | IP Linear TSB for Sky Q |
RDK-25370 | per-frame Color Layout Descriptor (CLD) generation POC |
RDK-25226 |
| [AAMP][DASH] JSPP control for audio format selection |
RDK-29904 |
| Media Playback Plugin (Phase 1) |
RDK-30409 |
Subtitle/Caption Support Supports subtitles and closed captioning for Sky on XiOne (Phase#4) |
Prerequisite for CC rendering unification (standardization on subtec) - IMSC1/TTML testing & improvements
|
DELIA-40048 | [ |
PEACOCK][AAMP] tuning partially synchronous, blocking UI (ask: wholly |
asyncasyn , interruptible tune support) |
DELIA-42322 | [AAMP][UVE] POC for AAMP UVE Test Suite |
RDK-23320signalling
| signaling using emsg messages using a custom key rotation signal to indicate future KIDs |
| api to query MIME types and codecs (Video, audio, subtitles) supported by player |
| api to signal platform capabilities to the player so that player can use that when making decisions e.g if there are multiple video adaptation set in different codecs i.e. (HEVC, H.264) present in manifest and platform does not support HEVC, player shall select video adaptation set in H.264 |
| api to enable/disable/retrieve extended profiling / timing / stats information corresponding to a playback session |
| getCurrentPosition to support reporting with UTC timestamp for live content |
| Removal of force encrypted init header workaround in AAMP (dynamic plugging and unplugging of decryptors) |
| Init header caching for DASH (for ad back to content transition) |
| refactoring to eliminate need for qtdemux patches |
| fragmentcollector_mpd.cpp cleanup - |
room room for improvement here, in terms of improving code quality/readability and streamlining/ |
optmization. optimization. |
| UVE audio selection API enhancements |
| document and resolve gstreamer discrepancies across SOC venders |
RDK-31155 | UVE audio selection API enhancements placeholder ticket, to be fleshed out, with some proposed UVE API changes related to audio track selection |
RDK-31234 | document and resolve gstreamer discrepancies across SOC venders (Broadcom, Realtek, AmLogic) |
RDK-28583 | JavaScript UVE APIs that wrap MSE/EME playback, suitable for use on desktop browsers |
Test Streams for Regression and New Device Bringup
...
Locator
...
Description
...
Codecs
...
cpetestutilitystb.r53.xcal.tv/VideoTestStream/main_mp4httpscpetestutilitystb.r53.xcal.tv/VideoTestStream/maincpetestutilitystb.r53.xcal.tv/VideoTestStream/mainhttpsitlive-hipskycdn.it/11519/tg24/indexhttpsitlive-hipskycdn.it/11519/tg24/index2httpsitlivehipskycdn.it/11202/cinemauno/indexhttpsitlive-hipskycdn.it/11202/cinemauno/index2