使用FFmpeg向YouTube推流无数据接收问题排查求助
推流YouTube无数据接收的排查方案
以下是针对你遇到的FFmpeg推流正常但YouTube未收到数据问题的排查方向:
推流密钥验证
确认<MYKEY>完全匹配YouTube后台生成的推流密钥,注意区分大小写、特殊字符,不能包含多余空格或换行。密钥复制不全或错误是这类问题的常见原因。网络连通性检查
检查本地网络是否允许RTMP流量(默认端口1935),防火墙、路由器可能会拦截该端口。可通过命令telnet a.rtmp.youtube.com 1935测试连通性,若无法连接则需要调整网络规则。FFmpeg参数与输入文件校验
- 先本地播放
merge.mp4,确认文件无损坏、编码正常; - 针对AAC编码兼容性,可尝试在命令中添加
-strict -2参数; - 检查关键帧间隔参数
-g 50:若原视频帧率为30fps,应调整为-g 60(YouTube推荐关键帧间隔约2秒); - 确保命令中
-f flv格式正确,YouTube RTMP推流要求FLV封装。
- 先本地播放
YouTube后台状态确认
- 进入YouTube直播后台,确认推流状态为“等待直播”或“直播中”,而非未启用状态;
- 检查是否有其他设备/进程正在使用同一推流密钥,导致冲突抢占。
FFmpeg日志细节排查
不要仅看“正在推流”的提示,仔细查看FFmpeg输出的完整日志,若存在Connection refused、Error writing trailer等错误信息,可直接定位问题根源。
内容的提问来源于stack exchange,提问作者SyndicatorBBB
相关产品推荐
相关产品推荐

