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

Connect to nginx server over RTMP with session id using FFmpeg

本文关键字:服务器 会话 id nginx FFmpeg 通过 RTMP 连接 使用      更新时间:2023-10-16

FFmpeg有可能吗?例如,如果我使用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时,是否也可以这样做?

ffmpeg使用librtmp。支持的选项列在链接的手册页上。

您可以使用conn:将任意AMF数据添加到连接

conn=type:数据

将任意AMF数据附加到Connect消息。

类型必须是表示布尔值的B、表示数字的N、表示字符串的S、表示对象的O或表示null的Z。对于布尔值,数据必须分别为0或1(对于FALSE或TRUE)。同样,对于对象,数据必须分别为0或1才能结束或开始对象。子对象中的数据项可以通过在类型前加上"N"并在值之前指定名称来命名,例如NB:myFlag:1。该选项可以多次用于构建任意AMF序列。

例如

conn=B:1 conn=S:authMe conn=O:1 conn=NN:代码:1.23 conn=NS:标志:ok conn=O:0