[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Органиpация потока PHP
Гость_Павел
Добрый день, уважаемые знатоки. Я немогу решить такую задачу:
У меня есть сервер который вещает в интернет потоковое видео, например его адрес 123.456.678.091:678
Мне хотелось бы сделать скриптик, который бы скрывал исодную трансляцию, т.е. при обращении к файлу PHP, он бы обращался к трансляции и на выходе выдавал поток в виде mp3 файла скажем. Я много способов перепробывал, вот пример, но не работает:

$portradio="678"; // Порт сервера
$ipradio="123.456.678.091"; // IP адрес сервера
$fp = @fsockopen($ipradio, $portradio, $errno, $errstr, 1);
if($fp >= 1){

while(!feof($fp))
{
$data .= fread($fp, 8192);
}

fclose($fp);

echo $data;

}

Все просто зависает и ничего не показывает и ничего не отдает браузеру. Может я не с того начал. Подскажите с чего начать или есть есть исходник поделитесь пожалуйста.



Спустя 6 минут, 33 секунды (8.03.2011 - 16:12) Dron19 написал(а):
а этот и не будет работать =)

Спустя 5 минут, 10 секунд (8.03.2011 - 16:17) Guest написал(а):
Цитата (Dron19 @ 8.03.2011 - 13:12)
а этот и не будет работать =)

Мне нравится такой юмор )) Ну я не шутить сюда писал. Если не сложно, то приведите плиз примерчик

Спустя 1 минута, 37 секунд (8.03.2011 - 16:19) Dron19 написал(а):
Цитата (Guest @ 8.03.2011 - 13:17)
Цитата (Dron19 @ 8.03.2011 - 13:12)
а этот и не будет работать =)

Мне нравится такой юмор )) Ну я не шутить сюда писал. Если не сложно, то приведите плиз примерчик

вообще-то это не юмор. Говорю, ты сокеты криво используешь, вот для тебя пример своял

	$fsp = fsockopen("www.phpforum.ru", 80, $errno, $error, 30);
if($fsp) {

$query = "GET /index.php?showtopic=41689&st=0&#entry984478 HTTP/1.1\r\n";
$query .= "Host: www.phpforum.ru\r\n";
$query .= "Connection: close\r\n\r\n";

fwrite($fsp, $query);

while(!feof($fsp)) {
$html_code .= fgets($fsp, 1024);
}

fclose($fsp);
echo $html_code;
}

Спустя 1 минута, 25 секунд (8.03.2011 - 16:20) Dron19 написал(а):

$query = "GET /index.php?showtopic=41689&st=0&#entry984478 HTTP/1.1\r\n";
$query .= "Host: www.phpforum.ru\r\n";
$query .= "Connection: close\r\n\r\n";

Вот про это я говорил, тебе стоит почитать про заголовки, которые браузер посылает автоматически при загрузки какого-то сайта, тебе тут их самому надо послать. Это легко учится, так что можешь не волноваться ;)

Спустя 3 минуты, 46 секунд (8.03.2011 - 16:24) Dron19 написал(а):
в твоем коде и чтение полученной страницы неправильное, fread - читает один раз, ну то есть он у тебя будет читать одно и тоже, а скорей всего даже и не выведет ничего, а вообще попробуй например, скажем через file_get_contents

Спустя 1 минута, 55 секунд (8.03.2011 - 16:26) Guest написал(а):
Цитата (Dron19 @ 8.03.2011 - 13:19)
Цитата (Guest @ 8.03.2011 - 13:17)
Цитата (Dron19 @ 8.03.2011 - 13:12)
а этот и не будет работать =)

Мне нравится такой юмор )) Ну я не шутить сюда писал. Если не сложно, то приведите плиз примерчик

вообще-то это не юмор. Говорю, ты сокеты криво используешь, вот для тебя пример своял

	$fsp = fsockopen("www.phpforum.ru", 80, $errno, $error, 30);
if($fsp) {

$query = "GET /index.php?showtopic=41689&st=0&#entry984478 HTTP/1.1\r\n";
$query .= "Host: www.phpforum.ru\r\n";
$query .= "Connection: close\r\n\r\n";

fwrite($fsp, $query);

while(!feof($fsp)) {
$html_code .= fgets($fsp, 1024);
}

fclose($fsp);
echo $html_code;
}

Ваш пример открыл страницу как и нужно, но я подставил IP и порт свой, вот:
109.106.136.56:8888

То вот такая ошибка


HTTP/1.0 400 Bad Request Server: Rex/12.0.7600.16385 Cache-Control: no-cache Pragma: no-cache Pragma: client-id=1233911792

Спустя 7 минут, 43 секунды (8.03.2011 - 16:34) Dron19 написал(а):
HTTP/1.0 400 Bad Request Server: Rex/12.0.7600.16385 Cache-Control: no-cache Pragma: no-cache Pragma: client-id=1233911792

Ну так я же говорю, ты не подал http заголовок, http/1.0 400 Bad Request - означает ничего не понял, это все равно что подойти к прохожему и сказать - "эй ты, дай эту штуку", а он в непоняткках будет стоять! Тоже самое и тут, ты ничего не попросил, в своем примере я прошу html код страницы пхп форума и получаю его

Спустя 3 минуты, 52 секунды (8.03.2011 - 16:38) Dron19 написал(а):
скажи человеческое мне в человеческом представлении сайт 123.456.678.091, а то денвера под рукой нет что бы узнать

Спустя 5 минут, 26 секунд (8.03.2011 - 16:43) Guest написал(а):
Цитата (Dron19 @ 8.03.2011 - 13:38)
скажи человеческое мне в человеческом представлении сайт 123.456.678.091, а то денвера под рукой нет что бы узнать

109.106.136.56:8888
Вот источник трансляции, нет у него человеческого вида пока.

Я понимаю, что я не говорю конкретно что делать серверу. И не знаю как сказать.

Спустя 1 минута, 5 секунд (8.03.2011 - 16:44) Dron19 написал(а):
так вот подучи и скажешь

Спустя 55 секунд (8.03.2011 - 16:45) Dron19 написал(а):
а пока не знаешь, пользуйся другими функциями, к примеру file_fet_contents или file или еще какой-нибудь функцией

Спустя 46 секунд (8.03.2011 - 16:46) Guest написал(а):
Цитата (Dron19 @ 8.03.2011 - 13:44)
так вот подучи и скажешь

Ды вот (( Можно ссылку где это учится?

Спустя 52 секунды (8.03.2011 - 16:47) Guest написал(а):
Цитата (Dron19 @ 8.03.2011 - 13:45)
а пока не знаешь, пользуйся другими функциями, к примеру file_fet_contents или file или еще какой-нибудь функцией

Дело в том, что файлу нет конца он в потоке, file_get_contents не может так работать

Спустя 13 минут, 42 секунды (8.03.2011 - 17:00) Dron19 написал(а):
ну погугли, а если с английским лады, то на php.net заходи, я там читал

Спустя 2 часа, 20 минут, 16 секунд (8.03.2011 - 19:21) inpost написал(а):
Гость_Павел
На сервере выводишь потом в трансляцию через обычный флеш-проигрыватель.
Теперь с нужного адреса делаешь iframe на ту страницу, и получается, что ты нужный поток транслируешь с другого канала

Спустя 1 час, 9 минут, 38 секунд (8.03.2011 - 20:30) Guest написал(а):
Цитата (Dron19 @ 8.03.2011 - 14:00)
ну погугли, а если с английским лады, то на php.net заходи, я там читал

Спасибо на этом.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.