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

Тема в разделе "Как сделать...", создана пользователем NOIP, 24 авг 2017.

  1. NOIP

    NOIP

    Регистр.:
    17 фев 2008
    Сообщения:
    245
    Симпатии:
    55
    Здравствуйте, подскажите пожалуйста, хочу организовать ограничение на загрузку видео, к примеру есть ссылка на видео http://cdn.playerjs.com/x.mp4 как средствами 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($fileround($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!');
    }
    ?>
    Нашел скрипт который ограничивает скорость загрузки, но видео нельзя смотреть в реальном времени, он предлагает скачать видео, а нужно что бы он его подгружал как обычное видео..

    Кто нибудь сталкивался с подобным? Как реализовать?
     
  2. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.547
    Симпатии:
    1.419
    Поменяй
    PHP:
    header('Content-Type: application/octet-stream');
    на
    PHP:
    header('Content-Type:video/mp4');
    Для видео с другим расширением надо ставить другой Content-Type

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

    NOIP

    Регистр.:
    17 фев 2008
    Сообщения:
    245
    Симпатии:
    55
    В общем совет latteo не помог в решение проблемы.

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

    Есть у кого опыт работы с подобным?