NAME
RTSP::Server - Lightweight RTSP/RTP server. Like icecast, for audio/video streams.
SYNOPSIS
use AnyEvent;
use RTSP::Server;
# defaults:
my $srv = new RTSP::Server(
log_level => 2, # 0 = no output, 5 = most verbose
max_clients => 100,
client_listen_port => 554,
source_listen_port => 5545,
rtp_start_port => 20000,
client_listen_address => '0.0.0.0',
source_listen_address => '0.0.0.0',
);
# listen and accept incoming connections asynchronously
# (returns immediately)
$srv->listen;
# main loop
my $cv = AnyEvent->condvar;
# ...
$cv->recv;
undef $srv; # when the server goes out of scope, all sockets will
# be cleaned up
DESCRIPTION
This server is designed to enable to rebroadcasting of RTP media streams to clients, controlled by RTSP. Please see README for more information.
USAGE
After starting the server, stream sources may send an ANNOUNCE for a desired mountpoint, followed by a RECORD request to begin streaming. Clients can then connect on the client port at the same mountpoint and send a PLAY request to receive the RTP data streamed from the source.
BUNDLED APPLICATIONS
Includes rtsp-server.pl, which basically contains the synopsis.
COMING SOON
Priv dropping, authentication, client encoder, stats, tests
SEE ALSO
RTSP::Proxy, RTSP::Client, AnyEvent::Socket
AUTHOR
Mischa Spiegelmock, <revmischa@cpan.org>
COPYRIGHT AND LICENSE
Copyright (C) 2010 by Mischa Spiegelmock
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.10.0 or, at your option, any later version of Perl 5 you may have available.