Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
tvip_tms_faq_new [2020/05/22 16:55] Виталий Журавлев [Как подключить приставку к TMS используя логин и пароль?] |
tvip_tms_faq_new [2023/08/31 14:20] (текущий) Виталий Журавлев |
||
---|---|---|---|
Строка 61: | Строка 61: | ||
- | ===== Как добавить архив для канала в TMS ? ===== | + | ===== Как добавить архив для канала в TMS? ===== |
TMS поддерживает возможность получения архива передачи и как следствие поддержку серверной паузы при использовании DVR от Flussonic. | TMS поддерживает возможность получения архива передачи и как следствие поддержку серверной паузы при использовании DVR от Flussonic. | ||
Строка 123: | Строка 123: | ||
===== Какие методы защиты контента есть в TMS? ===== | ===== Какие методы защиты контента есть в TMS? ===== | ||
+ | ==== AES-128 шифрование ==== | ||
TMS, совместно с сервером //flussonic// поддерживает AES-128 шифрование контента | TMS, совместно с сервером //flussonic// поддерживает AES-128 шифрование контента | ||
Строка 133: | Строка 134: | ||
- | ===== Авторизация в Flussonic через Middleware ===== | + | ==== Авторизация в Flussonic через Middleware ==== |
Документация Flussonic по этому разделу доступна по [[ https://erlyvideo.ru/doc/avtorizatsiya/avtorizatsiya-v-flussonic-cherez-middleware | ссылке ]]: | Документация Flussonic по этому разделу доступна по [[ https://erlyvideo.ru/doc/avtorizatsiya/avtorizatsiya-v-flussonic-cherez-middleware | ссылке ]]: | ||
Строка 150: | Строка 151: | ||
stream test { | stream test { | ||
url udp://225.101.15.6:1234; | url udp://225.101.15.6:1234; | ||
- | auth http://tms.example.com/api/drm/auth_token 12345=12345; | + | on_play http://tms.example.com/api/drm/auth_token 12345=12345; |
} | } | ||
</code> | </code> | ||
- | 4. Добавить в конфигурационный файл ТМС /opt/tvip-tms/application-prod.properties опцию 'flussonic.app.secret.key' | + | 4. Обновить конфигурационный файл /opt/tvip-tms/gateway/gateway-tvip-tms-tvip-api/application-prod.yml |
<code> | <code> | ||
- | flussonic.app.secret.key = 12345 | + | flussonic: |
+ | app: | ||
+ | secret: | ||
+ | key: 12345 | ||
</code> | </code> | ||
- | 5. Перезапустуть службу Tvip-tms | + | 5. Обновить конфигурационный файл /opt/tvip-tms/gateway/gateway-tvip-cas-api/application-prod.yml |
+ | <code> | ||
+ | flussonic: | ||
+ | app: | ||
+ | secret: | ||
+ | ttl: 86400 | ||
+ | key: 12345 | ||
+ | </code> | ||
+ | |||
+ | 6. Перезапустить необходимые службы | ||
<code> | <code> | ||
- | systemctl restart tvip-tms.service | + | systemctl restart gateway-tvip-tms-tvip-api |
+ | systemctl restart gateway-tvip-cas-api | ||
</code> | </code> | ||
+ | ==== Авторизация доступа к потоку по token вне зависимости от ПО стримера ==== | ||
+ | Данный метод совместим с wowza token, nginx secure link и т.п | ||
+ | === Алгоритм работы === | ||
+ | * TMS вместе с ссылкой на поток передает устройству токен доступа | ||
+ | * устройство обращается к стримеру за потоком и передает токен | ||
+ | * стример по заведомо известному алгоритму проверяет токен и разрешает/запрещает доступ к потоку в зависимости от токена | ||
+ | === Формат генерации токена === | ||
+ | <code> | ||
+ | <expires><path><key><ip> | ||
+ | |||
+ | </code> | ||
+ | * key - секретная строка | ||
+ | * ip - ip адрес клиента | ||
+ | |||
+ | === Настройка TVIP TMS === | ||
+ | |||
+ | * Включение настройки токена для провайдера | ||
+ | |||
+ | Раздел провайдеры -> Ваш провайдер указать Secure link algoritm **WOWZA_TOKEN** | ||
+ | |||
+ | * Настройка секретной строки и времени жизни токена | ||
+ | На сервере TMS добавить в файл **/opt/tvip-tms/gateway/gateway-tvip-tms-tvip-api/application-prod.yml** | ||
+ | <code> | ||
+ | wowza: | ||
+ | app: | ||
+ | secret: | ||
+ | key: yourverysecretkey | ||
+ | ttl: 87000 | ||
+ | </code> | ||
+ | * перезапуск серввиса, для активации настроек | ||
+ | <code> | ||
+ | systemctl restart gateway-tvip-tms-tvip-api | ||
+ | </code> | ||
+ | |||
+ | |||
+ | === Настройка проверки токена на примере веб сервера nginx === | ||
+ | |||
+ | <code> | ||
+ | location / { | ||
+ | set $secret "yourverysecretkey1"; | ||
+ | secure_link $arg_secure,$arg_expires; | ||
+ | secure_link_md5 "$arg_expires$uri$secret$remote_addr"; | ||
+ | |||
+ | if ($secure_link = "") { | ||
+ | return 403; | ||
+ | } | ||
+ | |||
+ | if ($secure_link = "0") { | ||
+ | return 410; | ||
+ | } | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | ===== Региональность в TVIP TMS ===== | ||
+ | Региональность позволяет управлять выдачей каналов по региональной принадлежности аккаунта или провайдера в рамках одного тарифного плана. | ||
+ | |||
+ | |||
+ | В данном примере рассматривается два региона "London" и "Paris". | ||
+ | Задача: для региона "London" были доступны каналы "Первый канал" и "Россия 1". Для региона "Paris" были доступны каналы "Первый канал HD" и "Россия 1 HD". Разные имена каналов рассматриваются для простоты примера. Названия каналов могут быть одинаковые. | ||
+ | |||
+ | 1. Создаем два региона "London" и "Paris" | ||
+ | |||
+ | |||
+ | |||
+ | {{:screenshot_from_2020-06-30_09-24-13.png?600|}} | ||
+ | {{:screenshot_from_2020-06-30_09-25-24.png?600|}} | ||
+ | |||
+ | |||
+ | 2. Созадем тэг для нового тарифного плана "Tariff_tag_ExampleSP" | ||
+ | |||
+ | {{:screenshot_from_2020-06-30_09-27-25.png?400|}} | ||
+ | |||
+ | |||
+ | 3. Создаем тарифный план "Taririff_ExampleSP_wR" | ||
+ | |||
+ | {{:screenshot_from_2020-06-30_09-31-19.png?400|}} | ||
+ | |||
+ | 4. Создаем Channel tag для регионов "London" и "Paris". Добавляем в них необходимые каналы - "Первый канал" и "Россия 1" для региона "London", а для региона "Paris" "Первый канал HD" и "Россия 1 HD" | ||
+ | |||
+ | {{:screenshot_from_2020-06-30_09-38-25.png?400|}} | ||
+ | {{:screenshot_from_2020-06-30_09-38-43.png?400|}} | ||
+ | |||
+ | 5. Возвращаемся к настройке регионов, и добавляем соответствующие "Channel tag" | ||
+ | |||
+ | {{:screenshot_from_2020-06-30_09-41-19.png?400|}} | ||
+ | {{:screenshot_from_2020-06-30_09-41-32.png?400|}} | ||
+ | |||
+ | 6. Создаем аккаунты для пользователей регионов "London" и "Paris" и устанавливаем соответствующий регион. | ||
+ | |||
+ | 6.1 В подписке выбираем "Taririff_ExampleSP_wR" | ||
+ | |||
+ | {{:screenshot_from_2020-06-30_09-47-24.png?400|}} | ||
+ | {{:screenshot_from_2020-06-30_09-47-48.png?400|}} | ||
+ | |||
+ | {{:screenshot_from_2020-06-30_09-49-55.png?400|}} | ||
+ | {{:screenshot_from_2020-06-30_09-50-17.png?400|}} | ||
+ | |||
+ | |||
+ | ===== Включение опции VOD ===== | ||
+ | |||
+ | 1. Включить опцию в конфигурационном файле **/opt/tvip-tms/gateway/gateway-tvip-tms-tvip-api/application-prod.yml**\\ | ||
+ | в блок **application** добавить: | ||
+ | <code> | ||
+ | features: | ||
+ | vod: true | ||
+ | </code> | ||
+ | |||
+ | 2. Перезапустить gateway-tvip-tms-tvip-api после выполненных изменений. | ||
+ | <code> | ||
+ | systemctl restart gateway-tvip-tms-tvip-api.service | ||
+ | </code> | ||
+ | |||
+ | 3. Получить TMDB api ключ v3, для функции автоматического импорта | ||
+ | |||
+ | 4. Указать ключ в конфигурационном файле **/opt/tvip-tms/manager/manager-tvip-tms-vod/application-prod.yml** | ||
+ | <code> | ||
+ | tmdb: | ||
+ | api-key: 'ваш_ключ' | ||
+ | </code> | ||
+ | |||
+ | 5. Перезапустить manager-tvip-tms-vod\\ | ||
+ | <code> | ||
+ | systemctl restart manager-tvip-tms-vod.service | ||
+ | </code> | ||
+ | |||
+ | 6. Включить тарифную опцию VOD в админ интерфейсе в разделе тарифы->тариф->настройка тарифа. | ||
+ | |||
+ | ===== Настройка приоритета выбранного канала ===== | ||
+ | |||
+ | Для определенного канала можно настроить приоритет - это позволяет после перехода приставки в режим ожидания или перезагрузки показывать определенный канал.\\ | ||
+ | Это настраивается, через TMS: создайте новый канал и в разделе "Дополнительная информация" в поле "Приоритет выбора канала" установите значение.\\ | ||
+ | Доступно назначение разных приоритетов для каналов, по умолчанию выбирается наивысший приоритет, использование разных значений приоритета позволяет составлять тарифы с разными приоритетными каналами. \\ | ||
+ | :!: При использовании одинакового приоритете на двух и более каналах будет выбран первый канал из списка. | ||
+ | |||
+ | {{:channelpriorityru.png?600|}} | ||
+ | |||
+ | ===== Включение логирования в ТМС ===== | ||
+ | |||
+ | Логирование включается отдельно для каждого микро-сервиса.\\ | ||
+ | Все лог файлы хранятся в /var/log/tvip-tms/ | ||
+ | * application.log - general log file of application | ||
+ | * framework.log - service log file | ||
+ | * access.log - information of external operation | ||
+ | * audit.log - extended information of external operation | ||
+ | |||
+ | Включение логирования, добавьте в конфигурационный файл: **/opt/tvip-tms/*/manager-tvip-tms-//*name///application-prod.yml** | ||
+ | <code> | ||
+ | logging: | ||
+ | config: log4j2-example.yml | ||
+ | </code> | ||
+ | |||
+ | После этого перезапустите микро-сервис. | ||
+ | <code> | ||
+ | systemctl restart manager-tvip-*name.service | ||
+ | </code> | ||
+ | |||
+ | :!: где //*name// - название микро-сервиса | ||
+ | |||
+ | ===== Сброс пароля Администратора в ТМС ===== | ||
+ | |||
+ | Сброс пароля для пользователя Администратор (admin) | ||
+ | |||
+ | * Подключитесь к серверу, где установлен TVIP-TMS через ssh | ||
+ | <code> | ||
+ | $ ssh login@tms.example.com | ||
+ | </code> | ||
+ | * Подключиться к базе данных TMS | ||
+ | <code> | ||
+ | # psql -U tvip-tms tvip-tms | ||
+ | </code> | ||
+ | * Изменить пароль на **admin** для пользователя admin | ||
+ | <code> | ||
+ | tvip-tms=> UPDATE admin SET md5pw = '21232f297a57a5a743894a0e4a801fc3' WHERE login = 'admin'; | ||
+ | </code> | ||
+ | * Выйдите из консоли базы данных | ||
+ | <code> | ||
+ | tvip-tms=> \q | ||
+ | </code> | ||
+ | ===== Рекомендованные параметры для иконок ===== | ||
+ | Мы рекомендуем использовать следующие параметры для того что бы иконки отображались корректно на всех устройствах (640х360, 72 ppi, png), примеры: | ||
+ | {{:example1.png?200|}} | ||
+ | {{:example2.png?200|}} | ||
+ | {{:example3.png?200|}} |