Установите сервер OWT [Open WebRTC Toolkit] в среде Docker.
Оглавление
- Установите сервер OWT в среде Docker.
- Сервер OWT для пользовательской разработки Docker
Wiki (если следить за работой, если не обращать внимания, будут подводные камни): Простой способ быстро оценить OWT с образом Docker
Статьи по Теме:
- Установите сервер OWT [Open WebRTC Toolkit] в среде Ubuntu.
- Установите сервер OWT [Open WebRTC Toolkit] в среде Docker.
- Общий анализ архитектуры сервера OWT [Open WebRTC Toolkit]
- Анализ сигналов сервера OWT (часть 1) [Open WebRTC Toolkit]
- Анализ сигналов сервера OWT (часть 2) [Open WebRTC Toolkit]
- Структура процесса сервера OWT и поток обработки кода JS[Open WebRTC Toolkit]
- REST-API сервера OWT
1. Установите сервер OWT в среде Docker.
- Ниже приведены 5 образов докеров OWT на основе версии 5.0, включая 4 установленных образа среды выполнения и 1 образ с установленными зависимыми пакетами.
OWT运行环境映像:
xeon-ubuntu1804-service-owt: OWT ubuntu 18.04 docker镜像,无硬件加速相关软件安装。
xeon-centos76-service-owt: OWT centos 7.6 docker镜像,不安装硬件加速相关软件。
xeone3-ubuntu1804-service-owt:自带硬件加速相关软件的OWT ubuntu 18.04 docker镜像。
xeone3-centos76-service-owt: OWT centos 7.6 docker镜像,安装硬件加速相关软件。
自带OWT源代码的OWT构建环境:
xeon-ubuntu1804-service-dev: OWT ubuntu 18.04 docker镜像,安装了构建OWT包所需的依赖项,包括OWT 5.0源代码。
- Пример: используйте образ xeon-ubuntu1804-service-owt, чтобы показать, как быстро установить сервер OWT.
1. Извлеките образ докера OWT
- Загрузите образ докера OWT с помощью следующей команды:
docker pull openvisualcloud/xeon-ubuntu1804-service-owt
2. Запустите образ Docker OWT
- Запустите образ докера OWT, используя хост-сеть:
docker run -itd --name=owt --net=host openvisualcloud/xeon-ubuntu1804-service-owt bash
docker exec -it owt bash
cd /home
启动:./launch.sh
停止:./owt/bin/stop-all.sh
- Примечание. Если вы используете локальную среду, вы можете запустить ее напрямую, но если вы используете облачный сервер, вам необходимо настроить IP-адрес общедоступной сети, иначе страница не будет отображаться:
- Редактировать
webrtc_agent/agent.toml
: Измените network_interfaces в разделе [webrtc], добавьте {name="eth0", replace_ip_address="IP общедоступной сети"}, вам нужно установить имя на фактическое имя сетевой карты (ifconfig можно посмотреть, вообще eth0, обратите внимание, что это не сетевая карта с именем докера), replace_ip_address устанавливается на общедоступный IP-адрес сервера. - Изменить
portal/portal.toml
: измените ip_address в разделе [portal] на общедоступный IP-адрес сервера. - команда docker install vim:
apt-get update
команда для обновления источникаapt-get install vim
команда для установки vim
- Редактировать
- Открыть после запуска:
https://serverip:3004?”Forward =true
для подтверждения успеха. - После открытия страницы вам необходимо вручную разрешить OWT использовать самозаверяющий сертификат.
- Если система Windows, вы можете напрямую проигнорировать ее и продолжить посещение, а Mac сообщит об ошибке: Ваше соединение не является частным соединением.
- Решение ошибки Mac: введите "
thisisunsafe
" прямо в интерфейсе, и он перейдет на страницу доступа.
- Если все в порядке, вы можете явно отобразить локальный поток на странице и явно подписаться на удаленный перенаправленный поток под страницей.
- Образец веб-страницы OWT загрузит файлы jquery-3.2.1.min.js и socket.io.js из Интернета, если сети не удастся успешно загрузить эти два файла, в консоли Chrome будет напечатана следующая ошибка:
index.js:52 Uncaught (in promise) ReferenceError: $ is not defined
at createResolutionButtons (index.js:52)
at subscribeAndRenderVideo (index.js:100)
at index.js:194
createResolutionButtons @ index.js:52
subscribeAndRenderVideo @ index.js:100
(anonymous) @ index.js:194
Promise.then (async)
(anonymous) @ index.js:143
req.onreadystatechange @ rest-sample.js:12
XMLHttpRequest.send (async)
send @ rest-sample.js:19
createToken @ rest-sample.js:79
window.onload @ index.js:141
load (async)
runSocketIOSample @ index.js:134
(anonymous) @ (index):53
index.js:176 Uncaught (in promise) ReferenceError: $ is not defined
at index.js:176
- Если возникает эта ошибка (
其他错误也可以试下执行下面操作,我遇到的就是其他错误然后通过如下步骤解决的
), вам необходимо вручную загрузить файл js и заменить его образом докера (путь докера должен быть создан заранее: mkdir -p extras/basic_example/public/)
wget https://raw.githubusercontent.com/qwu16/jsfiles/master/jquery-3.2.1.min.js
wget https://raw.githubusercontent.com/qwu16/jsfiles/master/socket.io.js
wget https://raw.githubusercontent.com/qwu16/jsfiles/master/index.html
docker cp index.html owt:/home/owt/extras/basic_example/public/
docker cp socket.io.js owt:/home/owt/extras/basic_example/public/scripts/
docker cp jquery-3.2.1.min.js owt:/home/owt/extras/basic_example/public/scripts/
- Тогда просто обновите.
- Визуализации:
2. Сервер OWT для пользовательской разработки Docker
- Необходимо разработать собственные функции на основе исходного кода OWT.
1. Упакуйте исходный код в зеркальное отображение
- Для упаковки изображений требуется научный доступ в Интернет,
~/.docker/config.json
настройте агент докера в пути, метод конфигурации:
{
"proxies":{
"default":{
"httpProxy":"http://ip:port",
"httpsProxy":"http://ip:port"
}
}
}
- Docker упаковывает образ и входит в каталог docker сервера owt:
docker build -t owt:build .
2. Используйте существующее изображение и измените код в изображении.
- Его можно разработать в несколько этапов:
docker pull openvisualcloud/xeon-ubuntu1804-service-dev
docker run -itd --net=host --name=owtbuild openvisualcloud/xeon-ubuntu1804-service-dev bash
docker exec -it owtbuild bash
cd /home/owt-server
####Modify your code
./scripts/build.js -t mcu -r -c
./scripts/pack.js -f -i -p ../owt-client-javascript/dist/samples/conference/
cd dist
./bin/init-all.sh
./bin/start-all.sh
- Затем вы можете открыть хром, чтобы проверить измененную функцию.
- Примечание. Убедитесь, что файл js можно загрузить, как показано в 1.2.