The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

udp_proxy - Perl binding for udpxy

SYNOPSIS

  use udp_proxy;

  my $uph = new udp_proxy({
      interface => 'eth0',
      log     => 'udp_proxy.log',     # or \*LOG, or $fh, or *LOG
      handle  => 'stream.ts',         # like log, but default to stdout if not set.
  });
  $uph->do_relay('rtp', '233.33.210.86', 5050);

DESCRIPTION

This module binds some udpxy functional to perl. It is possible to record or transfer unscrambled multicast traffic.

METHODS

my $uph = new udp_proxy( \%args );

Method new creates object udp_proxy with some parameters: - interface - interface on which object should receive multicast traffic - log - filehandle or filename of log file. - handle - filehandle or filename for writing MPEG-TS packets.

$uph->do_relay( $command, $host, $port );

Method that actualy do the work. Writing data to STDOUT or speciefied handle. $command - possible values 'rtp' or 'udp' $host - multicast host to which object should join $port - port on which transmission is going.

EXPORT

None by default.

EXAMPLE

  use udp_proxy;

  my $app = sub {
      my $env = shift;

      return sub {
          my $respond = shift;
          my $writer = $respond->([200, ['Content-Type', 'application/octet-stream']]);
          my $uph = new udp_proxy({
              interface => 'en0',
              log       => $env->{'psgi.errors'},
              handle    => $env->{'psgix.io'},
          });
          $uph->do_relay('rtp', '233.33.210.86', 5050);
          $writer->close();
      };
  };

SEE ALSO

IO::Socket::Multicast

AUTHOR

Pavel V. Cherenkov, <pcherenkov@gmail.com>

COPYRIGHT AND LICENSE

Copyright (C) 2008-2013 by Pavel V. Cherenkov

This library is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.