【问题标题】:ffmpeg: i cant make tee working for restreamingffmpeg:我不能让 tee 为流媒体工作
【发布时间】:2018-10-04 23:33:48
【问题描述】:

我一直在尝试使用带有 rtmp 模块和 ffmpe 的 nginx 在 rtmp 流上叠加图像并将其重新发送到 Facebook Live 和 Twitch。我已经为每个服务使用了这个代码:

ffmpeg -i rtmp://localhost/app/streamkey -i logo.png -filter_complex "[0:v][1:v] overlay=0:0" -c:v libx264 -preset veryfast -bufsize 4000k -c:a aac -b:a 160k -ar 44100 -f flv rtmp://live-api.facebook.com:80/rtmp/streamkey;

我有一个用于 Facebook Live 的命令和另一个用于 Twitch 的命令,但它消耗大量硬件,所以环顾四周,我发现了一个使用 tee seudo-mixer 的解决方法:

ffmpeg -i rtmp://localhost/app/streamkey -i logo.png -filter_complex "[0:v][1:v]overlay=10:10" -c:v libx264 -preset veryfast -bufsize 4000k -c:a aac -b:a 160k -ar 44100 -f tee "[f=flv]rtmp://live-api.facebook.com:80/rtmp/streamkey|[f=flv]rtmp://live-jfk.twitch.tv/app/streamkey"

它在 Facebook Live 上运行良好,但当 Twitch 开始直播时,没有图像,只有黑屏。

我做错了什么,如何让这个流正常工作?

【问题讨论】:

    标签: ffmpeg video-streaming rtmp


    【解决方案1】:

    明确映射所有流,对于 FLV,需要全局标头。

    ffmpeg -i rtmp://localhost/app/streamkey -i logo.png -filter_complex "[0:v][1:v]overlay=10:10[v]" -map "[v]" -map 0:a? -c:v libx264 -preset veryfast -bufsize 4000k -c:a aac -b:a 160k -ar 44100 -flags +global_header -f tee "[f=flv]rtmp://live-api.facebook.com:80/rtmp/streamkey|[f=flv]rtmp://live-jfk.twitch.tv/app/streamkey"
    

    【讨论】:

    • 就是这样。非常感谢。
    猜你喜欢
    • 2018-06-15
    • 2015-08-02
    • 2018-07-16
    • 2015-10-03
    • 2017-11-19
    • 1970-01-01
    • 2012-09-22
    • 1970-01-01
    • 2016-01-14
    相关资源
    最近更新 更多