Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Image Removed

Table of Contents

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@raspber-rdk-hybrid-westeros:~#

root@qemux86hyb-morty:/# gst-inspect-1.0 aamp
Factory Details:

Rank                   marginal

  Rank                     marginal (64)
  Long-

name             

name                Advanced Adaptive Media Player

Klass                 

  Klass                    Demux

Description 

 

       

Description              Advanced Adaptive Media Player

Author                 Comcast
 
 

  Author                   Comcast

Plugin Details:

Name                 aamp
Description         

  Name                     aamp
  Description              Advanced Adaptive Media Player

Filename 

 

        

Filename                 /usr/lib/gstreamer-1.0/

libgstaampplugin

libgstaamp.so

Version 

 

         

Version                  0.0.1

License              Proprietary
Source module        RDK
Binary package       aamp
Origin URL          

  License                  LGPL
  Source module            RDK
  Binary package           aamp
  Origin URL               https://rdkcentral.com/

root@raspberrypi-rdk-hybrid-westeros:~#

root@qemux86hyb-morty:/# gst-inspect-1.0 aampsrc
Factory Details:

Rank              

  Rank                     primary (256)
  Long-

name         

name                AAMP Source

Klass             

  Klass                    Source

Description       

  Description              Advanced Adaptive Media Player Source

Author            

  Author                   Comcast


 



Plugin Details:

Name             

  Name                     aamp

Description      

  Description              Advanced Adaptive Media Player

Filename        

  Filename                 /usr/lib/gstreamer-1.0/

libgstaampplugin

libgstaamp.so

Version         

  Version                  0.0.1

License          Proprietary

  License                  LGPL
  Source

module   

module            RDK
  Binary

package  

package           aamp
  Origin

URL      

URL               https://rdkcentral.com/

HLS Playback using AAMP

...

Playbintest

This utility is available in /usr/bin  to test aamp plugin which by default takes aamp HLS  as aamps://tungsten.aaplimg.com/VOD/bipbop_adv_example_v2/master.m3u8 .

#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

audio-sink=omxhdmiaudiosink


WPELauncher 

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

#export LD_PRELOAD=

$LD_PRELOAD:

/usr/lib/

libopenmaxil

libwesteros_gl.so

:/usr/lib/libwayland-client.so

.0.0.0
#export WAYLAND_DISPLAY=WPE
#export XDG_RUNTIME_DIR=/run/user/0/
#WPELauncher http://127.0.0.1:50050/player.html

Pipeline Diagram


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

Image Removed<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

...