Web直播系列3——外网观看直播+ngrok内网穿透

前提:

电脑的系统为64位Ubuntu16.04TLS及上文所实现的简易直播平台https://blog.csdn.net/zzhang_12/article/details/79789482

目的:

可在外网观看直播平台

Ubuntu下的实现方法:

1)在电脑没有公网Ip的情况下

  • 申请一个腾讯云服务器用来测试
  1. 申请分配的公网Ip为140.143.67.153,端口为22
  2. 本机电脑ping 140.143.67.153,测试网络是否可ping通
  3. 在腾讯云服务器上按前两篇文章进行安装部署nginx,修改配置文件,并启动
  4. 本地推流ffmpeg -re -i rtmp://server/live/high_FMLE_stream -vcodex libx264 -strict -2 -acodex aac -f flv rtmp://140.143.67.153:1935/live/test
  5. 在任意一台可访问外网的电脑上进行访问,例如使用Potplayer打开链接rtmp://140.143.67.153:1935/live/test进行观看或者通过上文所提到ckplayer进行网页播放
  • 使用ngrok进行内网穿透
  • 注意:由于本文所搭建的项目初始阶段在局域网部署,故而需要进行内网穿透实现外网访问,如本机有公网Ip或长期云主机可跳过该功能
  1. 本文只介绍如果使用ngrok客户端,ngrok服务器搭建可能会在后续博文进行学习
  2. 关闭防火墙
    sudo ufw disable
  3. 注册账号并下载ngrok客户端  https://ngrok.com/download
  4. 创建安装目录并将下载客户端解压至安装目录
    sudo mkdir /usr/local/ngrok
    unzip ngrok-stable-linux-amd64.zip
    sudo mv ngrok /usr/local/ngrok/
  5. 配置环境变量
    gedit /etc/profile
    export PATH=$PATH:/usr/local/ngrok
    source /etc/profile
  6. 登陆ngrok官网后获取一个认证令牌“authtoken”,该令牌绑定到ngrok客户端
    ./ngrok authtoken 4phRafKmqChGQ1TZWRLN3_3KQrWu2zCMdsD1Q8ZBa9q
  7. 开启映射,将本机端口映射成一个由ngrok提供的随机公网域名。
    ./ngrok http 80

2)在电脑有公网Ip的情况下

  • 直接将rtmp直播流推至本机分配的公网Ip
  • 注意:与腾讯云服务有所不同
  1. 由于局域网内多台服务器公用一个公网Ip,本机分配该公网Ip时,映射端口为8088
  2. 切记,nginx中rtmp下的监听端口必须为8088,否则不能成功推流。

参考:

https://www.jianshu.com/p/f56c049fa1d9

猜你喜欢

转载自blog.csdn.net/zzhang_12/article/details/79792149