使用FFmpeg通过RTMP连接到nginx服务器,会话ID为

jv4diomz  于 2023-01-08  发布在  Nginx
关注(0)|答案(1)|浏览(119)

例如,如果我使用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时,是否可以做同样的事情?

a14dhokn

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

相关问题