[osflash] RTMP streams and channels
Radsl
admin at radsl.net
Tue Jan 20 17:13:11 PST 2009
maybe these file can help you...
----- Original Message -----
From: "Stefano Sabatini" <ssabatini at reilabs.com>
To: "osflash Mailing List" <osflash at osflash.org>
Sent: Tuesday, January 20, 2009 11:43 AM
Subject: [osflash] RTMP streams and channels
> Hi all,
>
> I'm trying to understand how the RTMP protocol works, I have read
> these so far:
>
> http://osflash.org/documentation/rtmp
> http://wiki.gnashdev.org/RTMP
> http://code.google.com/p/erlyvideo/wiki/StreamNotes
>
> Also wireshark helped with it (unfortunately there are some messages
> it isn't able to correctly decode, for example I found a lot of
> deleteStream invokes interpreted as part of an audio packet).
>
> I'm trying to understand how the streams are managed, in particular I
> would like to understand how they are deleted from the flash server.
>
> This is my incomplete reconstruction of a stream establishment setup
> and hangup between a client and a server.
>
> Legend:
> chID = channelID, called ObjectD by wireshark/libpcap
> stID = streamID, called SourceCaller by wireshark/libpcap
>
> C: send and invoke with chID = 3
>
> S: reply with a _result (with chID = 3) containing the stID to be used
> for the publish
>
> C: send a publish using as argument the stID defined above, the
> publish has as chID a number which seems to be chosen by the
> client, chID1
>
> S: reply to the previous publish with an onStatus, the response chID
> is different from chID1, I'll call it chID2
>
> C: finally the client closes the stream with a closeStream with chID1.
> The body of the invoke is: string(closeStream) number(0) null()
>
> Now I can observe in the stream some delete stream of the form:
> string(deleteStream) number(0) null() number(N).
>
> I suppose deleting the stream is *required* in order to free a channel
> ID (otherwise the server need to use channelsID greater than 63, so it
> needs another byte in the header to contains such ID).
>
> I'd like to know the meaning of the number(N) in the delete stream,
> also the meaning of chID1 (which is choosen by the client) and of
> chID2, which is assigned by the server (in general it's not very clear
> to me the overall meaning of channelID/ObjectID and
> streamID/CallerSource).
>
> I'm not sure this is the more appropriate place where to ak such
> questions, so any pointer to a relevant link/resource is welcome.
>
> Regards.
>
> _______________________________________________
> osflash mailing list
> osflash at osflash.org
> http://osflash.org/mailman/listinfo/osflash_osflash.org
>
> --
> This message has been scanned for viruses and
> dangerous content by MailScanner, and is
> believed to be clean.
--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: rtmp_implementation_ruby.zip
Type: application/x-zip-compressed
Size: 25221 bytes
Desc: not available
URL: <http://osflash.org/pipermail/osflash_osflash.org/attachments/20090120/4c7d5dad/attachment-0001.bin>
More information about the osflash
mailing list