playerless streaming technology review
Sponsored Links
Sponsored Links
playerless streaming technology review
No.
Title
Catelory
Price
License
Expand All
1
Internet -> HTTP
OtherProprietary License
Pagelets Technology project allows developers to embed Java scripting elements inside of text documents in order to generate dynamic text-based output.
The idea and functionality behind Pagelets is very similar to Java Server Pages with one huge difference - Pagelets are not tied to the HTTP protocol. That difference opens up a plethora of new possibilities and uses for the technology.
For example, Pagelets can be used to dynamically render the content of email messages, or as a simple source code generator, or to render dynamic content in any other environment - whether that environment is tied to the HTTP protocol or not. Basically, Pagelets are - JSP without HTTP.
The idea and functionality behind Pagelets is very similar to Java Server Pages with one huge difference - Pagelets are not tied to the HTTP protocol. That difference opens up a plethora of new possibilities and uses for the technology.
For example, Pagelets can be used to dynamically render the content of email messages, or as a simple source code generator, or to render dynamic content in any other environment - whether that environment is tied to the HTTP protocol or not. Basically, Pagelets are - JSP without HTTP.
2
Communications -> Filesharing
GPL GNU General Public License
MP3 Streaming DownSampler for PHP is written with cable modem/DSL users with low upstream caps in mind. Using LAME, it dynamically downsamples a requested MP3 to a bitrate which can be streamed.
It doesnt use temporary files, so you dont have to take the time to do any batching, and you just give it a directory with symlinks to your music in a place the Web server can reach. The interface is simplistic and fast, meant for immediate plug and play access.
It doesnt use temporary files, so you dont have to take the time to do any batching, and you just give it a directory with symlinks to your music in a place the Web server can reach. The interface is simplistic and fast, meant for immediate plug and play access.
3
Internet -> HTTP
Common Public License
Web Submission and Review Software is a Web-based system that is used for the submission and review of papers to academic conferences. Web Submission and Review Software provides support for the entire life-cycle of the conference review process.
One of the goals of this software was to make administration as easy as possible. In particular, you never need to run scripts etc. In principle, to install this software you just unpack the zip file in some directory in your web tree (call it the BASE directory), point your browser at that directory and off you go.
I will very much appreciate any comments that you can give me regarding this software.
Whats New in This Release:
Changes to chair/administrator interface:
· Added Undo/Redo link to the administration page
· Re-implemented the voting mechanism to allow multiple concurrent ballots
· Let the chair play with assignments of submissions to reviewers before these assignments are visible to the reviewers
· Let the chair manage PC membership, Edit review guidelines and setup votes also during the submission phase
Changes to reviewer interface:
· Allow reviewers to login to the site (and vote in ballots if any) also during the submission phase
· Added support for batch upload of reviews in a scorecard file
· Backup old versions of reviews and let reviewers browse the old versions of their reviews (this is useful, e.g., if they overwite somethign by mistake)
One of the goals of this software was to make administration as easy as possible. In particular, you never need to run scripts etc. In principle, to install this software you just unpack the zip file in some directory in your web tree (call it the BASE directory), point your browser at that directory and off you go.
I will very much appreciate any comments that you can give me regarding this software.
Whats New in This Release:
Changes to chair/administrator interface:
· Added Undo/Redo link to the administration page
· Re-implemented the voting mechanism to allow multiple concurrent ballots
· Let the chair play with assignments of submissions to reviewers before these assignments are visible to the reviewers
· Let the chair manage PC membership, Edit review guidelines and setup votes also during the submission phase
Changes to reviewer interface:
· Allow reviewers to login to the site (and vote in ballots if any) also during the submission phase
· Added support for batch upload of reviews in a scorecard file
· Backup old versions of reviews and let reviewers browse the old versions of their reviews (this is useful, e.g., if they overwite somethign by mistake)
4
Multimedia -> Video
GPL GNU General Public License
Stream-2-Stream project (abbreviated "s2s" or "S2S") allows anyone with a normal broadband connection to set up their own radio station or internet television, for free.
Stream-2-Stream stations have no user limit; stations can be set up without paying a fortune for bandwidth. Stream-2-Stream saves bandwidth by passing streams from one peer to another, rather than everyone getting a stream from one central server (Shoutcast/Icecast).
Supported codecs are MP3, NSV, and Ogg Vorbis.
Here are some key features of "Stream 2 Stream":
· Integrated MP3, Ogg media player. No external media player needed to listen!!!
· Easy to use GUI
· Bandwidth is tested automatically for the best p2p streaming performance
· Settings are saved to xml
· Easy to use server command-line
· A shoutcast/icecast internet radio/TV Station is used as the source
· Freeloaders/Leechers (peers that only listen but dont want to send out the stream to other listeners) will be detected
· The data stream can be signed; you can be sure that it arrives unchanged
· Very efficient communication (low overhead).
· The network structure can be viewed with a monitor
· Peers can be denied service
· Streams can be recorded to files for later viewing
Whats New in This Release:
· s2s protocol version 3 provides streaming through TCP, UDP, and Multicast+.
· The number of listeners can be seen.
· GUI mechanics fixed
· Connecting improved
· LanPages changed to multicast
· Player and Web ports switched for easy port forwarding.
· Public player connections can now be toggled in the options menu.
· Xml file can be specified with the arg -x file.xml
Stream-2-Stream stations have no user limit; stations can be set up without paying a fortune for bandwidth. Stream-2-Stream saves bandwidth by passing streams from one peer to another, rather than everyone getting a stream from one central server (Shoutcast/Icecast).
Supported codecs are MP3, NSV, and Ogg Vorbis.
Here are some key features of "Stream 2 Stream":
· Integrated MP3, Ogg media player. No external media player needed to listen!!!
· Easy to use GUI
· Bandwidth is tested automatically for the best p2p streaming performance
· Settings are saved to xml
· Easy to use server command-line
· A shoutcast/icecast internet radio/TV Station is used as the source
· Freeloaders/Leechers (peers that only listen but dont want to send out the stream to other listeners) will be detected
· The data stream can be signed; you can be sure that it arrives unchanged
· Very efficient communication (low overhead).
· The network structure can be viewed with a monitor
· Peers can be denied service
· Streams can be recorded to files for later viewing
Whats New in This Release:
· s2s protocol version 3 provides streaming through TCP, UDP, and Multicast+.
· The number of listeners can be seen.
· GUI mechanics fixed
· Connecting improved
· LanPages changed to multicast
· Player and Web ports switched for easy port forwarding.
· Public player connections can now be toggled in the options menu.
· Xml file can be specified with the arg -x file.xml
5
Programming -> Libraries
Perl Artistic License
FFmpeg::Stream is an audio or video stream from a (multi)media file.
SYNOPSIS
$ff = FFmpeg->new(); #see FFmpeg
#...
$sg = $ff->create_streamgroup(); #see FFmpeg
$st = ($sg->streams())[0]; #this is a FFmpeg::Stream
FFmpeg::Stream objects are not instantiated. Rather, objects are instantiated from FFmpeg::Streams subclasses FFmpeg::Stream::Video for video streams, FFmpeg::Stream::Audio for audio streams, and FFmpeg::Stream::Data for streams containing neither audio nor video data. Streams identified in the file whose content type cannot be determined are represented by FFmpeg::Stream::Unknown objects.
Access FFmpeg::Stream objects using methods in FFmpeg::StreamGroup. See FFmpeg::StreamGroup for more information.
This class has attributes applicable to any stream type in a multimedia stream, or stream group. FFmpeg-Perl represents multimedia stream group information in a FFmpeg::StreamGroup object, which is a composite of FFmpeg::Stream objects.
FFmpeg::Stream objects dont do much. They just keep track of the media streams ID within the multimedia stream group, and hold an instance to a FFmpeg::Codec object if the codec of the stream was deducible. See FFmpeg::Codec for more information about how codecs are represented.
SYNOPSIS
$ff = FFmpeg->new(); #see FFmpeg
#...
$sg = $ff->create_streamgroup(); #see FFmpeg
$st = ($sg->streams())[0]; #this is a FFmpeg::Stream
FFmpeg::Stream objects are not instantiated. Rather, objects are instantiated from FFmpeg::Streams subclasses FFmpeg::Stream::Video for video streams, FFmpeg::Stream::Audio for audio streams, and FFmpeg::Stream::Data for streams containing neither audio nor video data. Streams identified in the file whose content type cannot be determined are represented by FFmpeg::Stream::Unknown objects.
Access FFmpeg::Stream objects using methods in FFmpeg::StreamGroup. See FFmpeg::StreamGroup for more information.
This class has attributes applicable to any stream type in a multimedia stream, or stream group. FFmpeg-Perl represents multimedia stream group information in a FFmpeg::StreamGroup object, which is a composite of FFmpeg::Stream objects.
FFmpeg::Stream objects dont do much. They just keep track of the media streams ID within the multimedia stream group, and hold an instance to a FFmpeg::Codec object if the codec of the stream was deducible. See FFmpeg::Codec for more information about how codecs are represented.
6
Miscellaneous -> Information-Management
GPL GNU General Public License
OS Reviews CMS is a content management system that features the generation of purely static content.
OS Reviews CMS also has an NNTP-based comment system, LaTeX input, and customizable templates.
Here are some key features of "OS Reviews CMS":
· Generation of static content for maximum performance
· Comment system with NNTP back-end
· Input format is LaTeX (perfect for hard copies)
· Customizable templates
· 100% standards-compliant output
OS Reviews CMS also has an NNTP-based comment system, LaTeX input, and customizable templates.
Here are some key features of "OS Reviews CMS":
· Generation of static content for maximum performance
· Comment system with NNTP back-end
· Input format is LaTeX (perfect for hard copies)
· Customizable templates
· 100% standards-compliant output
7
Programming -> Libraries
BSD License
Streams is an I/O library designed to eventually replace the current I/O facilities based on using Handles. The main advantage is its strong modular design using typeclasses. It consists of small independent modules, each implementing one type of stream (file, memory buffer, pipe, etc.) or one part of common stream functionality (buffering, char encoding, locking, etc.).
3rd-party librarie can easily add new stream types and new common functionality. Other benefits of the new library include support for streams functioning in any monad, Hugs and GHC compatibility, high speed, and an easy migration path from the existing I/O library. It is heavily based on the HVIO module written by John Goerzen.
Simple Streams
The key concept of the lib is the Stream class, whose interface mimics familiar interface for Handles, just with "h" replaced with "v" in function names:
class (Monad m) => Stream m h where
vPutStrLn :: h -> String -> m ()
vGetContents :: h -> m String
vIsEOF :: h -> m Bool
vClose :: h -> m ()
....................
This means that you already know how to use any stream! The Stream interface currently has 8 implementations: a Handle itself, raw files, pipes, memory buffers and string buffers. Future plans include support for memory-mapped files, sockets, circular memory buffers for interprocess communication and UArray-based streams.
By themselves, these Stream implementations are rather simple.
Basically, to implement new Stream type, its enough to provide vPutBuf/vGetBuf operations, or even vGetChar/vPutChar. The latter way, although inefficient, allows us to implement streams that can work in any monad. StringReader and StringBuffer streams use this to provide string-based Stream class implementations both for IO and ST monads. Yes, you can use the full power of Stream operations inside the ST monad!
3rd-party librarie can easily add new stream types and new common functionality. Other benefits of the new library include support for streams functioning in any monad, Hugs and GHC compatibility, high speed, and an easy migration path from the existing I/O library. It is heavily based on the HVIO module written by John Goerzen.
Simple Streams
The key concept of the lib is the Stream class, whose interface mimics familiar interface for Handles, just with "h" replaced with "v" in function names:
class (Monad m) => Stream m h where
vPutStrLn :: h -> String -> m ()
vGetContents :: h -> m String
vIsEOF :: h -> m Bool
vClose :: h -> m ()
....................
This means that you already know how to use any stream! The Stream interface currently has 8 implementations: a Handle itself, raw files, pipes, memory buffers and string buffers. Future plans include support for memory-mapped files, sockets, circular memory buffers for interprocess communication and UArray-based streams.
By themselves, these Stream implementations are rather simple.
Basically, to implement new Stream type, its enough to provide vPutBuf/vGetBuf operations, or even vGetChar/vPutChar. The latter way, although inefficient, allows us to implement streams that can work in any monad. StringReader and StringBuffer streams use this to provide string-based Stream class implementations both for IO and ST monads. Yes, you can use the full power of Stream operations inside the ST monad!
8
Multimedia -> Audio
GPL GNU General Public License
The streamTranscoder is a multi-platform utility which can be used to transcode media streams from one format to another, and from one server type to another. It can read in streams of type MP3 and Vorbis from most servers (Icecast, Icecast2, Shoutcast), convert it into various formats, and send to various streaming servers.
Here are some key features of "StreamTranscoder":
· Shoutcast - MP3 (with metadata and without)
· Icecast 1.x - MP3 (with icy metadata and without)
· Icecast 2 - MP3 (with metadata)
· Icecast 2 - Vorbis (with metadata)
· Peercast - MP3 and Vorbis
· KasterBlaster - MP3 (no metadata)
Whats New in This Release:
· src/: streamTranscoder.iss, liboddcast/liboddcast.cpp, libtranscoder/transcurl.cpp: Fixed problem with transcoding fromStereo to Mono on win32 platforms (in some cases) Added
· CURLOPT_NOSIGNAL to prevent problems with getting SIGPIPEs..
Here are some key features of "StreamTranscoder":
· Shoutcast - MP3 (with metadata and without)
· Icecast 1.x - MP3 (with icy metadata and without)
· Icecast 2 - MP3 (with metadata)
· Icecast 2 - Vorbis (with metadata)
· Peercast - MP3 and Vorbis
· KasterBlaster - MP3 (no metadata)
Whats New in This Release:
· src/: streamTranscoder.iss, liboddcast/liboddcast.cpp, libtranscoder/transcurl.cpp: Fixed problem with transcoding fromStereo to Mono on win32 platforms (in some cases) Added
· CURLOPT_NOSIGNAL to prevent problems with getting SIGPIPEs..
9
Multimedia -> Audio
GPL GNU General Public License
Streamripper started as a way to separate tracks via Shoutcasts title-streaming feature. This has now been expanded into a much more generic feature, where part of the program only tries to "hint" at where one track starts and another ends, thus allowing a mp3 decoding engine to scan for a silent mark, which is used to find an exact track separation.
Streamripper was started sometime back in early 2000. Streamripper started as a way to separate tracks via Shoutcasts title-streaming feature. This has now been expanded into a much more generic feature, where part of the program only tries to "hint" at where one track starts and another ends, thus allowing a mp3 decoding engine to scan for a silent mark, which is used to find an exact track separation.
This is not surprising because portability was a constant consideration during development.Streamripper is now part of the FreeBSD standard distribution, mentioned in the Linux MP3 HOWTO, known to compile on many platforms such as Linux, Windows, FreeBSD, BeOS, OS/2.
With the emergence of file sharing protocols such as Napster, Gnutella, and now Mojonation and Freenet, the average Internet user can download nearly any mp3 he wants in a matter of no time, but many times people dont know what they want. Streamripper allows you to download an entire station of music. Many of these mp3 radio stations only play certain genres, so you can now download an entire collection of goa/trance music, an entire collection of jazz, punk rock, whatever you want.
Whats New in This Release:
· Fix bug where external program wasnt being killed when reconnecting.
Streamripper was started sometime back in early 2000. Streamripper started as a way to separate tracks via Shoutcasts title-streaming feature. This has now been expanded into a much more generic feature, where part of the program only tries to "hint" at where one track starts and another ends, thus allowing a mp3 decoding engine to scan for a silent mark, which is used to find an exact track separation.
This is not surprising because portability was a constant consideration during development.Streamripper is now part of the FreeBSD standard distribution, mentioned in the Linux MP3 HOWTO, known to compile on many platforms such as Linux, Windows, FreeBSD, BeOS, OS/2.
With the emergence of file sharing protocols such as Napster, Gnutella, and now Mojonation and Freenet, the average Internet user can download nearly any mp3 he wants in a matter of no time, but many times people dont know what they want. Streamripper allows you to download an entire station of music. Many of these mp3 radio stations only play certain genres, so you can now download an entire collection of goa/trance music, an entire collection of jazz, punk rock, whatever you want.
Whats New in This Release:
· Fix bug where external program wasnt being killed when reconnecting.
10
Programming -> Libraries
GPL GNU General Public License
FFmpeg::Stream::Audio is an audio stream from a (multi)media stream group.
SYNOPSIS
$ff = FFmpeg->new(); #see FFmpeg
#...
$sg = $ff->create_streamgroup(); #see FFmpeg
$st = ($sg->streams())[0]; #this is a FFmpeg::Stream
Objects of this class are not intended to be instantiated directly by the end user. Access FFmpeg::Stream::Audio objects using methods in FFmpeg::StreamGroup. See FFmpeg::StreamGroup for more information.
This class represents an audio stream in a multimedia stream group, and has audio-specific attributes. General stream attributes can be found in the FFmpeg::Stream class.
SYNOPSIS
$ff = FFmpeg->new(); #see FFmpeg
#...
$sg = $ff->create_streamgroup(); #see FFmpeg
$st = ($sg->streams())[0]; #this is a FFmpeg::Stream
Objects of this class are not intended to be instantiated directly by the end user. Access FFmpeg::Stream::Audio objects using methods in FFmpeg::StreamGroup. See FFmpeg::StreamGroup for more information.
This class represents an audio stream in a multimedia stream group, and has audio-specific attributes. General stream attributes can be found in the FFmpeg::Stream class.
11
Programming -> Libraries
GPL GNU General Public License
FFmpeg::Stream::Video is a video stream from a (multi)media stream group.
SYNOPSIS
$ff = FFmpeg->new(); #see FFmpeg
#...
$sg = $ff->create_streamgroup(); #see FFmpeg
$st = ($sg->streams())[0]; #this is a FFmpeg::Stream
Objects of this class are not intended to be instantiated directly by the end user. Access FFmpeg::Stream::Video objects using methods in FFmpeg::StreamGroup. See FFmpeg::StreamGroup for more information.
This class represents a video stream in a multimedia stream group. General stream attributes can be found in the FFmpeg::Stream class.
SYNOPSIS
$ff = FFmpeg->new(); #see FFmpeg
#...
$sg = $ff->create_streamgroup(); #see FFmpeg
$st = ($sg->streams())[0]; #this is a FFmpeg::Stream
Objects of this class are not intended to be instantiated directly by the end user. Access FFmpeg::Stream::Video objects using methods in FFmpeg::StreamGroup. See FFmpeg::StreamGroup for more information.
This class represents a video stream in a multimedia stream group. General stream attributes can be found in the FFmpeg::Stream class.
12
Programming -> Libraries
Perl Artistic License
Stream::Reader is a stream reader Perl class.
SYNOPSIS
# Input stream can be reference to TYPEGLOB or SCALAR, output stream
# can be the same types or undefined
# Constructor
$stream = Stream::Reader->new( *IN,
{ Limit => $limit, BuffSize => $buffsize, Mode => UB } );
# Reading all before delimiter beginning from current position.
# Delimiter is SCALAR or reference to array with many SCALARs.
# Returns true value on succesfull matching or if end of stream
# expected at first time
$bool = $stream->readto( $delimiter,
{ Out => *OUT, Limit => $limit, Mode => AIE } );
# Reading fixed number of chars beginning from current position.
# Returns true value if was readed number of chars more then zero or
# end of stream was not expected yet
$bool = $stream->readsome( $limit, { Out => *OUT, Mode => A } );
# Mode is string, what can contains:
# U - modificator for constructor. disable utf-8 checking
# B - modificator for constructor. enable second buffer for speed up
# case insensitive search
# A - modificator for readto() and readsome(). appending data to
# output stream, if stream is SCALAR
# I - modificator for readto(). enable case insensitive search
# E - modificator for readto(). at end of input stream alltimes
# returns false value
$number = $stream->{Total}; # total number of readed chars
$number = $stream->{Readed}; # number of readed chars at last
# operation (without matched string
# length at readto() method)
$number = $stream->{Stored}; # number of succesfully stored chars
# at last operation
$string = $stream->{Match}; # matched string at last operation
# (actually for readto() only)
$bool = $stream->{Error}; # error status. true on error
METHODS
OBJ = Stream::Reader->new( INPUT, { ... Params ... } )
The constructor method instantiates a new Stream::Reader object.
INPUT - is a reference to file stream, opened for reading, or reference to defined string. This is an obligatory parameter.
Params (all optionaly):
Limit - limit size of input stream data in characters. If this parameter is absent, not defined or less then zero, then all data from input stream will be available for reading.
BuffSize - size of buffer in characters. If this parameter is absent, not defined or less then zero, then will be used default buffer size 32768 characters.
Mode - is string with letters-modificators:
B - use second buffer. Can really speed up search in case insensitive mode.
U - disable UTF-8 data check in UTF-8 mode. Use this flag if you are absolutely sure, that your UTF-8 data is valid.
RESULT = OBJ->readto( DELIMITER, { ... Params ... } )
This method reads all data from input stream before first found delimiter, beginning from current position.
RESULT - boolean value. True value if successfuly found delimeter or and of input stream has expected at first time. False value otherwise, or in case of reading error.
DELIMETER - is a string-delimeter or reference to array with many delimeters. This is an obligatory parameter and must be defined.
Remember! In case of many delimiters, left delimiter alltimes have more priority then right!
Params (all optionaly):
Out - is a reference to file stream, opened for writing, or reference to string. If this parameter is absent then data will not stored.
Limit - size in characters. Defines, the maximum number of characters that must be stored in Out. If this paramter is absent, not defined or less then zero, then this method will be trying to store all readed data.
Mode - is string with letters-modificators:
A - appendig data to Out if Out is a reference to string.
I - search in case insensitive mode.
E - at the end of input stream returns only false value. Without this modificator, if end of stream expected at first time, then will be returned true value.
RESULT = OBJ->readsome( LIMIT, { ... Params ... } )
This method reads fixed number of characters from input stream beginning from current position.
RESULT - boolean value. True value, if any characters were read or end of input stream is not expected yet. False value otherwise, or in case of reading error.
LIMIT - limit size in characters, how many it is necessary to read. If this parameter is absent, not defined or less then zero, then will be read all available data from input stream.
Params (all optionaly):
Out - the same as in readto() method.
Mode - is string with letters-modificators:
A - the same as in readto() method.
Statistics:
OBJ->{Total} - total number of readed characters. Warning! This module using block reading and real position in stream is different.
OBJ->{Readed} - number of readed characters at last operation (without matched string length at readto() method).
OBJ->{Stored} - number of succesfully stored chars at last operation
OBJ->{Match} - matched string at last operation (actually for readto() only)
OBJ->{Error} - boolen error status. At any reading erorrs all operations will be stopes and this flag turned to true value.
SYNOPSIS
# Input stream can be reference to TYPEGLOB or SCALAR, output stream
# can be the same types or undefined
# Constructor
$stream = Stream::Reader->new( *IN,
{ Limit => $limit, BuffSize => $buffsize, Mode => UB } );
# Reading all before delimiter beginning from current position.
# Delimiter is SCALAR or reference to array with many SCALARs.
# Returns true value on succesfull matching or if end of stream
# expected at first time
$bool = $stream->readto( $delimiter,
{ Out => *OUT, Limit => $limit, Mode => AIE } );
# Reading fixed number of chars beginning from current position.
# Returns true value if was readed number of chars more then zero or
# end of stream was not expected yet
$bool = $stream->readsome( $limit, { Out => *OUT, Mode => A } );
# Mode is string, what can contains:
# U - modificator for constructor. disable utf-8 checking
# B - modificator for constructor. enable second buffer for speed up
# case insensitive search
# A - modificator for readto() and readsome(). appending data to
# output stream, if stream is SCALAR
# I - modificator for readto(). enable case insensitive search
# E - modificator for readto(). at end of input stream alltimes
# returns false value
$number = $stream->{Total}; # total number of readed chars
$number = $stream->{Readed}; # number of readed chars at last
# operation (without matched string
# length at readto() method)
$number = $stream->{Stored}; # number of succesfully stored chars
# at last operation
$string = $stream->{Match}; # matched string at last operation
# (actually for readto() only)
$bool = $stream->{Error}; # error status. true on error
METHODS
OBJ = Stream::Reader->new( INPUT, { ... Params ... } )
The constructor method instantiates a new Stream::Reader object.
INPUT - is a reference to file stream, opened for reading, or reference to defined string. This is an obligatory parameter.
Params (all optionaly):
Limit - limit size of input stream data in characters. If this parameter is absent, not defined or less then zero, then all data from input stream will be available for reading.
BuffSize - size of buffer in characters. If this parameter is absent, not defined or less then zero, then will be used default buffer size 32768 characters.
Mode - is string with letters-modificators:
B - use second buffer. Can really speed up search in case insensitive mode.
U - disable UTF-8 data check in UTF-8 mode. Use this flag if you are absolutely sure, that your UTF-8 data is valid.
RESULT = OBJ->readto( DELIMITER, { ... Params ... } )
This method reads all data from input stream before first found delimiter, beginning from current position.
RESULT - boolean value. True value if successfuly found delimeter or and of input stream has expected at first time. False value otherwise, or in case of reading error.
DELIMETER - is a string-delimeter or reference to array with many delimeters. This is an obligatory parameter and must be defined.
Remember! In case of many delimiters, left delimiter alltimes have more priority then right!
Params (all optionaly):
Out - is a reference to file stream, opened for writing, or reference to string. If this parameter is absent then data will not stored.
Limit - size in characters. Defines, the maximum number of characters that must be stored in Out. If this paramter is absent, not defined or less then zero, then this method will be trying to store all readed data.
Mode - is string with letters-modificators:
A - appendig data to Out if Out is a reference to string.
I - search in case insensitive mode.
E - at the end of input stream returns only false value. Without this modificator, if end of stream expected at first time, then will be returned true value.
RESULT = OBJ->readsome( LIMIT, { ... Params ... } )
This method reads fixed number of characters from input stream beginning from current position.
RESULT - boolean value. True value, if any characters were read or end of input stream is not expected yet. False value otherwise, or in case of reading error.
LIMIT - limit size in characters, how many it is necessary to read. If this parameter is absent, not defined or less then zero, then will be read all available data from input stream.
Params (all optionaly):
Out - the same as in readto() method.
Mode - is string with letters-modificators:
A - the same as in readto() method.
Statistics:
OBJ->{Total} - total number of readed characters. Warning! This module using block reading and real position in stream is different.
OBJ->{Readed} - number of readed characters at last operation (without matched string length at readto() method).
OBJ->{Stored} - number of succesfully stored chars at last operation
OBJ->{Match} - matched string at last operation (actually for readto() only)
OBJ->{Error} - boolen error status. At any reading erorrs all operations will be stopes and this flag turned to true value.
13
Programming -> Libraries
Perl Artistic License
Audio::Mad::Stream is a Perl interface to mad_stream structure.
SYPNOSIS
my $stream = new Audio::Mad::Stream ($options);
$stream->buffer($scalar);
my $remain = substr($scalar, $stream->next_frame);
my $position = $stream->this_frame;
$stream->skip($position + 400);
$stream->sync();
$options = $stream->options();
$options |= MAD_OPTION_IGNORECRC;
$stream->options($options);
unless ($stream->err_ok()) {
print "error code was: " . $stream->error() . "n";
}
This package provides an interface to the underlying mad_stream structure used in the decoder library. Almost all of the methods from the library are implemented, and work on regualar perl data types.
SYPNOSIS
my $stream = new Audio::Mad::Stream ($options);
$stream->buffer($scalar);
my $remain = substr($scalar, $stream->next_frame);
my $position = $stream->this_frame;
$stream->skip($position + 400);
$stream->sync();
$options = $stream->options();
$options |= MAD_OPTION_IGNORECRC;
$stream->options($options);
unless ($stream->err_ok()) {
print "error code was: " . $stream->error() . "n";
}
This package provides an interface to the underlying mad_stream structure used in the decoder library. Almost all of the methods from the library are implemented, and work on regualar perl data types.
14
Programming -> Libraries
Perl Artistic License
XML::Parser::Style::Stream is a Stream style for XML::Parser.
SYNOPSIS
use XML::Parser;
my $p = XML::Parser->new(Style => Stream, Pkg => MySubs);
$p->parsefile(foo.xml);
{
package MySubs;
sub StartTag {
my ($e, $name) = @_;
# do something with start tags
}
sub EndTag {
my ($e, $name) = @_;
# do something with end tags
}
sub Characters {
my ($e, $data) = @_;
# do something with text nodes
}
}
This style uses the Pkg option to find subs in a given package to call for each event. If none of the subs that this style looks for is there, then the effect of parsing with this style is to print a canonical copy of the document without comments or declarations. All the subs receive as their 1st parameter the Expat instance for the document theyre parsing.
It looks for the following routines:
StartDocument
Called at the start of the parse .
StartTag
Called for every start tag with a second parameter of the element type. The $_ variable will contain a copy of the tag and the %_ variable will contain attribute values supplied for that element.
EndTag
Called for every end tag with a second parameter of the element type. The $_ variable will contain a copy of the end tag.
Text
Called just before start or end tags with accumulated non-markup text in the $_ variable.
PI
Called for processing instructions. The $_ variable will contain a copy of the PI and the target and data are sent as 2nd and 3rd parameters respectively.
EndDocument
Called at conclusion of the parse.
SYNOPSIS
use XML::Parser;
my $p = XML::Parser->new(Style => Stream, Pkg => MySubs);
$p->parsefile(foo.xml);
{
package MySubs;
sub StartTag {
my ($e, $name) = @_;
# do something with start tags
}
sub EndTag {
my ($e, $name) = @_;
# do something with end tags
}
sub Characters {
my ($e, $data) = @_;
# do something with text nodes
}
}
This style uses the Pkg option to find subs in a given package to call for each event. If none of the subs that this style looks for is there, then the effect of parsing with this style is to print a canonical copy of the document without comments or declarations. All the subs receive as their 1st parameter the Expat instance for the document theyre parsing.
It looks for the following routines:
StartDocument
Called at the start of the parse .
StartTag
Called for every start tag with a second parameter of the element type. The $_ variable will contain a copy of the tag and the %_ variable will contain attribute values supplied for that element.
EndTag
Called for every end tag with a second parameter of the element type. The $_ variable will contain a copy of the end tag.
Text
Called just before start or end tags with accumulated non-markup text in the $_ variable.
PI
Called for processing instructions. The $_ variable will contain a copy of the PI and the target and data are sent as 2nd and 3rd parameters respectively.
EndDocument
Called at conclusion of the parse.
15
Multimedia -> Audio
GPL GNU General Public License
The General Stream Manipulation Platform (GSMP) aims to become for sound what The GIMP is for graphics.
Some years ago, there had been a lack of useable audio-software for Linux - especially for a good multitrack wave-editor - so we decided to write a gtk-- based one that is available under the terms of the GPL.
Now we focus on building a complete and open-source Virtual Studio environment for Linux:
GSMP Studio will feature both MIDI and DSP/Audio as well as beeing open for other kind of data.
It is intended to become a powerfull framework for the user to assemble his own "virtual studio" within the application from various components (like multitrack hd-recorder, midi-sequencer, synth and signalprocessors).
Other than most commercial applications of this kind, the hd-recorder and midi-sequencer will not be the neccessary components of this studio, and setups without them will be possible. For example GSMP can be used as a synthesizer or multi-effect-proccessor in live-setups.
Here are some key features of "General Stream Manipulation Platform":
· Non-destructive editing: All action on the audio data can be made undone. So you can play around with the effects without modifying any bit of your original data file.
· Multi-threaded design: GSMP is multi-threaded. Especially the the wave-plots and the FXs are generated in a background thread and the UI keeps interactive!
· Internal sample-format: 24/8 bit fixed-point arithmetic is used to allow overflows with no acurrany loss.
· Internal sample-index: 64 bit indexes are used to allow live takes even at 96kHz DVD quality.
· Track count: The track count is not limitted. Also multi-track recording is supported, too. In fact we used GSMP-Editor to record 10 channels with the MIDIMAN Delta 1010 two month ago!!! (BTW: 2-8% CPU load on an Athlon 600Mhz ...)
· Realtime effect prehearing: Most effects can be pre-heared during playback!
· Supported import-formats: Currently MS-Wave, Ogg/Vorbis and MP3 (experimental!!!) are supported. Decompression is done on-the-fly!
· Supported export-formats: Currently only Wave is supported.
· Current effects: Fadings, graphical-eq, some IIR filters, compressor, noise-gate, de-click and reverb.
· The editor has multi-selections. This means you can select non-continous regions (that can be cutted or pasted) - like in The GIMP. You have to press the "Shift" or "Strg" key while moving the mouse for this.
· To enable the OSS plugin when ALSA is also compiled you have to add "--oss" on the command line. (The next release will contain a real dialog to change this ...)
· The two button in the lower-left corner of the main-window are "Follow Current Position" and "Follor IO Position" to let the view automatikally follow a marker ;-)
· When you load (import) a file the zoom is not changed. So you might not see a wave, because the zoom is still 1:1 -> simply zoom out a bit.
· To speed-up GSMP you should pipe all the debugging informations into the "null-device": "gsmp > /dev/null"
Some years ago, there had been a lack of useable audio-software for Linux - especially for a good multitrack wave-editor - so we decided to write a gtk-- based one that is available under the terms of the GPL.
Now we focus on building a complete and open-source Virtual Studio environment for Linux:
GSMP Studio will feature both MIDI and DSP/Audio as well as beeing open for other kind of data.
It is intended to become a powerfull framework for the user to assemble his own "virtual studio" within the application from various components (like multitrack hd-recorder, midi-sequencer, synth and signalprocessors).
Other than most commercial applications of this kind, the hd-recorder and midi-sequencer will not be the neccessary components of this studio, and setups without them will be possible. For example GSMP can be used as a synthesizer or multi-effect-proccessor in live-setups.
Here are some key features of "General Stream Manipulation Platform":
· Non-destructive editing: All action on the audio data can be made undone. So you can play around with the effects without modifying any bit of your original data file.
· Multi-threaded design: GSMP is multi-threaded. Especially the the wave-plots and the FXs are generated in a background thread and the UI keeps interactive!
· Internal sample-format: 24/8 bit fixed-point arithmetic is used to allow overflows with no acurrany loss.
· Internal sample-index: 64 bit indexes are used to allow live takes even at 96kHz DVD quality.
· Track count: The track count is not limitted. Also multi-track recording is supported, too. In fact we used GSMP-Editor to record 10 channels with the MIDIMAN Delta 1010 two month ago!!! (BTW: 2-8% CPU load on an Athlon 600Mhz ...)
· Realtime effect prehearing: Most effects can be pre-heared during playback!
· Supported import-formats: Currently MS-Wave, Ogg/Vorbis and MP3 (experimental!!!) are supported. Decompression is done on-the-fly!
· Supported export-formats: Currently only Wave is supported.
· Current effects: Fadings, graphical-eq, some IIR filters, compressor, noise-gate, de-click and reverb.
· The editor has multi-selections. This means you can select non-continous regions (that can be cutted or pasted) - like in The GIMP. You have to press the "Shift" or "Strg" key while moving the mouse for this.
· To enable the OSS plugin when ALSA is also compiled you have to add "--oss" on the command line. (The next release will contain a real dialog to change this ...)
· The two button in the lower-left corner of the main-window are "Follow Current Position" and "Follor IO Position" to let the view automatikally follow a marker ;-)
· When you load (import) a file the zoom is not changed. So you might not see a wave, because the zoom is still 1:1 -> simply zoom out a bit.
· To speed-up GSMP you should pipe all the debugging informations into the "null-device": "gsmp > /dev/null"
16
Programming -> Libraries
LGPL GNU Lesser General Public License
JIIC is a streaming-based Java implementation of ISO 9660 for creating CD-ROM filesystem images ("ISO images") with the extensions El Torito, Joliet and Rock Ridge. The project is based on the SABRE streaming API and provides an Ant task for easy integration into Java-based build processes.
ISO 9660
The ISO 9660 standard from 1988 describes the filesystem to be used for CD-ROMs. ECMA-119 (2nd edition) is fully equivalent to ISO 9660. Several restrictions apply, including character sets, deep directory nesting and filename lengths. As a result, extensions like El Torito (bootable CD-ROMs), Joliet (Unicode, longer filenames) and Rock Ridge (support for UNIX filesystem characteristics) were developed.
SABRE
The Simple API for Binary REpresentations (SABRE) was developed by Michael Hartle at the Darmstadt University of Technology, Germany. It introduces a Java-based streaming API for processing binary data (as opposed to textual representations like XML) through a set of modules acting as a pipeline.
JIIC
JIIC is the result of the practical part of my diploma thesis at the Darmstadt University of Technology, Department of Computer Science, Telecooperation Group. The diploma thesis was supervised by Prof. Dr. Max Mühlhäuser and Michael Hartle, developer of SABRE.
JIIC and SABRE are provided as a set of Java 1.4 classes packed together in JAR files. JIIC source code is licensed under the LGPL and available from CVS.
ISO 9660
The ISO 9660 standard from 1988 describes the filesystem to be used for CD-ROMs. ECMA-119 (2nd edition) is fully equivalent to ISO 9660. Several restrictions apply, including character sets, deep directory nesting and filename lengths. As a result, extensions like El Torito (bootable CD-ROMs), Joliet (Unicode, longer filenames) and Rock Ridge (support for UNIX filesystem characteristics) were developed.
SABRE
The Simple API for Binary REpresentations (SABRE) was developed by Michael Hartle at the Darmstadt University of Technology, Germany. It introduces a Java-based streaming API for processing binary data (as opposed to textual representations like XML) through a set of modules acting as a pipeline.
JIIC
JIIC is the result of the practical part of my diploma thesis at the Darmstadt University of Technology, Department of Computer Science, Telecooperation Group. The diploma thesis was supervised by Prof. Dr. Max Mühlhäuser and Michael Hartle, developer of SABRE.
JIIC and SABRE are provided as a set of Java 1.4 classes packed together in JAR files. JIIC source code is licensed under the LGPL and available from CVS.
17
Programming -> Libraries
OtherProprietary License
OpenSubsystemss goal is to provide consistent set of business components that solve particular area of interest such as inventory management, order processing, shopping, email and fax communication, document management, imaging and others.
There are many frameworks and libraries attempting to make life of developers easier. Most of them focus on improving certain technology (EJB) or technical problem such as persistence in Java (Hibernate) or view tier for web applications (Struts).
There are very few that actually give developers fully functional business components that are immediately available to be integrated into their application and solve specific business needs. OpenSubsystems is one of them.
OpenSubsystems is dedicated to providing highest quality products by paying attention to innovative design, carefull implementation and thorough testing while staying true to the spirit of open source.
All our development processes and products are extensively documented and available for review and use to wide audience of business analysts, developers and testers.
Whats New in This Release:
Feature requests
Core
· 1674491Generalize DataFactory interfaces by requiring domain id
· 1674470Simplify DatabaseOperation classes by removing redundant arguments
· 1674438Simplify DatabaseSchema interface/impl for read-only schemas
· 1674289Change license to GPL v2 only for Core
Bugs
Core
· 1674498IOException thrown by FileUtils when directory exists
· 1674495NullPointerException in StringUtils.concat method
· 1674483Servlet preservice method not called when login is required
· 1674420NullPointerException in DatabaseConnectionFactoryImpl class
· 1630270NoSuchElement exception when using XAPool
There are many frameworks and libraries attempting to make life of developers easier. Most of them focus on improving certain technology (EJB) or technical problem such as persistence in Java (Hibernate) or view tier for web applications (Struts).
There are very few that actually give developers fully functional business components that are immediately available to be integrated into their application and solve specific business needs. OpenSubsystems is one of them.
OpenSubsystems is dedicated to providing highest quality products by paying attention to innovative design, carefull implementation and thorough testing while staying true to the spirit of open source.
All our development processes and products are extensively documented and available for review and use to wide audience of business analysts, developers and testers.
Whats New in This Release:
Feature requests
Core
· 1674491Generalize DataFactory interfaces by requiring domain id
· 1674470Simplify DatabaseOperation classes by removing redundant arguments
· 1674438Simplify DatabaseSchema interface/impl for read-only schemas
· 1674289Change license to GPL v2 only for Core
Bugs
Core
· 1674498IOException thrown by FileUtils when directory exists
· 1674495NullPointerException in StringUtils.concat method
· 1674483Servlet preservice method not called when login is required
· 1674420NullPointerException in DatabaseConnectionFactoryImpl class
· 1630270NoSuchElement exception when using XAPool
18
Multimedia -> Video
GPL GNU General Public License
RealPlayer plays streaming audio and video over the Internet in real-time. RealPlayer plays RealAudio, RealVideo, MP3, 3GPP Video, Flash, SMIL 2.0, JPEG, GIF, PNG, RealText, Ogg Vorbis, RealPix and Ogg Theora.
It is available for Windows, Macintosh, Pocket PC, Nokia 9200 Series, Nokia 7650, Palm OS 5-based handhelds, Linux, Solaris, and many Unix variants.
Here are some key features of "RealPlayer":
Play popular datatypes
· RealPlayer@ 10 supports RealAudio, RealVideo 10, MP3, Ogg Vorbis and Theora, H263, AAC and more. Get ready for accelerated video, full screen playback, and a lot more to play.
Mozilla-compatible plug-in
· You can now watch and listen to embedded video right in your Web browser without opening RealPlayer. Enjoy media from your favorite music and news sites with just one click.
New UI adopts your theme
· The elegant UI design is based on GTK technology. That means the player adopts the theme youve chosen, and blends itself accordingly into your desktop environment.
Whats New in This Release:
· fixes
It is available for Windows, Macintosh, Pocket PC, Nokia 9200 Series, Nokia 7650, Palm OS 5-based handhelds, Linux, Solaris, and many Unix variants.
Here are some key features of "RealPlayer":
Play popular datatypes
· RealPlayer@ 10 supports RealAudio, RealVideo 10, MP3, Ogg Vorbis and Theora, H263, AAC and more. Get ready for accelerated video, full screen playback, and a lot more to play.
Mozilla-compatible plug-in
· You can now watch and listen to embedded video right in your Web browser without opening RealPlayer. Enjoy media from your favorite music and news sites with just one click.
New UI adopts your theme
· The elegant UI design is based on GTK technology. That means the player adopts the theme youve chosen, and blends itself accordingly into your desktop environment.
Whats New in This Release:
· fixes
19
Internet -> Firefox-Extensions
MPL Mozilla Public License
BlueOrganizer is an extension which provides browsing and personalization technology for Firefox.
The blueorganizer is smart browsing and personalization technology for Firefox. It makes the browser aware of everyday objects like books, movies, wines, restaurants and much more.
The blueorganizer helps you automatically collect these object from many popular sites, manage them and instantly find related information.
A handy sidebar adds an entirely new layer to bluemarked sites and products, providing one-click access to product reviews, tag searches, related sites and more.
All your data is securely stored on Amazon S3 and is automatically synchronized between all your computers. The blueorganizer takes us all one step closer to the promise of semantic web and ultimate productivity.
The blueorganizer is smart browsing and personalization technology for Firefox. It makes the browser aware of everyday objects like books, movies, wines, restaurants and much more.
The blueorganizer helps you automatically collect these object from many popular sites, manage them and instantly find related information.
A handy sidebar adds an entirely new layer to bluemarked sites and products, providing one-click access to product reviews, tag searches, related sites and more.
All your data is securely stored on Amazon S3 and is automatically synchronized between all your computers. The blueorganizer takes us all one step closer to the promise of semantic web and ultimate productivity.
20
Internet -> Proxy
Freely Distributable
RTSP is the Real Time Streaming Protocol, which serves as a control protocol, and as a jumping off point for negotiating transports, such as RTP, multicast and unicast, and negotiating codecs off of servers in a file format independent way.
RTSP was jointly submitted to the IETF in October, 1996 by RealNetworks and Netscape Communications Corporation and with support from over 40 leading media companies. The draft has been through extensive co-development by RealNetworks, Netscape, Columbia University, and the IETF MMUSIC Working Group, and was published as an IETF Proposed Standard in April, 1998.
RTSP (RFC 2326) is a client-server multimedia presentation control protocol, designed to address the needs for efficient delivery of streamed multimedia over IP networks. It leverages existing web infrastructure (for example, inheriting authentication and PICS from HTTP) and works well both for large audiences as well as single-viewer media-on-demand.
RealNetworks, Netscape Communications and Columbia University jointly developed RTSP within the MMUSIC working group of the Internet Engineering Task Force (IETF). In April, 1998, it was published as a Proposed Standard by the IETF.
RTSP is one very important piece in the interoperability puzzle. Interoperability on streaming media systems involves many components (Players, Servers, Encoders/Tools) that must share common mechanisms.
Encoders and content-creation tools must be able to store content in files that servers can read. Servers must be able to stream content using protocols that players can understand. Encoders and tools must also store datatypes in the files in formats that will eventually be understood by players.
Protocols like RTSP are necessary but not sufficient to achieve end-to-end interoperability. File formats like ASF and QuickTime FF act as containers for multimedia data, and datatypes like RealAudio, RealVideo, H.263 and MPEG Audio and Video are all datatypes that can be delivered over such a system.
Here are some key features of "rtspd":
· A modular, object-oriented implementation of the RTSP proxy, with improved support.
· Correct handling of all transport information exchanged by means of the SETUP method.
· Support for Windows platforms.
· Modifications to the command-line parameters.
Here is a list of known RTSP implementations:
· Cisco IP/TV - Video server and viewer which implements RTSP, RTP, H.261, and MPEG video. [Client and Server]
· Columbia University rtspd - Supports serving of .au files via RTSP/RTP for Windows NT and Solaris [Server, source available]
· Darwin Streaming Server - Apples open source streaming server and proxy. Supports RTSP/RTP serving of MOV files. [Server and Proxy, includes source]
· Helix - Media delivery platform for streaming multimedia productions. Supports RTSP/RTP delivery of AVI, WAV, MP3, and MOV files, as well as RTSP delivery of RealAudio and RealVideo [Server, Proxy, and SDK; source available]
· IBM RTSP Toolkit - IBMs toolkit is based on tools developed for video and other applications in 1995-1996. Their toolkit reflects the Unix philosophy of shells, processes and generic tools, and demonstrate a shell-based implementation of the protocol and its usefulness for non-multimedia applications. [Client, includes source]
· Kasenna MediaBase - Video server with integrated content management and content distribution technology with MPEG-1, MPEG-2, MP3, and QuickTime media streaming. [Server]
· Komssys - RTSP/RTP implementation for multimedia systems researchers who want to investigate protocols and operating systems issues [Server, Client, Proxy; includes source]
· Live.com Streaming Media - C++ libraries for implementing RTSP/RTP. Implements several packetizations: MP3 (RFC 2250, RFC 3119), MPEG Video (RFC 2250), and H.263+ (RFC 2429). Renderers not included. [Client and Server, includes LGPL source]
· MediaTechniks RTP/RTSP library - ANSI C library which supports H.263 format video streams as specified in RFC 2190, extendable to handle other formats. Designed for portability and integration into applications.
· MPEG4IP - MPEG-4/ISMA interoperability suite produced by Cisco. Supports MPEG-4 Audio (aac), MPEG-4 Video, RTP, RTSP, MP3 (using RFC 2250). Includes client, server (Darwin), and encoding tools. [Client and Server, includes source]
· On2 TrueCast - Server for Windows NT and 2000. Streams VP4 compressed video files.
· Open Mash - Open Mash supports the Mash streaming media toolkit and distributed collaboration applications based on the Internet Mbone tools and protocols. [Client, includes source]
· popCorn - MPEG-1 Streaming Player for Linux produced by eProcess. [Client, includes source]
· QuickTime - Apples multi-platform multimedia software architecture. Supports RTSP/RTP with H.261, H.263, MPEG 1 Video, Layer 1 and 2 Audio, DVI, mu-Law, a-Law and others. [Client, includes source]
· RealPlayer - RealNetworks cross-platform multimedia player. Supports RTSP/RTP with H.261, u-Law, a-law, MP3, DVI. [Client]
· RTSP Monitor - Tool to check the availability of time-based media files and real-time media streams. Written in Java utilizing JMF.
· RTSP Proxy Kit (RealNetworks) - An open source reference implementation of an application-level firewall proxy for UNIX. This kit includes all source code for the proxy and documentation for building and installing the RTSP proxy. [Proxy, includes source]
· Sentivision RTSP/RTP Streaming Server - Provides real-time video content streaming to IP-enabled Set-Top Box hardware. Features include: multicast, UDP unicast, trick-play, and multiple codec support.
· Sun Java Media Framework - SDK for adding streaming media to Java applications and applets. [Client SDK]
· Sun Streaming Server - Server implementation of RTSP, RTP/RTCP, and SDP. Delivers on-demand streams from hinted MPEG-4 (.mp4), hinted Apple QuickTime (.mov) and hinted 3GPP(.3gp) files. Live streaming is also supported via reflection of RTP sources (Free stream-limited server download)
· Video on Demand - Java-based video server produced by students at Østfold College, Norway.
· Vovida RTSP Stack - The Vovida Open Communication Application Library (VOCAL) is an open source project targeted at facilitating the adoption of VoIP in the marketplace. The Vovida implementation of RTSP includes an RTSP stack and server with playing and recording capabilities of *.au and *.wav file formats. [Client SDK and Server, includes source]
RTSP was jointly submitted to the IETF in October, 1996 by RealNetworks and Netscape Communications Corporation and with support from over 40 leading media companies. The draft has been through extensive co-development by RealNetworks, Netscape, Columbia University, and the IETF MMUSIC Working Group, and was published as an IETF Proposed Standard in April, 1998.
RTSP (RFC 2326) is a client-server multimedia presentation control protocol, designed to address the needs for efficient delivery of streamed multimedia over IP networks. It leverages existing web infrastructure (for example, inheriting authentication and PICS from HTTP) and works well both for large audiences as well as single-viewer media-on-demand.
RealNetworks, Netscape Communications and Columbia University jointly developed RTSP within the MMUSIC working group of the Internet Engineering Task Force (IETF). In April, 1998, it was published as a Proposed Standard by the IETF.
RTSP is one very important piece in the interoperability puzzle. Interoperability on streaming media systems involves many components (Players, Servers, Encoders/Tools) that must share common mechanisms.
Encoders and content-creation tools must be able to store content in files that servers can read. Servers must be able to stream content using protocols that players can understand. Encoders and tools must also store datatypes in the files in formats that will eventually be understood by players.
Protocols like RTSP are necessary but not sufficient to achieve end-to-end interoperability. File formats like ASF and QuickTime FF act as containers for multimedia data, and datatypes like RealAudio, RealVideo, H.263 and MPEG Audio and Video are all datatypes that can be delivered over such a system.
Here are some key features of "rtspd":
· A modular, object-oriented implementation of the RTSP proxy, with improved support.
· Correct handling of all transport information exchanged by means of the SETUP method.
· Support for Windows platforms.
· Modifications to the command-line parameters.
Here is a list of known RTSP implementations:
· Cisco IP/TV - Video server and viewer which implements RTSP, RTP, H.261, and MPEG video. [Client and Server]
· Columbia University rtspd - Supports serving of .au files via RTSP/RTP for Windows NT and Solaris [Server, source available]
· Darwin Streaming Server - Apples open source streaming server and proxy. Supports RTSP/RTP serving of MOV files. [Server and Proxy, includes source]
· Helix - Media delivery platform for streaming multimedia productions. Supports RTSP/RTP delivery of AVI, WAV, MP3, and MOV files, as well as RTSP delivery of RealAudio and RealVideo [Server, Proxy, and SDK; source available]
· IBM RTSP Toolkit - IBMs toolkit is based on tools developed for video and other applications in 1995-1996. Their toolkit reflects the Unix philosophy of shells, processes and generic tools, and demonstrate a shell-based implementation of the protocol and its usefulness for non-multimedia applications. [Client, includes source]
· Kasenna MediaBase - Video server with integrated content management and content distribution technology with MPEG-1, MPEG-2, MP3, and QuickTime media streaming. [Server]
· Komssys - RTSP/RTP implementation for multimedia systems researchers who want to investigate protocols and operating systems issues [Server, Client, Proxy; includes source]
· Live.com Streaming Media - C++ libraries for implementing RTSP/RTP. Implements several packetizations: MP3 (RFC 2250, RFC 3119), MPEG Video (RFC 2250), and H.263+ (RFC 2429). Renderers not included. [Client and Server, includes LGPL source]
· MediaTechniks RTP/RTSP library - ANSI C library which supports H.263 format video streams as specified in RFC 2190, extendable to handle other formats. Designed for portability and integration into applications.
· MPEG4IP - MPEG-4/ISMA interoperability suite produced by Cisco. Supports MPEG-4 Audio (aac), MPEG-4 Video, RTP, RTSP, MP3 (using RFC 2250). Includes client, server (Darwin), and encoding tools. [Client and Server, includes source]
· On2 TrueCast - Server for Windows NT and 2000. Streams VP4 compressed video files.
· Open Mash - Open Mash supports the Mash streaming media toolkit and distributed collaboration applications based on the Internet Mbone tools and protocols. [Client, includes source]
· popCorn - MPEG-1 Streaming Player for Linux produced by eProcess. [Client, includes source]
· QuickTime - Apples multi-platform multimedia software architecture. Supports RTSP/RTP with H.261, H.263, MPEG 1 Video, Layer 1 and 2 Audio, DVI, mu-Law, a-Law and others. [Client, includes source]
· RealPlayer - RealNetworks cross-platform multimedia player. Supports RTSP/RTP with H.261, u-Law, a-law, MP3, DVI. [Client]
· RTSP Monitor - Tool to check the availability of time-based media files and real-time media streams. Written in Java utilizing JMF.
· RTSP Proxy Kit (RealNetworks) - An open source reference implementation of an application-level firewall proxy for UNIX. This kit includes all source code for the proxy and documentation for building and installing the RTSP proxy. [Proxy, includes source]
· Sentivision RTSP/RTP Streaming Server - Provides real-time video content streaming to IP-enabled Set-Top Box hardware. Features include: multicast, UDP unicast, trick-play, and multiple codec support.
· Sun Java Media Framework - SDK for adding streaming media to Java applications and applets. [Client SDK]
· Sun Streaming Server - Server implementation of RTSP, RTP/RTCP, and SDP. Delivers on-demand streams from hinted MPEG-4 (.mp4), hinted Apple QuickTime (.mov) and hinted 3GPP(.3gp) files. Live streaming is also supported via reflection of RTP sources (Free stream-limited server download)
· Video on Demand - Java-based video server produced by students at Østfold College, Norway.
· Vovida RTSP Stack - The Vovida Open Communication Application Library (VOCAL) is an open source project targeted at facilitating the adoption of VoIP in the marketplace. The Vovida implementation of RTSP includes an RTSP stack and server with playing and recording capabilities of *.au and *.wav file formats. [Client SDK and Server, includes source]
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above playerless streaming technology review search only lists software in full, demo and trial versions for free download. Download links are directly from our mirror sites or publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed
My Software
You have not saved any software. Click "Save" next to each software to save it to your software basket
Related Information
Sponsored Links
TOP POPULAR DOWNLOAD