一、搭建直播平台

1. 阿里云服务器端(搭建Nginx-RTMP)

  1. 安装编译工具
sudo yum install gcc gcc-c++ make pcre-devel
  1. 创建目录并下载源码
mkdir nginx-rtmp && cd nginx-rtmp
# 下载 Nginx 源码
wget ...
# 下载 nginx-rtmp-module 源码(gitee 镜像)
wget ...
  1. 解压
sudo yum install unzip
unzip nginx-rtmp-module-master.zip
# 解压 nginx 源码
tar -zxvf nginx-x.x.x.tar.gz
  1. 编译 Nginx + RTMP 模块
./configure \
--with-http_ssl_module \
--add-module=../nginx-rtmp-module-master

make && sudo make install
  1. RTMP 关键配置
  • 端口:1935
  • chunk_size:4096(直播推荐)
  • 支持 push 到多平台:虎牙、抖音、B站
  • 块大小说明:
    • 1024:低延迟,开销大
    • 4096:平衡推荐
    • 32768:高吞吐量,高延迟

2. 树莓派端(FFmpeg 采集推流)

  1. 安装 FFmpeg
sudo apt install ffmpeg
ffmpeg -version
  1. 测试摄像头
ffmpeg -f v4l2 -input_format yuv422p -video_size 640x480 -i /dev/video0
  1. 测试麦克风/扬声器
# 查看麦克风
arecord -l
# 查看扬声器
aplay -l

# 录音测试
arecord -D plughw:0,0 -f cd -t wav -d 5 test.wav
# 播放测试
aplay -D plughw:3,0 test.wav
  1. 推流脚本
  • 新建 start_stream.sh
  • 填写:服务器IP、视频设备、分辨率、音频设备、RTMP推流地址
chmod +x start_stream.sh
./start_stream.sh

二、知识小结

知识点 核心内容 技术关键点/易错点
架构设计 树莓派采集 → 云端转发 → 多平台直播 云端负责转推,减轻树莓派压力
Nginx-RTMP 搭建 源码编译 + RTMP 模块 端口 1935、chunk 4096、多平台 push
FFmpeg 音视频测试 摄像头 v4l2、音频 arecord/aplay 设备号、格式、分辨率必须匹配
树莓派推流 脚本化一键推流 音频设备 plughw 格式、RTMP 地址正确
直播验证 实时画面+音频同步 延迟、稳定性、服务器负载