Настройки (Settings)

Содержание

1. Введение
2. Персональные настройки (Personal Settings)
3. Системные настройки (System Settings)
3.1. Настройки изображений (Images settings)
3.2. Настройки видео конвертации (Video convertation settings)
3.3. Настройки видео скриншотов (Video screenshots settings)
3.4. Настройки защиты видеофайлов (Video files protection settings)
3.5. Настройки ротатора (Rotator settings)
3.6. Настройки изображений альбомов (Album images settings)
3.7. Настройки UI сайта (Website UI settings)
3.8. Настройки по умолчанию для добавления видео (Videos adding defaults)
3.9. Настройки по умолчанию для добавления альбомов (Albums adding defaults)
3.10. Настройки доступа в админку (Admin panel access settings)
3.11. Настройки API (API settings)
4. Кастомизация (Customization)
5. Информация установки (Installation info)
6. Форматы (Formats)
6.1. Форматы видео (Video formats)
6.2. Форматы скриншотов (Screenshots formats)
6.3. Форматы альбомов (Albums formats)
7. Администрирование (Administration)
8. Мультисерверность (Storage servers / Conversion servers)
8.1. Сервера хранения (Storage servers)
8.2. Группы серверов хранения (Storage server groups)
8.3. Сервера конвертации (Conversion servers)

1. Введение

Раздел Настройки (Settings) предназначен для конфигурирования всех системных аспектов KVS, за исключением отображения контента на сайте. Настройка сайта и управление им осуществляется в разделе UI сайта (Website UI), по которому существует отдельное руководство.

Важно! Изменение настроек может привести к частичной потере функциональности проекта (как со стороны админки, так и со стороны сайта).

2. Персональные настройки (Personal Settings)

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

3. Системные настройки (System Settings)

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

3.1. Настройки изображений (Images settings)

В данном разделе настроек указываются размеры изображений, которых должен придерживаться движок KVS (кроме размеров скриншотов видео). Все размеры указываются в формате NxM, где N - ширина изображения, M - соответственно, высота.

Важно! При изменении каких-либо размеров в данном разделе автоматическая конвертация имеющихся на сервере изображений происходить не будет. Так, например, при изменении размера аватаров пользователя, все аватары, загруженные после изменения, будут иметь новый размер, в то время как все существующие на данный момент аватары останутся в старых размерах.

Детальное описание опций:

3.2. Настройки видео конвертации (Video convertation settings)

Детальное описание опций:

3.3. Настройки видео скриншотов (Video screenshots settings)

Детальное описание опций:

Важно! Операция кропа используется только для скриншотов, которые создаются движком автоматически. При загрузке скриншотов вручную вы должны выполнить кроп самостоятельно.

3.4. Настройки защиты видеофайлов (Video files protection settings)

Настройки защиты видеофайлов предназначены для защиты видеофайлов от хотлинкования и несанкционированного доступа совместно с серверной технологией защиты (для Nginx это X-Accel-Redirect).

Для настройки полноценной защиты папка, в которой находятся видеофайлы должна быть объявлена внутренней в конфиге Nginx (директива internal). Если вы используете несколько серверов для хранения видеофайлов, то аналогичным образом на всех серверах, где хранится видео, папки хранения должны быть внутренними. Кроме этого, дата и время на всех серверах должно быть синхронизировано с главным сервером. Внутренняя папка Nginx запрещает прямой доступ к файлам, хранящимся в этой папке, соответственно файлы могут быть доступны только через скрипт раздачи get_file.php, в который встроены все проверки. Объявление внутренней папки в конфиге Nginx делается таким образом:

location ^~ /contents/videos/ {
    flv; # включение FLV стриминга
    root /usr/home/clients/ftp0/domains/kernel-tube.com/html; # указание полного пути к папке /contents/videos/
    internal; # запрет доступа к папке по прямым ссылкам
}

KVS предоставляет следующие опции для защиты видеофайлов:

Настройки защиты можно (и нужно) проверить для каждого сервера хранения в отдельности. Для каждого сервера на списке серверов хранения в панели администрирования есть опции проверки прямых ссылок и ссылок через скрипт отдачи видео. При корректно настроенной защите видеофайл должен скачиваться через скрипт отдачи видео, но быть недоступным по прямым ссылкам.

3.5. Настройки ротатора (Rotator settings)

Группа настроек ротатора позволяет включить и настроить ротатор видео и скриншотов. Ротатор скриншотов может быть включен только тогда, когда включена ротация видео.

Важно! Использование ротатора повышает нагрузку на ваш сервер (HDD и CPU).

Детальное описание опций:

Важно! Процесс включения ротатора постепенный и зависит от настройки кэширования сайта. Полностью ротатор включится только тогда, когда обновится весь кэш. Для ускорения процесса можно вручную сбросить кэш сайта (кэш Smarty и MemCache) - это делается в разделе UI сайта (Website UI). Не стоит забывать, что сброс кэша приведет к скачку нагрузки на вашем ресурсе.

3.6. Настройки изображений альбомов (Album images settings)

Эта группа настроек предназначена для глобальных настроек изображений альбомов. Детальное описание опций:

3.7. Настройки UI сайта (Website UI settings)

Данная группа настроек предназначена для указания некоторых глобальных аспектов сайта.

Детальное описание опций:

Важно! Опции Синхронизировать XXX работают для зарегистрированных и залогиненых пользователей сайта, т.е. на гостей они не распространяются.

3.8. Настройки по умолчанию для добавления видео (Videos adding defaults)

Данная группа настроек позволяет указать значения по умолчанию для некоторых данных при добавлении видео через панель администрирования.

Детальное описание опций:

3.9. Настройки по умолчанию для добавления альбомов (Albums adding defaults)

Данная группа настроек позволяет указать значения по умолчанию для некоторых данных при добавлении фотоальбомов через панель администрирования.

Детальное описание опций:

3.10. Настройки доступа в админку (Admin panel access settings)

Данный раздел содержит только одну настройку, которая позволяет включить доступ в панель администрирования для специального администратора службы поддержки. При включении этой опции на странице старта будет отображаться предупреждение до тех пор, пока вы ее не выключите.

3.11. Настройки API (API settings)

KVS предоставляет небольшой API, который позволяет внешним скриптам создавать пользователей сайта и давать им / забирать у них премиум доступ. Вы можете использовать API для интеграции KVS с другими своими ресурсами при необходимости. Для информации о принимаемых параметрах смотрите скрипт /admin/api/kvs_api.php.

Детальное описание опций:

4. Кастомизация (Customization)

Раздел кастомизации предназначен для включения дополнительных полей для определенных объектов. Эти поля могут использоваться как в панели администрирования, так и на сайте по вашему усмотрению. Если вы включите какие-либо из полей для каких-либо объектов - эти поля сами по себе на сайте не появятся. Для того, чтобы использовать их на сайте вам необходимо вручную изменять нужные шаблоны.

Включив какие-либо из дополнительных полей, вы можете также указать их название, которое будет отображаться в панели администрирования (и только там!).

Вот некоторые примеры использования дополнительных полей:

5. Информация установки (Installation info)

Страница отображает некоторую отладочную информацию.

6. Форматы (Formats)

6.1. Форматы видео (Video formats)

Форматы видео разбиты на 2 группы и тем самым позволяют задать координально разный набор видеофайлов для премиум видео и стандартного видео (публичные и личные видео).

Описание полей форматов видео:

При создании активного обязательного формата видео, либо при изменении статуса формата на активный обязательный, для каждого видео, у которого нет видеофайла этого формата, будет запущена задача создания такого файла. При большом количестве видео фоновые задачи могут завершиться через дни и даже недели, поэтому будьте осторожны с созданием активных обязательных форматов. Прежде чем делать формат активным обязательным, проверьте его на нескольких видео при помощи массового редактирования.

При включении таймлайновых скриншотов у уже существующего формата видео для каждого видео, у которого нет таймлайновых скриншотов для этого формата, будет запущена задача создания таймлайновых скриншотов. Создание таймлайновых скриншотов может длиться очень долго при невозможности снятия скриншотов быстрым методом.

При удалении формата видео будут удалены все видеофайлы данного формата со всех серверов хранения. Удаление файлов будет происходить на фоне. В течение этого времени формат будет находиться в статусе Удаление.

6.2. Форматы скриншотов (Screenshots formats)

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

Описание полей форматов скриншотов:

При создании нового формата скриншотов будет запущена одна фоновая задача для создания скриншотов данного формата для всех видео. Эта задача будет выполняться на главном сервере и может быть выполнена относительно быстро.

При удалении формата скриншотов будут удалены все скриншоты данного формата у всех видео. Удаление файлов будет происходить на фоне. В течение этого времени формат будет находиться в статусе Удаление. Перед удалением вам необходимо проверить, что в шаблонах сайта не осталось ссылок на скриншоты удаляемого формата. Для этого следует воспользоваться поиском по шаблонам в панели администрирования и искать использования размера формата в шаблонах сайта (например, 240x180).

6.3. Форматы альбомов (Albums formats)

Форматы альбомов разбиты на 2 группы: группа основных изображений и группа просмотра. Файлы форматов группы основных изображений создаются для каждой фотографии альбома. В то время как файлы форматов группы просмотра создаются для главной фотографии каждого альбома в единственном экземпляре.

Описание полей форматов альбомов:

При создании нового формата альбомов будет запущена одна фоновая задача для создания фотографий данного формата для всех фотоальбомов. Эта задача будет выполняться на главном сервере и может быть выполнена относительно быстро.

При удалении формата альбомов будут удалены все фотографии данного формата у всех фотоальбомов. Удаление файлов будет происходить на фоне. В течение этого времени формат будет находиться в статусе Удаление. Перед удалением вам необходимо проверить, что в шаблонах сайта не осталось ссылок на фотографии удаляемого формата. Для этого следует воспользоваться поиском по шаблонам в панели администрирования и искать использования размера формата в шаблонах сайта (например, 120x160).

7. Администрирование (Administration)

Опции администрирования KVS позволяют:

8. Мультисерверность (Storage servers / Conversion servers)

Мультисерверность позволяет решить казалось бы неразрешимые вопросы нехватки дискового пространства и ширины канала, которые рано или поздно возникнут у любого быстрорастущего проекта. Кроме вопросов хранения и отдачи контента, мультисерверность позволяет использовать несколько серверов конвертации для ускорения фоновых процессов и снижения нагрузки на основной сервер.

8.1. Сервера хранения (Storage servers)

Сервера хранения предназначены для хранения и отдачи видео контента. В большинстве случаев видео хранится на том же сервере, где находится проект. Иногда целесообразно выносить хранение видео на отдельный сервер со специфической конфигурацией оборудования, которая оптимизирована для быстрой отдачи видео. Иногда целесообразно иметь возможность отдавать одно и то же видео с нескольких разных серверов. Для этого и служат сервера хранения.

Описание полей серверов хранения:

При создании второго и последующего сервера в группе серверов, к которой уже привязаны видео, вы должны предварительно скопировать все видеофайлы с любого из существующих в данной группе серверов на новый сервер, иначе сервер не сможет добавиться из-за отсутствие видеофайлов на нем.

8.2. Группы серверов хранения (Storage server groups)

Группы серверов хранения позволяют настроить балансировку отдачи видео между серверами в группе. К каждой группе можно привязать несколько серверов хранения. Видео привязываются к группе серверов (а не к отдельному серверу) и, если в группе несколько серверов, то видео дублируются между серверами. Таким образом, одно и то же видео может одновременно отдаваться с нескольких серверов.

При нехватке свободного дискового пространства необходимо создать новую группу серверов и добавить в нее новый физический сервер (или несколько серверов). После этого появится возможность добавлять видео на новую группу серверов.

Описание полей группы серверов хранения:

Описание столбцов таблицы балансировки:

8.3. Сервера конвертации (Conversion servers)

Сервера конвертации предназначены для распределения нагрузки, которая возникает при операциях с видео.

Описание полей серверов конвертации:

Перед созданием удаленного сервера конвертации вам необходимо скопировать на него скрипт remote_cron.php, который находится в папке /admin/tools/. После копирования этого скрипта, вам необходимо отредактировать его при необходимости, чтобы указать корректные пути к необходимым серверным библиотекам, а также установить для него выполнение по cron-у (каждую минуту). По умолчанию используются такие пути:

$ffmpeg_path="/usr/local/bin/ffmpeg";
$yamdi_path="/usr/local/bin/yamdi";
$qtf_path="/usr/local/bin/qt-faststart";