Versions Compared

Key

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

Dependencies/Pre-requisites

a) CMake, uuid and SSL:
Code Block
languagebash
themeMidnight
sudo apt-get update

...


sudo apt-get -y install cmake

...


sudo apt-get -y install uuid-dev

...


sudo apt-get -y install libssl-dev
b) Gstreamer:

Below gstreamer packages with version = 1.16.2 are required (hard dependency on gst version is due to the prebuilt qtdemux library provided)

Code Block
languagebash
themeMidnight
sudo apt-get -y install 

...

libgstreamer1.0-dev

...


sudo apt-get -y install libgstreamer-plugins-base1.0-dev

...


sudo apt-get -y install libgstreamer-plugins-good1.0-dev

...


sudo apt-get -y install libgstreamer-plugins-bad1.0-dev

...


sudo apt-get -y install gstreamer1.0-libav

...


sudo apt-get -y install gstreamer1.0-tools


c)

...

Git,

...

XML

...

and

...

Curl

Code Block
languagebash
themeMidnight
sudo apt-get -y install git

...


sudo apt-get -y install libxml2-dev

...


sudo apt-get -y install libcurl4-openssl-dev


1.

...

Clone

...

aamp

...

and

...

dependent

...

components

...

in

...

a

...

new

...

directory

Code Block
languagebash
themeMidnight
git clone -b dev_sprint https://code.rdkcentral.com/r/rdk/components/generic/aamp

...


git clone -b dev_sprint https://code.rdkcentral.com/r/rdk/components/generic/aampabr

...


git clone -b dev_sprint https://code.rdkcentral.com/r/rdk/components/generic/gst-plugins-rdk-aamp

...


git clone -b dev_sprint https://code.rdkcentral.com/r/rdk/components/generic/aampmetrics

...


git clone git://github.com/DaveGamble/cJSON.git

2.

...

Build

...

the

...

components

...

in

...

the

...

following

...

order

...

-
a)

...

aampabr

...

Code Block
languagebash
themeMidnight
cd aampabr

...


mkdir build

...


cd build

...


cmake ../ -DCMAKE_BUILD_TYPE=Debug

...


make
sudo make install

...


cd ../..

b) cJSON

...

Code Block
languagebash
themeMidnight
cd cJSON

...


mkdir build

...


cd build

...


cmake ../

...


make
sudo make install

...


cd ../..

c)

...

aampmetrics:

...

Code Block
languagebash
themeMidnight
cd aampmetrics

...


mkdir build

...


cd build

...


cmake ../ -DCMAKE_BUILD_TYPE=Debug

...


make
sudo make install

...


cd ../..

d)

...

libdash

For Ubuntu, reference https://github.com/bitmovin/libdash#ubuntu-1204

Code Block
languagebash
themeMidnight
git clone git://github.com/bitmovin/libdash.git

...


cd libdash/libdash

...


git checkout stable_3_0

Apply

...

patches

...

downloaded

...

from

...

(patch

...

-p1

...

<

...

file.patch):

...

https://code.rdkcentral.com/r/plugins/gitiles/components/generic/rdk-oe/meta-rdk-ext/+/rdk-next/recipes-multimedia/libdash/libdash/

...

Code Block

...

languagebash
themeMidnight
mkdir build
cd build
cmake ..
make

...

sudo make install

Install:

Code Block
languagebash
themeMidnight
cp bin/libdash.so /usr/local/lib/

...


sudo mkdir -p /usr/local/include

...


sudo mkdir -p /usr/local/include/libdash

...


sudo mkdir -p /usr/local/include/libdash/xml

...


sudo mkdir -p /usr/local/include/libdash/mpd

...


sudo mkdir -p /usr/local/include/libdash/helpers

...


sudo mkdir -p /usr/local/include/libdash/network

...


sudo mkdir -p /usr/local/include/libdash/portable

...


sudo mkdir -p /usr/local/include/libdash/metrics

...


sudo cp -pr ../libdash/include/*.h /usr/local/include/libdash

...


sudo cp -pr ../libdash/source/xml/*.h /usr/local/include/libdash/xml

...


sudo cp -pr ../libdash/source/mpd/*.h /usr/local/include/libdash/mpd

...


sudo cp -pr ../libdash/source/network/*.h /usr/local/include/libdash/network

...


sudo cp -pr ../libdash/source/portable/*.h /usr/local/include/libdash/portable

...


sudo cp -pr ../libdash/source/helpers/*.h /usr/local/include/libdash/helpers

...


sudo cp -pr ../libdash/source/metrics/*.h /usr/local/include/libdash/metrics

...



echo -e 'prefix=/usr/local \nexec_prefix=${prefix} \nlibdir=${exec_prefix}/lib \nincludedir=${prefix}/include/libdash \n \nName: libdash \nDescription: ISO/IEC MPEG-DASH library \nVersion: 3.0 \nRequires: libxml-2.0 \nLibs: -L${libdir} -ldash \nLibs.private: -lxml2 \nCflags: -I${includedir}' > libdash.pc

...


sudo mv libdash.pc /usr/lib/pkgconfig/.

...



cd ../../..

...


(OR)

...



cd aamp

...


./install_libdash.sh

e)

...

aamp:

...

Code Block
languagebash
themeMidnight
cd aamp

...


mkdir build

...


cd build

...


cmake ../ -DCMAKE_BUILD_TYPE=Debug -DCMAKE_PLATFORM_UBUNTU=1

...


make
sudo make install

...


cd ../../

f)

...

gst-plugins-rdk-aamp:

...

Code Block
languagebash
themeMidnight
cd

...

 gst-plugins-rdk-aamp

...


mkdir build

...


cd build
cmake ../ -DCMAKE_BUILD_TYPE=Debug

...


make
sudo make install

...


cd ../../

3.

...

Copy

...

the

...

prebuilt

...

qtdemux

...

library

...

with

...

AAMP

...

patches.

...

Prebuilt

...

qtdemux

...

library

...

is

...

available

...

in

...

tar

...

file

...

attached

...

to

...

this

...

doc

...

-

...

override

...

-libs.tgz

...


Run

...

the

...

following

...

commands

...

in

...

a

...

new

...

folder

...

Code Block
languagebash
themeMidnight
tar -xzf override_libs.tgz

Update the environment variable with the new location so that custom qtdemux plugin will be picked
Code Block
languagebash
themeMidnight
export GST_PLUGIN_PATH=`pwd`/override-libs:$GST_PLUGIN_PATH

...

To

...

verify,

...

run

...

gst-inspect-1.0

...

qtdemux

...

and

...

confirm

...

the

...

Filename

...

value

...

under

...

Plugin

...

Details

...

is

...

same

...

as

...

the

...

override

...

library

...

location

4.

...

optionally

...

create

...

/opt/aamp.cfg

...

...

supports

...

local

...

configuration

...

overrides

5.

...

Create

...

/opt/aampcli.cfg

...

with

...

below

...

content

...

for

...

a

...

virtual

...

channel

...

list

...

of

...

assets

...

that

...

could

...

be

...

loaded

...

in

...

aamp-cli

*1

...

HOSTED_FRAGMP4

...

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

...

HOSTED_HLS

...

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

...

HOSTED_DASH

...

https://

...

bitmovin-a.

...

akamaihd.net/content/MI201109210084_1/mpds/f08e80da-bf1d-4e3d-8899-f0f6155f6efa.mpd


6.

...

Execute

...

binaries

Code Block
languagebash
themeMidnight
./aamp-cli // for full featured command line interface to aamp

...


or

...


./playbintest <url> // to exercise aamp as a plugin