我正在写一个应用程序来(非正式地)替换一个用adobe air制作的客户端,他们使用RTMP作为连接协议,我必须创建我自己的类来实现它:<
据我所知,RTMP是在TCP协议下的,但我是否必须先建立TCP连接/handshake,然后再进行RTMP握手?
或者,TCP握手被忽略,TCP报头仅用于传输RTMP握手/data?
致以亲切的问候。
发布于 2011-09-08 22:24:47
建立TCP连接,然后立即进行RTMP握手,即从发送C0开始,然后发送S0、C1、S1、C2、S2。一旦你收到后者,RTMP握手就完成了。祝你使用RTMP好运,你会需要它的。
发布于 2011-11-08 22:44:31
哇,你有一个很好的项目。
RTMP按照您的建议是基于TCP的。有趣的是,不仅控制命令,而且媒体数据都是通过TCP发送的。与使用UDP的RTSP不同,RTSP按照预期使用UDP。还有一些库可以完成您想要做的事情。我发现一个有趣的是用php - http://code.google.com/p/php-rtmp-client/编写的。
您还需要使用AMF,这是对RTMP命令进行编码的二进制格式。维基百科上有一篇很好的文章,还有一些像AMFPHP这样的解析器
发布于 2014-03-15 15:14:09
如果有人像我一样在谷歌上偶然发现了这一点,我在http://www.fluorinefx.com/找到了我的解决方案。不需要担心握手之类的事情。都被整齐地包装起来了:)
https://stackoverflow.com/questions/7128468
复制相似问题