• Возможно ли проигрывание .mkv в веб плеере?

    @impfromliga
    mkv это контейнер а не кодек поддерживаемый или не поддерживаемый браузер. И если ставить вопрос так, то реализовать на TypedArray нужно форматы контейнеров (наверняка данные собственно видео потока с кодеком там как максимум что бьются на чанки и сегментируются с служебными данными)
    - в принципе это вполне реально и не много скорости отберет, вот решил поискать делал ли кто то такое... пока не нашел.
    - тогда если кодек внутри контейнера поддерживаемый. Стоит сказать почти все и так жмется H26x (MPEG-4, AVC, HEVC - все из этой линейки, тута же еще готовят VVC)

    - кстати по тем же причинам раздача видеофайлов с "direct recoder"ом через ffmpeg как предложили выше скорее всего тоже не особо нагружающая функция (в том случае если кодек потока поддерживается браузером), ведь чтение ПЗУ будет медленнее чем передернуть в на лету чанки данных в оперативе
  • Какой из существующих методов изменения яркости изображения (HTML5 Canvas) быстрее?

    @impfromliga
    Сергей Протько: Хорошо, вот форк, ни символа кода не изменено! Замена только картинки!
    https://jsfiddle.net/z09dt2v4/1/ - отрицательная яркость не работает!

    - про потоки имел виду нативный движок браузера. Я сутки бился над пониманием почему так происходит, похоже это в реализации вебкита ошибка!
    - может это не достаточно профессионально звучит, но у меня честно больше нет идей.

    //смысл от алгоритма смею заверить есть! - для обратной совместимости.
  • Какой из существующих методов изменения яркости изображения (HTML5 Canvas) быстрее?

    @impfromliga
    impfromliga: в принципе это не накладное решение...
    512х256х4байта_на_канал = 512КБ памяти оверхед максимум, по скорости не замерял, но алг. все равно очень быстр для использования, даже с оверхедом.
  • Какой из существующих методов изменения яркости изображения (HTML5 Canvas) быстрее?

    @impfromliga
    Сергей Протько: Здравствуйте, очень понравился ваш алгоритм, но нашел в нем странный баг.
    - (хотелось реализовать эффект поклеточного освещения, так и наткнулся
    - я бился сутки думая что где то что то не так использую, пока не протестировал ваш код без изменений. (менялся только графический файл)
    - большой имейдж от 512х256 (найдено опытным путем) этот скрипт затемняет правильно
    - а маленькие 64х64 тайлсеты почему то нет... (черный прямоугольник)

    Если бы вы могли хотя бы объяснить почему так может происходить, я был бы очень благодарен. Спасибо.

    //Будто drawImage то ли на нативном уровне ускоряется в другом потоке и там успевает перегнать другую операцию вывода. И рассинхрониться. Но разве такое может быть? Повторяю ни строки кода не меняется! Баг есть и его легко повторить, заменив имейдж на меленький.

    //В принципе т.к. алг. действительно очень быстрый, баг можно обойти просто раздув исходный маленький имейдж на большой канвас. Но это обход а не решение. Т.к. мне нужна была статика, я просто сделал кеш для набора оптом. Но для динамики такое непрокатит.