У меня есть сервер который вещает в интернет потоковое видео, например его адрес 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) | ||
Мне нравится такой юмор )) Ну я не шутить сюда писал. Если не сложно, то приведите плиз примерчик |
вообще-то это не юмор. Говорю, ты сокеты криво используешь, вот для тебя пример своял
$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) | ||||
вообще-то это не юмор. Говорю, ты сокеты криво используешь, вот для тебя пример своял $fsp = fsockopen("www.phpforum.ru", 80, $errno, $error, 30); |
Ваш пример открыл страницу как и нужно, но я подставил 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 код страницы пхп форума и получаю его
Ну так я же говорю, ты не подал 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 на ту страницу, и получается, что ты нужный поток транслируешь с другого канала
На сервере выводишь потом в трансляцию через обычный флеш-проигрыватель.
Теперь с нужного адреса делаешь iframe на ту страницу, и получается, что ты нужный поток транслируешь с другого канала
Спустя 1 час, 9 минут, 38 секунд (8.03.2011 - 20:30) Guest написал(а):
Цитата (Dron19 @ 8.03.2011 - 14:00) |
ну погугли, а если с английским лады, то на php.net заходи, я там читал |
Спасибо на этом.