Есть сайт с возможностью онлайн просмотра и скачивания видео. Предполагается возможность просмотра видео в разном качестве и переключения звуковых дорожек.
Как я себе это вижу: на входе имеем файл с видео HD 1080p high profile и несколькими звуковыми дорожками.
Разбираем файл на части, отдельно берем видео дорожку, кодируем с разным качеством в формате, пригодном для просмотра онлайн и на девайсах. Аналогично поступаем с аудио дорожками.
В итоге получаем 2-3 версии видео дорожки (оригинал, 720p для девайсов, 360p для девайсов) и 1-2 версии аудиодорожки (оригинал и, если оригинал имеет больше 2 каналов, стерео версию). Храним это все на диске в виде отдельных файлов.
Хотелось бы иметь возможность отдавать такое видео пользователям в разной конфигурации. Скажем, 720p качество и русская дорожка. Или 360 качество и английская. Или 720p и несколько дорожек в формате mkv.
И делать это так, чтобы не приходилось для каждой возможной конфигурации, хранить ремюкснутую копию на диске. А так, чтобы ремюкс в нужный формат из нужного набора дорожек, проходил на лету, при отдаче файла пользователю.
Вопрос: каким софтом это можно отдать? Я так понимаю, что стриминговым сервером, но, интересуют конкретные названия продуктов.
Из требований: возможность работы под *nix системами, по возможности, отсутствие лишних возможностей (вроде динамического переключения качества в зависимости от канала, DRM и подобного), невысокая цена (а лучше, опенсорс с какой-то из свободных лицензий).
Вы можете использовать Erlyvideo, это свободный стриминговый сервер с кучей дополнительных возможностей. А в случае с ngnix — это псевдостриминг, когда поток «бесконечный» flv файл.
erlyvideo.org