Документация на Flussonic Media Server

  1. Быстрый старт
  2. How-to
  3. Потоковое вещание
    1. Варианты источников
    2. Переключение источников
    3. Публикация на Flussonic
    4. Прием мультикаста
    5. Серверные плейлисты
    6. Микширование
    7. Захват с SDI
    8. Отправка на другие серверы
    9. Распознавание DVB субтитров
    10. Наложение логотипа
  4. Транскодер
    1. Логотип
    2. Hardware (Nvidia NVENC)
    3. Hardware (Intel Quick Sync Video)
    4. Скриншоты
    5. Мозаика
  5. DRM
    1. Simple CAS
    2. Conax DRM
    3. BuyDRM (KeyOS)
    4. Widevine
    5. PallyCon
    6. EzDRM
  6. Авторизация
    1. Конструктор бэкендов
    2. Сервис сбора статистики
    3. Domain lock
    4. Middleware
    5. Secure links
    6. Ограничение сессий
    7. Мультиавторизация
    8. Бан IP адресов
    9. DVR
    10. Aliaser
  7. API
    1. HTTP API
    2. Events API
    3. MySQL API
    4. SQL API для кластеров
    5. SNMP
  8. Кластер
    1. Ретрансляция
    2. Кластерный захват
    3. Балансировщик нагрузки
    4. Пиринг
    5. Организация CDN
  9. VOD
    1. Кэш
    2. Облако
    3. Транскодирование файлов
    4. Мультибитрейтный VOD из файлов
  10. DVR
    1. Настройка
    2. Timeshift
    3. Catchup
    4. Проигрывание
    5. Экспорт в MP4
    6. Доступ по протоколам
    7. Timelapse
    8. API
    9. Кластеризация DVR
    10. Репликация
    11. Облако
  11. Воспроизведение
    1. HLS
    2. embed.html
    3. HTML5 с низкой задержкой
    4. Плеер HTML5 с низкой задержкой
    5. MPEG-TS
    6. RTMP
    7. DASH
    8. HDS
    9. RTSP
    10. Multicast
    11. Multicast с постоянным битрейтом
    12. WebRTC
    13. H.265
  12. Администрирование
    1. Установка
    2. Обновление
    3. Конфигурация
    4. Мониторинг
    5. Производительность
    6. Лицензия
    7. LUA скрипты
    8. Безопасность
    9. Let's Encrypt
    10. Миграция
  13. IPTV
    1. Захват спутникового видео
    2. Транскодирование
    3. Middleware в IPTV OTT
    4. Экспорт EPG со спутника
    5. Группы каналов
    6. Реклама

Создание сертификата SSL с Digicert

Эта статья поможет вам запросить и настроить SSL-сертификат, предоставленный авторизационным центром Digicert.

Мы создадим сертификат SSL Plus, поэтому подготовьте информацию о компании, включая идентификационный номер.

Процедура будет следующей:

  • подготовить сервер с Linux и Flussonic Media Server;
  • сгенерировать CSR (подписанный запрос на сертификат);
  • сделать новый заказ на digicert;
  • предоставить необходимую информацию для их поддержки по запросу;
  • ждать уведомления по электронной почте;
  • скачать сгенерированный сертификат вместе с промежуточным сертификатом;
  • настроить Flussonic Media Server;
  • проверить, что все работает нормально.

Подготовка сервера и хоста Anchor Anchor x2

Мы создали сервер на DigitalOcean провайдере облачных вычислений и настроили имя хоста digicert.erlyvideo.org для этого сервера.

maxbook:~ max$ ssh root@digicert.erlyvideo.org
The authenticity of host 'digicert.erlyvideo.org (104.236.104.195)' can't be established.
RSA key fingerprint is 7e:75:87:f0:f6:3b:74:19:35:42:f6:81:cd:7e:81:10.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'digicert.erlyvideo.org,104.236.104.195' (RSA) to the list of known hosts.
Welcome to Ubuntu 14.04.3 LTS (GNU/Linux 3.13.0-71-generic x86_64)

 * Documentation:  https://help.ubuntu.com/

  System information as of Fri Jan  8 12:41:46 EST 2016

  System load: 0.0                Memory usage: 9%   Processes:       50
  Usage of /:  10.6% of 19.56GB   Swap usage:   0%   Users logged in: 0

  Graph this data and manage this system at:
    https://landscape.canonical.com/

Следующим шагом будет установка Flussonic Media Server и получение лицензионного ключа. Вы можете запросить у нас триал.

После установки Flussonic Media Server, сделаем простую настройку. Добавим в /etc/flussonic/flussonic.conf:

http 80;
rtmp 1935;
edit_auth flussonic letmein!;

stream clock {
  url fake://fake;
}

Сохраните эту конфигурацию и запустите Flussonic Media Server: /etc/init.d/flussonic start

Убедитесь, что поток работает http://digicert.erlyvideo.org/clock/embed.html:

Создание сертификата

Генерация CSR Anchor Anchor x2

Теперь создайте CSR с помощью инструмента openssl:
root@digicert:~# cd /etc/flussonic
root@digicert:/etc/flussonic# openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csr
Generating a 2048 bit RSA private key
...........+++
................................................................................................+++
writing new private key to 'server.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:RU
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Example LLC
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:digicert.example.com
Email Address []:digicert@example.com

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

Замечание Здесь вы должны указывать свои данные: не digicert.example.com, а ваш hostname; не Example LLC, а название вашей компании и т.д.

CN — имя хоста. Оно не должно включать "http://" или "https://".

Давайте посмотрим на созданную CSR:

root@digicert:/etc/flussonic# cat server.csr 
-----BEGIN CERTIFICATE REQUEST-----
MIICyDCCAbACAQAwgYIxCzAJBgNVBAYTAlJVMRMwEQYDVQQIDApTb21lLVN0YXRl
MRYwFAYDVQQKDA1Fcmx5dmlkZW8gTExDMR8wHQYDVQQDDBZkaWdpY2VydC5lcmx5
dmlkZW8ub3JnMSUwIwYJKoZIhvcNAQkBFhZkaWdpY2VydEBlcmx5dmlkZW8ub3Jn
MIIBIjANBgkqhkiG9w0BAQEBAAOCAQ8AMIIBCgKCAQEAnvcpWTR1T8oBfRRYKbHJ
wUzFt9HjGmWGB5bGG2xy/j/dixU6B9Qx2kHcGAjsX+vzDX8retrbkdS357S6nLKk
JBOiDIU1GZAljdGFHsUhAn/E6kFLLR95/O3OYZuyAT0BXBzQjmNeHHEZI3BASEiC
0EYU+7sgr99bZhmabbD2CDl84hfRaL17qZIg8s8AV3XV6AO0n3CbctUvNzYEfAsN
TYPQMphwhkfu7Gt/bQvu2Ni3H/BxqHCnGxTD0Xe2G98wM0DHFyfADOLVipPfocLf
EolkUMvBQKOwZX8MCyaVGfW4vLpn1kjEyaosw4qhVaHaNR3rfzFt6uEz0Z0bQiWe
NQIDAQABoAAwDQYJKoZIhvcNAQELBQADggEBAHUJp5XW3I1E06M5bBN8usYJLOku
wsOP0iDA5spteASeHaBr505iKaWjOKpAzw2MdKEeE9by2oaog3Pz6Btffop+smQy
Qm59dWMLD11j2jiLZDTvKU20n+kluandb3bRVRQ3R+H9wWONe0mneLp//gqUQgiS
YdsmLk7lRUYe6K2IxaxA05pD5XoIaTdnvw2YicH6mAItLIeh/inxl4QMIIkcWLu0
jIGNy1t+n/dL0IGCqGuXRfRcrYFHmGyWcWb5C3eFKnxOAewHA7HnUVailF5UAFcX
FpN9gTpuObnQel2Nfuxpn+hbcp0JvU37reUrh58xu8i/j40fBKoIvPUV8yA=
-----END CERTIFICATE REQUEST-----

Нам понадобиться CSR ниже.

Вы также можете посетить https://www.digicert.com/easy-csr/openssl.htm, это цифровой генератор CSR Digicert/ Выберите, что вы считаете более удобным.

Далее мы должны зашифровать ключ SSL-сервера, потому что Flussonic Media Server использует пароль «flussonic» на ключе сервера:

root@digicert:/etc/flussonic# openssl rsa -des3 -in server.key -out flussonic.key
writing RSA key
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:

Введите flussonic как кодовую фразу здесь.

Новый запрос к Digicert Anchor Anchor x2

Посетите сайт digicert и запросите SSL сертификат: https://www.digicert.com/order/order-1.php

Создание сертификата

Упомяните, что ваша цена может отличаться, и Digicert предоставит вам бесплатную пробную версию. Такой сертификат будет жить в течение очень короткого времени и он не предназначен для использования на рабочем проекте.

Заполните поле common name вашим именем хоста, как указано в генерации CSR. Теперь нажмите на флажок CSR. У вас будет длинный список различных параметров, выберите один nginx и введите CSR во второе поле:

SSL-сертификат

Нажмите Continue в каждой форме мастера и заполните все остальные поля до конца.

Проверка заказа Anchor Anchor x2

Digicert свяжется с вами, чтобы обеспечить контроль над доменом.

В нашем случае они также попросили уточнить идентификационный номер компании. Вы должны быть готовы к этому.

Получив всю необходимую информацию, они отправляют электронное письмо с просьбой подтвердить создание сертификата домена:

После этого заказ переходит в следующее состояние проверки:

Загрузка сертификата Anchor Anchor x2

После подтверждения вашего запроса Digicert отправит электронное письмо с ссылкой для скачивания.

На странице вашего заказа указывается, что он выполнен на 100%, поэтому у вас есть все, что нужно:

Ссылка из электронной почты приведет вас к странице с параметрами загрузки:

Выберите «Other format» и выберите «Separate Primary and intermediate crt files».

Вам нужны два файла с вашим сертификатом и промежуточным. Их использование будет объяснено ниже.

Браузер сохранит архив «AllCerts.zip» от Digicert.

Настройка Flussonic Media Server Anchor Anchor x2

Сначала загрузите AllCerts.zip со своего компьютера на Flussonic Media Server:

maxbook:~ max$ scp ~/Downloads/AllCerts.zip root@digicert.erlyvideo.org:/etc/flussonic/
AllCerts.zip                                                                                    100% 5308     5.2KB/s   00:00    

Теперь перейдите на сервер и разархивируйте этот файл (возможно, вам придется установить утилиту unzip в Ubuntu с помощью apt-get -y install unzip):

root@digicert:~# cd /etc/flussonic/
root@digicert:/etc/flussonic# unzip AllCerts.zip 
Archive:  AllCerts.zip
   creating: certs/
  inflating: certs/DigiCertCA.crt    
  inflating: certs/digicert_erlyvideo_org.crt  
  inflating: certs/INSTALL_INSTRUCTIONS.en.txt  
  inflating: certs/INSTALL_INSTRUCTIONS.es.txt  
  inflating: certs/INSTALL_INSTRUCTIONS.it.txt  
  inflating: certs/INSTALL_INSTRUCTIONS.fr.txt  
  inflating: certs/INSTALL_INSTRUCTIONS.lt.txt  
root@digicert:/etc/flussonic# mv certs/DigiCertCA.crt flussonic-ca.crt
root@digicert:/etc/flussonic# mv certs/digicert_erlyvideo_org.crt flussonic.crt

Мы загрузили zip-файл и нам нужны два отдельных файла: один с конкретным сертификатом (flussonic.crt) и второй с цепочкой сертификатов, которые могут использоваться для проверки нашего частного сертификата.

Теперь включите https в Flussonic Media Server, добавив строку https 443; в /etc/flussonic/flussonic.conf. Перезапустите Flussonic Media Server:

root@digicert:/etc/flussonic# /etc/init.d/flussonic restart
Restarting
Stopping flussonic

Starting flussonic: ......done

Проверка SSL Anchor Anchor x2

Сначала давайте посмотрим ссылку на наш поддельный поток: https://digicert.erlyvideo.org/clock/embed.html:

Браузер покажет, что сертификат действителен, если мы нажмем зеленую кнопку в адресной строке:

Последнее, что нужно проверить — проверить подключение через openssl со своего компьютера:

maxbook:~ max$ openssl s_client -showcerts -connect digicert.erlyvideo.org:443
CONNECTED(00000003)
depth=1 /C=US/O=DigiCert Inc/CN=DigiCert SHA2 Secure Server CA
verify error:num=20:unable to get local issuer certificate
verify return:0
---
Certificate chain
 0 s:/C=RU/ST=Moscow/L=Moscow/O=Erlyvideo LLC/CN=digicert.erlyvideo.org
   i:/C=US/O=DigiCert Inc/CN=DigiCert SHA2 Secure Server CA
-----BEGIN CERTIFICATE-----
MIIFHjCCBAagAwIBAgIQAxAJ4eUKpBYFQq0wxwhZezANBgkqhkiG9w0BAQsFADBN
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMScwJQYDVQQDEx5E
aWdpQ2VydCBTSEEyIFNlY3VyZSBTZXJ2ZXIgQ0EwHhcNMTYwMTA4MDAwMDAwWhcN
MTYwMjEyMTIwMDAwWjBoMQswCQYDVQQGEwJSVTEPMA0GA1UECBMGTW9zY293MQ8w
DQYDVQQHEwZNb3Njb3cxFjAUBgNVBAoTDUVybHl2aWRlbyBMTEMxHzAdBgNVBAMT
FmRpZ2ljZXJ0LmVybHl2aWRlby5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
ggEKAoIBAQCe9ylZNHVPygF9FFgpscnBTMW30eMaZYYHlsYbbHL+P92LFToH1DHa
QdwYCOxf6/MNfyt62tuR1LfntLqcsqQkE6IMhTUZkCWN0YUexSECf8TqQUstH3n8
7c5hm7IBPQFcHNCOY14ccRkjcEBISILQRhT7uyCv31tmGZptsPYIOXziF9FovXup
kiDyzwBXddXoA7SfcJty1S83NgR8Cw1Ng9AymHCGR+7sa39tC+7Y2Lcf8HGocKcb
FMPRd7Yb3zAzQMcXJ8AM4tWKk9+hwt8SiWRQy8FAo7BlfwwLJpUZ9bm8umfWSMTJ
qizDiqFVodo1Het/MW3q4TPRnRtCJZ41AgMBAAGjggHdMIIB2TAfBgNVHSMEGDAW
gBQPgGEcgjFh1S8o541GOLQs4cbZ4jAdBgNVHQ4EFgQUZXYaYTXl8jgqawqKQ1Ic
Bm5R+iMwIQYDVR0RBBowGIIWZGlnaWNlcnQuZXJseXZpZGVvLm9yZzAOBgNVHQ8B
Af8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMGsGA1UdHwRk
MGIwL6AtoCuGKWh0dHA6Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9zc2NhLXNoYTItZzUu
Y3JsMC+gLaArhilodHRwOi8vY3JsNC5kaWdpY2VydC5jb20vc3NjYS1zaGEyLWc1
LmNybDBMBgNVHSAERTBDMDcGCWCGSAGG/WwBATAqMCgGCCsGAQUFBwIBFhxodHRw
czovL3d3dy5kaWdpY2VydC5jb20vQ1BTMAgGBmeBDAECAjB8BggrBgEFBQcBAQRw
MG4wJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBGBggrBgEF
BQcwAoY6aHR0cDovL2NhY2VydHMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0U0hBMlNl
Y3VyZVNlcnZlckNBLmNydDAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBCwUAA4IB
AQA86/h7R+C43U2o4cW0ozoPmnEr+MQcXWARSoVpXorguZKms+n4uA0stAXu8rWv
VX+nH84AOhPg7NNfPhmWAshbhfwC37fqUO1ZAnQi5ogItrYRM+96hs/y8Q+9nawR
1EGwLvWU0HTJfv+2t7Z3WF7uJ53I6g5RiT5pi/SVCAeIYkwbZZWkH8xE8GRHzPuu
N6DTmHZkkS+ADu2jp7YTxLSsomjlTKdR4iVDPoDOdugJTKrFYl23zluSkht/pJrs
m5Cc9Xeo7fhyW+dSYnQFnhA+FkdoythwvXqSEzv97VL2eGPWuSBw4Ysx/5U8fYwn
D1OWAfzMXFC75EqSMgWrAOX6
-----END CERTIFICATE-----
 1 s:/C=US/O=DigiCert Inc/CN=DigiCert SHA2 Secure Server CA
   i:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert Global Root CA
-----BEGIN CERTIFICATE-----
MIIElDCCA3ygAwIBAgIQAf2j627KdciIQ4tyS8+8kTANBgkqhkiG9w0BAQsFADBh
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD
QTAeFw0xMzAzMDgxMjAwMDBaFw0yMzAzMDgxMjAwMDBaME0xCzAJBgNVBAYTAlVT
MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxJzAlBgNVBAMTHkRpZ2lDZXJ0IFNIQTIg
U2VjdXJlIFNlcnZlciBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
ANyuWJBNwcQwFZA1W248ghX1LFy949v/cUP6ZCWA1O4Yok3wZtAKc24RmDYXZK83
nf36QYSvx6+M/hpzTc8zl5CilodTgyu5pnVILR1WN3vaMTIa16yrBvSqXUu3R0bd
KpPDkC55gIDvEwRqFDu1m5K+wgdlTvza/P96rtxcflUxDOg5B6TXvi/TC2rSsd9f
/ld0Uzs1gN2ujkSYs58O09rg1/RrKatEp0tYhG2SS4HD2nOLEpdIkARFdRrdNzGX
kujNVA075ME/OV4uuPNcfhCOhkEAjUVmR7ChZc6gqikJTvOX6+guqw9ypzAO+sf0
/RR3w6RbKFfCs/mC/bdFWJsCAwEAAaOCAVowggFWMBIGA1UdEwEB/wQIMAYBAf8C
AQAwDgYDVR0PAQH/BAQDAgGGMDQGCCsGAQUFBwEBBCgwJjAkBggrBgEFBQcwAYYY
aHR0cDovL29jc3AuZGlnaWNlcnQuY29tMHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6
Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RDQS5jcmwwN6A1
oDOGMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RD
QS5jcmwwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8v
d3d3LmRpZ2ljZXJ0LmNvbS9DUFMwHQYDVR0OBBYEFA+AYRyCMWHVLyjnjUY4tCzh
xtniMB8GA1UdIwQYMBaAFAPeUDVW0Uy7ZvCj4hsbw5eyPdFVMA0GCSqGSIb3DQEB
CwUAA4IBAQAjPt9L0jFCpbZ+QlwaRMxp0Wi0XUvgBCFsS+JtzLHgl4+mUwnNqipl
5TlPHoOlblyYoiQm5vuh7ZPHLgLGTUq/sELfeNqzqPlt/yGFUzZgTHbO7Djc1lGA
8MXW5dRNJ2Srm8c+cftIl7gzbckTB+6WohsYFfZcTEDts8Ls/3HB40f/1LkAtDdC
2iDJ6m6K7hQGrn2iWZiIqBtvLfTyyRRfJs8sjX7tN8Cp1Tm5gr8ZDOo0rwAhaPit
c+LJMto4JQtV05od8GiG7S5BNO98pVAdvzr508EIDObtHopYJeS4d60tbvVS3bR0
j6tJLp07kzQoH3jOlOrHvdPJbRzeXDLz
-----END CERTIFICATE-----
---
Server certificate
subject=/C=RU/ST=Moscow/L=Moscow/O=Erlyvideo LLC/CN=digicert.erlyvideo.org
issuer=/C=US/O=DigiCert Inc/CN=DigiCert SHA2 Secure Server CA
---
No client certificate CA names sent
---
SSL handshake has read 3192 bytes and written 328 bytes
---
New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-SHA
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : TLSv1
    Cipher    : DHE-RSA-AES256-SHA
    Session-ID: FFA8316AFC8E3CCE0D34F3AEE94A0E5B6032CBA63898BF59B561729D67F00B90
    Session-ID-ctx: 
    Master-Key: 394AE1BAF1ADABF93E12C5656FAD55D9A9E35C18BE7AA74839D8F4BD83E3730720BFFB37745C551857B857B5CF36948E
    Key-Arg   : None
    Start Time: 1452282438
    Timeout   : 300 (sec)
    Verify return code: 0 (ok)
---
closed

Вы должны увидеть код Verify return code: 0 (ok) в конце.

Это означает, что openssl проверяет цепочку всех сертификатов: от вашей свежеустановленной до корневой.

Готово! Мы запросили и установили SSL-сертификат от Digicert на наш Flussonic Media Server.