Компонент «JomSocial» с момента первого релиза набрал огромную популярность, поскольку позволяет создать полноценную социальную сеть под управлением CMS Joomla. Не последнюю роль в этом сыграла возможность загрузки видео участниками социальной сети.
Компонент «JomSocial» с момента первого релиза набрал огромную популярность, поскольку позволяет создать полноценную социальную сеть под управлением CMS Joomla. Не последнюю роль в этом сыграла возможность загрузки видео участниками социальной сети.
В Jomsocial предусмотрены два варианта добавления видео на страничку пользователя.
Первый, и наиболее простой — вставить ссылку на видеоролик, уже размещенный на одном из популярных видеохостингов. К примеру, на YouTube.
Второй — полноценная загрузка видео на сервер владельца сайта. Именно в этом случае владельцы сайтов сталкиваются с определёнными сложностями.
Данное обстоятельство заставило меня сесть за перо и написать статью, которая позволит решить ряд проблем при загрузке видео в «JomSocial».
Требования к хостингу
Прежде, чем разрешать загрузку видео на свой сайт в «JomSocial», необходимо удостовериться — а позволяет ли ваш хостинг осуществлять данный сервис. Проще говоря: отвечает ли он системным требованиям компонента.
FFMPEG
Дело в том, что вы не можете предсказать в каком из форматов будут загружать видео участники вашей социальной сети. Однако, вы знаете наверняка: видеоролики будут воспроизводиться с помощью flash плеера, который работает с форматом FLV.
Получается, что видео должно обработано на сервере, а именно: произведено его конвертирование в формат FLV. Именно для этих целей на сервере, где расположен ваш сайт должен быть установлен набор библиотек FFMPEG. Он будет осуществлять функцию кодирования \ декодирования вашего видео.
Поскольку FFMPEG — это проект с открытым исходным кодом, в первую очередь он ориентирован на сервера под управлением Linux систем. Однако имеют место быть компиляции под другие ОС.
Если на вашем сервере не установлен FFMPEG, говорить о загрузке видео пользователями JomSocial не приходится.
В таком случае остается два пути решения проблемы: либо писать в техподдержку хостинга и слезно умолять установить пресловутый FFMPEG, либо искать другого хостинг провайдера.
Как узнать — установлен ли набор библиотек FFMPEG в вашей системе? Сделать это проще простого. Зайдите в административную панель своего сайта Помощь — Информация о системе — Информация PHP (это путь в Joomla 1.5) и воспользуйтесь поиском вашего браузера, где в поисковую строку введите «FFMPEG».
В случае, если набор библиотек уже установлен на вашем сервере, браузер покажет нечто подобное:
Если же FFMPEG отсутствует, поиск закончится неудачей. Что значит: пора писать в техподдержку вашего хостинга.
FLVTool2
Следующим, я бы сказал, обязательным условием является наличие на вашем сервере утилиты FLVTool2. Она необходима для того, чтобы ваш flv файл с видео передавались метаданные ролика.
Проще говоря, данная утилита формирует ту информацию, которая позволяет корректно воспроизводить видео. В частности, станут доступны такие функции, как перемотка, масштабирование.
Чтобы узнать — установлена ли утилита FLVTool2 на вашем сервере, необходимо иметь SSH доступ. Приведу вариант работы на операционной системе Debian.
Соединяемся по SSH протоколу и в командную строку вводим следующую команду:
dpkg --get-selections "*" > /var/www/sitogon/data/www/demo.sitogon.ru/my_packages.txt
Здесь /var/www/sitogon/data/www/demo.sitogon.ru/ - абсолютный путь к вашему сайту (в моем случае это был сайт demo.sitogon.ru), а my_packages.txt — имя текстового файла в который будут записаны все установленные в системе пакеты.
Далее остается открыть этот файл в текстовом редакторе и с помощью поиска найти «FLVTool2». С моем случае эта утилита оказалась в наличии:
Если вы не уверены в своих знаниях, и первый раз слышите аббревиатуру SSH, обратитесь к хостинг провайдеру, которому задайте вопрос о том, установлена ли утилита «FLVTool2» на сервере, где расположен ваш сайт.
Библиотека cURL
Данная библиотека необходима в первую очередь для получения данных со сторонних ресурсов. Наличие ее является обязательным условием не только для корректной загрузки видео, но и работы JomSocial в целом.
Узнать установлена ли библиотека на вашем сервере можно через административную панель, абсолютно также, как мы поступали с FFMPEG: Помощь — Информация о системе — Информация PHP и в поисковую строку браузера вводим «CURL» (без кавычек).
Подводя итоги по системным требованиям...
На сегодняшний день ситуация складывается таким образом, что найти хостинг для размещения сайта с установленным JomSocial не просто. Хостинг провайдеры неохотно устанавливают дополнительное программное обеспечение по просьбе своих клиентов.
Но это, в общем-то, пол беды.
Главная головная боль начинается в процессе полноценной работы вашего сайта. То есть тогда, когда начинают приходить первые стабильные посетители. Ситуация, когда крохотная социальная сеть посещаемостью в 20 человек\сутки блокируется хостинг провайдером за перегрузку сервера — вполне обычное дело.
Дело в том, что после того, как участник вашей социальной сети загрузил видео на ваш сервер, JomSocial (при условии, что компонент настроен правильно) запускает процесс перекодирования видео. Тот, кто пробовал кодировать видеоконтент на домашнем компьютере, имеет представление о том, что нагрузка на процессор весьма и весьма велика.
Когда ваш сайт расположен на виртуальном хостинге, ему предоставлены не все процессорные мощности, а лишь малая их часть, что вполне логично. На одном сервере могут соседствовать 200 и более сайтов.
Если поиск хостинг провайдера, который не ставит жесткие ограничения на процессорную нагрузку не увенчался успехом, напишите нам через эту контактную форму:
www.sitogon.ru/contacts
На момент написания этой статьи мы уже помогли более 40 сайтам, работающим на JomSocial решить проблему хостинга.
В письме вы должны подробно описать причину по которой хотите купить место на нашем сервере, указать ссылку на свой сайт, ибо мы принимаем далеко не каждый ресурс.
Настройка загрузки видео в JomSocial
Чтобы ваша социальная сеть под управлением JomSocial позволяла загружать видео с компьютера на сервер, где расположен сайт, необходимо произвести ряд настроек. Первое, что мы должны сделать — это отправиться в административную панель. Проделать путь: Компоненты — Jomsocial — Конфигурация:
Откроется новая страница, где мы должны перейти на вкладку «Mедиа»
Далее спускаемся в самый низ страницы настроек, а именно в раздел «Видео». В первую очередь обратим внимание на переключатель «Разрешить загрузку видео», который необходимо установить в положение «ДА».
Теперь хочу обратить ваше внимание на текстовые строки «Путь к FFMPEG» и «Путь к FLVTool2». Они должны быть заполнены. Путь к ним можно узнать у вашего хостинг провайдера.
Как правило, он выглядит так:
Путь к FFMPEG - /usr/bin/ffmpeg
Путь к FLVTool2 - /usr/bin/flvtool2
После того, как все параметры указаны, в правом верхнем углу нажимаем кнопку «Сохранить» и переходим к не менее важной части — настройки CRON (КРОН) в JomSocial. Если этого не сделать, то после загрузки видео, оно будет постоянно находиться в статусе «Видео на проверке».
Настройка CRON в JomSocial
Для начала хотелось бы внести ясность: а что такое, собственно, этот CRON. Это такая программа, которая позволяет планировать задания в операционных семейства UNIX. Теперь ответим на вопрос: зачем он нужен в процессе загрузки и кодирования видео?
CRON выполняет задачу распределения ресурсов сервера. Представим ситуацию, когда одновременно загружены три видеоролика. Если также одновременно запустить процесс кодирования, то сервер, мягко говоря, будет работать медленно, ибо нагрузка будет велика. CRON позволяет распределять ресурсы сервера, и ставит необходимые для кодирования файлы в очередь. То есть, заставляет производить эту операцию последовательно, видеоролик за видеороликом.
Чтобы настроить CRON для работы с JomSocial, нам понадобится доступ по FTP. Необходимо посетить каталог:
/components/com_community/
Далее открываем на редактирование файл cronjob.php
По умолчанию содержимое этого файла выглядит следующим образом:
В русскоязычной версии JomSocial комментарии будут на русском языке.
Обратите внимание на строчку defined('_JEXEC') or die('Restricted access');
Её необходимо удалить.
Далее меняем yoursite.com на имя вашего домена. Так выглядит файл cronjob.php , настроенный для домена demo.sitogon.ru:
Настало время отправиться в хостинг панель. Далее я буду описывать действия на примере панели ISPManager, которая установлена на нашем сервере. Сервер работает под управлением операционной системы Debian. Настраивать CRON будем для сайта demo.sitogon.ru
В хостинг панели находим раздел «Инструменты», где нажимаем на ссылку «Планировщик (cron)», после чего в правом верхнем углу страницы нажимаем на кнопку «Создать задание». Кнопочка эта выглядит, как зеленый знак «+»
Откроется новое окно, где в выпадающем списке «Период», мы выберем значение «Другое»
Нам станут доступны новые элементы управления. В выпадающем списке «Минуты» выбираем параметр «Каждые», в свою очередь параметр «Каждые» оставляем равным 2 минутам.
Настало время обратить внимание на поле «Команда». Сюда мы должны вписать следующее:
wget -O /dev/null "http://www.demo.sitogon.ru/index.php?option=com_community&task=cron" > /dev/null
Вместо demo.sitogon.ru у вас должно прописано ваше доменное имя.
После того, как указанная мною строчка добавлена в текстовое поле «Команда», в окне «Новое задание» нажимаем кнопку «ОК», что позволит сохранить настройки и закрыть окно.
Остается только проверить полученный результат. Зайдем на наш сайт и попробуем загрузить видео в JomSocial.
Результат нашей работы можно посмотреть по этой ссылке:
Как видим, наш ролик спустя две минуты удачно перешел из статуса «Видео на проверке» и стал не только воспроизводиться, но и отображаться в ленте активности JomSocial.
Это означает, что мы добились успеха в настройке загрузки видео в JomSocial, научились настраивать CRON. В связи с этим обстоятельством хочу завершить данную статью. Задавайте вопросы на форуме.
С уважением, Владимир Егоров