MosaicVod - How to deploy on the customer side

MosaicVod is a web application for watching HLS live streams, VODs and debuging HLS media on the ftp server/S3 (AWS Storage Service).

In this document you will find all the features of MosaicVod app.

Setup and infrastructure

Data flow: MCM → FTP server(live stream and indexing VODs) → MosaicVod

MCM: sends HLS stream to FTP server(Output->Configuartion->Choose output stream->Auxiliary Streams->Enable HLS Publish Point)

Templates for HLS Publish Point Url(FTP Server / S3 Bucket):

  • ftp://FTP_USER_NAME:FTP_PASSWORD@IP_ADDRESS/

  • https://BUCKET_NAME.s3.AWS_REGION.amazonaws.com/PATH_IN_BUCKET/;key=AW_SKEY;secret=AWS_SECRET_KEY

FTP server/S3: get all HLS streams from the MCM and stores all the VODs

you can use your FTP server or use internal FTP Server using our docker image(more details under docker image/container section below)

MosaicVod:

  • Backend: handle streams data, API to all the media files under the FTP folder/S3, “HLS server”

  • Frontend: web interface for HLS live streams, VODs, debug streams status and more

MosaicVod works automaticlly after running our docker image/container

Installing from downloaded 2.0.1 tar file

Please ensure Docker installed on your Ubuntu Server running on Intel or Arm CPU(s).

  • Use scp command to copy the “tagvs_mosaicvod2.0.1.tar” file to your local home folder.

  • Use command docker load <tagvs_mosaicvod2.0.1.tar to import the docker images.

  • If you have enough storage on your server you can have the installer create a volume as it builds the container with the following command:

docker run -d --name mosaicVod -v /home/ftp_data_folder:/ftp -p 80:80 -p 443:443 -p 21:21 -p 21100-21200:2110-21200 -e FTP_USER=ftpuser -e FTP_PASS=ftpuser registry.tagvs.com:443/mosaicvod:2.0.1

  • Command runs on one line. If you are moving storage to a different ftp server, create a docker volume pointing to that location and change the command:

docker run -d --name mosaicVod -v <your new volume>:/ftp -p 80:80 -p 443:443 -p 21100-21200:2110-21200 registry.tagvs.com:443/mosaicvod:2.0.1

Setup docker image/container

Docker image name: registry.tagvs.com:443/mosaicvod:2.0
Docker image contains mosaicVod application and FTP server(optional)

To download the image run the follow command in you system:

docker pull registry.tagvs.com:443/mosaicvod:2.0

docker image parameters

# This is an example of running the mosaicVod docker container docker run -d --name mosaicVod \ -v /home/ftp_data_folder:/ftp \ # Must provide path to existing folder on the host machine to be used as ftp server storage -p 80:80 \ # expose port 80 for GUI HTTP # Following flags are otional in case you want to use an internal FTP server -p 21:21 \ -p 21100-21200:21100-21200 \ -e FTP_USER=ftpuser \ -e FTP_PASS=ftpuser \ registry.tagvs.com:443/mosaicvod:2.0 # docker image name

 

MosaicVod GUI Features and configuration

MosiacVod is a single page application.

The application contains 2 main pages/panels + 2 dialog for debug and config:

Configuration dialog

  1. Set interval for checking new media(live streams, live thumbnails and VODs)

  2. Every live stream / VOD media has 4 status:
    -VOD available

    -Online live stream

    -Lost connection

    -Deleted(delete from app only live stream not VOD). you can set the thresholds when to detect lost connection status and set when to delete offline stream.

    For example(input data from image below):
    - Every 10000 milisec(10 sec) the app will scan for new live streams, live thumbnails and VODs
    *Recommanded to set interval equal to 1 chunk “time duration”
    - After 3 cycles(30 sec) live stream is stucked/went offline the stream status will be “lost connection”
    - After 10 cycles(100 sec) live stream will be deleted from app(only last live stream manifest will be deleted not VOD content)
    - FTP Max Storage(GB) Threshold: when ftp folder size equal to this input, application will strat to delete the oldest data from the folder.
    - The amout of data that will be deleted is defined by “How many GB to delete in %” input

  3. Storage Type Config Section:
    In this section you need to select your desired input Local(FTP) or S3.
    - If selected “Media Folder Type” as Local the configuration is done via docker run command(mapping volume from outside / using the internal FTP Server)
    - If selected S3 “Media Folder Type” as S3 the configuration is done in the fields below(*endpoint usually stays empty)

DO NOT FORGET! In the end, press on the Save config button

Debug dialog

In this dialog the user can monitor the last status of all the streams for example:

  • Encoder went offline

  • Detected/Added new live streams

Media panel

View all available live steams and VODs

Video panel

  1. Video player

  2. View live thumbnails from live streams

  3. Monitoring live streams

  4. Watch, Download & Delete VODs(Control Panel)

  5. Mini media panel

Media Details:

all the details that can be found in the manifest + links to share

How to watch live?

Click on the Watch button on the media panel and if there is live stream the player will start to play the content automatically

How to watch, download and delete VOD?

If VOD exist you will see the “Control Panel VOD [media name]”

Watch VOD

  • Insert your desired start date, hour, and minutes → click “Watch VOD” button.

  • Usually the VOD video content start hour and end hour will be round hour.
    For example, if you selected to watch from12:40 the start hour will be 12:00 and the end of the video will be 13:00.

  • Forward and Rewind will start new video -+ 1 hour

    Watching the last minute of the video the player will load new content automatically

  • Changing encoder settings sometimes will cause to “stuck video player”, as a result, message with keep watching button will show up.

Download VOD

  • Insert your desired start date and end date inputs → click “Download VOD“ button.

Delete VOD

  • Insert your desired start date and end date inputs → click “Delete VOD“ button.

  • Delete dialog will ask you if you sure about deleting VOD → click “Delete VOD” button

  • If you want to delete all the content of the device select “Delete all” → click “Delete VOD“ button
    *You dont need to select start/end date

 

Enable VOD

To ensure that “VOD available” appears, on the MCM please set the HLS Index Generation Interval to a number instead of the default (For example, 1).