例如,如果我使用Adobe ActionScript中的NetConnection.connect()
方法,我可以使用以下命令发送会话ID:
connection.connect(_server, _sessionId);
我使用这个字符串来发布FFmpeg流:
ffmpeg -re -i D:\input.mp4 -c:v h264 -c:a aac -ar 8000 -ac 2 -f flv "rtmp://stream138.loadup.ru:443/broadcast/12950324_9893717_05515b7ad41d7e58005c14d3ff2c7947"
我得到一个错误:
RTMP_ReadPacket, failed to read RTMP packet header:
rtmp://stream138.loadup.ru:443/broadcast/12950324_9893717_05515b7ad41d7e58005c14d3ff2c7947: Unknown error occured
当我使用Adobe ActionScript,但使用FFmpeg时,是否可以做同样的事情?
1条答案
按热度按时间a14dhokn1#
ffmpeg
使用librtmp。所链接的手册页上列出了支持的选项。您可以使用
conn
向连接添加任意AMF数据:连接器=类型:数据
将任意AMF数据附加到连接消息。
类型必须为B(表示布尔值)、N(表示数字)、S(表示字符串)、O(表示对象)或Z(表示空值)。对于布尔值,数据必须为0或1(分别表示FALSE或TRUE)。同样,对于对象,数据必须为0或1(分别表示结束或开始对象)。可以通过在类型前添加前缀“N”并在值前指定名称来命名子对象中的数据项,例如NB:myFlag:1。可以多次使用此选项来构造任意AMF序列。
例如
连接器=B:1连接器=S:身份验证连接器=O:1连接器=NN:代码:1.23连接器=NS:标志:正常连接器=O:0