NetStream

Below is a comparison of the NetStream information objects (supported by the Flashplayer 6 and up) sent by RTMPy vs. Flash Media Server.

Tested with

Flash Media Server 2.0.3 on Ubuntu 6.1 and the publisher application against RTMPy:

  • 2007-06-19: r21

NetStream information objects

http://red5.nl/images/help.png - couldn't reproduce or didn't test this yet
http://red5.nl/images/accept.png - tested and working
http://red5.nl/images/bug.png - doesn't work as expected
http://red5.nl/images/cross.png - doesn't work at all

The following messages notify the Flash Player when certain NetStream activities occur:

Code property Level property Meaning FMS RTMPy Comments
NetStream.InvalidArg Error Invalid arguments were passed to a NetStream method, for example ns.seek("asdasdas"). http://red5.nl/images/accept.png http://red5.nl/images/help.png
NetStream.Buffer.Empty Status Data is not being received quickly enough to fill the buffer. Data flow is interrupted until the buffer refills, at which time a NetStream.Buffer.Full message is sent and the stream begins playing again. http://red5.nl/images/accept.png http://red5.nl/images/help.png
NetStream.Buffer.Full Status The buffer is full and the stream begins playing. http://red5.nl/images/accept.png http://red5.nl/images/help.png
NetStream.Buffer.Flush Status Data has finished streaming, and the remaining buffer will be emptied. http://red5.nl/images/accept.png http://red5.nl/images/help.png
NetStream.Failed Error An error has occurred for a reason other than those listed elsewhere in this table, such as the subscriber trying to use the seek command to move to a particular location in the recorded stream, but with invalid parameters. http://red5.nl/images/accept.png http://red5.nl/images/help.png
NetStream.Pause.Notify Status The subscriber has paused playback. http://red5.nl/images/accept.png http://red5.nl/images/help.png
NetStream.Play.Complete Status Playback has completed. http://red5.nl/images/accept.png http://red5.nl/images/help.png
NetStream.Play.Failed Error An error has occurred in playback for a reason other than those listed elsewhere in this table, such as the subscriber not having read access. http://red5.nl/images/accept.png http://red5.nl/images/help.png
NetStream.Play.InsufficientBW Warning Data is playing behind the normal speed. http://red5.nl/images/accept.png http://red5.nl/images/help.png
NetStream.Play.PublishNotify Status Publishing has begun; this message is sent to all subscribers. http://red5.nl/images/accept.png http://red5.nl/images/help.png
NetStream.Play.Reset Status The playlist has reset (pending play commands have been flushed). http://red5.nl/images/accept.png http://red5.nl/images/help.png
NetStream.Play.Start Status Playback has started. http://red5.nl/images/accept.png http://red5.nl/images/help.png
NetStream.Play.Stop Status Playback has stopped. http://red5.nl/images/accept.png http://red5.nl/images/help.png
NetStream.Play.StreamNotFound Error The client tried to play a live or recorded stream that does not exist. The FLV passed to the play() method can't be found. http://red5.nl/images/accept.png http://red5.nl/images/help.png
NetStream.Play.Switch Status The subscriber is switching from one stream to another in a playlist. http://red5.nl/images/accept.png http://red5.nl/images/help.png
NetStream.Play.FileStructureInvalid Error Flash Player detects an invalid file structure and will not try to play this type of file. http://red5.nl/images/accept.png http://red5.nl/images/help.png
NetStream.Play.NoSupportedTrackFound Error Flash Player does not detect any supported tracks (video, audio or data) and will not try to play the file. http://red5.nl/images/accept.png http://red5.nl/images/help.png
NetStream.Play.UnpublishNotify Status Publishing has stopped; this message is sent to all subscribers. http://red5.nl/images/accept.png http://red5.nl/images/help.png
NetStream.Publish.BadName Error The client tried to publish a stream that is already being published by someone else. http://red5.nl/images/accept.png http://red5.nl/images/help.png
NetStream.Publish.Idle Status The publisher of the stream has been idling for too long. http://red5.nl/images/help.png http://red5.nl/images/help.png
NetStream.Publish.Start Status Publishing has started. http://red5.nl/images/accept.png http://red5.nl/images/help.png
NetStream.Record.Failed Error An error has occurred in recording for a reason other than those listed elsewhere in this table; for example, the disk is full. http://red5.nl/images/accept.png http://red5.nl/images/help.png
NetStream.Record.NoAccess Error The client tried to record a stream that is still playing, or the client tried to record (overwrite) a stream that already exists on the server with read-only status. http://red5.nl/images/accept.png http://red5.nl/images/help.png
NetStream.Record.Start Status Recording has started. http://red5.nl/images/accept.png http://red5.nl/images/help.png
NetStream.Record.Stop Status Recording has stopped. http://red5.nl/images/accept.png http://red5.nl/images/help.png
NetStream.Seek.Failed Error The subscriber tried to use the seek command to move to a particular location in the recorded stream, but failed, which happens if the stream is not seekable. http://red5.nl/images/accept.png http://red5.nl/images/help.png
NetStream.Seek.Notify Status The subscriber has used the seek command to move to a particular location in the recorded stream. http://red5.nl/images/accept.png http://red5.nl/images/help.png
NetStream.Unpause.Notify Status The subscriber has resumed playback. http://red5.nl/images/accept.png http://red5.nl/images/help.png
NetStream.Unpublish.Success Status Publishing has stopped. http://red5.nl/images/accept.png http://red5.nl/images/help.png