Генератор preview thumbnails веб-страниц

Бюджет: по договоренности
Необхоидмо составить концепцию и реализовать генератор превью-картинок различных задаваемых веб-страниц.

На вход генератору будет подаваться список УРЛей. На выходе должны появляться маленькие картинки-скриншоты этих страниц.



Примеры того, какие именно превью имеются ввиду:

www.thumbshots.net/search...

snapcasa.com/samplesnap.a...

www.websnapr.com/



Генератор тамбнейлов страниц должен быть реализован в виде многопоточного fastcgi либо http proxy сервера (количество одновременно работающих потоков должно настраиваться в конфиг файле, ожидается, что их будет 10-20). Требования:





1. Работа в связке с nginx

Данный fastcgi/http proxy будет работать в связке с nginx+модуль кэширования (www.webtatic.com/blog/200... К nginx будут приходить url на обработку в виде mythumbnailmaker.com/?url... Если для данного урла уже был сгененирован thumbnail, то он отдается из nginx кэша, иначе запрос передается fastcgi/http proxy, который генерит тамбнейл и отдает nginx-у. nginx в свою очередь отдает клиенту картинку и сохраняет ее на диск (в кэш).





2. Логика генерации тамбнейла

- изначально нужно рендерить страницу для области просмотра 1280x1024 (размеры нужно вынести в конфиг файл).

Если сайт имеет бОльшие размеры, тамбнейл должен формироваться на основе его левой верхней части.

- картинка должна уменьшаться до указанного в файле конфигурации размера (например 125x100).

- поверх картинки должен накладываться полупрозрачный png, указанный в конфиг файле

- результирующая картинка конвертируется в jpeg формат с указанным в конфиг файле качеством и отдается клиенту.





3. Загрузка документов

- Обязательно должно поддерживаться gzip сжатие загружаемого контента

- разрабатываемый сервер должен уметь загружать файлы через http proxy (настройки должны быть в конфиг файле)

- ОПЦИОНАЛЬНО НО ОЧЕНЬ ВАЖНО: оптимизация загрузки графики. Должны загружаться только те картинки, которые попадают

в область, на основе которой строится тамбнейл.

- Должна быть поддержка флешевых объектов.





4. Требования к реализации

- Разрабатываемый сервер будет работать под OC Linux.

- Конечный язык реализации и набор библиотек должне быть заранее с нами согласован

- Мы бы предпочли, чтобы разработка велась на C++ с использованием библиотек webkit/qt
Опубликован 21.12.2009 в 17:20

Выберите способ верификации:

Обновите страницу после прохождения верификации.