[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Сохранение потокового аудио.
Alex149149
Доброго времени суток. Знатоки, подскажите.
Задача php скриптом сохранять потоковое аудио в файл на сервер с ограничением по времени. т.е. стартует скрипт, в котором в unix формате дата окончания загрузки, как только наступает это время скрипт прерывает загрузку и сохраняет файл на жесткий диск.
Вообще возможно такое организовать через php ?
Есть много прог, которые это делают, но там много лишнего. И вообще нужно делать это "на лету". так что проги не подходят.
inpost
ПХП не работает с динамикой. Аудио, видео - это всё не для него.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
killer8080
Цитата (inpost @ 9.01.2013 - 17:04)
ПХП не работает с динамикой. Аудио, видео - это всё не для него.

ну я бы не был так категоричен, вот например
https://github.com/gadgetguru/PHP-Streaming-Audio
inpost
killer8080
Ты говоришь, что он будет с готовым аудио что-то делать, или принимать аудио-поток? Я не увидел механизма приёма аудио-потока...

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Семён
php + streamripper
killer8080
Цитата (inpost @ 9.01.2013 - 21:41)
killer8080
Ты говоришь, что он будет с готовым аудио что-то делать, или принимать аудио-поток? Я не увидел механизма приёма аудио-потока...

Нет, я привел ту ссылку чтоб показать что на пыхе можно даже потоковый сервер замутить (конечно php не лучший вариант для реализации, но возможность такая есть). А тупо сдампить потоковое аудио проблем нет. Вот даже накидал вариант
$fh = fopen('track.mp3', 'wb'); 
$sh = @fsockopen('212.193.249.165', 10000, $errn, $errstr) or die($errstr);
fwrite($sh, "GET /europapluskirov HTTP/1.0\r\n".
"Host: 212.193.249.165\r\n\r\n" );
$endtime = time() + 25; // лимит на длительность трека
$startbody = false;
while(!feof($sh) && time() < $endtime){
$data = fgets($sh, 4096);
if(!$startbody){
if($data == "\r\n")
$startbody = true;

continue;
}
fputs($fh, $data, strlen($data));
}
fclose($sh);
fclose($fh);
Быстрый ответ:

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