- Print
Video Playback
- Print
The X1 Platform WPE Browser supports MSE/EME for those interested in bringing a video playback solution to your X1 Application. The following open-source players have all been successfully deployed in X1 Apps:
HLS.js - https://github.com/video-dev/hls.js/
DASH.js - https://github.com/Dash-Industry-Forum/dash.js
Shaka - https://github.com/google/shaka-player
Additionally, HLS and MPEG-DASH playback is available via the RDK's Advanced Adaptive Media Player, or AAMP. AAMP is an application which uses the GStreamer framework to present IP Video Streams.
You can learn more on the RDK wiki.
To access the AAMP player in your X1 App, you must replace the protocol of your content with aamp
for http or aamps
for https.
Protocal | AAMP Replacement |
---|---|
http:// | aamp:// |
https:// | aamps:// |
Example usage of AAMP in an HTML5 video tag:
<body>
<video id="video"></video>
<script type="text/javascript">
var video = document.getElementById('video');
video.src = 'aamp:/hostname.port/path/resource.m3u8'
video.load();
video.play();
</script>
</body>
Troubleshooting
When using HLS in the AAMP player, you must use the EXT-X-STREAM-INF
tag.
Without that tag AAMP will try to use the hardware demuxer, which is buggy in Intel chipsets. Adding the tag will force AAMP to use a software demuxer which avoids the Intel hardware bug.
Video Player Sessions
The system browser only supports a single playback stream, multi-track assets are not supported. Additionally, orphaned player session invoke DRM and other failures. To avoid playback issue, please follow the recommendations below:
Use single sessions for all playback
If multiple sessions are required, you must first destroy the previous player instance
DRM
The X1 Platform supports the following DRM:
Microsoft Playready 2.5
Widevine 1.14 Service level 1