我需要使用java套接字编程创建RTMP客户端。我阅读了this份文件和
1。我通过java套接字编程成功地完成了握手。
现在下一步是发送' connect'命令到服务器。我正在创建文档中给出的RTMP数据包,然后使用DataOutputStream将它们写入输出流。根据给定的详细信息' connect' 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编码的字节。我是否只需要AMF编码" connect:",1.0 ...并写入OutputStream。另外一个主要问题是如何编码对象(给定键值对)。我应该编码&写入套接字第一个密钥,然后写入AMF编码值。是否需要包括&两个运算符之间的运算符像http协议的身体? 。我深深地做了RnD,但找不到创建这个数据包的代码并写入套接字。
请建议。 感谢。