Introduction


Advanced Adaptive Media Player (AAMP) is an application which uses gstreamer (AAMP) to present clear/encrypted HTTP Live Streams.(HLS)

HLS is a Media Streaming Protocol used for delivering visual and audio media over the internet. HLS uses the HTTP protocol and hence users can stream media from their regular web server. To Stream HLS data,source files are encoded at different data rates and will be split into chunks with the .ts file extension  and  manifest file  .M3U8  file is created  for maintaining index for the video chunks. For example, M3U8 file may give references to online files for an internet radio station. M3U8(MP3 URL that uses  UTF-8-encoding)is a computer file format for a multimedia playlist.Although originally designed for audio files, such as MP3, it is now used to point  both audio and video sources

Gstreamer Plugin Information



root@qemux86hyb-morty:/# gst-inspect-1.0 aamp
Factory Details:
  Rank                     marginal (64)
  Long-name                Advanced Adaptive Media Player
  Klass                    Demux
  Description              Advanced Adaptive Media Player
  Author                   Comcast

Plugin Details:
  Name                     aamp
  Description              Advanced Adaptive Media Player
  Filename                 /usr/lib/gstreamer-1.0/libgstaamp.so
  Version                  0.0.1
  License                  LGPL
  Source module            RDK
  Binary package           aamp
  Origin URL               https://rdkcentral.com/

root@qemux86hyb-morty:/# gst-inspect-1.0 aampsrc
Factory Details:
  Rank                     primary (256)
  Long-name                AAMP Source
  Klass                    Source
  Description              Advanced Adaptive Media Player Source
  Author                   Comcast

Plugin Details:
  Name                     aamp
  Description              Advanced Adaptive Media Player
  Filename                 /usr/lib/gstreamer-1.0/libgstaamp.so
  Version                  0.0.1
  License                  LGPL
  Source module            RDK
  Binary package           aamp
  Origin URL               https://rdkcentral.com/

HLS Playback using AAMP


Playbintest

This utility is available in /usr/bin  to test aamp plugin.

#export WAYLAND_DISPLAY=WPE
#export XDG_RUNTIME_DIR=/run/user/0/
#export PLAYERSINKBIN_USE_WESTEROSSINK=1

#/usr/bin/playbintest http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8


gst-launch 

AAMP can be tested with gst-launch using playbin.

#export WAYLAND_DISPLAY=WPE
#export XDG_RUNTIME_DIR=/run/user/0/

#gst-launch-1.0 playbin uri=aamp://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8 video-sink=westerossink

WPELauncher 

AAMP can be tested with WPELauncher. Please make sure environmental variables are set.

#export LD_PRELOAD=/usr/lib/libwesteros_gl.so.0.0.0
#export WAYLAND_DISPLAY=WPE
#export XDG_RUNTIME_DIR=/run/user/0/
#WPELauncher http://127.0.0.1:50050/player.html


player.html needs to created with below content in /opt/www

<html><head><title>AAMP Test Page</title></head>
<body>
<video id="video"></video>
<script type="text/javascript">
var video = document.getElementById('video');
video.src = 'aamps://mnmedias.api.telequebec.tv/m3u8/29880.m3u8'
video.load();
video.play();
</script>
</body></html>


DEBUG Logs


To Enable logs,please export following 

export GST_DEBUG=2,aamp:3,webkitmediaplayer:5

Sample HLS URL


aamp://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8
aamps://tungsten.aaplimg.com/VOD/bipbop_adv_example_v2/master.m3u8

aamps://mnmedias.api.telequebec.tv/m3u8/29880.m3u8 

aamp://184.72.239.149/vod/smil:BigBuckBunny.smil/playlist.m3u8 


  • No labels