自建 M3U8 流媒体服务器方案

目录

  1. Nginx + RTMP 模块
  2. SRS 流媒体服务器
  3. FFmpeg 切片 + 静态服务器
  4. 方案选择

Nginx + RTMP 模块

经典方案,通过 nginx-rtmp-module 接收 RTMP 推流并切片为 HLS:

rtmp {
  server {
    listen 1935;
    application live {
      live on;
      hls on;
      hls_path /var/www/hls;
      hls_fragment 5s;
    }
  }
}

优点:成熟稳定、资源占用低。缺点:配置较繁琐。

SRS 流媒体服务器

SRS 是国人开发的高性能流媒体服务器,原生支持 HLS、HTTP-FLV、WebRTC:

FFmpeg 切片 + 静态服务器

对于点播场景,可用 FFmpeg 将视频切片为 HLS,再用 Nginx 提供静态文件服务:

ffmpeg -i input.mp4 -c:v libx264 -c:a aac -f hls \
  -hls_time 10 -hls_list_size 0 output.m3u8

生成的 m3u8 和 ts 文件放到 Web 服务器即可被播放器访问。

方案选择