Install any skill in seconds. Free to start, no credit card required.
Get Started Free →RTMP 视频推流方案,使用 FFmpeg + SRS 流媒体服务器实现推理结果实时推流
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-03 | ✗→✓ | ▲ Improved | -16% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 25% | 0% |
| case-18 | ✗→✓ | ▲ Improved | 150% | 0% |
| case-02 | ✓→✓ | = Same ✓ | 7% | 0% |
| case-04 | ✓→✓ | = Same ✓ | 27% | 0% |
使用 FFmpeg 将 YOLO 推理结果帧编码推流到 SRS 流媒体服务器,实现实时视频分析结果分发。支持 GPU 硬件编码加速(NVENC/VA-API/摩尔线程 mtenc)。
bashdocker run -d --name srs -p 1935:1935 -p 8080:8080 ossrs/srs:latest
构建 ffmpeg 命令:输入 rawvideo/bgr24/1920x1080/60fps,输出 libx264/ultrafast/zerolatency/flv 到 rtmp://127.0.0.1:1935/live/stream_01。通过 subprocess.Popen 启动进程,用 proc.stdin.write 写入帧数据。
使用 StreamManager 类管理多个推流进程:add_stream 创建进程,write_frame 写入帧,按 GPU 分配编码资源。
修改 srs.conf: gop_cache off, queue_length 0, min_latency on, mr_latency 100。
| 优化项 | 效果 | 说明 | |-------|------|------| | preset ultrafast/p1 | 降低编码延迟 | 牺牲压缩率 | | tune zerolatency/ull | 零延迟模式 | 禁用 B 帧 | | GOP=1 或 2 | 降低延迟 | 增加码率 | | 硬件编码 | 降低 CPU | NVENC/mtenc | | SRS 低延迟 | 减少缓冲 | 修改 srs.conf | | TCP nodelay | 减少网络延迟 | socket 选项 |
| 问题 | 原因 | 解决方案 | |------|------|---------| | 推流卡顿 | CPU 编码过载 | 切换硬件编码 | | 延迟过高 | GOP 过大 | 设置 GOP=1 | | 画面花屏 | 码率不足 | 提高 bitrate | | SRS 连接失败 | 端口未开放 | 检查 1935 端口 | | FFmpeg 进程崩溃 | 帧格式不匹配 | 检查 pix_fmt/s | | 多路推流 OOM | GPU 显存不足 | 限制并发路数 |
Other measured skills in the registry, with their headline benchmark lift.