Серверные требования KVS

Минимальные требования к серверу:

  • Unix-овая система (Windows не поддерживается)
  • PHP 5.3, 5.4 или 5.5
  • IonCube Loader 4.6.1 или выше
  • Mysql 5.0 или выше и поддержка его в PHP
  • FFmpeg 1.0 или выше с поддержкой libx264, libavfilter и AAC кодека (libfaac, libfdk_aac или экспериментальный aac кодек из ffmpeg)
  • ImageMagick
  • cURL и поддержка его в PHP
  • Apache + mod_rewrite + (выключенная опция MultiViews)
  • Не кириллическое доменное имя

Обязательные требования к PHP

  • библиотека Zlib
  • XML extension
  • GD2 с поддержкой true type font (обязательно!)
  • Возможность запуска PHP из CLI, используя exec()
  • Многобайтные строки (mbstring)
  • PHP register_globals off
  • PHP magic_quotes_gpc off
  • PHP safe_mode off
  • PHP file_uploads on
  • PHP allow_url_fopen on

Рекомендуемые опции (крайне желательные)

  • Memcache и поддержка его в PHP
  • Nginx (с опциями: --with-http_flv_module --with-http_mp4_module) + Apache (через reverse proxy)
  • НЕ рекомендуется использование eAccelerator или XCache

Использование Nginx для статики

Мы рекомендуем использовать Nginx в качестве прокси над Apache. Во-первых, Nginx имеет более высокую производительность при отдачи статики (включая видео). Во-вторых, для псевдо-стриминга видео необходим Nginx. В-третьих, KVS позволяет защитить видео от хотлинка через интеграцию со встроенными средствами защиты Nginx

Демо конфигурация nginx содержит необходимые настройки для защиты локальных директорий хранения видео контента:

  • location ~ /contents/videos/.*\.mp4
  • location ~ /contents/videos/.*\.flv
  • location ^~ /contents/videos_sources/

Значение параметра client_max_body_size должно быть установлено с учетом максимальных размеров видеофайлов, которые вы будете загружать с локального диска.

Если вы хотите использовать embed код на свои видео, то в целях защиты вам необходимо убедиться, что Nginx не перехватывает swf файлы (должен работать апачевский .htaccess).

Рекомендуемые опции PHP

  • PHP upload_max_filesize 2000M (максимальный размер загружаемых видео файлов)
  • PHP post_max_size 2000M (максимальный размер загружаемых видео файлов)
  • PHP memory_limit 128M
  • PHP session.gc_maxlifetime 21600

Требования при мультисерверности

Требования выше описаны для проектов, которые используют только 1 физический сервер. KVS позволяет подключать отдельные физические сервера для хранения контента либо для ресурсоемких операций конвертации. В этом случае дополнительные сервера будут иметь ограниченные требования:

  • Сервер хранения: PHP, Nginx рекомендуется
  • Сервер конвертации: PHP, FFmpeg, ImageMagick