Видео портал

Тема в разделе "PHP", создана пользователем HansikOd, 18 дек 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. HansikOd

    HansikOd Постоялец

    Регистр.:
    27 авг 2009
    Сообщения:
    50
    Симпатии:
    1
    Есть задача: продажа видео-уроков частной школы. Причем просмотр: онлайн. Уроки дляться от 5 до 35 минут, размер файлов от 30 до 500 Мб. Есть VDS с CentOs.

    Для начала взял xmooov для раздачи, но столкнулся, что когда идет раздача видео файла, сервер грузится на столько, что невозможно смотреть другие страницы. И появились проблемы с проигрыванием. Т.е. есть подозрение, что php не справляется с задачей.

    Если описать задачу иначе: есть готовый, конвертированные видео файлы. Надо создать поток по запросу к файлу. Как это лучше сделать? Причем надо еще контролировать раздачу: только определенные пользователи могут просматриривать файлы.

    Спасибо:)
     
  2. Phrack

    Phrack

    Регистр.:
    3 ноя 2010
    Сообщения:
    264
    Симпатии:
    38
    не совсем понятно, проблема в проигрывателе или в чем? в каком формате файлы? Попробуйте использовать flowplayer
     
  3. saen

    saen

    Регистр.:
    6 авг 2006
    Сообщения:
    756
    Симпатии:
    129
    По-моему, из поста ТС очевидно, что идет слишком большая нагрузка на сервер. Конечно это лично мое мнение...:confused:

    Итак, поскольку у ТС vds и железо менять мы не можем(а неплохо было бы увеличить скорость доступа к диску путем объединения в raid-массив к примеру), остается надеятся на ПО.

    Если на твоем сервере есть возможность поставить nginx, можно собрать его с nginx_http_flv_module. При этом обеспечивается подгрузка FLV в плеер с любой временнóй отметки (так называемого «стриминга»).
     
  4. propovednik

    propovednik Постоялец

    Регистр.:
    16 май 2008
    Сообщения:
    104
    Симпатии:
    21
    Посмотри на мое решение https://www.nulled.cc/showpost.php?p=1655767&postcount=6 Сервер грузится ровно настолько, насколько бы грузился при прямом доступе к файлу. (У меня задача была несколько другая - обращение к потоку с заданным именем пользователя и паролем, но эти строчки можно просто убрать и генерировать отдельные потоки для каждого пользователя)
     
  5. Alternator

    Alternator

    Регистр.:
    23 мар 2009
    Сообщения:
    295
    Симпатии:
    145
    вы с помощью PHP-скри пта отдаете видео-файлы?
    и делаете так, чтобы "замаскировать" реальное расположение файлов, и ограничить доступ для неоплативших пользователей?
    погуглите заголовок X-Accel-REdirect для Nginx
    Это позволит контролировать логику(кому разрешить скачку, а кому - нет) с помощью PHP, но отдавать при этом контент исклоючительно средствами веб-сервера, что гораздо быстрее чем если пропускать его через PHP
     
  6. HansikOd

    HansikOd Постоялец

    Регистр.:
    27 авг 2009
    Сообщения:
    50
    Симпатии:
    1
    Да, именно так и делаем. Вся система строится на Kohana 3. есть контроллер который обеспечивает раздачу контента только тем, кто авторизован и купил доступ к видео на сутки (например),если он не купил, что ему показывается первые 30 секунд. Все это делается при помощи xmoov-php.

    На счет nginx_http_flv_module слышал,но не копал еще. Но видимо придется.

    xmoov-php делает тоже самое, только при этом еще позволяет регулировать скорость отдачи. Для чего? У меня канал на VPS 10 мбит. Битрейт видео: 1000-1200 кбит/с. Чтобы не получилось так, что один-два пользователя с каналами в 25мбит заполнять канал сервера, поток отдается с предельной скоростью ~1.5 мбит/с.
    В любом случае попробую Ваш скрипт, может в xmoov что-то недоглядел, что грузит систему.

    Оперативной памяти на сервере: 256Мб, на пхп выделяется 128Мб.
     
  7. HansikOd

    HansikOd Постоялец

    Регистр.:
    27 авг 2009
    Сообщения:
    50
    Симпатии:
    1
    Есть кто-нибудь, кто настраивал ngnix под раздачу видео :)? На сколько я понял, именно он мне и поможет... Но вот пока не могу найти толкового описания.
     
Статус темы:
Закрыта.