Это старая версия документа!
Содержание
TVIP key server installation
WARNING: TVIP cas-server in ALPHA stage, please report all bugs to support@tvip.ru
Ubuntu 16.04 (recommended)
echo "deb http://deb.packages.tvip.ru/ xenial main" >> /etc/apt/sources.list.d/tms.list wget --quiet -O - http://deb.packages.tvip.ru/deploy/key.asc | apt-key add - apt-get -y -q install software-properties-common add-apt-repository ppa:chris-lea/redis-server apt-get update apt-get install tvip-cas
Ubuntu 14.04 (not recommended)
echo "deb http://deb.packages.tvip.ru/ xenial main" >> /etc/apt/sources.list.d/tms.list wget --quiet -O - http://deb.packages.tvip.ru/deploy/key.asc | apt-key add - apt-get -y -q install software-properties-common add-apt-repository ppa:webupd8team/java add-apt-repository ppa:chris-lea/redis-server apt-get update apt-get install tvip-cas ln -s /opt/tvip-cas/tvip-cas.jar /etc/init.d/tvip-cas
Configuration
Copy original /opt/tvip-cas/application-prod.yml.example to /opt/tvip-cas/application-prod.yml.example:
cp /opt/tvip-cas/application-prod.yml.example /opt/tvip-cas/application-prod.yml
Use your favorite editor to change configuration file, for example vi:
vi /opt/tvip-cas/application-prod.yml
Main steps:
Configure Redis Storage
# Change redis password with real password:
spring:
redis:
host: localhost
port: 6379
password: REAL_REDIS_PASSWORD
That password must be equal with password in redis config, you can find password under SECURITY block in /etc/redis/redis.conf
################################## SECURITY ################################### # Require clients to issue AUTH <PASSWORD> before processing any other # commands. This might be useful in environments in which you do not trust # others with access to the host running redis-server. # # This should stay commented out for backward compatibility and because most # people do not need auth (e.g. they run their own servers). # # Warning: since Redis is pretty fast an outside user can try up to # 150k passwords per second against a good box. This means that you should # use a very strong password otherwise it will be very easy to break. # requirepass REAL_REDIS_PASSWORD
After setup requirepass you must restart redis server for apply new settings
Attach Flussonic media server to Key server
In application-prod.yml file add Flussonic ip addresses in stream-servers directive:
stream-servers:
- 127.0.0.2
- 127.0.0.3
- 127.0.0.4
On each flussonic on each stream you may configure address where flussonic be fetch keys for segments, for setup we recommend to configure one channel:
stream rtd {
url udp://226.180.180.180:1234 priority=1;
#dvr /media/6T10 7d;
hds off;
dash off;
mpegts off;
drm aes128 keyserver=http://keys.example.com:8081/cas-server;
}
Where keys.example.com is real domain of keyserver
Attach TMS with key server
TMS must use to connect next params:
- URL of key-server
- Name of application, by default that name is s1.keys.example.com (defined in app section in /opt/tvip-cas/application-prod.yml)
- Private key for sign request from CAS server (defined in app section in /opt/tvip-cas/application-prod.yml). For prevent security violations that key must be redefined by yourself
- Each TMS must be defined in tms-servers section of config file
After changes in config you must restart tvip-cas for applying settings,
on Ubuntu 16.04 you can use:
service tvip-cas restart
on Ubuntu 14.04 you can use:
/etc/init.d/tvip-cas restart
On TMS side you must configure CAS in Settings → CAS servers
Flussonic channel configuration
If you wish encode channel you must add drm directive to channel declaration. Channel encoding available only for hls streams, other streams must be disabled for security reasons.
stream examplechannel{
...
...
hds off;
rtmp off;
rtsp off;
dash off;
mpegts off;
drm aes128 keyserver=http://keys.example.net/cas-server;
}
TMS channel configuration
TMS require same channel name on flussonic and «System name» in Channel entity. For example below that name is examplechannel. Other settings of CAS for channel is no needed.
