RTSP::Server - Lightweight RTSP/RTP server. Like icecast, for audio/video streams.
Contents
Bundled Applications
Includes rtsp-server.pl, which basically contains the synopsis.
COMINGSOON
Priv dropping, authentication, client encoder, stats, tests
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.
perl v5.38.2 2024-05-15 RTSP::Server(3pm)
Description
This server is designed to enable to rebroadcasting of RTP media streams to clients, controlled by RTSP.
Please see README for more information.
Name
RTSP::Server - Lightweight RTSP/RTP server. Like icecast, for audio/video streams.
See Also
RTSP::Proxy, RTSP::Client, AnyEvent::Socket
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
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.
