This is the docker version implementation of late-transmuxing (LTM) described in the paper :
Rufael Mekuria, Jelte Fennema, Dirk Griffioen, Multi-protocol video delivery with late transmuxing, ACM Multimedia 2016 Amsterdam, The Netherlands
LTM works by putting transmuxing functionality at the edge. The setup is implemented as follows :
client -> proxy1 -> origin-edge -> proxy2 -> origin-backend
Moreover, jwilder-proxy
is also used as a proxy connecting the inner part of the LTM (from proxy1
all the way to the origin-backend
) with the client.
- This setup assumes that you will only run the LTM services under one host (so the Edge and Backend functionality resides within the same host). The communication between the Edge and Backend will be conducted inside the docker network.
- Put the folder
ltm-singlehost
into your designated machine. - Paste the Unified Origin license key into these files :
apache/edge.usp.local/config/key
andapache/origin.usp.local/config/key
- Run
sudo ./run.sh up
to activate the LTM services.
- This setup assumes that you have 2 VM called
ltm-edge
andltm-backend
. - The ltm-edge will hosts
proxy1
,origin-edge
andproxy2
. It will also hostltm-demo
webpage as well as thejwilder-proxy
for the client-facing interface. - The
ltm-backend
will hostorigin-backend
and the video sources. - Put the folder
ltm-edge
andltm-backend
into the corresponding VM (for instance, in an ubuntu server, you may put it under/home/ubuntu
). - Change the
$IP_Backend
environment variable inltm-edge/run.sh
with the IP of ltm-backend. - Paste the Unified Origin license key into these files :
apache/edge.usp.local/config/key
(located at theltm-edge
) andapache/origin.usp.local/config/key
(located atltm-backend
). - Run in both VM,
sudo ./run.sh
to build the containers and activate the services.
Whether the LTM services are run in 1 or 2 hosts, a DNS mapping in the client side is needed to access the LTM-demo webpage correctly. Set the local hosts
file (Windows) or /etc/hosts
(*NIX) to add the following mapping :
IP_EDGE ltm.demo.usp.local
IP_BACKEND origin.usp.local
IP_EDGE edge.usp.local
IP_EDGE cdn.edge.usp.local
IP_EDGE nocache.cdn.edge.usp.local
IP_EDGE nocache.transmux.edge.usp.local
IP_EDGE double.transmux.edge.usp.local
IP_EDGE single.transmux.edge.usp.local
IP_EDGE nocache.rangeproxy.edge.usp.local
IP_EDGE rangeproxy.edge.usp.local
Open http://ltm.demo.usp.local on your web browser to see the LTM-demo webpage :
-- Contributor : Rufael Mekuria (rufael@unified-streaming.com)