Создание проектов с видио

AmdY

Пью пиво
Команда форума
Периодически предлагают проекты по создаю проектов с хранением и просмотром аудио-видео.
Если функционал не представляет особых проблем, то вот как всё это хранить и раздавать при больших объёмах я слабо представляю.
Есть ли хорошие статьи на эту тему. Здесь же вопросы во многом администрирования. Может посоветуете действительно хороших админов, которые могут смогут проконсультировать и поддерживать на сдельной основе такие проекты? Если из Беларусии вовсе было бы прекрасно.
Проекты конечно не на завтра, но хочется разобраться в данной сфере и определиться имеет ли смысл туда совать нос.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
желающих много, но когда потенциальные заказчики узнают, что для хранения миллиона файлов размером 50 мегабайт надо 50 терабайт, т.е. десятки тысяч долларов на железо и масштабируемость системы, и непонятно, как это должно окупаться - все ВНЕЗАПНО исчезают

почитать можно ту отличную статью про архитектуру youtube

а еще какой-то очень большой фотохостинг и, вроде, plentyoffish, работают с амазонским хранилищем
 

AmdY

Пью пиво
Команда форума
видеосервис на базе амазона? мне кажется или это будет ОЧЕНЬ дорого?
 

parmax

Новичок
Хранение больших объемов видео и аудио ничем не отличается от хранения файлов на таких ресурсах как rapidshare.com и похожих.
Вопрос с раздачей решается в зависимости от формата файлов и возможностей раздавать их различными сервисами такими как WMS, apache + h264_streaming, lighttpd + h264_streaming есть и другие платформы.

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

fixxxer

К.О.
Партнер клуба
Не надо мудрить. :)
Задача делится на 3 взаимосвязанные части - загрузка (и конвертация), хранение и раздача.
Загрузка - флэш или nginx + upload-модули, конвертация - ffmpeg / mencoder + yamdi. Конечно, для конвертации нужна очередь.
Если контента дофига, хранить лучше всего на паре (или тройке, it depends) дублирующих серверов, на обычных дисках безо всяких рейдов - все продолжить работать даже если каюкнется один из дедиков. Соответственно, наш "кластер" (хехе) наращиваем парами. Если относительно немного, можно и сторадж с raid10, тут вопрос скорее экономический.
Раздача. Надо понять процент "горячего" контента, то есть наиболее популярных видео, и насколько мы быстрее упремся в сеть, чем в диски. Если есть достаточно горячего контента и в диски упираемся, надо делать кэширующий фронт с быстрыми дисками (SSD, SAS). Иначе просто балансируем и раздаем - nginx+aio, в рассылке nginx-а достаточно материалов по тюнингу раздачи больших файлов.
Вопросы геолокации и построения своего CDN пожалуй опустим :)
И. Да - стримить 264@MP4 тем куском кода, который из квиктайма кто-то "портировал" под nginx и лайти, крайне не советую - там операция отдачи с заданного оффсета нещадно убивает disk i/o seek-ами. Это нормально для десктопного плеера (откуда без раздумий был взят код), но для сервера раздачи видео это досвидос. Flv, только flv - тем более, что он как контейнер прекрасно подходит и для 264, а seek в нем, в отличие от mp4, тривиален.

А еще можно просто купить соответствующие услуги у CDN-провайдера и ничего самому не делать. :) Но там может получиться заметно дороже.
 
Сверху