You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

FFmpeg推RTMP流出现Error Writing trailer...Broken Pipe错误,求解决办法

解决FFmpeg推RTMP时"Broken Pipe"错误的可行方案

排查与修复步骤

  • 确认RTMP连接有效性
    先验证rtmp://Streamlink/Streamkey地址和密钥是否正确,用OBS等工具手动推流测试,排除服务器端故障。若为临时网络波动,可添加自动重连参数:

    ffmpeg -re -f concat -i Playlist.txt -codec copy -flvflags no_duration_filesize -f flv -reconnect 1 -reconnect_streamed 1 -reconnect_delay_max 5 rtmp://Streamlink/Streamkey
    

    参数解释:-reconnect 1开启自动重连,-reconnect_delay_max设置最大重连等待时长(单位:秒)。

  • 调整FLV封装参数
    no_duration_filesize可能导致服务器无法解析流元数据,尝试移除该参数:

    ffmpeg -re -f concat -i Playlist.txt -codec copy -f flv rtmp://Streamlink/Streamkey
    

    若必须保留该参数,可添加-movflags frag_keyframe确保关键帧对齐,避免服务器因流格式异常断开连接。

  • 校验concat列表文件格式
    检查Playlist.txt是否符合FFmpeg规范:每行必须为file '绝对路径/文件名',编码为UTF-8且无特殊字符。示例:

    file '/home/user/video1.mp4'
    file '/home/user/video2.mp4'
    

    若列表中视频编码参数(分辨率、帧率等)不一致,-codec copy会引发流异常,需重新编码统一参数:

    ffmpeg -re -f concat -i Playlist.txt -c:v libx264 -c:a aac -f flv rtmp://Streamlink/Streamkey
    
  • 优化推流速率与缓冲区
    网络带宽不足会导致连接中断,可添加码率限制参数:

    ffmpeg -re -f concat -i Playlist.txt -codec copy -maxrate 2M -bufsize 4M -flvflags no_duration_filesize -f flv rtmp://Streamlink/Streamkey
    

    若无需严格按原视频帧率推流,可去掉-re参数,让FFmpeg以最快速度推送(注意部分服务器限制推流速率)。

  • 升级FFmpeg版本
    旧版本FFmpeg的RTMP模块可能存在兼容性bug,建议升级到最新稳定版:

    # Ubuntu/Debian
    sudo apt update && sudo apt install --upgrade ffmpeg
    # macOS(Homebrew)
    brew upgrade ffmpeg
    

内容的提问来源于stack exchange,提问作者Hellwraith

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 11:27:11