Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
  • 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.
Show If
groupconfluence_rdk_user, rdk_license_onlywiki
  • Compatible with FOG Time Shift Buffer Service

...

Roadmap Item

Features:
RDK-30256

[Peacock] [HLS][DASH] thumbnail based scrubbing support (2101)


FriendMTS Watermarking Support

Red Button/VCID Support (2101)
TBD

slow motion support (arbitrary trick play speed)




Compatibility:

[AAMP][HLS] Improved Compatibility and Formal Specification Compliance

Dolby AC-4 Audio Support

support for muxed HLS with AV fragments containing multiple audio and text tracks

Build support for playing shoutcast music streams in AAMP

[FOG] handle pending ATMOS DASH manifest change (Dolby Specification)



CDAI:

[AAMP] Client Side VOD DAI Optimizations

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

[AAMP] delays refreshing playlists can interfere with fragment harvesting

[AAMP] Analysis/mitigation for intermittent audio drops with demuxed content

[AAMP] support for Retry-After http header with HTTP 429 "TOO MANY REQUESTS" rate limiting directive

Root Cause Aware Player Switching

[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:

[AAMP][HLS/DASH] Restrict Video profile based on display resolution

[AAMP] Capped VBR Support for DASH



Metrics / Profiling:

Error reporting for catastrophic video decoder problems associated with bad streams (including stale PPS/SPS)

AAMP/FOG to report onMediaError event on loss of network connection

[AAMP] collect data to prove benefits of warming edge cache

[AAMP] Pass location data in HTTP upstream header

[AAMP] support for custom http headers configured by Resident app - centrally configured to include user privacy flags

Send IP DAI Triggers to SSIMWAVE



Tech Debt:
DELIA-36671[FOG] fragment bitrate reporting mechanism consistency
RDK-27619[AAMP] Configuration Management Refactoring for Consistency & Control

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:

IP Linear TSB Internet Interruption Handling

[AAMP][DASH] JSPP control for audio format selection

Media Playback Plugin (Phase 1)
RDK-30409

Supports subtitles and closed captioning support on IP video streams

  • Direct WebVTT support
  • IMSC1/TTML testing & improvements
DELIA-40048[AAMP] tuning partially synchronous, blocking UI (ask: wholly asyn , interruptible tune support)

IP VIDEO robustness handling for bad streams (SPIKE)

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

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/optimization. 

UVE audio selection API enhancements

document and resolve gstreamer discrepancies across SOC venders 

Test Streams for Regression and New Device Bringup

Locator

Description

Codecs

Notes

https://bitmovin-a.akamaihd.net/content/MI201109210084_1/m3u8s-fmp4/f08e80da-bf1d-4e3d-8899-f0f6155f6efa.m3u8

Fragmented MP4 HLS

avc1.4d400d,mp4a.40.2


http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8

HLS/TS

avc1.4d400d,mp4a.40.2


httphttps://cpetestutilitybitmovin-a.stb.r53.xcal.tv/VideoTestStream/mainakamaihd.net/content/MI201109210084_1/mpds/f08e80da-bf1d-4e3d-8899-f0f6155f6efa.mpd

MPEG DASH

avc1.4d400d,mp4a.40.2


https://devstreaming-cdn.apple.com/videos/streaming/examples/img_bipbop_adv_example_ts/master.m3u8

muxed with explicit codecs

https://multiplatform-f.akamaihd.net/i/multi/april11/sintel/sintel-hd_,512x288_450_b,640x360_700_b,768x432_1000_b,1024x576_1400_m,.mp4.csmil/master.m3u8

muxed, no codecs

https://cph-p2p-msl.akamaized.net/hls/live/2000341/test/master.m3u8

demuxed with explicit codecs

https://moctobpltc-i.akamaihd.net/hls/live/571329/eight/playlist.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.




https://ottverse.com/free-hls-m3u8-test-urls/ 

good suite of multi-lingual URLs

...