Организация базового сервера для видеохостинга

Ярослав14 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
18.11.2010

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

Исходные данные:

1. Фронт-энд site.com (DLE) – новостной движок, каждая новость соответствует фильму/сериалу и содержит помимо описания флешплеер, с xml плейлистом, содержащим список серий.

2. Раздающие сервера s1.site.coms10.site.com, на которых размещены папки с видеофайлами для каждого сериала и общая папка для фильмов.

Задание:

1. Реализация многопользовательской загрузки видеофайлов посредством torrent, http (flash, realtime progressbar), FTP на кодирующий сервер – раздельный интерфейс с отображением общей очереди кодирования и состояния процессов закачки и кодирования для файлов текущего пользователя.

2. Извлечение данных о файле посредством (ffmpeg), (php-ffmpeg), (mencoder) – bitrate, framecount, framerate, width, height, duration. Обработка входящих видеофайлов посредством ffmpeg (x264 codec , flv container) с использованием параметров входящего файла.

3. Реализация мультипользовательского интерфейса для возможности работы нескольких человек в очереди кодирования, с распределением приоритета, соблюдение fifo (first in first out).

4. Организация строгой структуры сериалов и фильмов с использованием БД. При постановке файла на кодирование в виде Название.сериала.s01e01.произвольный.текст.avi парсинг имени – извлечение названия, которое равносильно названию папки с уже имеющимися сериями данного сериала на удаленном сервере и извлечение сезона/эпизода – равносильно названию файла в папке (s01e01.flv). Реализация аналогичной схемы для шаблона Название.сериала.001.avi и шаблона Название.фильма.flv (все фильмы расположены в одной папке, каждый сериал – в отдельной). Автоматическая загрузка закодированного файла на сервер, указаный при добавлении в очередь. Динамическое отображение предполагаемой папки закачки с формой ввода для возможности указания названия в явном виде (ajax, javascript), а также выбора папки вручную из полного списка. Также необходим динамический сбор информации о загруженности серверов и выбор сервера для последующей загрузки. Структура папок на всех серверах одинаковая. Файлы статистики являются текстовыми, разположены на каждом сервере и обновяются автоматически. Необходимые отображаемые поля – количество подключений к серверу, загруженность сервера (load_average), отдача, мбит.

5. Проверка целостности скопированного файла с кодирующего сервера на раздающий (размер/md5).

6. Автоматическое обновление плейлистов в xml формате с разбивкой по сезонам для сериалов исходя из добавленных файлов (новых серий).