logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

RTSP::Server - Lightweight RTSP/RTP server. Like icecast, for audio/video streams.

Author

       Mischa Spiegelmock, <revmischa@cpan.org>

Bundled Applications

       Includes rtsp-server.pl, which basically contains the synopsis.

   COMINGSOON
       Priv dropping, authentication, client encoder, stats, tests

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.

See Also