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
[email protected]
http://osflash.org/mailman/listinfo/osflash_osflash.org

Reply via email to