RTMP 更详细的规范

发布于 2024-11-03 16:12:12 字数 276 浏览 2 评论 0原文

我目前正在使用 C++ 实现一个简单的 RTMP 服务器,并且我已经阅读了 Adob​​e RTMP 规范。我发现规范写得不太好,有很多实现细节没有提及。

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

Adobe的规范仅使用4个文本页来解释“播放”命令,并且服务器部分的描述绝对不清楚,因为我在使用WireShark和crtmpserver时监控了发送的大量数据包。

谢谢。彼得

I'm currently implementing an simple RTMP server using C++, and I have read the Adobe RTMP Specification. I found the spec is not so well written, leaving so many implementation details unmentioned.

I also used WireShark and crtmpserver to check the packets sent/received by the client/server, and I found it's very difficult to determine what a server should respond upon a 'play' command from the client.

The Adobe's Spec only uses 4 TEXT pages to explain the 'play' command, and the server part description is absolutely NOT clear, because I monitored a lot of packets being sent when using WireShark and crtmpserver.

Thanks. Peter

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

謌踐踏愛綪 2024-11-10 16:12:12

我假设您遵循 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 来获取更多信息

I assume you followed the instruction written inside http://wiki.rtmpd.com/documentation

You can pull or push stream by editing the crtmpserver.lua

for example, to pull a stream, under externalStreams add the block

{
     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
},

then to push a stream to another server, under targetServers, add the block

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

you can also get more info by subscribing at www.evostream.com

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文