使用树莓派搭建RTMP流媒体数据转HDMI输出
不全旋不是小火车
2021年03月31日 10:17

1.树莓派选择

推荐4

测试3B+

2.系统安装

树莓派官网https://raspberrypi.com/

下载imager

选择16G以上的tf卡烧录

3.系统配置

  1. 登录系统(用户名 pi 密码raspberry)

  2. 修改密码 sudo raspi-config

    1. 选择System Options -> Password

    2. 修改自己的密码(输入两遍)

  1. 配置HDMIsudo nano /boot/config.txt # 图像填充屏幕  disable_overscan=1    # HDMI适配模式  hdmi_group=1    # 包含音频输出  hdmi_drive=2    # 设置分辨率和帧率,以下为常用1080p配置(选择其一)    # 1920x1080 60fps  hdmi_mode=16    # 1920x1080 25fps  hdmi_mode=33    # 1920x1080 30fps  hdmi_mode=34

  2. 重启树莓派(重启后有可能需要重新拔出hdmi线)sudo reboot

  3. 更新aptsudo apt update

  4. 安装nginx和rtmp组件sudo apt install nginx libnginx-mod-rtmp omxplayer

  5. 允许nginx使用视频接口sudo usermod -aG video www-data

  6. 接下来配置nginxsudo nano /etc/nginx/nginx.conf rtmp {    server {      listen 1935;        application live {        # 启用实时推流        live on;          # 关闭记录        record off;          # 允许本机回放        allow play 127.0.0.1;        deny play all;          # 执行omxplayer的命令行工具,通过hdmi输出本机收到的推流        exec omxplayer -o hdmi rtmp://127.0.0.1:1935/live/$name;      }    }  }

  7. 测试nginx配置文件是否正确sudo nginx -t

  8. 加载nginx配置文件sudo nginx -s reload部分方式和过程参考国外网友博文https://aaronparecki.com/2020/09/07/7/raspberry-pi-streaming-server

使用DJI Pocket2推流输出延时约为4~6秒,有声音,支持720P和1080P。

后续优化方向:

Nginx RTMP参数

WIFI直连

OMXPlayer 播放参数优化