RTSP::Server(3pm) User Contributed Perl Documentation RTSP::Server(3pm)

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

  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

This server is designed to enable to rebroadcasting of RTP media streams to clients, controlled by RTSP. Please see README for more information.

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.

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

COMING SOON

Priv dropping, authentication, client encoder, stats, tests

RTSP::Proxy, RTSP::Client, AnyEvent::Socket

Mischa Spiegelmock, <revmischa@cpan.org>

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.

2022-11-21 perl v5.36.0