Ограничение скорости на видео

NOIP

Гуру форума
Регистрация
17 Фев 2008
Сообщения
327
Реакции
77
Здравствуйте, подскажите пожалуйста, хочу организовать ограничение на загрузку видео, к примеру есть ссылка на видео Для просмотра ссылки Войди или Зарегистрируйся как средствами php ограничить скорость загрузки? При условии что ссылку на видео нужно прятать.

PHP:
<?php

// local file that should be send to the client
$local_file = 'http://cdn.playerjs.com/x.mp4';
// filename that the user gets as default
$download_file = 'namefile.mp4';
// set the download rate limit (=> 20,5 kb/s)
$download_rate = 20.5;
if(file_exists($local_file) && is_file($local_file))
{
    // send headers
    header('Cache-control: private');
    header('Content-Type: application/octet-stream');
    header('Content-Length: '.filesize($local_file));
    header('Content-Disposition: filename='.$download_file);
    // flush content
    flush();
    // open file stream
    $file = fopen($local_file, "r");
    while(!feof($file))
    {
        // send the current file part to the browser
        print fread($file, round($download_rate * 10024));
        // flush the content to the browser
        flush();
        // sleep one second
        sleep(1);
    }
    // close file stream
    fclose($file);}
else {
    die('Error: The file '.$local_file.' does not exist!');
}
?>
Нашел скрипт который ограничивает скорость загрузки, но видео нельзя смотреть в реальном времени, он предлагает скачать видео, а нужно что бы он его подгружал как обычное видео..

Кто нибудь сталкивался с подобным? Как реализовать?
 
Поменяй
PHP:
header('Content-Type: application/octet-stream');
на
PHP:
header('Content-Type:video/mp4');
Для видео с другим расширением надо ставить другой Content-Type

php хорошо подойдёт в качестве прототипа, но для отдачи видео подходит не очень - нагрузка на сервер будет большая. Для nginx`a есть куча манов, как настроить ограничение скорости. И он заметно лучше подходит под такие цели.
 
В общем совет latteo не помог в решение проблемы.

Возвращаюсь к теме, проблема я так понимаю с mp4 если vlc видео пытаться открывать, оно воиспроизводится в браузере, именно mp4 не работает.

Есть у кого опыт работы с подобным?
 
Что-то я не понимаю - вы хотите, чтобы посетитель не мог скачать видео, а мог только посмотреть? Но если он его смотрит в браузере, то через панель разработчика он увидит его адрес (если он конечно знает - что это).
Или вы хотите, чтобы оно медленно загружалось в плеере на сайте? А как тогда смотреть? Ждать, пока все не загрузится?
Вы бы привели пример - для чего это надо?
 
Что-то я не понимаю - вы хотите, чтобы посетитель не мог скачать видео, а мог только посмотреть? Но если он его смотрит в браузере, то через панель разработчика он увидит его адрес (если он конечно знает - что это).
Или вы хотите, чтобы оно медленно загружалось в плеере на сайте? А как тогда смотреть? Ждать, пока все не загрузится?
Вы бы привели пример - для чего это надо?
Судя по тому что Вы написали, вы не понимаете о чем пишите. Вот пример
Скрытое содержимое доступно для зарегистрированных пользователей!

Ограничение по скорости + спрятанный прямой урл.
А нужно это для того что бы если я парсером захочу сказать все видео с сайта, что бы я не посадил весь канал. а только ту часть которая мне выделиться для загрузки.
 
А, теперь понял. С такой задачей действительно я не сталкивался.
 
Лучше копать в сторону nginx.
php будет много жрать памяти
 
Опирайтесь в сторону nginx (если оно у Вас стоит на серваке), документация дана пользователем Шумадан
 
Назад
Сверху