The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Выпуск Angie 1.4.0, российского форка Nginx , opennews (??), 12-Дек-23, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


8. "Выпуск Angie 1.4.0, российского форка Nginx "  +/
Сообщение от Аноним (8), 12-Дек-23, 19:10 
Директива "mp4_limit_rate" выглядит как дичайший костыль. Почему нельзя сделать выбор типа файла, для которого будет выполняться это ограничение?
Ответить | Правка | Наверх | Cообщить модератору

11. "Выпуск Angie 1.4.0, российского форка Nginx "  –2 +/
Сообщение от нах. (?), 12-Дек-23, 19:22 
В смысле? Всегда было можно - location ~ \.mp4$ { limit_еёрейт!; }
Других "типов файлов" у меня для вас нет, операционная система rsx11 давно умерла (да и там они были не так чтоб надежны. Я даже и не знаю у кого были.)

Там смысл этого лимитрейта по сравнению с обычным, действующим для любых файлов - только в том что он привязывается к рейту конкретного видосика (видосик для этого я так понимаю надо внимательно прочитать, с хорошими рисками поймать там пару шансов выполнить какой-нибудь кадрик в контексте процесса nginx, чиста чтоб не расслаблялись)

Типа если ты хочешь импортозамещенный утруп с русским лото и доступными барышнями, ну то есть чтоб видео все еще можно было смотреть, а скачивать только на скорости 32bit/s , прям как у настоящего гугля.

Вы мне лучше расскажите, кто-нибудь mp4_start_key_frame - вот эту хрень понимает как она вообще работает?

Или забить, все равно через пару лет нам и в пень будет не нужно это ваше mp4?

Ответить | Правка | Наверх | Cообщить модератору

35. "Выпуск Angie 1.4.0, российского форка Nginx "  +3 +/
Сообщение от Аноним (8), 12-Дек-23, 20:26 
> ну то есть чтоб видео все еще можно было смотреть, а скачивать только на скорости 32bit/s , прям как у настоящего гугля.

А чем для веб сервера заключается отличие просмотра от скачивания?

Ответить | Правка | Наверх | Cообщить модератору

36. "Выпуск Angie 1.4.0, российского форка Nginx "  +1 +/
Сообщение от нах. (?), 12-Дек-23, 20:50 
ну ты же не хочешь, наверное, ждать пока оно скачается на 32битах?

Вот для веб-сервера тем и отличается, что Хозяин поставил его не чтоб ты скачивал, а чтоб смотрел то что он тебе хочет показать.

(ну на самом деле немного и правда бесит когда к тебе приходят роботы т-поватые и пытаются скачать очередную 32g флэшку с gopro выложенную друзьям без обработки. Причем зачем гуглю и яндексу это все щастье - они и сами не знают. Но закрома бездонные и туда тащится все. Но у меня с этим справлялся обычный limit_rate, зачем файл еще и парсить-то.)

Ответить | Правка | Наверх | Cообщить модератору

17. "Выпуск Angie 1.4.0, российского форка Nginx "  +/
Сообщение от Аноним (17), 12-Дек-23, 19:41 
Чего ты там ещё собрался выбирать?
Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

83. "Выпуск Angie 1.4.0, российского форка Nginx "  +/
Сообщение от Аноним (83), 13-Дек-23, 11:34 
Отдавать в потоке не только лишь mp4, например.
Ответить | Правка | Наверх | Cообщить модератору

18. "Выпуск Angie 1.4.0, российского форка Nginx "  –6 +/
Сообщение от Легивон (?), 12-Дек-23, 19:53 
Лютая дичь, ога. Чуваки ваще не заморачиваются касательно границ ответственности ПО. Сейчас они видеоформаты читают, а завтра что? CD диски записывать будут? Потому что кому-то вдруг потребовалось?
Как у них вообще хватило ума на это? Я вангую этот делал именно тот "инженер", который имеет необратимые повреждения мозга фронтендом. Иного представить сложно. У любого связаного с разработкой ПО (т.е. не фронтенда) "полыхнет" от реализации такой фитчи на таком уровне абстракций.
И еще интересно, как они это реализовали? Втащил в nginx ffmpeg? Или прямо в самом коде реализовали чтение атрибутов mp4 и собираются это поддерживать? Хотя "что-то, что это..."
Пишу комментарий и у меня прямо пригорает. Ребята, ну зачем, хорошо ведь все начиналось?
Почему если вам надо шейпер на конкретные файлы не сделать его вообще абстрактным относительно файлов и форматов, ведь форматы это вообще не уровень веб сервера. Почему нельзя заставить пользователя ложить параметры шейпинга для конкретного файла во внешню быструю kv базу и забирать их оттуда при отдаче, кешировать эти парметры? Зачем такое убожество?
Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

21. "Выпуск Angie 1.4.0, российского форка Nginx "  +6 +/
Сообщение от Аноняша (?), 12-Дек-23, 20:06 
Т.е. на N-ом то году жизни вы вдруг узнали, что в nginx уже сто лет как есть модуль для псевдо-стриминга mp4 и вот в нем просто реализовали дополнительную опцию?
Ответить | Правка | Наверх | Cообщить модератору

63. "Выпуск Angie 1.4.0, российского форка Nginx "  +/
Сообщение от нах. (?), 12-Дек-23, 23:29 
причем по-моему как обычно это копипаста из nginx pro
Ответить | Правка | Наверх | Cообщить модератору

22. "Выпуск Angie 1.4.0, российского форка Nginx "  –6 +/
Сообщение от Аноним (17), 12-Дек-23, 20:07 
Тут странно не то что они сделали. А то что ты реально верил что они смогут сделать что-то стоящее. Прав был Сергей Пантелеевич.
Ответить | Правка | К родителю #18 | Наверх | Cообщить модератору

37. "Выпуск Angie 1.4.0, российского форка Nginx "  +6 +/
Сообщение от нах. (?), 12-Дек-23, 20:55 
> Почему если вам надо шейпер на конкретные файлы не сделать его вообще
> абстрактным относительно файлов и форматов, ведь форматы это вообще не уровень

потому что для видео это не совсем так работает. Будешь отдавать его медленнее чем оно предназначено воспроизводиться - тебя отп...дят счастливые зрители.

> веб сервера. Почему нельзя заставить пользователя ложить параметры шейпинга для конкретного
> файла во внешню быструю kv базу и забирать их оттуда при

почему бы действительно вместо того чтобы просто не взять параметры прямо из файла - не встраивать в веб-сервер взаимодействие с какими-то базами и еще какой-то отдельно кэш?! Попутно озадачив пользователя микроменеджментом этого всего вручную.
Вот прямо образцовый разработчик пришел к нам в тред, не то что эти вот все.

Ответить | Правка | К родителю #18 | Наверх | Cообщить модератору

53. "Выпуск Angie 1.4.0, российского форка Nginx "  –1 +/
Сообщение от Легивон (?), 12-Дек-23, 22:07 
>потому что для видео это не совсем так работает. Будешь отдавать его медленнее чем оно предназначено воспроизводиться - тебя отп...дят счастливые зрители.

Как это противоречит тому что я написал выше?
Представим следующий пайплайн:
- Загрузка файла на сервер тригерит event "$file_path created" и ложите его в очередь.
- С другой стороны очереди работают консюмеры, очень простые обертки над ffmpeg на высокоуровневом языке, на питоне например. Которые с некоторой задержкой приходят в новый файл и смотрят его парамеры. Файл к слову может иметь любой формат в рамках поддерживаемого ffmpeg, в отличии от вкоряченого костыля. В том числе может быть вообще не видео файлом. Полученые параметры записываются в базу данных: redis/memcached и т.д.
- nginx получает запрос на скачивание файла, ищет параметры шейпинга в своем кеше, если не находит забирает их из базы за rtt до неё, ложит в кешь, шейпит. Не находит данных в базе - применяет описаное дефолтное поведение, например скорость больше чем требуется 99% файлов.
Что в этом сложного?
Все работает быстро, скейлится до бесконечности, не зависит от форматов файлов.
Ты ни разу не разрабатывал ПО? Не понимаешь что часто нужно жертвовать (только кажущимся) удобством в пользу архитектуры, в пользу общих переиспользуемых и ограниченых подходов, вместо решения здесь и сейчас (плевать что будет завтра)?

> почему бы действительно вместо того чтобы просто не взять параметры прямо из файла - не встраивать в веб-сервер взаимодействие с какими-то базами и еще какой-то отдельно кэш?!

Потому что это универсальный механизм относительно любых форматов файлов (а не костыль для какого-то одного), это существенно уменьшает уровень абстракций, это делает ПО поддерживаемым и имеющим шансы на будущее.
Все веб серверы УЖЕ УМЕЮТ общаться с тем же redis. Потому что таким образом проще всего добиться динамичекого поведения (а уж кеш имеют и подавно). Можешь посмотреть например, что представляет из себя протокол того же redis 5. Он настолько простой, что пользоваться им можно используя /dev/tcp client в bash.
Сейчас они в веб сервере реализовывают парсинт форматов видео файлов для конфигурирования шейпера под всеобщее улюлюкание. Завтра это импортозащекченное нечто принудительно начнет шейпить в зависимости от отношения передаваемого содержимого к рюсиюшке, правящей партии и прочей сиюминутной конъюнктуре. Это определенно не то и не в том месте поведение которого мы ожидаем.

> Попутно озадачив пользователя микроменеджментом этого всего вручную.

Если пользователь что-то хочет делать руками - это его право. Он в любом ПО найдет эту возможность.

Ответить | Правка | Наверх | Cообщить модератору

60. "Выпуск Angie 1.4.0, российского форка Nginx "  +3 +/
Сообщение от нах. (?), 12-Дек-23, 22:33 
> Представим следующий пайплайн:
> - Загрузка файла на сервер тригерит event "$file_path created" и ложите его
> в очередь.

А если вообще нет никакой "загрузки на сервер" ?

> - С другой стороны очереди работают консюмеры, очень простые обертки над ffmpeg
> на высокоуровневом языке, на питоне например. Которые с некоторой задержкой приходят

и кто их должен писать?

> параметры записываются в базу данных: redis/memcached и т.д.

теперь нам надо следить за актуальностью, поддерживать, резервировать, а попутно ты выбрал как раз те две которые неперсистентны и при плановом апгрейде сервера - что? А если файликов пол-миллиончика?

> - nginx получает запрос на скачивание файла, ищет параметры шейпинга в своем
> кеше, если не находит забирает их из базы за rtt до
> неё, ложит в кешь, шейпит. Не находит данных в базе -

теперь у нас в nginx зависимость от базы данных, миллион костыликов чтоб не упереться в локи и не повиснуть нахрен если база затупила или до нее легла связность... Плюс еще одни кэши которые теперь ЕЩЕ раз надо валидировать, вовремя экспайрить, которые долго прогреваются. Вот здорово, вот красота-то какая!

> Что в этом сложного?

действительно...

> Потому что это универсальный механизм относительно любых форматов файлов (а не костыль

жаль что он вероятно совсем никому не нужен.

В отличие от вполне понятного даже васянскому локалхостеру желания прирезать аппетиты автоскачивальщикам в пользу тех кто просто смотрит онлайн и не ковыряться вручную измеряя битрейт (кстати, интересно что будет если он переменный).

> Все веб серверы УЖЕ УМЕЮТ общаться с тем же redis. Потому что

вовсе нет.
Зачем вебсерверу - какой-то там redis?

У nginx был когда-то какой-то редис-модуль, но он для автоматического кэширования, а не хранения произвольных переменных, кроме того он 3d party и какой-то совсем ужасно васянский (у него и memcache был странен и всегда проигрывал кэшированию на стороне приложений - хотя казалось бы, как).

В любом случае нахрена мне еще и редис сдался если я держу сервер для раздачи статических видеофайлов?

А вот парсер mp4 в сервере таки есть, по другому не работает таймлайн - браузер хочет начало фрейма (или секунду? Я уже забыл у кого секунды а у кого фреймы, у адоба и гугля сделано разумеется нарочно по-разному) а не просто случайный оффсет из середины потока.

> Если пользователь что-то хочет делать руками - это его право. Он в

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

Хотя возможно такой и был бы востребован.  Но явно реже чем модуль mp4 не требующий никаких внешних костылей и подпорок.

Ответить | Правка | Наверх | Cообщить модератору

73. "Выпуск Angie 1.4.0, российского форка Nginx "  +/
Сообщение от Прыгающий Ленивец (?), 13-Дек-23, 09:05 
К чему многобукв? Это модуль, не хотите не пользуйтесь
Ответить | Правка | К родителю #18 | Наверх | Cообщить модератору

54. "Выпуск Angie 1.4.0, российского форка Nginx "  +/
Сообщение от Kuromi (ok), 12-Дек-23, 22:09 
Приближался 24-ый год, а кто-то все боится что у них mp4  с сервера выкачают.
Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

61. "Выпуск Angie 1.4.0, российского форка Nginx "  +2 +/
Сообщение от нах. (?), 12-Дек-23, 22:34 
> Приближался 24-ый год, а кто-то все боится что у них mp4  
> с сервера выкачают.

гугель такой - подержи мое пиво!


Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру