Нужна помощь в создание Grid (кластера) системы для кодирования видео.

Нужна помощь в создание Grid (кластера) системы для кодирования видео. Один компьютер кодирует видео часами. В сети есть множество людей у которых простаивают мощностя процессора и которые согласны предоставить свои компы в помощь.
Хотелось бы узнать, как это можно сделать? Есть ли у кого уже опыт в создании подобных систем? Что для этого нужно?

01.03.10
3 ответа

Ответы

Олег

и снова, гуглим, гуглим ))

http://habrahabr.ru/blogs/sfworld/25224/

в сети предостаточно информации о процессах так называемых кластерных сетях

и вопрос ваш очень короток и не ясен по большому счету), что должна делать такая система, какие сети использовать, локальные, глобальные? В вопросе нет конечного результата ) для чего ?

ну вопрос задан, надо отвечать )

вот проект http://www.codergrid.de

01.03.10

По состоянию на 2009 год такого сервиса сам нигде не встречал и догадываюсь почему.

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

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

Да, и с клиентами, которые повернуты на авторском праве, как вы будете обсуждать вопросы приватности и копирайта ?

02.03.10

Идея появилась после того, как конвертил фильм Blu-ray (28 Gb, 1080p) без потери качества, кодеком  х264 (2 pass) с помощью программы XviD4PSP. На моём довольно мощном компе это заняло около 20 часов. Сжало с 28 до 4,5 Gb. Вот и решил, что было бы не плохо свою видеотеку пережать этим кодеком, раз экономится столько места без потери качества. Друзья согласны предоставить свои компы (как по локалке, так и по инету) если пережму и их фильмы.

Для этого нужно найти софт распределяющий нагрузку на процы компов в сети при конвертации.

Валерий, думаю теперь объяснил более развёрнуто? :)

Вообще удивлён, что до сих пор нет такого сервиса.

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

03.03.10

все гораздо проще

1 — RAW (сырец) будет занимать очень много места. но выполнить параллельную обработку можно только для RAW медиапотоков. любые алгоритмы сжатия последовательны*, либо кодировка основана на анализе всего первичного обьема данных, либо на том что каждый фрагмент основан на предыдущем, любо и то и другое. единственный способ распаралелить — это порезать исходник на коротеие фрагменты и перекодировать их по отдельности. для алгоритмов сжатия это гарантированно на много более низкое сжатие, для медиапотоков я не знаю, но подозваю что такой грубый подход тоже может иметь недостатки

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

2 — не существует универсального софта распаралелливающего любую вычислительную деятельность. для распределенного выполнения конкретного типа задач должен быть написан конкретный софт. существует ли такой софт (распределенное выполнение именно перекодирования медиапотоков) для Вашей задачи — это самостоятельный вопрос. кстати отсутствие беплатного софта или сервиса не означает что пункт 1 в точности применим к Вашей теме. если такой софт существует — возможно он узкопрофессиональный и очень дорогой

upd

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

upd2

проект описаный в

http://habrahabr.ru/blogs/sfworld/25224/

это средство для написания программ подобного рода, но ни в коем случае не готовое решенеи которое можно прикрутить к любой иной программе. та мидет речь о шаринге вот этих GPU )))

http://ru.wikipedia.org/wiki/%D0%93%D1%80%D0%B0%D1%84%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%BE%D1%80

 

ps различайте grid-вычисления и кластер )))

http://ru.wikipedia.org/wiki/%D0%93%D1%80%D0%B8%D0%B4

http://ru.wikipedia.org/wiki/%D0%9A%D0%BB%D0%B0%D1%81%D1%82%D0%B5%D1%80_(%D0%B3%D1%80%D1%83%D0%BF%D0%BF%D0%B0_%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%BE%D0%B2)

 

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

http://ru.wikipedia.org/wiki/%D0%9A%D0%BB%D0%B0%D1%81%D1%82%D0%B5%D1%80_(%D0%B3%D1%80%D1%83%D0%BF%D0%BF%D0%B0_%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%BE%D0%B2)#.D0.A1.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D1.8B_.D1.80.D0.B0.D1.81.D0.BF.D1.80.D0.B5.D0.B4.D0.B5.D0.BB.D0.B5.D0.BD.D0.BD.D1.8B.D1.85_.D0.B2.D1.8B.D1.87.D0.B8.D1.81.D0.BB.D0.B5.D0.BD.D0.B8.D0.B9_.28grid.29

 

 

 

14.01.12

Глеб Черняк

Сейчас на сайте
Глеб Черняк
Глеб Черняк
Эксперт месяца
Читать ответы

Julia

Читать ответы

Александр

Читать ответы
Посмотреть всех экспертов из раздела Технологии
Пользуйтесь нашим приложением Доступно на Google Play Загрузите в App Store