Ffmpeg Tee 多路复用器不显示视频流

Ffmpeg Tee 多路复用器不显示视频流

我正在尝试使用 tee muxer 将 rtmp 流发送到 wowza。然后我在 HLS 中读取来自 wowza 的流。运行此命令时,它会起作用:

ffmpeg -re -i myVideo.mp4 -c copy -f flv'rtmp://xxxx/broadcast/myStream'

然后,当我读取流时,它会按预期工作。

但如果我像这样尝试使用 tee muxer:

ffmpeg -re -i myVideo.mp4 -map 0:v -map 0:a -c:v libx264 -c:a aac -f tee'[f=flv]rtmp://xxxx/broadcast/myStream'

我可以读取在 wowza 上收到的 rtmp 流,但从 HLS 读取时,没有视频(即使 ffprobe 告诉我有视频流)。我肯定缺少一些使用标准 flv 格式时自动传递的参数。但查看文档,格式应该足够了。https://ffmpeg.org/ffmpeg-formats.html#tee-1

PS:我使用的是4.2版本

答案1

感谢这篇文章FFmpeg:tee muxer 在多个输出 HLS 和 .mp4 上失败我意识到我缺少一个-flags +global_header选项。使用 TEE 格式和 FLV 输出时,它是必需的。

该命令有效:

ffmpeg -re -i myVideo.mp4 -map 0:v -map 0:a -c:v libx264 -c:a aac -flags +global_header -f tee '[f=flv]rtmp://xxxx/broadcast/myStream'

相关内容