3

我需要使用 java 套接字编程创建 RTMP 客户端。我阅读了这些文件并

1 . 我已经通过 java 套接字编程成功地进行了握手。

现在下一步是向服务器发送“连接”命令。我正在创建文档中给出的 RTMP 数据包,然后使用 DataOutputStream 将它们写入输出流。根据给定的详细信息,“连接”packect 的主体应如下所示:

    (Invoke) “connect”
(Transaction ID) 1.0
(Object1) { app: “sample”, flashVer: “MAC 10,2,153,2”, swfUrl: null,
              tcUrl: “rtmpt://127.0.0.1/sample “, fpad: false,
              capabilities: 9947.75 , audioCodecs: 3191, videoCodecs: 252,
              videoFunction: 1 , pageUrl: null, objectEncoding: 3.0 }

我无法理解如何将上面转换为 AMF3 编码字节。我是否只需要对“connect:”、1.0 ... 进行 AMF 编码并写入 OutputStream。另一个主要问题是如何编码对象(给定键值对)。我应该先编码和写入套接字第一个键,然后再写入 AMF 编码值。是否需要在两对之间包含 & 运算符,例如 http 协议的主体?. 我做了深入的 RnD,但找不到创建此数据包并写入套接字的代码。

请建议。谢谢。

4

0 回答 0