You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

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, Vanilla AES, PlayReady, Widevine, VGC (Synamedia), CENC Clear Key.

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


Audio Support

Codec

Format

mp4a.40.2FORMAT_AUDIO_ES_AAC
mp4a.40.5FORMAT_AUDIO_ES_AAC
ac-3FORMAT_AUDIO_ES_AC3
mp4a.a5FORMAT_AUDIO_ES_AC3
ec-3FORMAT_AUDIO_ES_EC3
ec+3FORMAT_AUDIO_ES_ATMOS
eac3FORMAT_AUDIO_ES_EC3


Video Support

Codec

Format

avc1FORMAT_VIDEO_ES_H264
hvc1.FORMAT_VIDEO_ES_HEVC
hev1.FORMAT_VIDEO_ES_HEVC
mpeg2vFORMAT_VIDEO_ES_MPEG2

Text Track Support

Type

RDK CC Manager

Subtec

CEA608

supported

roadmap
CEA708

supported

integration in progress
VTTn/a

supported

TTMLn/a

supported

Teletextn/aroadmap


Features

Feature


seek, pause, play
VCR style FF/REW leveraging iframe track
live, VOD, and hot recording support
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 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 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-29433Red 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=aHR0cHM6Ly9jb21jYXN0Y29ycC1teS5zaGFyZXBvaW50LmNvbS86djovZy9wZXJzb25hbC9rYmFza2EyMDFfYXBhY19jb21jYXN0X2NvbS9FZTkyZEp2bVpDcEtsRG8ycTU4TkQyc0JTMXpYSEx6djlXSGJlWVI1cEVqZl93P3J0aW1lPUZkTDY0WjZtMkVn


Compatibility:
RDK-28456[AAMP][HLS] Improved Compatibility and Formal Specification Compliance
RDK-28546[AAMP][DASH] Improved Compatibility and Formal Specification Compliance
RDK-29773Dolby AC-4 Audio Support
RDK-29879[Spike][Verdi][Sky] support for muxed HLS with AV fragments containing multiple audio and text tracks
RDK-24621Build 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-26569harden 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-29955POC - 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-24597Fallback 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-25405Root 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-24562Error reporting for catastrophic video decoder problems associated with bad streams (including stale PPS/SPS)
RDK-28972Video Capture Performance Analysis (PoC)
RDK-27425AAMP/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-27740Send 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-41429evaluate 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-30113IP Linear TSB Internet Interruption Handling
RDK-26627IP Linear TSB for Sky Q
RDK-25370per-frame Color Layout Descriptor (CLD) generation POC
RDK-25226[AAMP][DASH] JSPP control for audio format selection
RDK-29904Media Playback Plugin (Phase 1)
RDK-30409

Subtitle/Caption Support for Sky on XiOne (Phase#4)

Prerequisite for CC rendering unification (standardization on subtec)

DELIA-40048[PEACOCK][AAMP] tuning partially synchronous, blocking UI (ask: wholly async, interruptible tune support)
DELIA-42322[AAMP][UVE] POC for AAMP UVE Test Suite
RDK-23320IP VIDEO robustness handling for bad streams (SPIKE)

low latency DASH; https://www.theoplayer.com/blog/low-latency-dash

signalling 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 for improvement here, in terms of improving code quality/readability and streamlining/optmization. 

Test Streams for Regression and New Device Bringup

Locator

Description

Codecs

Notes

Locator

Description

Codecs

Notes

https://cpetestutility.stb.r53.xcal.tv/VideoTestStream/main_mp4.m3u8

Fragmented MP4 HLS

avc1.4d400d,mp4a.40.2


https://cpetestutility.stb.r53.xcal.tv/VideoTestStream/main.m3u8

HLS/TS

avc1.4d400d,mp4a.40.2


https://cpetestutility.stb.r53.xcal.tv/VideoTestStream/main.mpd

MPEG DASH

avc1.4d400d,mp4a.40.2


http://sit-live-hip.skycdn.it/11519/tg24/index.m3u8

muxed with explicit codecs

http://sit-live-hip.skycdn.it/11519/tg24/index2.m3u8

muxed, no codecs

http://sit-live-hip.skycdn.it/11202/cinemauno/index.m3u8

demuxed with explicit codecs

http://sit-live-hip.skycdn.it/11202/cinemauno/index2.m3u8

demuxed, no codecs

https://testassets.dashif.org/

dashif.org - test content - hundreds of assets, including multi-drm




https://bitmovin.com/mpeg-dash-hls-examples-sample-streams/

bitmovin - test content




https://hlstests.eurofins-digitaltesting.com

Eurofins Digital Testing's HLS Test Suite is a set of test resources designed to test an HTTP Live Streaming player's support for various HLS features including fragmented MP4 and failover.







  • No labels