我有一台RTMP服务器需要授权才能流式传输到。在FFMPEG中,我可以像这样流式传输:
ffmpeg \
-i <input> \
-c:v libx264 \
-c:a speex \
-f flv \
"rtmp://server/instance live=true pubUser=user pubPasswd=pass playpath=stream_id"
现在,我希望将此流分割为 两个 此类端点 ,而无需重新编码
我可以像以下那样使用重新编码:
ffmpeg \
-i <input> \
-c:v libx264 \
-c:a speex \
-f flv \
"rtmp://server1/instance live=true pubUser=user pubPasswd=pass playpath=stream_id"
-c:v libx264 \
-c:a speex \
-f flv \
"rtmp://server2/instance live=true pubUser=user pubPasswd=pass playpath=stream_id"
然而,我试着看一下FFMPEG's guide on this subject,但它只会导致错误:
直接使用-f tee
ffmpeg \
-i <input> \
-c:v libx264 \
-c:a speex \
-f tee \
-map 0:v \
-map 0:a \
"[f=flv]rtmp://server1/instance live=true pubUser=user pubPasswd=pass playpath=stream_id| \
[f=flv]rtmp://server2/instance live=true pubUser=user pubPasswd=pass playpath=stream_id"
收率:
[rtmp @ 0x3fe7f40] No credentials set
[rtmp @ 0x3fe7f40] Server error: [ AccessManager.Reject ] : [ code=403 need auth ] :
在网址和参数周围使用引号
ffmpeg \
-i <input> \
-c:v libx264 \
-c:a speex \
-f tee \
-map 0:v \
-map 0:a \
"[f=flv]\"rtmp://server1/instance live=true pubUser=user pubPasswd=pass playpath=stream_id\"| \
[f=flv]\"rtmp://server2/instance live=true pubUser=user pubPasswd=pass playpath=stream_id\""
收率:
[tee @ 0x39837e0] Slave '[f=flv]"rtmp://server1/instance live=true pubUser=user pubPasswd=pass playpath=stream_id"': error opening: No such file or directory
引用一切
ffmpeg \
-i <input> \
-c:v libx264 \
-c:a speex \
-f tee \
-map 0:v \
-map 0:a \
"\"[f=flv]rtmp://server1/instance live=true pubUser=user pubPasswd=pass playpath=stream_id\"| \
\"[f=flv]rtmp://server2/instance live=true pubUser=user pubPasswd=pass playpath=stream_id\""
收率:
[NULL @ 0x393a820] Unable to find a suitable output format for '"[f=flv]rtmp://server1/instance live=true pubUser=user pubPasswd=pass playpath=stream_id"'
备用URL架构以避免使用空格
ffmpeg \
-i <input> \
-c:v libx264 \
-c:a speex \
-f tee \
-map 0:v \
-map 0:a \
"[f=flv]rtmp://user:pass@server1/instance/stream_id| \
[f=flv]rtmp://user:pass@server2/instance/stream_id"
似乎可以正常工作,但FFMPEG开始输出:
frame= 89 fps= 13 q=0.0 Lsize=N/A time=00:00:03.27 bitrate=N/A dup=18 drop=0 speed=0.469x
注意bitrate=N/A
和speed=0.469x
?两个问题。然后我去玩家看我的溪流,它是纯黑色的。实际上没有数据通过。
我做错了什么,如何让这个流有效?