Система контроля просмотров как у нимбла pay-per-view

ser

Member
Хотел спросить есть ли у вас система контроля за количеством просмотров трансляции?

Систему авторизации HLS просмотров я нашел тут
Аутентификация воспроизведения HLS с помощью REST hook

Каждый раз при запросе плейлиста происходит http запрос на апи. То есть 10 просмотров = 10 запросов каждые 5 секунд
У нимбла есть спец коллбек который агрегирует количество смотрящих на этой ноде и через определенное время делает запрос на апи и отключает заблокированных.
Возможно есть что-то такое хотелось бы узнать.
 

Max

Administrator
Staff member
Добрый день.
Есть возможность настроить ACL, тогда REST хуки можно вообще не задействовать:
1. Настроить CDN (этот пункт у вас уже выполнен)
2. Назначить на origin сервере на опубликованный поток ключи ACL: Управление доступом к потокам в CDN
3. Играть HLS с назначенными ключами: Передача ключа доступа при воспроизведении по HLS
При этом ключи можно менять динамически на одном и том же потоке без его републикации. Если какой-то ключ удален, подписчики с этим ключом будут отключены от потока.
 

ser

Member
да это то что нужно.

запускают через такой урл
Code:
https://192.168.1.12:8445/test-abr/test-abr.m3u8?token=key1
как описано в тут не воспроизводит абр. наверное в доке устарела инфа.
2023-10-16_09-47.png



но возникла проблема после добавления ключа при повторном воспроизведении получаю такой урл у чанков

Code:
https://192.168.1.12:8445/test-abr/-720p/-720p.m3u8?token=key1?token=key1?token=key1?token=key1?token=key1?token=key1?token=key1
и ошибку 401. видео не идет повторно

запущено в докере
Code:
#
cdn_enabled=true
cdn_ip=192.168.1.10
cdn_role=origin
cdn_nodes_resolve_ip = false

client_acl_property_name=token
#
cdn_enabled=true
cdn_ip=192.168.1.11
cdn_point_of_entry=192.168.1.10
cdn_role=transcoder
cdn_nodes_resolve_ip = false

transcoder_align_encoders=true
video_filter_enable_fps=true
video_filter_fps=25
video_filter_fps_gop_synchronization=50

client_acl_property_name=token
#
cdn_enabled=true
cdn_ip=192.168.1.12
cdn_point_of_entry=192.168.1.10
cdn_role=edge
cdn_nodes_resolve_ip = false
cdn_strict_transcoding_boundaries=true

hls_abr_enabled=true
hls_abr_with_cdn=true
hls_abr_stream_name_suffix=-abr
hls_player_width=0
hls_player_height=0
hls_abr_enabled=true
hls_preloader_enabled=false

ll_hls_fragmented_mp4=false

client_acl_property_name=token
 
Last edited:

Max

Administrator
Staff member
В каком примере играете поток, каким кодом? В примерах HLS.JS Player Minimal и VideoJS Player Minimal есть поля для ввода ключа, в этих примерах проблема не воспроизводится, поток с ключом играет:
1697440306075.jpeg

1697440421457.png

Выглядит как ошибка на стороне фронта, т.к. сервер вообще не возвращает ключ на сторону клиента
 

ser

Member
в овен демо смотрел и обычном videoJs с плагином абр

в тестовом плеере тоже такая же ошибка при стоп/старте просмотра
v.2.0.235-5.2.1776-


2023-10-16_10-32.png


ключи добавлены

2023-10-16_10-34.png
 

Max

Administrator
Staff member
С вашими настройками проблема не воспроизводится на последней сборке WCS 5.2.1778 с WebSDK 2.0.235 на наших тестовых серверах.
Обратите внимание, что мы не рекомендуем тестировать транскодинг в докер контейнерах, либо использовать минимальные разрешения публикации/кодирования (например, 320x240), т.к. транскодинг дает нагрузку на CPU, и может потребоваться тюнинг: Как использовать Docker для WebRTC в продакшене?.
Пожалуйста, разверните три VPS для тестирования. Если проблема воспроизводится в такой конфигурации, просим предоставить доступы к тестовым серверам с помощью этой формы.
 

ser

Member
Пожалуйста, разверните три VPS для тестирования.
да на реальных VPS все работает хорошо.
версия
5.2.1778-f777deca728cc593dc55642a22e15658f066824c


спасибо
 
Top