1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/wind-Cloud-starrtc-server

В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
README_English.md 20 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 08.06.2025 14:15 586c48a

Бесплатное частное развертывание серверных программ

Ниже перечислены серверы, которые полностью бесплатны (разработаны на языке C), не требуют аутентификации и могут использоваться на Tencent Cloud, Alibaba Cloud или в локальной сети (LAN). Сейчас доступны следующие серверы:

Сервер Функциональность Примечания
voipServer Одиночные видеозвонки Требует работы с msgServer
msgServer Одиночные чаты (например, текстовые чаты), приватные сообщения, сигнализация
chatDBServer Хранение оффлайн-сообщений
groupServer Чат в группах В случае одиночного чата без группового чата этот сервер не требуется.
chatRoomServer Чат людей
liveSrcServer Видеоконференции и трансляция RTMP потока
liveVdnServer Интерактивное прямое вещание, распределенная сеть VDN
liveProxyServer Сервер получения RTSP потока
videoRecServer Функция записи
groupHttpProxyServer Функция системных сообщений и функция групповых операций

#f03c15 Серверные программы в директории, поддерживающей веб, содержат программы, поддерживающие веб, и самоподписанный сертификат.

Серверные программы в директории, не поддерживающей веб, не поддерживают сторону веба.Поддерживает CentOS 64bit, Ubuntu 64bit. Пожалуйста, установите виртуальную машину (используйте режим моста) или Docker для тестирования на Windows системе.#f03c15 Развертывание (пожалуйста, переключитесь на пользователя root или выполните команду с sudo):

1: Скачайте серверные программы: git clone https://github.com/starrtc/starrtc-server.git Затем перейдите в соответствующую директорию и выполните команду: chmod +x *.sh && ./start.sh, и вы завершили развертывание. Если вы хотите запустить отдельную программу, продолжите следующими шагами.

2: Перейдите в соответствующую директорию и добавьте исполнительные права для всех серверных программ: chmod +x *Server

3: Разверните каждую серверную программу следующим образом:

Файлы с суффиксом .log являются лог-файлами. Вы можете просмотреть связанные логи с помощью команды: tail -f xxx.log.

Развертывание сервера Voip

Запустите программу в фоновом режиме:
nohup ./voipServer > voipServer.log 2>&1 &

Для проверки успешного запуска можно запустить сервер без фонового режима, выполнив команду: ./voipServer. Затем можно определить статус запуска, просмотрев выходные логи. Если запуск успешен, можно запустить сервер в фоновом режиме.

Примечание: Также необходимо развернуть msgServer для отправки звонков, получения звонков и других сообщений.


Развертывание IM сервера
==
IM полный сервис содержит 3 серверные программы. Это:

Сервер сообщений: msgServer, сервер данных оффлайн-сообщений: chatDBServer, и сервер управления группами: groupServer.
Эти серверы можно запускать отдельно.Если вам нужна только одно-на-одно чат, вам не нужно запускать groupServer.

Вы можете оставить вашу исходную систему IM без изменений, и использовать нашу систему IM как службу сигнализации для услуг, таких как VoIP.

```java
Запуск программы в фоновом режиме:
nohup ./msgServer     > msgServer.log 2>&1 &
nohup ./chatDBServer  > chatDBServer.log 2>&1 &
nohup ./groupServer   > groupServer.log 2>&1 &

Развертывание сервера chatRoom

Запуск программы в фоновом режиме:
nohup ./chatRoomServer > chatRoomServer.log 2>&1 &

Развертывание сервера liveSrc

Запуск программы в фоновом режиме:
nohup ./liveSrcServer > liveSrcServer.log 2>&1 &

Тестирование отправки потока RTMP: открыть клиентское приложение Android и создать новую комнату для встреч, затем нажать кнопку RTMP, чтобы ввести URL RTMP, и нажать кнопку отправки потока. Затем вы можете открыть URL RTMP для просмотра экрана встречи с помощью стороннего проигрывателя, такого как VLC player.

Вы можете отправлять поток в комнате прямого эфира таким же образом, затем вы можете смотреть прямой эфир с помощью VLC player.

Развертывание сервера liveVdn

В прямом эфире чат-комнате может быть неограниченное количество зрителей,

Запуск программы в фоновом режиме:
nohup ./liveVdnServer > liveVdnServer.log 2>&1 &

Развертывание сервера записи (videoRecServer)

Функция записи видео используется для серверов liveSrcServer и voipServer в настоящее время, и выходные данные имеют формат ts, кодек аудио поддерживает только AAC.По умолчанию сохраняемые файлы имеют разрезанный формат ts-сегмента. Вы также можете выбрать режим без сегментации, следуя следующим шагам:

Создайте новый текстовый файл с именем starrtc.conf в той же директории и добавьте новую строку: recSegMode=off, что означает отключение режима сегментации. Формат файловой директории:

liveSrcServer:

./RECFOLDER/liveChannels/userId/resSessionId_userId_segmentIndex.ts, например ./RECFOLDER/liveChannels/tom/1573119917990_tom_0.ts

voipServer:

./RECFOLDER/voips/userId/resSessionId_userId_segmentIndex.ts, например ./RECFOLDER/voips/tom/1573119917990_tom_0.ts

sessionId получается в мобильном SDK, см. документацию для Android.

Запуск программы в фоновом режиме:
nohup ./videoRecServer > videoRecServer.log 2>&1 &

Сервер системы сообщений и групповых операций

Сервер будет работать, когда пользователь использует продвинутый режим AEC. Например, отправка системного сообщения пользователю (например, уведомление о успешной покупке), или отправка группового системного сообщения всем пользователям группы (например, когда кто-то присоединяется или покидает группу).

Пожалуйста, обратите внимание, что эта служба доступна только для других служб в локальной сети. Не открывайте порт 19922 для внешней сети!```java Отправка системной информации: toUsers: все пользователи, которым нужно отправить сообщение, разделенные запятыми. msg: текстовое сообщение, которое нужно отправить digest: краткое содержание текстового сообщения для отправки в режиме push при отключении пользователя 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.
Сервер может синхронизировать участников группы или выполнять другие операции над участниками группы активно.
Пожалуйста, выберите подходящую стратегию синхронизации участников группы в соответствии с реальными потребностями.

```java 
Отсутствие параметра groupList означает очистку участников этой группы при синхронизации.
Синхронизация участников группы:	
groupId: ID группы
groupList: Все идентификаторы пользователей в группе, разделенные запятыми
ignoreList: все идентификаторы пользователей, которые установлены для отключения уведомлений о сообщениях, разделенные запятыми.
http://www.xxx.com:19922/syncGroupList?groupId=xxx&groupList=userId1,userId2,userId3,...&ignoreList=userId1,userIdx,...

Добавление участников группы: 
groupId: ID группы
addedUsers: Все идентификаторы пользователей группы для добавления, разделенные запятыми.
http://www.xxx.com:19922/addUsersToGroup?groupId=xxx&addedUsers=userId1,userId2,userId3,...

Удаление участников группы:  
groupId: идентификатор группы  
deletedUsers: Все идентификаторы пользователей, которые необходимо удалить из группы, разделенные запятыми.  
http://www.xxx.com:19922/delUsersFromGroup?groupId=xxx&deletedUsers=userId1,userId2,userId3,...
```Установка тишины:  
groupId: идентификатор группы  
ignoreList: Все идентификаторы пользователей, которые необходимо установить для игнорирования уведомлений из этой группы, разделенные запятыми.  
http://www.xxx.com:19922/setPushIgnore?groupId=xxx&ignoreList=userId1,userIdx,...Снятие тишины:  
groupId: идентификатор группы  
ignoreList: Все идентификаторы пользователей, которые необходимо снять для игнорирования уведомлений из этой группы, разделенные запятыми.  
http://www.xxx.com:19922/unsetPushIgnore?groupId=xxx&ignoreList=userId1,userIdx,...

Развертывание сервера для получения потока  
==  
Сервер используется для получения третьего уровня потока rtsp (поток RTMP пока не открыт), конвертации потока в протокол stream starRTC, а затем пересылки потока на сервер liveSrcServer.  
После этого можно воспроизводить этот поток в комнате для живого стриминга или в интерактивном живом трансляционном эфире каждого терминала (Android, iOS, PC и веб).

```java  
Запуск программы в фоновом режиме:
nohup ./liveProxyServer > liveProxyServer.log 2>&1 &

Метод тестирования: сначала найдите rtsp-поток, который можно воспроизводить нормально (можно использовать стандартный тестовый поток в демонстрации).
Во-вторых, вы можете открыть демонстрацию для Android, открыть настройки -> "тестирование третьего потока" -> создать новый поток, заполнить имя и адрес rtsp потока (можно использовать стандартный тестовый поток без заполнения).
В то же время вам нужно выбрать, воспроизводится ли поток в комнате для живого стриминга или в комнате для совещаний.
Наконец, вы можете перейти в комнату для живого стриминга или комнату для совещаний, чтобы посмотреть видео-поток.Вы также можете вызвать его с помощью HTTP:

  • 1 Создайте channelId и получите поток, и интерфейс вернет channelId:

http://www.xxx.com:19932/push?streamType=rtsp&streamUrl=rtsp://184.72.239.149/vod/mp4://BigBuckBunny_175k.mov&roomLiveType=0&roomId=xxxx&extra=xxxxx

roomId и extra — необязательные параметры.

  • 2 Получите поток в указанный channelId:

http://www.xxx.com:19932/push?streamType=rtsp&streamUrl=rtsp://184.72.239.149/vod/mp4://BigBuckBunny_175k.mov&channelId=xxxx

  • 3 Остановите получение потока (не удаляйте channelId, который все еще существует в списке):

http://www.xxx.com:19932/close?channelId=xxxx

  • 4 Остановите поток и одновременно удалите channelId:

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://" если вы используете имя демо вместо IP).Разработка клиентского приложения

Если вы разрабатываете свое клиентское приложение на основе частного сервера, пожалуйста, обратитесь к документации по разработке,

демо, на которое вы можете ссылаться: https://docs.starrtc.com/en/download/

Разработка сервера

Вы можете открыть конфигурационный файл под названием starrtc.conf и изменить значение aecurl (сервер в настоящее время не поддерживает адрес https). Пожалуйста, обратитесь к демо в директории server-api для разработки.

Контакты

QQ: 2162498688

E-mail: support@starRTC.com

Номер телефона: 186-1294-6552

Wechat: starRTC

QQ группа: 807242783

Если у вас возникли проблемы, пожалуйста, обратитесь сначала на страницу https://github.com/starrtc/starrtc-server/wiki, если вы все еще не можете решить проблему, добавьте QQ группу для обратной связи.

История изменений

https://github.com/starrtc/starrtc-server/wiki/Changelog

Ссылки

Тест подключения портовПравила изменения группы безопасности Ali cloud

Для изменения группы безопасности Ali cloud необходимо следовать определенным правилам. Эти правила включают в себя добавление, удаление и редактирование правил группы безопасности. Группа безопасности Ali cloud позволяет контролировать входящий и исходящий трафик для ваших облачных ресурсов.Руководство по операциям с группой безопасности Tencent Cloud

Для управления группой безопасности Tencent Cloud необходимо следовать определенным инструкциям. Эти инструкции включают в себя создание, редактирование и удаление правил группы безопасности. Группа безопасности Tencent Cloud позволяет контролировать входящий и исходящий трафик для ваших облачных ресурсов.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/wind-Cloud-starrtc-server.git
git@api.gitlife.ru:oschina-mirror/wind-Cloud-starrtc-server.git
oschina-mirror
wind-Cloud-starrtc-server
wind-Cloud-starrtc-server
master