Все серверные приложения, перечисленные ниже, полностью бесплатны и разработаны на языке C. Они не требуют авторизации и могут быть развёрнуты на облачных платформах, таких как Tencent Cloud, Alibaba Cloud или в локальной сети:
Серверное приложение | Функция | Примечание |
---|---|---|
voipServer | Видеозвонки один на один | Требуется в сочетании с msgServer |
msgServer | Частные сообщения (например, текстовые чаты), личные сообщения, сигнализация | |
chatDBServer | Хранение сообщений в автономном режиме | |
groupServer | Групповые чаты | Если вам нужны только частные сообщения, а групповые чаты не требуются, то нет необходимости запускать это приложение |
chatRoomServer | Многопользовательские чаты | |
liveSrcServer | Многопользовательские видеоконференции RTMP потоковая передача | |
liveVdnServer | Интерактивные прямые трансляции, vdn-сеть распространения | |
liveProxyServer | RTSP сервер потоковой передачи | |
videoRecServer | Запись видео | |
groupPushHttpProxy | Системные сообщения и функции управления группами |
В каталоге web-supported находятся серверные программы, поддерживающие веб-интерфейс. В каталоге do-not-support-web находятся серверные программы без поддержки веб-интерфейса.
Поддерживаются CentOS 64bit и Ubuntu 64bit. Для Windows рекомендуется использовать виртуальную машину (рекомендуется использовать мост) или Docker для тестирования.
Загрузите серверное приложение: git clone https://github.com/starrtc/starrtc-server.git Затем перейдите в соответствующий каталог и выполните chmod +x *.sh && ./start.sh для успешного развёртывания! Если вы хотите запустить отдельно, продолжайте следующие шаги.
Перейдите в соответствующий каталог и предоставьте всем серверным приложениям права на выполнение: chmod +x *Server
Разверните каждое серверное приложение следующим образом:
Файлы с расширением .log являются файлами журналов, которые можно просмотреть с помощью команды tail -f xxx.log.
==
Запуск фонового процесса:
nohup ./voipServer > voipServer.log 2>&1 &
Для проверки запуска сначала можно не запускать процесс в фоновом режиме, а просто запустить ./voipServer и посмотреть вывод журнала. После успешного запуска можно запустить процесс в фоновом режиме.
Примечание: Также необходимо развернуть msgServer для передачи вызовов, приёма и других сообщений.
== IM-сервер состоит из трёх серверных приложений: msgServer, chatDBServer для хранения данных в автономном режиме, и groupServer для управления группами. Просто запустите их.
Если вам нужны только личные сообщения, нет необходимости запускать groupServer.
Вы можете сохранить свою существующую систему IM без изменений и использовать нашу систему IM в качестве службы сигнализации для voip и других служб.
Запуск в фоновом процессе:
nohup ./msgServer > msgServer.log 2>&1 &
nohup ./chatDBServer > chatDBServer.log 2>&1 &
nohup ./groupServer > groupServer.log 2>&1 &
==
Запуск в фоновом процессе:
nohup ./chatRoomServer > chatRoomServer.log 2>&1 &
Можно открыть клиент Android, создать новую комнату для собраний, нажать «RTMP-поток», ввести URL-адрес RTMP, а затем нажать «Поток», чтобы начать потоковую передачу. Затем вы можете использовать другие сторонние проигрыватели, такие как VLC, для доступа к этому RTMP URL и просмотра содержимого собрания.
Аналогично, вы можете транслировать собрания, используя VLC для просмотра.
== Интерактивные прямые трансляции без ограничений по количеству зрителей
Запуск в фоновом процессе:
nohup ./liveVdnServer > liveVdnServer.log 2>&1 &
== В настоящее время используется для liveSrcServer и voipServer для записи видео. Текущая версия является тестовой версией, вывод — файлы TS, поддерживается пользовательская нарезка или отсутствие нарезки, аудио поддерживает только формат AAC.
По умолчанию videoRecServer выполняет нарезку, каждые 30 секунд — один фрагмент. Если нарезка не требуется, создайте файл starrtc.conf в том же каталоге, что и программа, и введите recSegMode=off, чтобы отключить нарезку и оставить все фрагменты с номером 0.
Формат каталога файлов:
Онлайн-собрания или интерактивные прямые трансляции:
./RECFOLDER/liveChannels/имя пользователя/resSessionId_имя пользователя_номер фрагмента.ts, например ./RECFOLDER/liveChannels/tom/1573119917990_tom_0.ts
Видеозвонки один на один (VOIP):
./RECFOLDER/voips/имя пользователя/resSessionId_имя пользователя_номер фрагмента.ts, например ./RECFOLDER/voips/tom/1573119917990_tom_0.ts
Здесь sessionId получается на мобильном устройстве через SDK.
Запуск в фоновом процессе:
nohup ./videoRecServer > videoRecServer.log 2>&1 &
== Используется в режиме AEC Advanced, когда пользователи получают системные сообщения (например, уведомления об успешных покупках) или отправляют групповые системные сообщения всем пользователям группы (например, при добавлении или удалении пользователей из группы).
Обратите внимание, что эта служба предназначена только для использования другими службами в интрасети, не открывайте порт 19922 для внешнего доступа!
Отправить системное сообщение:
toUsers:имена всех пользователей, которым нужно отправить сообщение, разделенные запятыми
msg: текст сообщения
digest: текст сообщения для использования при отсутствии пользователей в сети
http://www.xxx.com:19922/pushSystemMsgToUsers?toUsers=userId1,userId2,userId3,...&msg=xxxx&digest=xxxx
Отправить групповое сообщение (всем членам группы):
http://www.xxx.com:19922/pushGroupMsg?groupId=xxx&msg=xxxx
Следующие пять интерфейсов, связанных с группами, также реализованы в клиенте SDK, но с помощью этих интерфейсов сервер может активно синхронизировать членов группы или выполнять другие операции над членами группы. Вы можете выбрать подходящую стратегию синхронизации членов группы в соответствии с вашими потребностями.
Синхронизация членов группы:
groupId: идентификатор группы
groupList: все члены группы, разделенные запятыми, если groupList не передан, это означает очистку этой группы членов
ignoreList: список пользователей, установивших функцию «Не беспокоить» для этой группы, разделенных запятыми
http://www.xxx.com:19922/syncGroupList?groupId=xxx&groupList=userId1,userId2,userId3,...&ignoreList=userId1,userIdx,...
Добавление членов группы:
addedUsers: идентификаторы всех пользователей, добавляемых в группу, разделенные запятыми
http://www.xxx.com:19922/addUsersToGroup?groupId=xxx&addedUsers=userId1,userId2,userId3,...
Удаление членов группы:
deledUsers: идентификаторы пользователей, которых нужно удалить из группы, разделенные запятыми
http://www.xxx.com:19922/delUsersFromGroup?groupId=xxx&deledUsers=userId1,userId2,userId3,...
Установка функции «Не беспокоить»:
ignoreList: идентификаторы пользователей, для которых установлена функция «Не беспокоить», разделенные запятыми
http://www.xxx.com:19922/setPushIgnore?groupId=xxx&ignoreList=userId1,userIdx,...
Отмена функции «Не беспокоить»:
ignoreList: идентификаторы пользователей, для которых отменена функция «Не беспокоить», разделенные запятыми
http://www.xxx.com:19922/unsetPushIgnore?groupId=xxx&ignoreList=userId1,userIdx,...
== Предназначен для извлечения потоков RTSP (потоки RTMP в настоящее время не открыты), преобразования их в протокол starRTC и пересылки на liveSrcServer. Затем можно будет воспроизводить этот поток в онлайн-конференциях или интерактивных трансляциях на различных терминалах (Android, iOS, ПК и веб).
Запуск бэкенда:
nohup ./liveProxyServer > liveProxyServer.log 2>&1 &
Метод тестирования:
Сначала найдите поток, который можно нормально воспроизвести (также можно использовать тестовый поток из примера программы), затем откройте программу для Android, перейдите в «Настройки» → «Сторонние потоки» → «Создать поток», введите имя и адрес потока RSTP (можно не вводить и использовать тестовый поток по умолчанию), а также выберите, будет ли поток воспроизводиться в трансляции или конференции. После этого вы сможете увидеть видеопоток в прямом эфире или комнате для конференций.
Также можно вызвать HTTP-запрос самостоятельно:
Здесь roomId и extra являются необязательными параметрами.
http://www.xxx.com:19932/close?channelId=xxxx
http://www.xxx.com:19932/delete?channelId=xxxx
Необходимо открыть порты.
Сервер | Порт | Веб-порт, который необходимо открыть |
---|---|---|
msgServer | 19903(tcp) | 29991(tcp):https для тестирования доверия |
voipServer | 10086(udp) 44446(udp):P2P-связь | 10087(tcp):websocket 10088(udp):webrtc 29992(tcp):https для тестирования доверия |
chatRoomServer | 19906(tcp) | 29993(tcp):https для тестирования доверия |
liveSrcServer | 19931(udp) | 19934(tcp):websocket 19935(udp):webrtc 29994(tcp):https для тестирования доверия |
liveVdnServer | 19928(udp) | 19940(tcp):websocket 19941(udp):webrtc 29995(tcp):https для тестирования доверия |
liveProxyServer | 19932(tcp) | — |
Тестовый метод:
Скачайте клиентскую программу, откройте «Настройки → Конфигурация сервера», затем введите собственный IP-адрес сервера (обратите внимание, что не следует изменять номер порта, если это домен, то не нужно добавлять префикс «http://»).
Разработка клиента:
На основе частного развёртывания сервера разработайте свой собственный клиент, см. документацию по разработке, примеры кода см.: https://docs.starrtc.com/en/download/.
Разработка сервера:
Откройте файл конфигурации starrtc.conf, измените значение aecurl (в настоящее время не поддерживает адреса https), разработка см. пример кода в каталоге server-api.
Контакты: QQ: 2162498688 Электронная почта: support@starRTC.com Телефон: 186-1294-6552 WeChat: starRTC Группа QQ: 807242783 Если у вас возникли проблемы, сначала попробуйте решить их самостоятельно, следуя инструкциям на странице https://github.com/starrtc/starrtc-server/wiki. Если проблему не удаётся решить, добавьте её в группу для обратной связи.
История обновлений: https://github.com/starrtc/starrtc-server/wiki/Changelog
Ссылки: Тестирование подключения портов
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )