Как реализовать сервис видео-загрузки файлов и отображения их на сайте?
Всем привет!
Что есть:
===
Есть несколько машин (PC Windows/Linux) на которых показываются видео-материалы от заказчиков.
Мы монтируем видео от заказчиков, скидываем на флешку, объезжаем все PC и меняем файлы.
На PC стоят 4G модемы, которые работают не с большой скоростью, трафик не дешевый.
Все это занимает очень много времени.
Чего хотелось бы:
===
Все это делать удаленно, с возможностью добавления/удаления роликов из пула, чтобы соотвественно при каждом изменении и добавлении нового видео, не делать лишних движений.
Соответственно, должен быть веб сервис, на который пользователи заходят, заливают свои ролики 15-20 секунд, и после проверки (модерации), появлялись на соответствующих PC.
Просто даже не знаю, как полностью описать проблему.
Как организовать именно доставку и трансляцию данных роликов на PC? Разработка сервиса не вызывает проблем.
Видео, которые загружают большого размера, их нада как то кодировать, сжимать или еще что-то, чтоб показывать на экране/сайте.
Например есть 5 видео, так вот они должны один за одним крутиться бессконечно и есстественно без минутной подгрузки)
Также на сайте видео показывается в среднем каждые 5 минут например, как не грузить их постоянно.
P.S. Может быть уже есть сервисы или техники решения данной проблемы.
Если канал слабый да еще с оплатой по трафику, то о прямой трансляции видео можно забыть. Лучше на сервере открыть к каталогу с видео доступ по FTP или Samba. А на терминалах делать rsync удаленного каталога в локальный откуда идет трансляция. Это будет максимально экономично по трафику (насколько это вообще возможно) и любые проблемы с сетью могут в худшем случае только замедлить синхронизацию, трансляция же будет продолжаться бесперебойно.
Перекодирование видео, загружаемого пользователями, конечно, необходимо. Но это уже отдельный вопрос.
Спасибо, насколько я понял, просто поднимается локальный веб сервис, который транслирует локальные файлы, чтобы не было оверхеда на сеть, а файлы fsync в фоне заливаются, и при готовности обновляют скажем фронт.
А как сделать максимально сжатый файл видео, без особой потери качества, еще и разрешений 1920x1080?
Нет, веб-сервис не нужен. Просто у всей сети должен быть головной сервер (на каком бы варианте решения вы не остановились в итоге, вы вряд ли обойдетесь без него). В production желательно купить VDS (а лучше dedicated), на время разработки подойдет любой локалхост. На нем крутится FTP-сервер или Samba. Доступ к каталогу с видео открыт по логину/паролю. На каждой терминальной машине свой локальный каталог с видео + постоянно работающий скрипт в цикле вызывает rsync (или любой синхронизатор ФС). Не зависимо от обрывов и тормозов в сети рано или поздно каталоги придут к синхронному состоянию. При этом по сети будет пересылаться минимально необходимый объем.