Ministra VOD & PVR Server Configurations Print

  • ministra vod, ministra vod pvr server, ministra vod pvr server configurations, ministra pvr
  • 92

Infomir-Storage Server Installation on Ubuntu Server LTS 16.04

[*]Install Ubuntu server 16.04
[*]Upgrade Packages

sudo apt-get update
sudo apt-get upgrade

[*]Install Required Packages
sudo apt-get install -y -u apache2 php php-soap python2.7 libapache2-mod-php  

[*]Unzip the folder Ministra.zip and copy the directory /stalker_portal/storage in /var/www/.
[*]It will be like /var/www/stalker_portal/storage and files will be in storage folder.
[*]Go to /var/www/stalker_portal/storage/ and run the following command

chmod a+x install.sh
./install.sh

Edit file /var/www/stalker_portal/storage/config.php

[*]define ('VIDEO_STORAGE_DIR', '/media/raid0/storage/');
[*]define ('KARAOKE_STORAGE_DIR', '/media/raid0/karaoke/');
[*]define ('RECORDS_DIR', '/media/raid0/records/');
[*]define ('NFS_HOME_PATH', '/media/raid0/mac/');
[*]// Use login and password from the configuration file. (api_auth_login and api_auth_password in server/custom.ini)
[*]define ('API_URL', 'http://login:[email protected]/stalker_portal/api/');
[*]define ('PORTAL_URL', 'http://192.168.1.71/stalker_portal/');
[*]define ('STORAGE_NAME', 'bb3');
[*]define ('ASTRA_RECORDER', false);
[*]define ('DUMPSTREAM_BUFFERING', 1); // set -1 for system default

where is:
VIDEO_STORAGE_DIR- directory for files of “Videoclub” storing;
KARAOKE_STORAGE_DIR- directory for files of “Karaoke” storing;
RECORDS_DIR- directory for files PVR and “TV Archive” storing; "TV archive" settings;
NFS_HOME_PATH- STB's home directory;
API_URL- URL, which will be used for channel recording request from middleware. Watch "TV archive" settings:
PORTAL_URL- portal address. At this address will be sent to requests from “storage” to check the keys to access the archive;
STORAGE_NAME- storage name.

[*]If you change username and password for API authentication in custom.ini then you also must change it in API URL.
[*]'http://username:[email protected]/stalker_portal/api/');
[*]Where username is api_auth_login
[*]Where Password is api_auth_password
[*]Where x.x.x.x is IP Address of the middleware

[*]Create following directories and give all directories the permissions 0777
[*]/media/raid0/storage/
[*]/media/raid0/karaoke/
[*]/media/raid0/records/
[*]/media/raid0/mac/

mkdir -p -m 0777 /media/raid0/storage /media/raid0/karaoke /media/raid0/records /media/raid0/mac

[*]Create Directory /var/www/media/
mkdir /var/www/media

[*]Create symlink to the STB’s home directories in /var/www/media/

ln -s /media/raid0/mac/ /var/www/media/<storage name>
Let Suppose storage name is “bb3”
So
ln -s /media/raid0/mac/ /var/www/media/bb3[/CENTER]
For Subtitles: ln -s /media/raid0/subtitles /var/www/subs

[*]In Portal Admin interface go to Storage and add
[*]Name - <Storage name>. For Example: bb3
[*]IP - Ip Address of the storage server
[*]Home Directory - <STB’s home directory>. For example: /media/raid/mac/
[*]Configure Apache Port in /etc/apache2/ports.conf

Listen 88

[*]In /etc/apache2/sites-enabled/default.conf change <VirtualHost *:80> to <VirtualHost *:88>
[*]If there will be Tv Archive then it is necessary to add directive VirtualHost inside the block TimeOut 1800 and remove html/


File will be like:
<VirtualHost *:88>

ServerAdmin webmaster@localhost
DocumentRoot /var/www
TimeOut 1800
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

[*]Make sure that the package libapache2-mod-php5filter is not installed on the system. If necessary, remove it.
[*]apt-get purge libapache2-mod-phpfilter

Install Nginx with extra packages
apt-get install nginx nginx-extras

Configure nginx in /etc/nginx/sites-available/default


geo $local_client {
        default 0;
        127.0.0.1/32 1;
        X.X.X.X/32 1; Middle ware IP
    }

    map $local_client $client_allowed {
        0 $secure_link;
        1 1;
    }


server {

    listen 10.1.1.4:80;
    server_name _;

    location / {
        proxy_pass http://10.1.1.4:88/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }


   location /tslink/ {

        rewrite ^/tslink/(.+)/archive/(\d+)/(.+) /stalker_portal/server/api/chk_tmp_timeshift_link.php?key=$1&file=$3 break;

        proxy_set_header Host 10.1.1.3; # <-- portal IP
        proxy_set_header X-Real-IP $remote_addr;
        proxy_pass http://10.1.1.3:88/; # <-- portal IP
    }

    location /archive/ {
        root /var/www;
        internal;
    }


    location ~* ^(?!(\/tslink|\/archive))\/.*\.(mpg|mpeg|avi|ts|mkv|mp4|mov|m2ts|flv|m4v)$ {
        secure_link $arg_st,$arg_e;
        secure_link_md5 "supersecret$uri$remote_addr$arg_e";

                if ($client_allowed = "") {
                    return 403;
                }

                if ($client_allowed = "0") {
                    return 410;
                }

        send_timeout 6h;
        root /var/www/;

                }

     location ~* \.(srt|sub|ass)$ {
        send_timeout 6h;
        root /var/www/subs/;

               }

}






As subtitles does not support nginx secure link token so add lines in /etc/nginx/sites-available/default and remove (srt|sub|ass) from secure link location

geo $local_client {
        default 0;
        127.0.0.1/32 1;
        10.1.1.3/32 1;
    }

    map $local_client $client_allowed {
        0 $secure_link;
        1 1;
    }

server {
    listen 10.1.1.4:80;
    server_name _;
  
location / {
        proxy_pass http://10.1.1.4:88/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }

   location /tslink/ {

        rewrite ^/tslink/(.+)/archive/(\d+)/(.+) /stalker_portal/server/api/chk_tmp_timeshift_link.php?key=$1&file=$3 break;

        proxy_set_header Host 10.1.1.3; # <-- portal IP
        proxy_set_header X-Real-IP $remote_addr;
        proxy_pass http://10.1.1.3:88/; # <-- portal IP
    }

    location /archive/ {
        root /var/www;
        internal;
    }

    location ~* ^(?!(\/tslink|\/archive))\/.*\.(mpg|mpeg|avi|ts|mkv|mp4|mov|m2ts|flv|m4v)$ {
        secure_link $arg_st,$arg_e;
        secure_link_md5 "supersecret$uri$remote_addr$arg_e";

                if ($client_allowed = "") {
                    return 403;
                }

                if ($client_allowed = "0") {
                    return 410;
                }

        send_timeout 6h;
        root /var/www/;

                }

     location ~* \.(srt|sub|ass)$ {
        send_timeout 6h;
        root /var/www/subs/;
                }
}

Restart Nginx
Add Storage in admin panel Go to
Storage à Add storage à General Information tab
Mention Title
IP address of the storage server
Port of apache server
Home Directory /media/raid0/mac/
Maximum User
Add content in /var/www/media/bb3/
Configure inside the portal in Video club


TV Archive Settings

Checking of the availability of multicast streams can be performed with help of dumprtp utility. which is included in dvbstream packet.
apt-get install dvbstream

To check the streams are accessible to your system for recoding
dumprtp IP Port > dump(name).ts
dumprtp 239.1.1.1 1234 > dump239.1.1.1.ts

Install memcached
Infomir-Storage Server Installation on Ubuntu Server LTS 16.04[/CENTER]

[*]Install Ubuntu server 16.04
[*]Upgrade Packages

sudo apt-get update
sudo apt-get upgrade

[*]Install Required Packages
sudo apt-get install -y -u apache2 php php-soap python2.7 libapache2-mod-php  

[*]Unzip the folder Ministra.zip and copy the directory /stalker_portal/storage in /var/www/.
[*]It will be like /var/www/stalker_portal/storage and files will be in storage folder.
[*]Go to /var/www/stalker_portal/storage/ and run the following command

chmod a+x install.sh
./install.sh

Edit file /var/www/stalker_portal/storage/config.php

[*]define ('VIDEO_STORAGE_DIR', '/media/raid0/storage/');
[*]define ('KARAOKE_STORAGE_DIR', '/media/raid0/karaoke/');
[*]define ('RECORDS_DIR', '/media/raid0/records/');
[*]define ('NFS_HOME_PATH', '/media/raid0/mac/');
[*]// Use login and password from the configuration file. (api_auth_login and api_auth_password in server/custom.ini)
[*]define ('API_URL', 'http://login:[email protected]/stalker_portal/api/');
[*]define ('PORTAL_URL', 'http://192.168.1.71/stalker_portal/');
[*]define ('STORAGE_NAME', 'bb3');
[*]define ('ASTRA_RECORDER', false);
[*]define ('DUMPSTREAM_BUFFERING', 1); // set -1 for system default

where is:
VIDEO_STORAGE_DIR- directory for files of “Videoclub” storing;
KARAOKE_STORAGE_DIR- directory for files of “Karaoke” storing;
RECORDS_DIR- directory for files PVR and “TV Archive” storing; "TV archive" settings;
NFS_HOME_PATH- STB's home directory;
API_URL- URL, which will be used for channel recording request from middleware. Watch "TV archive" settings:
PORTAL_URL- portal address. At this address will be sent to requests from “storage” to check the keys to access the archive;
STORAGE_NAME- storage name.

[*]If you change username and password for API authentication in custom.ini then you also must change it in API URL.
[*]'http://username:[email protected]/stalker_portal/api/');
[*]Where username is api_auth_login
[*]Where Password is api_auth_password
[*]Where x.x.x.x is IP Address of the middleware

[*]Create following directories and give all directories the permissions 0777
[*]/media/raid0/storage/
[*]/media/raid0/karaoke/
[*]/media/raid0/records/
[*]/media/raid0/mac/

mkdir -p -m 0777 /media/raid0/storage /media/raid0/karaoke /media/raid0/records /media/raid0/mac

[*]Create Directory /var/www/media/
mkdir /var/www/media

[*]Create symlink to the STB’s home directories in /var/www/media/

ln -s /media/raid0/mac/ /var/www/media/<storage name>
Let Suppose storage name is “bb3”
So
ln -s /media/raid0/mac/ /var/www/media/bb3[/CENTER]
For Subtitles: ln -s /media/raid0/subtitles /var/www/subs

[*]In Portal Admin interface go to Storage and add
[*]Name - <Storage name>. For Example: bb3
[*]IP - Ip Address of the storage server
[*]Home Directory - <STB’s home directory>. For example: /media/raid/mac/
[*]Configure Apache Port in /etc/apache2/ports.conf

Listen 88

[*]In /etc/apache2/sites-enabled/default.conf change <VirtualHost *:80> to <VirtualHost *:88>
[*]If there will be Tv Archive then it is necessary to add directive VirtualHost inside the block TimeOut 1800 and remove html/


File will be like:
<VirtualHost *:88>

ServerAdmin webmaster@localhost
DocumentRoot /var/www
TimeOut 1800
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

[*]Make sure that the package libapache2-mod-php5filter is not installed on the system. If necessary, remove it.
[*]apt-get purge libapache2-mod-phpfilter

Install Nginx with extra packages
apt-get install nginx nginx-extras

Configure nginx in /etc/nginx/sites-available/default


geo $local_client {
        default 0;
        127.0.0.1/32 1;
        X.X.X.X/32 1; Middle ware IP
    }

    map $local_client $client_allowed {
        0 $secure_link;
        1 1;
    }


server {

    listen 10.1.1.4:80;
    server_name _;

    location / {
        proxy_pass http://10.1.1.4:88/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }


   location /tslink/ {

        rewrite ^/tslink/(.+)/archive/(\d+)/(.+) /stalker_portal/server/api/chk_tmp_timeshift_link.php?key=$1&file=$3 break;

        proxy_set_header Host 10.1.1.3; # <-- portal IP
        proxy_set_header X-Real-IP $remote_addr;
        proxy_pass http://10.1.1.3:88/; # <-- portal IP
    }

    location /archive/ {
        root /var/www;
        internal;
    }


    location ~* ^(?!(\/tslink|\/archive))\/.*\.(mpg|mpeg|avi|ts|mkv|mp4|mov|m2ts|flv|m4v)$ {
        secure_link $arg_st,$arg_e;
        secure_link_md5 "supersecret$uri$remote_addr$arg_e";

                if ($client_allowed = "") {
                    return 403;
                }

                if ($client_allowed = "0") {
                    return 410;
                }

        send_timeout 6h;
        root /var/www/;

                }

     location ~* \.(srt|sub|ass)$ {
        send_timeout 6h;
        root /var/www/subs/;

               }

}






As subtitles does not support nginx secure link token so add lines in /etc/nginx/sites-available/default and remove (srt|sub|ass) from secure link location

geo $local_client {
        default 0;
        127.0.0.1/32 1;
        10.1.1.3/32 1;
    }

    map $local_client $client_allowed {
        0 $secure_link;
        1 1;
    }

server {
    listen 10.1.1.4:80;
    server_name _;
  
location / {
        proxy_pass http://10.1.1.4:88/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }

   location /tslink/ {

        rewrite ^/tslink/(.+)/archive/(\d+)/(.+) /stalker_portal/server/api/chk_tmp_timeshift_link.php?key=$1&file=$3 break;

        proxy_set_header Host 10.1.1.3; # <-- portal IP
        proxy_set_header X-Real-IP $remote_addr;
        proxy_pass http://10.1.1.3:88/; # <-- portal IP
    }

    location /archive/ {
        root /var/www;
        internal;
    }

    location ~* ^(?!(\/tslink|\/archive))\/.*\.(mpg|mpeg|avi|ts|mkv|mp4|mov|m2ts|flv|m4v)$ {
        secure_link $arg_st,$arg_e;
        secure_link_md5 "supersecret$uri$remote_addr$arg_e";

                if ($client_allowed = "") {
                    return 403;
                }

                if ($client_allowed = "0") {
                    return 410;
                }

        send_timeout 6h;
        root /var/www/;

                }

     location ~* \.(srt|sub|ass)$ {
        send_timeout 6h;
        root /var/www/subs/;
                }
}

Restart Nginx
Add Storage in admin panel Go to
Storage à Add storage à General Information tab
Mention Title
IP address of the storage server
Port of apache server
Home Directory /media/raid0/mac/
Maximum User
Add content in /var/www/media/bb3/
Configure inside the portal in Video club


TV Archive Settings

Checking of the availability of multicast streams can be performed with help of dumprtp utility. which is included in dvbstream packet.
apt-get install dvbstream

To check the streams are accessible to your system for recoding
dumprtp IP Port > dump(name).ts
dumprtp 239.1.1.1 1234 > dump239.1.1.1.ts

Install memcached
apt-get install memcached

In admin panel go to
Storage à edit current storage if using same VOD storage à Additional Information
select on the option storing content
Allow Tv Recording à Stalker DVR (Select Stalker DVR if using Stalker, Wowza DVR if Wowza, Flussonic DVR if Flussonic & Nimble DVR if Nimble)
Note: - Incase of using separate storage for PVR, add storage and fill in general information and additional information

At the storage /var/www/stalker_portal/storage/config.php necessary to setup (In case of Separate Storage, if using same VOD server, use those information)
RECORDS_DIR (directory with permission 0777, it will be created archive directory, which will contain all files of recording)
API_URL (which will record the channels from middleware. Usually it is http://IPAddressofMiddleware/api/tv_archive/)
PORTAL_URL (portal address. At this address will be sent to requests from “storage” to check the keys to access the archive)
STORAGE_NAME (storage name, which indicated in Admin interface)

Make Directory
mkdir -p -m 0777 /media/raid0/records/archive
Create symlink of folder with archive in web server directory
ln -s /media/raid0/records/archive/ /var/www/

While editing TV channel in Admin interface you can choose “Enable TV archive” option.
Ensure that the Apache configuration file have directive “TimeOut 1800”

For Subtitles as they are not supported with secure link in nginx
mkdir -p -m 0777 /media/raid0/subtitles
ln -s /media/raid0/subtitles /var/www/subs

And Put the link without directory for example:
ffmpeg http://192.168.0.1/TheNun2018.srt

apt-get install memcached

In admin panel go to
Storage à edit current storage if using same VOD storage à Additional Information
select on the option storing content
Allow Tv Recording à Stalker DVR (Select Stalker DVR if using Stalker, Wowza DVR if Wowza, Flussonic DVR if Flussonic & Nimble DVR if Nimble)
Note: - Incase of using separate storage for PVR, add storage and fill in general information and additional information

At the storage /var/www/stalker_portal/storage/config.php necessary to setup (In case of Separate Storage, if using same VOD server, use those information)
RECORDS_DIR (directory with permission 0777, it will be created archive directory, which will contain all files of recording)
API_URL (which will record the channels from middleware. Usually it is http://IPAddressofMiddleware/api/tv_archive/)
PORTAL_URL (portal address. At this address will be sent to requests from “storage” to check the keys to access the archive)
STORAGE_NAME (storage name, which indicated in Admin interface)

Make Directory
mkdir -p -m 0777 /media/raid0/records/archive
Create symlink of folder with archive in web server directory
ln -s /media/raid0/records/archive/ /var/www/

While editing TV channel in Admin interface you can choose “Enable TV archive” option.
Ensure that the Apache configuration file have directive “TimeOut 1800”

For Subtitles as they are not supported with secure link in nginx
mkdir -p -m 0777 /media/raid0/subtitles
ln -s /media/raid0/subtitles /var/www/subs

And Put the link without directory for example:
ffmpeg http://192.168.0.1/TheNun2018.srt

 

 


Was this answer helpful?

« Back