环境

  • Ubuntu 18.04 Server

准备

参考

步骤

服务端配置

  1. 首先编译并安装带 rtmp 模块的 nginx
    • 使用包管理安装的 nginx 不自带 rtmp 模块,后来查到可以安装 libnginx-mod-rtmp 来加入 rtmp 模块,但实践后失败了,最后选择编译安装  如果已经安装了 nginx,需要添加其他 nginx 模块,参见 nginx 安装后添加 rtmp 模块
    • 安装编译工具/依赖
      sudo apt-get install build-essential libpcre3 libpcre3-dev libssl-dev git zlib1g-dev -y
    • 创建编译目录并下载源码
      sudo mkdir ~/build && cd ~/build
      sudo git clone git://github.com/arut/nginx-rtmp-module.git
    • 下载并解压 nginx 安装包(这里使用1.14版)
      sudo wget http://nginx.org/download/nginx-1.14.1.tar.gz
      sudo tar xzf nginx-1.14.1.tar.gz
      cd nginx-1.14.1
    • 编译并安装带 rtmp 模块的 nginx
      sudo ./configure --with-http_ssl_module --add-module=../nginx-rtmp-module
      sudo make
      sudo make install
    • 开启 nginx 服务
      # 链接到 /usr/local/bin
      # sudo ln -s /usr/local/nginx/sbin/nginx /usr/local/bin
      # nginx
      # 或者直接用绝对路径
      sudo /usr/local/nginx/sbin/nginx
  2. 设置 nginx.conf
    • 默认生成的 nginx 配置文件没有启用 rtmp 模块,将默认配置文件备份
      sudo mv /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.bak

      然后替换为以下内容

      #user  nobody;
      worker_processes  1;
      
      error_log  logs/error.log debug;
      
      events {
          worker_connections  1024;
      }
      
      http {
          include       mime.types;
          default_type  application/octet-stream;
      
          sendfile        on;
          keepalive_timeout  65;
      
          server {
              listen       8080;
              server_name  localhost;
      
              # sample handlers
              #location /on_play {
              #    if ($arg_pageUrl ~* localhost) {
              #        return 201;
              #    }
              #    return 202;
              #}
              #location /on_publish {
              #    return 201;
              #}
      
              #location /vod {
              #    alias /var/myvideos;
              #}
      
              # rtmp stat
              # 查看 rtmp 服务状态
              location /stat {
                  rtmp_stat all;
                  rtmp_stat_stylesheet stat.xsl;
              }
              location /stat.xsl {
                  # you can move stat.xsl to a different location
                  # stat.xsl 文件的路径
                  root /usr/build/nginx-rtmp-module;
              }
      
              # rtmp control
              location /control {
                  rtmp_control all;
              }
      
              error_page   500 502 503 504  /50x.html;
              location = /50x.html {
                  root   html;
              }
          }
      }
      
      rtmp {
          server {
              listen 1935;
              ping 30s;
              notify_method get;
      
              # 设置直播 myapp 为直播应用名称,可以自行更改
              # 相应的,也可以设置多个直播应用
              application myapp {
                  live on; # 开启直播
      
                  # sample play/publish handlers
                  #on_play http://localhost:8080/on_play;
                  #on_publish http://localhost:8080/on_publish;
      
                  # sample recorder
                  #recorder rec1 {
                  #    record all;
                  #    record_interval 30s;
                  #    record_path /tmp;
                  #    record_unique on;
                  #}
      
                  # sample HLS
                  # 开启HLS
                  #hls on;
                  #hls_path /tmp/hls;
                  #hls_sync 100ms;
              }
      
              # Video on demand
              # 点播服务
              application vod {
                  play /var/Videos; # 更改为视频路径
              }
      
              # Video on demand over HTTP
              # HTTP点播服务,这里我没有设置成功
              #application vod_http {
              #    play http://localhost:8080/vod/;
              #}
          }
      }
    • 将 stat.xsl 移动到 /usr/build/nginx-rtmp-module/ 目录下
      mkdir /usr/build
      mkdir /usr/build/nginx-rtmp-module
      mv [your build directory]/stat.xsl /usr/build/nginx-rtmp-module

      或者更改 nginx 配置文件的 stat.xsl 的文件路径

    • 测试并重启 nginx
      nginx -t
      # if OK then
      nginx -s reload
  3. 访问 http://[your domain or IP]:8080/stat 查看 nginx-rtmp 的运行状态myapp 即为直播用到的配置,vod 为 rtmp 点播所用配置,vod_http 为 http 的点播服务(这个没有实践成功),至此服务端配置完成

Continue reading “使用 nginx rtmp module 实现 rmtp 点播/直播功能”

官网:https://comments.app/

准备

  • Telegram账号
  • Telegram

步骤

  1. 打开链接,点击右侧的Log in to Connect,登录Telegram账号
  2. 打开Telegram,确认登录请求
  3. 回到主页面,原本的 Log in to Connect 变成了 Connect Website,点击 Connect Website
  4. 输入自定义名称和网站域名,点击 Connect Website
  5. 新留言板新建完成,在设置面板可以设置留言板的样式和显示条目
  6. 将页面下方的js代码添加至网页代码即可嵌入留言板

效果