更详细的RTMP规范

时间:2011-04-27 17:25:12

标签: rtmp specifications

我目前正在使用C ++实现一个简单的RTMP服务器,我已经阅读了Adobe RTMP规范。我发现规范编写得不是很好,留下了很多未提及的实现细节。

我还使用WireShark和crtmpserver来检查客户端/服务器发送/接收的数据包,我发现很难确定服务器应该响应来自客户端的“play”命令。

Adob​​e的Spec仅使用4个TEXT页来解释'play'命令,并且服务器部分描述绝对不清楚,因为我监视了使用WireShark和crtmpserver时发送的大量数据包。

感谢。彼得

1 个答案:

答案 0 :(得分:0)

我假设您按照http://wiki.rtmpd.com/documentation

中的说明进行操作

您可以通过编辑crtmpserver.lua

来拉或推流

例如,要拉出一个流,在externalStreams下添加块

{
     uri="rtmp://<address of external server>",
     localStreamName="mytest",
     forceTcp=true,     --if true=TCP false=UDP
     keepAlive=true,    --if stream will continuously playback again when it ends
},

然后将流推送到另一台服务器,在targetServers下,添加块

{
    targetUri="rtmp://<ip/folder of target server>",
    targetStreamType="live", -- (live, record or append)
    targetStreamName="mytest",
    localStreamName="local",
    keepAlive=true,
},

您还可以通过订阅www.evostream.com获取更多信息