Вопросы про демо-версию и полную

inpost

Member
Здравствуйте. Несколько вопросов про демо-версию клиента:
1) Есть ли ограничения на 30 дневный триал по функциональности? Может быть количество одновременных стримов и т.д.?
2) При использовании snapshot посреди картинки огромный логотип. Так и должно быть в демо.версии, а в основной уже будет без лого?
Вопросы про полную версию:
3) Сохраняются ли автоматически или можно ли автоматически настроить куда сохранять snapshot ? Или лучше всё же доставать через rest_api/stream/snapshot на том же PHP и сохранять уже на нём?
4) Пропустил в документации, а в какую папку сохраняются RECORD видео и можно ли папку изменить на свою?
5) Можно ли открыть доступ всем к https://host:8888/client2/flashphoner.js и другим .js скриптам и картинкам?
6) И последний вопрос. Возможно как-то динамически через тот же rest_api указывать допустимые stream_name и ip для трансляций? То есть, конечно, можно stream_name каждый раз динамически генерировать имя, но тогда просто могут шкодничать и вещать из-вне для создания лишней нагрузки. Может есть незадокументированная какая-то возможность, я с сервера шлю IP + stream_name, значит с этого ip можно вещать на указанный stream_name, или login+pass выдавать динамически пользователям на определённый stream_name, чтобы никто левый не мог подделать stream_name. Я переживаю, что кто-то включит камеру, второй человек увидит stream_name, и следом попробуем сам включить. Я спрашиваю, чтобы самому не изобретать велосипед, вдруг этот функционал уже встроен.

Спасибо!
 

Max

Administrator
Staff member
Здравствуйте
Есть ли ограничения на 30 дневный триал по функциональности? Может быть количество одновременных стримов и т.д.?
В триальном режиме есть следующие ограничения:
1. Могут вставляться видео watermarks (логотип, который вы видете на снапшотах).
2. Могут вставляться голосовые watermarks (голос 'This is a trial license' внутри трансляции).
При использовании snapshot посреди картинки огромный логотип. Так и должно быть в демо.версии, а в основной уже будет без лого?
Да. Лого (watermark) вставляется только в триальном режиме.
Сохраняются ли автоматически или можно ли автоматически настроить куда сохранять snapshot ? Или лучше всё же доставать через rest_api/stream/snapshot на том же PHP и сохранять уже на нём?
Нет, снапшоты не сохраняются. Нужно запускать скрипт на PHP или локально на сервере, который достает их через rest_api.
Пропустил в документации, а в какую папку сохраняются RECORD видео и можно ли папку изменить на свою?
В папку WCS_HOME/records
и можно ли папку изменить на свою?
После сохранения файла в папке records, вызывается хук WCS_HOME/bin/on_record_hook.sh
Таким образом вы можете написать bash скрипт, который сохранит запись в нужную папку или же закачает запись в облако
https://flashphoner.com/zapis-webrtc-videopotoka-s-veb-kamery-brau/?lang=ru
Если просто нужно поменять папку, можно создать symlink
Code:
ln -sf /home/my_records /usr/local/FlashphonerWebCallServer/records
Можно ли открыть доступ всем к https://host:8888/client2/flashphoner.js и другим .js скриптам и картинкам?
Можно, но это не правильно. Правильно скопировать содержимое папки /usr/local/FlashphonerWebCallServer/client2 в веб-каталог apache (например /var/www/html) или nginx и открыть доступ к этому статическому контенту оттуда.
Если требуется открыть доступ именно из демо, нужно выставить в конфиге сервера wcs-manager.properties настройку
-DstartWithDemoUser=true
В этом режиме доступ к скриптам открыт по http / https
Возможно как-то динамически через тот же rest_api указывать допустимые stream_name и ip для трансляций?
Нет, через rest_api нельзя указать разрешенные имена / ip.
Может есть незадокументированная какая-то возможность, я с сервера шлю IP + stream_name, значит с этого ip можно вещать на указанный stream_name
Это задокументированная возможность.
Документация находится здесь: https://flashphoner.com/docs/wcs5/wcs_docs/html/ru/wcs-rest-methods
Когда пользователь начинает трансляцию на стороне браузера, WCS сервер вызывает REST hooks
1) /connect
Содержит
- IP пользователя
- URL сайта, с которого пользователь пытается начать трансляцию
- кастомные параметры, например String token
2) /publishStream который содержит:
- IP пользователя
- Имя потока streamName
- кастомные параметры, например String token
Ваш бэкенд PHP отвечает на эти хуки: 200 OK, если разршает операцию. 403 Forbidden, если запрещает операцию.
Пример реализации бэкенда на PHP можно скачать здесь:
https://flashphoner.com/downloads/REST_application_PHP_example.zip
Т.е. проверяете с какого сайта пришел запрос, IP, streamName, кастомные параметры. Если все в порядке, разрешаете. Если что-то не так - отклоняете. Пользователь браузера в случае отклоенения получит 403 Forbidden в JavaScript объекте ошибки. Если вернете 403 Unknown User, то пользователь получит в JavaScript объекте ошибки ваш переданный кастомный текст.
 
Top