• 【教程】部署apprtc服务中安装google-cloud-cli组件的问题及解决


    #0# 前置条件
    已经安装完成node,grunt,node 组件和python pip包等。需要安装google-cloud-cli组件。

    Ubuntu安装google-cloud-cli组件

    apprtc项目运行需要google-cloud-cli前置组件,且运行其中的dev_appserver.py。
    根据google官方的关于安装gcloud cli的说明:https://cloud.google.com/sdk/docs/install?hl=zh-cn。
    可以通过apt命令直接安装这两个组件,分别是:

    sudo apt install google-cloud-cli
    sudo apt install google-cloud-cli-app-engine-python
    
    • 1
    • 2

    过程中apt命令访问google组件库失败,需要借助代理,在只需在正常的apt-get install命令前加上代理参数即可,如:sudo apt-get -o Acquire::http::proxy="http://127.0.0.1:8087" install google-cloud-cli
    然而即便如此,最终在apptrc项目下执行python3 /snap/google-cloud-cli/165/bin/dev_appserver.py /out/app_engine报错。

    ERROR: (dev_appserver) You cannot perform this action because this Google Cloud CLI installation is managed by an external package manager.
    
    • 1

    因此尝试从源码安装google-cli。不依赖apt包管理工具/snap包安装工具。此时需要先卸载原来安装的google-cloud-cli:sudo apt remove google-cloud-cli。及sudo snap remove google-cloud-cli
    根据官方指导,得到安装步骤如下(本机是64位linux,不同版本的命令不同,详见 安装 gcloud CLI):

    cd ~/Desktop
    wget https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-cli-444.0.0-linux-x86_64.tar.gz  # 可通过-e参数指定代理:-e "http_proxy=http://127.0.0.1:8087"
    tar -xf google-cloud-cli-444.0.0-linux-x86_64.tar.gz
    sudo ./google-cloud-sdk/install.sh
    ./google-cloud-sdk/bin/gcloud init --skip-diagnostics
    ./google-cloud-sdk/bin/gcloud components install app-engine-python
    # 如上命令执行后 dev_appserver.py 正常情况下应该就在google-cloud-sdk文件夹的bin目录下
    cd apprtc
    # 注意这里要打开一个新的终端以使之前的更改生效
    python3 google-cloud-sdk/bin/dev_appserver.py /out/app_engine
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    最终成功运行起apprtc项目

    在这里插入图片描述

    访问 http://127.0.0.1:8080 可以看到聊天室:
    在这里插入图片描述

    Docker部署

    因为网络问题,从项目中的Dockerfile构建镜像失败。在apk add命令处执行出现问题。决定从Docker Hub官方pull一个镜像并部署。
    下载量最高的是4年前的一个镜像

    docker pull piasy/apprtc-server
    docker run --rm --net=host \
      -e PUBLIC_IP=127.0.0.1 \
      -it piasy/apprtc-server
    
    • 1
    • 2
    • 3
    • 4

    命令行输出结果如下图所示:
    在这里插入图片描述
    可以在网页中访问 http://127.0.0.1:8080。进入到apprtc聊天室。
    当两个人(此处由两个浏览器表示)进入到同一间聊天室,即可进行通话(未测试更多人的情况),如下图所示:
    在这里插入图片描述
    更详细的代码和webrtc工作原理有待后续分析。

  • 相关阅读:
    notepad 文本筛选并替换
    Webpack入门:常用loader和plugin配置
    java-net-php-python-jsp小家蔬菜展示平台计算机毕业设计程序
    540. 有序数组中的单一元素
    ChatPPT AIGC HR财务行政运营销售职场办公一键PPT生成
    【ELM分类】基于matlab遗传算法优化ELM神经网络数据分类【含Matlab源码 2138期】
    深入分析ERC-4907协议的主要内容,思考此协议对NFT市场流动性意义!
    tomcat中Pipeline-Valve解析
    Java程序之让气球上升
    文心一言 VS 讯飞星火 VS chatgpt (245)-- 算法导论18.1 3题
  • 原文地址:https://blog.csdn.net/dive668/article/details/132568714