Ну в итоге вроде бы все получилось, как я хотел. Стриминг удалось поднять на VLC. Оставалось решить только одну проблему. Мне нужно было так же и видео по требованию, т.е. VOD. Т.к. иногда нужно, чтобы видео игралось именно с начала, а не откуда-нибудь с середины. Изначальный выбор пал на MiniDLNA. Но опять же возникли вечные проблемы опен-сурца. В VLC UPnP работает крайне нестабильно. В одной версии работает, в другой уже не работает. Вот в 3.0.9 работает, а в самой последней 3.0.11 уже нет. Симптомы весьма простые. UPnP просто не подает никаких признаков жизни, как будто его там вообще нет. Даже заголовок выбранной вкладки в левом верхнем углу плэй-листа не меняется, как будто там не кнопка, а просто мертвая заглушка. Проблема именно в VLC, т.к. Windows Media Player работает прекрасно в любых условиях. Короче мне не нравилась надежность и безопасность этой системы. Проще, когда ты запускаешь видео чисто по известному URL. VLM, не смотря на все старания, завести так и не удалось. Опять же особенность опен-сурца. Фичи, которые как бы есть и как бы их нет. Вроде фича такая есть и в интернете полно гайдов по тому, как ее использовать. Но при этом не понятно, работает ли она вообще или нет. Т.к., опять же, никаких признаков жизни не подает. Вроде как VLM сам по себе больше не поддерживается, но вроде с другой стороны этот функционал был включен в сам VLC. В итоге все таки пришлось поднять ngnix. Это оказалось сделать не так уж и сложно. Сначала вообще планировал полностью перейти с VLC на ngnix. Т.к. при этом OBS работает напрямую и без танцев с бубном с настройкой ffmpeg. Но мне не понравилось, как там работает стриминг. Во первых но жрет больше процессора, т.е. возможно происходит еще одно промежуточное преобразование видео, а во вторых при обрыве трансляции клиент зависает и, следовательно, потом не переподключается к восстановившемуся потоку. Так что пришлось вернуть VLC, который удалось запустить как демон. А в ngnix просто настроить VOD на основе RTMP.
Но это все прелюдия. Основной вопрос какой. Мне очень нравится, что VLC умеет делать трансляцию через HTTP. Мне кажется, что именно из за этого он и работает стабильнее, чем ngnix с RTMP. А потому мне очень жаль, что VLM в итоге не удалось поднять. В ngnix есть аналоги, который очень сильно рекламируют по всему интернету. Это HLS и DASH. Я хотел бы их попробовать. Все там конечно красиво. Но у меня есть вопрос. Система у меня не очень сильная. Не промышленный сервер, а обычный компьютер. Там перекодирование в фрагменты происходит в реальном времени или они постоянно записываются на диск? Они там кэшируются надолго сразу все или, например, только штук по 10, а после этого начинают перезаписываться? Я о чем. Не ухайдокает ли этот HLS мне диск?
П.С. Вот стандартная проблема в том числе наверное и опен-сурца. Моя проблема наверное на самом деле очень распространенная, а потому очень удивляет, что до сих пор не существует простого законченного решения, работающего из коробки. VLC наверное приблизился к решению это проблемы наиболее близко, но так ее и не осилил.
П.П.С. Вот только написал, что VLM не заводится, а он взял и завелся! Конечно с ним есть пару проблем. Во первых видео очень долго запускается. Секунд 10-15. Это скорее всего особенность кодека. Но за ngnix я такого не замечал. А второе - это то, что все файлы предопределены в конфиге и не могут быть произвольными, как в ngnix. Надо теперь думать над скриптом для автогенерации конфига при старте демона. А там будем сравнивать, что лучше работает.