The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Perl и Icecast"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [ Отслеживать ]

"Perl и Icecast"  
Сообщение от lloric (ok) on 23-Дек-08, 11:09 
Есть два Icecast2 сервера между ними необходимо перекинуть поток,но так чтобы он не был перекодирован. В принципе есть фича relay в самом icecast2 серваке, но ее к сожалению использовать нельзя.
|Icecast2 server--------->shout.pl--------------->Icecast2 server|

Поэтому был написан такой скрипт:
#!/usr/bin/perl -w

        use strict;
        use Shout;
        use bytes;
        use Net::HTTP;

        # start the connection
        my $conn = new Shout;

        # setup all the params
        $conn->host('localhost');
        $conn->port(8000);
        $conn->mount('/Stream2');
        $conn->password('xxxxx');
        $conn->public(0);
        $conn->format(SHOUT_FORMAT_MP3);
        $conn->protocol(SHOUT_PROTOCOL_HTTP);
        $conn->set_audio_info(SHOUT_AI_BITRATE => 128, SHOUT_AI_SAMPLERATE => 4$
        # try to connect
        if ($conn->open) {
            print "connected...\n";
            $conn->set_metadata("song" => "Hello world");
        # if we connect, grab data from stdin and shoot it to the servery
        my $s = Net::HTTP->new(Host => "192.168.0.1:8000") || die $@;
         $s->write_request(GET => "/Stream1", 'User-Agent' => "Mozilla/5.0");
        my ($code, $mess, %h) = $s->read_response_headers();
      print "ok\n";

            my ($buff, $len);
          $conn->sync;
                while (($len = $s->read_entity_body($buff, 80)) > 0) {
                unless ($conn->send($buff)) {
                    print "Error while sending: " . $conn->get_error . "\n";
                    last;
                }
                # must be careful not to send the data too fast :)
                $conn->sync;
            }

            # all done
            $conn->close;
        } else {
            print "couldn't connect...\n";
        }

Он не работает, вернее работает но не верно, подключаеться к серверу 1 и забирает поток /Stream1, подключается к серверу 2 создает новый поток /Stream2, но в графе send_bytes всегда почему-то стоит 0 и через 15 секунд поток исчезает.

shout.pm - 2.1
libshout 2.2.2

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

  • Perl и Icecast, Vaso Petrovich, 14:28 , 23-Дек-08, (1)  
    • Perl и Icecast, lloric, 20:48 , 23-Дек-08, (2)  
      • Perl и Icecast, Vaso Petrovich, 22:34 , 24-Дек-08, (3)  
        • Perl и Icecast, Lloric, 18:53 , 16-Янв-09, (4)  

Сообщения по теме [Сортировка по времени | RSS]


1. "Perl и Icecast"  
Сообщение от Vaso Petrovich on 23-Дек-08, 14:28 
Потрудитесь объяснить почему нельзя relay заюзать? А то вот эта строчка $conn->set_metadata("song" => "Hello world");, говорит о том что надо скрыть что играется, а доки по icecast вы почитать забыли?
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Perl и Icecast"  
Сообщение от lloric (??) on 23-Дек-08, 20:48 
>Потрудитесь объяснить почему нельзя relay заюзать? А то вот эта строчка $conn->set_metadata("song" => "Hello world");, говорит о том что надо скрыть что играется, а доки по icecast вы почитать забыли?

Мдя... Вот зачем так отвечать, если по теме сказать нечего?
Нельзя потому, что к конфигам сервера номер два нет доступа и не будет.
Строчка хеллоу ворлд вставлена просто так, радио берется со спутника поэтому скрывать-то нечего...


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Perl и Icecast"  
Сообщение от Vaso Petrovich on 24-Дек-08, 22:34 
копайте в сторону ices и ему подобных...
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Perl и Icecast"  
Сообщение от Lloric on 16-Янв-09, 18:53 
>копайте в сторону ices и ему подобных...

А я то думал этот форум по программированию :)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру