Я не стал делать поддержку MJPEG без Content-Length. Были даже пользователи, которые жаловались на это. Возможно это как раз ваши пользователи.
Вряд ли мои. Логика с отправкой заголовков наперед и отключением Content-Length по умолчанию выключена, и предполагается, что она должна включаться явным образом из JS для нужного браузера. В КВМ я его включаю для всех браузеров на Blink - у них у всех одинаковые баги, и им всем не нужен Content-Length. У WebKit другие баги, а вот у FF все работает нормально.
Кстати в таких глобальных проектах как ваш правильнее писать комменты на английском языке.
Я просто пишу как бог на душу положит в конкретный момент %)
Правда, я хочу оспорить тезис про то, что MJPEG не пригоден для реального времени %) Браузеры именно что отрисовывают кадр "как только - так сразу", и все проблемы были в основном из-за не слишком шустрых серверов.
Собственно, я автор PiKVM, и первой проблемой много лет назад, с которой я столкнулся, когда начал его делать - тормознутость всех существующих mjpeg-серверов. Пришлось писать свой с нуля, специально проектируя его для нулевой задержки на каждом этапе и обходя родовые травмы браузеров (камент выше). Оказалось, что MJPEG можно сделать настолько реалтаймовым, что будет даже комфортно работать с этим потоком, как за удаленным рабочим столом. Можно даже применить некоторые оптимизации, чтобы сильно уменьшить трафик - сделать фреймрейт динамическим, если не отправлять одни и те же фреймы, если экран не меняется (но при этом не реже определенного значения, чтобы браузер не отстрелил соединение по таймауту).
Работает это просто прекрасно, но мы уже перешли на H.264, а MJPEG остался для легаси VNC и дубовой совместимости.
Если быть точным, хром отрисовывает кадр тогда, когда приходят заголовки от следующего. Соответственно, проблема хрома решается простой посылкой заголовков на опережение, как это сделано у меня в uStreamer.
В таких помойках отдел ИБ нужен не для того, чтобы работу работать, а чтобы попу греть сапогам на пенсии. Никто и никогда их и пальцем не тронет, это же священная корова.
Какими бы хорошими ни были российские чипы, есть ряд фундаментальных проблем, которые делают любое их использование вне господрядов крайне рискованным занятием.
Как сказал товарищ выше - документации и эрраты нет, или есть по запросу и только после пробития всех твоих родственников до десятого колена.
Экспертиза по ним почти отсутствует. Иностранные чипы используются по всему миру, и по ним накоплено огромное количество информации, в том числе написаны сотни тысяч разных библиотек и тысячи опенсорсных проектов. Здесь же придется связываться непосредственно с заводом, и то не факт, что помогут.
Квота непонятна. Производственные возможности завода непонятны. Сегодня чипы есть, а завтра их нет. Где купить, если завод вдруг встанет - непонятно.
Впрочем, не всегда всё плохо. Иногда наша промышленность выдает хорошие чипы, которые используют в весьма крутых проектах. Там это вполне себе оправдано.
Вы, конечно, писали, что для вас образовательная деятельность на сегодня закончена, но позвольте мне немного расширить ваш кругозор.
Скуф - это популярное нынче слово, но пришло оно с двачей, где использовалось с конца прошлого десятилетия - то есть, уже довольно давно. Произошло от фамлии "Скуфьин" - толстенького лысеющего программиста средних лет, сдеаноненного героя локального срача. Стало именем нарицательным, обозначающим скучного, не очень успешного мужчину оных лет и оной комплекции, не имеющего никаких интересов, кроме телевизора и футбола.
А что до (не)понимания - не так уж сложно поддерживать свой словарный запас в актуальном состоянии. Иначе однажды можно обнаружить себя скучным скуфом, закрытым в своем манямирке и не понимающим, что происходит в живом сегменте интернетов :)
Точно?) А вот этот уязвленный сарказм с переходом на личности далее - разве не ваш?
я уже русским языком вам написал, что вы не подходите
Писать по-русски вы можете, а вот читать, похоже, не очень. Повторяю ответ: я к вам не собеседовался, и не испытываю нужды в ваших оценках.
вы в своём невежестве упорно продолжаете настаивать на своём
Я настаиваю на своем, потому что уверен в своей правоте, и потому что основные тезисы о фильтрах вы всё-таки повторяете за мной. Ваша же убежденность в моем якобы невежестве - не более, чем ваши предвзятые домыслы.
Я вас сейчас удивлю, наверное... собес на синьора вы провалили с треском
Я вас сейчас удивлю, наверное - но нет, не удивите. Хотя я знаю, к чему вы клоните - вы хотите, чтобы ваш потенциальный сеньер позадавал вам всякие дополнительные вопросы о роде задачи. Что, в принципе, не является для хорошего инженера каким-то нонсенсом, пусть задача и тренировочная. Мне непонятно лишь, почему вы обычные инженерные практики выдаете за невероятные откровения.
образовательная деятельность на сегодня у меня закончена
Всего хорошего. Я надеюсь, что вы сегодня хоть чему-то научились.
Почему вы каждый раз так болезненно реагируете, когда кто-то не согласен с вашими представлениями о собеседованиях?
Это и есть входной фильтр
Зачем вы повторяете за мной?
Что ещё раз нам показывает, что вы совершенно не понимаете, зачем даются эти задачи и что ими проверяется.
Да что вы говорите! Еще раз: задачи литкода в первую очередь алгоритмические. Для их решения требуется знание лишь базовых структур данных и операторов языка, а так же некоторый набор классики в виде Кнута и О-нотации.
Это крайне плохая черта для программиста, делать далеко идущие выводы, не разобравшись в вопросе.
Да. Хорошо, что это не про меня. Зато у некоторых гордых представителей профессии, вроде вас, наблюдается восторженное поклонение перед определенными подходами, принятыми в отрасли. Это ярко демонстрирует костность мышления.
Вы не прошли собеседование, всего хорошего.
Я не припомню, чтобы собеседовался в какую-то шарашкину контору с карго-культистами на входе. И вообще, в эту игру могут играть двое. Уверены, что выдержите собеседование старого образца, где литкодовые задачки вам не помогут? :)
А вот это, увы, правда. Поэтому я и говорю, что это хороший входной фильр. Но надо понимать, что подход к собеседованию должен быть гибким: если у человека есть какие-то заведомо известные навыки, нет никакого смысла заниматься литкодом. Если он покажет, скажем, хороший гитхаб - можно начать говорить предметно, а не экзаменовать его.
И это совершенно не является прерогативой литкода. Достаточно простого понимания вычислительной ложности, О-нотации и обладания обзорными знаниями алгоритмов и структур данных. А уж такие банальные вещи, как оценка входных данных - часть обычной инженерной культуры.
Решение сферических литкодовых задачек в вакууме требует лишь знания базового подмножества выбранного языка и умение быстро вспомнить какой-нибудь плюс-минус подходящий алгоритм для ее решения. Соответственно, может использоваться исключительно как входной фильтр, и по нему нельзя понять, умеет ли человек не просто задачки программировать, но и решать действительно практические задачи, как подобает инженеру.
Если бы мне пришлось искать работу, я бы просто прикрепил свой гитхаб к резюме. Я принципиально не буду исполнять роль студента на собеседовании и отказываюсь тратить свое время чтобы заниматься подготовкой к бессмысленным ритуалам.
Недоуменно поднимаю брови и предлагаю отложить эти игры для собеседования мидлов, а со мной говорить по делу :) Если настаивают - разворачиваюсь и ухожу.
Да на здоровье, снобствуйте сколько угодно. Благо, название от этого не поменяется и люди его использовать не перестанут. Не говоря уже о том, что в это название вкладывается определенная доля иронии, от чего оно еще более точно передает суть всей этой движухи.
Вы зачем-то пытаетесь спорить с общепринятым названием подхода и группы лиц. Совершенно не важно, является ли он предметно точным - он передает смысл, и его понимают те, кто в теме.
Вряд ли мои. Логика с отправкой заголовков наперед и отключением Content-Length по умолчанию выключена, и предполагается, что она должна включаться явным образом из JS для нужного браузера. В КВМ я его включаю для всех браузеров на Blink - у них у всех одинаковые баги, и им всем не нужен Content-Length. У WebKit другие баги, а вот у FF все работает нормально.
Я просто пишу как бог на душу положит в конкретный момент %)
Очень круто, мое почтение.
Правда, я хочу оспорить тезис про то, что MJPEG не пригоден для реального времени %) Браузеры именно что отрисовывают кадр "как только - так сразу", и все проблемы были в основном из-за не слишком шустрых серверов.
Собственно, я автор PiKVM, и первой проблемой много лет назад, с которой я столкнулся, когда начал его делать - тормознутость всех существующих mjpeg-серверов. Пришлось писать свой с нуля, специально проектируя его для нулевой задержки на каждом этапе и обходя родовые травмы браузеров (камент выше). Оказалось, что MJPEG можно сделать настолько реалтаймовым, что будет даже комфортно работать с этим потоком, как за удаленным рабочим столом. Можно даже применить некоторые оптимизации, чтобы сильно уменьшить трафик - сделать фреймрейт динамическим, если не отправлять одни и те же фреймы, если экран не меняется (но при этом не реже определенного значения, чтобы браузер не отстрелил соединение по таймауту).
Работает это просто прекрасно, но мы уже перешли на H.264, а MJPEG остался для легаси VNC и дубовой совместимости.
Если быть точным, хром отрисовывает кадр тогда, когда приходят заголовки от следующего. Соответственно, проблема хрома решается простой посылкой заголовков на опережение, как это сделано у меня в uStreamer.
Какая чушь.
В таких помойках отдел ИБ нужен не для того, чтобы работу работать, а чтобы попу греть сапогам на пенсии. Никто и никогда их и пальцем не тронет, это же священная корова.
Позовите, когда оно намеренно завалит тест.
А почему не прямо здесь? Мы вот собрались тут, читаем, и всё заканчивается на самом интересном месте :)
Какими бы хорошими ни были российские чипы, есть ряд фундаментальных проблем, которые делают любое их использование вне господрядов крайне рискованным занятием.
Как сказал товарищ выше - документации и эрраты нет, или есть по запросу и только после пробития всех твоих родственников до десятого колена.
Экспертиза по ним почти отсутствует. Иностранные чипы используются по всему миру, и по ним накоплено огромное количество информации, в том числе написаны сотни тысяч разных библиотек и тысячи опенсорсных проектов. Здесь же придется связываться непосредственно с заводом, и то не факт, что помогут.
Квота непонятна. Производственные возможности завода непонятны. Сегодня чипы есть, а завтра их нет. Где купить, если завод вдруг встанет - непонятно.
Впрочем, не всегда всё плохо. Иногда наша промышленность выдает хорошие чипы, которые используют в весьма крутых проектах. Там это вполне себе оправдано.
Вы, конечно, писали, что для вас образовательная деятельность на сегодня закончена, но позвольте мне немного расширить ваш кругозор.
Скуф - это популярное нынче слово, но пришло оно с двачей, где использовалось с конца прошлого десятилетия - то есть, уже довольно давно. Произошло от фамлии "Скуфьин" - толстенького лысеющего программиста средних лет, сдеаноненного героя локального срача. Стало именем нарицательным, обозначающим скучного, не очень успешного мужчину оных лет и оной комплекции, не имеющего никаких интересов, кроме телевизора и футбола.
А что до (не)понимания - не так уж сложно поддерживать свой словарный запас в актуальном состоянии. Иначе однажды можно обнаружить себя скучным скуфом, закрытым в своем манямирке и не понимающим, что происходит в живом сегменте интернетов :)
Точно?) А вот этот уязвленный сарказм с переходом на личности далее - разве не ваш?
Писать по-русски вы можете, а вот читать, похоже, не очень. Повторяю ответ: я к вам не собеседовался, и не испытываю нужды в ваших оценках.
Я настаиваю на своем, потому что уверен в своей правоте, и потому что основные тезисы о фильтрах вы всё-таки повторяете за мной. Ваша же убежденность в моем якобы невежестве - не более, чем ваши предвзятые домыслы.
Я вас сейчас удивлю, наверное - но нет, не удивите. Хотя я знаю, к чему вы клоните - вы хотите, чтобы ваш потенциальный сеньер позадавал вам всякие дополнительные вопросы о роде задачи. Что, в принципе, не является для хорошего инженера каким-то нонсенсом, пусть задача и тренировочная. Мне непонятно лишь, почему вы обычные инженерные практики выдаете за невероятные откровения.
Всего хорошего. Я надеюсь, что вы сегодня хоть чему-то научились.
Почему вы каждый раз так болезненно реагируете, когда кто-то не согласен с вашими представлениями о собеседованиях?
Зачем вы повторяете за мной?
Да что вы говорите! Еще раз: задачи литкода в первую очередь алгоритмические. Для их решения требуется знание лишь базовых структур данных и операторов языка, а так же некоторый набор классики в виде Кнута и О-нотации.
Да. Хорошо, что это не про меня. Зато у некоторых гордых представителей профессии, вроде вас, наблюдается восторженное поклонение перед определенными подходами, принятыми в отрасли. Это ярко демонстрирует костность мышления.
Я не припомню, чтобы собеседовался в какую-то шарашкину контору с карго-культистами на входе. И вообще, в эту игру могут играть двое. Уверены, что выдержите собеседование старого образца, где литкодовые задачки вам не помогут? :)
А вот это, увы, правда. Поэтому я и говорю, что это хороший входной фильр. Но надо понимать, что подход к собеседованию должен быть гибким: если у человека есть какие-то заведомо известные навыки, нет никакого смысла заниматься литкодом. Если он покажет, скажем, хороший гитхаб - можно начать говорить предметно, а не экзаменовать его.
И это совершенно не является прерогативой литкода. Достаточно простого понимания вычислительной ложности, О-нотации и обладания обзорными знаниями алгоритмов и структур данных. А уж такие банальные вещи, как оценка входных данных - часть обычной инженерной культуры.
Решение сферических литкодовых задачек в вакууме требует лишь знания базового подмножества выбранного языка и умение быстро вспомнить какой-нибудь плюс-минус подходящий алгоритм для ее решения. Соответственно, может использоваться исключительно как входной фильтр, и по нему нельзя понять, умеет ли человек не просто задачки программировать, но и решать действительно практические задачи, как подобает инженеру.
Если бы мне пришлось искать работу, я бы просто прикрепил свой гитхаб к резюме. Я принципиально не буду исполнять роль студента на собеседовании и отказываюсь тратить свое время чтобы заниматься подготовкой к бессмысленным ритуалам.
Всё правильно делаете. Хотя HR бывают не в себе, наобещают с три короба, а потом швах.
Недоуменно поднимаю брови и предлагаю отложить эти игры для собеседования мидлов, а со мной говорить по делу :) Если настаивают - разворачиваюсь и ухожу.
А, точно. Ведь на работе не код пишут, а майнят задачи на топ литкода, как я мог забыть %)
Продолжайте мысль, пожалуйста.
Да на здоровье, снобствуйте сколько угодно. Благо, название от этого не поменяется и люди его использовать не перестанут. Не говоря уже о том, что в это название вкладывается определенная доля иронии, от чего оно еще более точно передает суть всей этой движухи.
Вы зачем-то пытаетесь спорить с общепринятым названием подхода и группы лиц. Совершенно не важно, является ли он предметно точным - он передает смысл, и его понимают те, кто в теме.
Как морская свинка. Не морская, и не свинка.