Mithgol the Webmaster
1.63K subscribers
168 photos
221 videos
248 files
1.01K links
Мицгол-вебмастер ведёт на сём канале свой малоблог в Telegram.

Основные темы (в алфавитном порядке): аниме, виртуальная реальность, Геленджик, криптоконспирология, русский антиутопизм, сайтостроение, урбанизм, 猫 etc.

💸Донат: https://t.iss.one/ReadMithgol/923
Download Telegram
первоапрѣльская_надежда_на_скорое_появление_AV2.jxl
175.5 KB
Появление видеоформата AV2 (слѣдующаго за видеоформатом AV1) изначально запланировано было на конец 2025 года (о чём я упоминал в сентябре того же года), однако не состоялось (разработчики выложили только черновик спецификации и предварительную версию эталоннаго кодека), причём без какого-либо дальнѣйшаго уточнения сроков появления AV2 — так что ровно два мѣсяца назад (то есть 7 марта) я оцѣнивалъ эти сроки словами «пёс его знает когда ждать его» и затѣмъ по количеству нерѣшённыхъ проблем (в том же черновике упомянутых) так судил: «количество их означает, что за три или даже за четыре мѣсяца со всѣми ими разобраться никак нельзя».

Менѣе чѣмъ черезъ мѣсяцъ (1 апрѣля) появилась оцѣнка болѣе оптимистическая — но так как первоапрѣльская, то затруднительно судить, совершенно ли всерьёз: автор вон той замѣтки на сайте Reddit (скриншот прилагаю чуть выше) обратил внимание на то, что развитие AVM (того экспериментальнаго кодека, который в будущем непремѣнно станет основою для эталоннаго кодека AV2) пришло к выпуску очередной версіи его (четырнадцатой), так что понадѣялся на то, что версія эта как раз означает, что AV2 на подходе черезъ нѣсколько дней.

Надежды этого автора не сбылись.

Любопытно поэтому, что прямо сейчас (7 мая) можно повторить его разсужденіе, но имѣя чуть-чуть больше для того основаній.

Во-первых, если тогда приуготовлялся выпуск четырнадцатой версии AVM, то сейчас приуготавливается выпуск пятнадцатой. Когда я пишу эти строки, наверху страницы коммитов AVM (перечисленных там в обратном хронологическом порядке) располагается коммит, помѣченный тегом «research-v15.0.0»:
скриншот страницы коммитов AVM.jxl
144.9 KB
Во-вторых, в настоящее время на сайте Gitlab я не вижу никаких признаков организованнаго планирования разработки слѣдующей (шестнадцатой) версіи AVM. В частности, очередной «верстовой столб» (milestone) должен для неё имѣть двадцать первый номер, однако по адресу https://gitlab.com/AOMediaCodec/avm/-/milestones/21 открывается (в настоящее время) сообщение об ошибке 404 («Страница не найдена»). Можно сравнить это с пятнадцатой версіею, для которой по предшествующему номеру https://gitlab.com/AOMediaCodec/avm/-/milestones/20 открывается страница планирования с карточками устранённых проблем и графиками производимых работ:
графики_и_карточки_на_странице_планирования_пятнадцатой_версии_AVM.jxl
127.9 KB
Сразу хочу оговориться, что не придаю этому наблюденію никакого рѣшающаго значенія, потому что надо трезво сознавать, что разработка слѣдующей (шестнадцатой) версіи AVM неизбѣжно начнётся рано или поздно — даже если пятнадцатая версія AVM признана будет основою кодека AV2, то независимая от него разработка AVM продолжится для того, чтобы лѣтъ через десять получить нѣкоторую основу для AV3.

Но вот если бы разработка слѣдующей (шестнадцатой) версіи AVM выглядѣла начатою ужé сейчас, причём с существующею страницею планирования, на которой располагались бы карточки нерѣшённыхъ проблем, содержание которых позволяло бы ясно судить, что устранением проблем этих сдерживается появление AV2 — вот тогда это был бы явный признак того, что появление формата AV2 откладывается, как минимум, до лѣта.

А сейчас такого явного признака нѣтъ.

В-третьих, для предыдущей версии видеоформата (для AV1) существует изрядно быстрый программный декодировщик (dav1d), который служил всё болѣе неплохим (по мѣрѣ своего совершенствования) подспорьем в декодировании видео AV1 (и изображений в формате AVIF) во всѣ первые годы его существования — и только въ послѣдніе годы вмѣсто него стало можно пользоваться быстрыми аппаратными декодировщиками, да и до сих пор-то они не повсемѣстны.

Ну так вот что: как раз в эти дни разработчики декодировщика dav1d открыли исходный код слѣдующаго декодировщика — dav2d, предназначеннаго декодировать грядущий видеоформат AV2.

(В том сообществе поклонников видеокодирования, которое собирается на форуме Doom9, открытие доступа к исходному коду dav2d замѣтили 2 мая, в сабрэддите AV1 его замѣтили опять же 2 мая — должно быть, тогда оно и состоялося.)

Больше того: в списке недавних правок кода есть и такая, которая помѣчена номером версіи (0.0.1) и въ цѣломъ выглядит подготовкою к выпуску первой публичной версіи dav2d:
подготовка_к выпуску_первой_публичной_версіи dav2d.jxl
140.9 KB
Теперь призадумаемся: а по какóй причине могло понадобиться именно теперь переходить от кулуарного типа разработки к публичному в разработке декодировщика для такого видеоформата, разработка которого, в свою очередь, пока ещё официально не объявлена была завершённою? — это позволяет заподозрить, что разработчики между собою, может быть, обмѣнялися нѣкоторою информациею о том, что близится официальный выпуск видеоформата AV2.

Не знаю, как вы там, а я считаю совпадение этих трёх сигналов достаточным для того, чтобы слегка обнадёжиться насчёт того, что появление AV2 может состояться ещё до лѣта.

Впрочем, посмотрим.

Ѿдѣльный интерес вызывает то обстоятельство, что разработчики декодировщика dav2d изложили на заглавной странице в его репозитории свои планы дальнѣйшаго развития исходнаго кода, и планы эти сводятся к сочинению аналогов этого кода на языке ассемблера для нѣсколькихъ популярных архитектур процессоров (чтобы ускорить работу dav2d на них):
планы ускорения dav2d в будущем.jxl
132.5 KB
Нетрудно увидать, что первые восемь пунктов списка запланированных ускорений слѣдуютъ друг за другом вот в каком порядке:

① ускорение работы dav2d на современных десктопах — на процессорах, поддерживающих набор команд AVX2,

② ускорение работы dav2d на современных мобильных устройствах — на процессорах, поддерживающих набор команд ARMv8,

③ ускорение работы dav2d на старых десктопах — на процессорах, поддерживающих наборы команд SSSE3 и болѣе новых,

④ ускорение работы dav2d в случае повышенной битности цвѣта на современных мобильных устройствах — на процессорах, поддерживающих набор команд ARMv8,

⑤ ускорение работы dav2d на старых мобильных устройствах — на процессорах, поддерживающих набор команд ARMv7,

⑥ ускорение работы dav2d в случае повышенной битности цвѣта на старых мобильных устройствах — на процессорах, поддерживающих набор команд ARMv7,

⑦ ускорение работы dav2d в случае повышенной битности цвѣта на современных десктопах — на процессорах, поддерживающих набор команд AVX2,

⑧ ускорение работы dav2d в случае повышенной битности цвѣта на старых десктопах — на процессорах, поддерживающих наборы команд SSSE3 и болѣе новых.

Сразу скажу, что лично я понимаю выражение «повышенная битность цвѣта» («high bit-depth») как относящееся к любым пикселам съ глубиною цвѣта большею, чѣмъ у двадцатичетырёхбитных пикселов TrueColor. То есть даже ускорения работы тридцатибитных пикселов (которыми я у себя на канале пользуюсь для видеоцитат в формате AV1) придётся в случае AV2 подождать — а не только ускорения работы сорокавосьмибитных пикселов, напримѣръ.

Ещё скажу вот что: честно говоря, стройной внутренней логики в этом порядке я не увидал. Он вызывает сразу нѣсколько напрашивающихся вопросов:

— Если старыя мобильныя устройства настолько не заслужили высокаго пріоритета в этом списке, что ускорение работы dav2d на них должно подождать до ускорения не только TrueColor, но и тридцатибитных пикселов на современных мобильных устройствах, то тогда отчего же ускорение работы dav2d в случае повышенной битности цвѣта на этих же старых мобильных устройствах должно предшествовать ускорению работы dav2d в случае повышенной битности цвѣта на десктопах?

— Если начальное (для случая пикселов TrueColor) ускорение работы dav2d на современных десктопах настолько значимо, что идёт самым первым в этом списке, то тогда отчего же дальнѣйшее (для случая тридцатибитных пикселов) ускорение работы dav2d на этих же современных десктопах оказывается на предпослѣднемъ мѣстѣ в этом же списке, предшествуя одним только ещё болѣе старымъ десктопамъ?

Прочтение этого списка подводит меня къ нѣкоторому разочарованію. Похоже на то, что не стóит придавать слишком большого значения тому, будет ли завершение разработки стандарта AV2 объявлено этимъ лѣтомъ или всё же чуть раньше — достаточно быстраго (на основе ассемблерных вставок в dav2d) воспроизведения видеороликов AV2 мы всё равно, чего доброго, и до конца 2026 года не увидим ещё.

Правда, должно быть понятным, что есть и такая область примѣненія новинки, в которой достижение большей частоты декодирования кадров имѣетъ куда меньшую значимость — неанимированныя AVIF. И нам ещё предстоит увидѣть даже то, будет ли формат AVIF обновлён (или сочинён новый формат AVIF2 с новым MIME-типом и с новым расширением для имён файлов) вслѣдствіе появления AV2, сколь широкою окажется поддержка его браузеропроизводителями, прогуляются ли по граблям насчёт поддержки анимации в теге <picture> языка HTML5 и проч.

Ѿдѣльная пѣсня съ припѣвомъ — это какими окажутся сроки появления и послѣдующаго обновления поддержки и AV2, и нового AVIF (если будет новый AVIF) не только во браузерах, но и в мобильных операционных системах (в Android, в iOS), и в FFmpeg, и в клиентских приложениях Телеграма (ну, напримѣръ, в Telegram Desktop).

Мнѣ кажется, желание поскорѣе дождаться нѣкоторой опредѣлённости по этому вопросу ещё может оказаться сáмой вѣскою причиною для того, чтобы теперича продолжать ждать появления AV2 с сохраняющимся чувством нетерпения, а не махнуть сию минуту рукою и не перестать интересоваться этим вопросом до конца года.
4❤‍🔥1🌚1🏆1👀1
Mithgol the Webmaster
я бы не очень безпокоился об этом, кабы рѣчь не шла о той же команде разработчиков и хозяев Телеграма, которая прежде ужé обнажила своё лицо, ограничив объём страниц сайта Telegraph всего-навсего 64 килобайтами
Это моё безпокойство ↑ оказалося въ полной мѣрѣ подтвердившимся: как только вышла та новая версия Телеграма под Android, которую ждал я недѣлю назад (это та самая, в которой впервые ужé не на уровне beta-версий появилася поддержка предпросмотра гипертекстовых файлов в формате Markdown), так сразу и оказалось, что объём предпросматриваемых файлов Markdown ограничен величиною досадно мáлою — и как раз 64 килобайтами! — то есть файл объёмом ровно 65 536 байтов ещё будет открыт в режиме такого предпросмотра, тогда как файл объёмом 65 537 байтов ужé будет передан тому обработчику, который назначен для таких файлов в системе (напримѣръ, текстовому редактору).

Болѣе того: сбылóсь и каждое из остальных существенных безпокойствъ тогдашних.

Я подозрѣвалъ, что в предпросмотре не будут работать спойлеры, поскольку в диалекте CommonMark для них не предусмотрено никакой размѣтки, а размѣтка из диалектов MarkdownV2 или Rentry поддерживаться не будет? — это и сбылóсь.

Я досадовал о том, что до послѣдней минуты не извѣстно, будут ли поддерживаться сноски? — и это сбылóсь в сáмой издевательской форме: размѣтка сносок приводит к появлению сносок, однако тыкать их пальцем безполезно, потому что не происходит переход ни к концу документа (из текста к сноске), ни обратно.

Я безпокоился буквально о каждом из аспектов иллюстрирования гипертекста графическими файлами: не будет ли чрезмѣрнаго ограничения на форматы, на объёмы, на встраивание внутрь гипертекста, хорошо ли будет кэшироваться? — оказалось, что всё ещё хуже. Предпросмотр файлов Markdown в Телеграме вообще не поддерживает иллюстрирование их графическими файлами.

На фоне этой катастрофы о всѣхъ другихъ типахъ иллюстрацій, судьба которых также вызывала у меня безпокойство: и о видеопроигрывателях, и о встраивании сообщений и файлов из Телеграма — даже и заговаривать нечего.

Может ли быть, что всё это не болѣе чѣмъ «первый блин комом», то есть слѣдствіе ограниченій, присущих одной только конкретной версіи Телеграма под Android, а именно версіи 12.7.1 (6741), тогда как новыя версіи потихоньку начнут избавляться от большинства упомянутых недостатков — или что от них избавлена будет сёрверная часть просмотрщика файлов Markdown?

Может-то может, но я не собираюсь затаивать дыхание отъ чрезмѣрнаго оптимизма.

(Для наглядности въ слѣдующемъ сообщении я приложу файл Markdown, которым я пользовался сегодня для тестирования фич, поддерживаемых внутрителеграмным просмотрщиком файлов Markdown.)
3😢2💔2
файл_для тестирования_фич,_поддерживаемых_внутрителеграмным_просмотрщиком.md
7 KB
Приложение к предшествующему сообщению: файл Markdown, которым я пользовался сегодня для тестирования фич, поддерживаемых внутрителеграмным просмотрщиком файлов Markdown.
3👀1
Внимательно прочёл новость о возможностях новой версии Телеграма, обнародованную 7 мая.

Пришёл к тому выводу, что в ней ни слóва ни сказано о том, что теперь под Android работает предпросмотр файлов Markdown (хотя и без поддержки иллюстрирования их графическими файлами), так что постфактум эту конкретную новинку можно записывать в рубрику «тайныя новинки Телеграма».
👍8
🎗
Please open Telegram to view this post
VIEW IN TELEGRAM
14❤‍🔥8👎4🤬33
Mithgol the Webmaster
во браузере Firefox поддержку просмотра файлов в формате JPEG XL можно в ближайшие мѣсяцы вообще не ждать, но и там ведутся работы над возможностью догнать Safari и Chrome в этом году
Нѣсколько часов назад (под конец 9 мая) сдѣлалось извѣстнымъ, когда браузер Mozilla Firefox догонит браузер Google Chrome по уровню поддержки формата графических файлов JPEG XL, то есть когда будет наконец выпускаться с экспериментальною поддержкою этого формата не только в тестовых, но и в самых обыкновенных версиях браузера, однако с выключенною — так что включить эту поддержку в Файерфоксе (как и во Хроме сейчас сдѣлано) смогут только такие пользователи, которые знают, под каким именем в экспериментальных настройках отыскивается необходимый переключатель.

В сообщении о начале сборки декодировщика JPEG XL в бета-версиях и затѣмъ в релизных версиях Файерфокса упоминается, что сборка эта начнётся в Firefox 152.

В настоящее время выпуск версии Firefox 152 запланирован на 16 іюня, а появление бета-версий, этому выпуску предшествующих — на 20 мая.

Здѣсь умѣстно подмѣтить, что болѣе поздніе варіанты декодировщиков JPEG XL во браузерах оказались и болѣе совершенными, как бы вознаграждая пользователей за терпеливое ожидание их:

① поддержка JPEG XL в Safari появилась ещё в 2023 году, однако до сих пор ограничивается поддержкою статических изображений (без анимаций), тогда как во Chrome и в Firefox реализовали ещё и поддержку анимированных JPEG XL;

② и во Хроме, и в Файерфоксе используется один и тот же открытый исходный код декодировщика (jxl-rs), однако пока что только Firefox (но не Chrome) научили постепенно потреблять результаты декодирования и тѣмъ поддерживать одну изъ цѣнныхъ особенностей формата — предпросмотр иллюстрации («размытый», «нерѣзкій» варіантъ ея) можно видѣть задолго до окончанія скачиванія ея изъ Сѣти.

Стóит держать в уме, что это послѣднее достоинство в наши дни далеко не так полезно, каким оно было бы лѣтъ тридцать или даже лѣтъ двадцать тому назад, потому что теперича оно умаляется досадно возросшею неравномѣрностью скорости поступления файлов изъ Сѣти (мысли Арчибальда на эту тему я пересказывал 14 января).

Сразу скажу ещё, что результат «Firefox догонит Chrome, а по поддержке предпросмотров и перегонит» почти гарантируется, потому что до выхода Chrome 149 (сейчас планируемого на 2 іюня) остаётся не так много времени: даже если разработчики браузера Chrome в быстром темпе смогут реализовать предпросмотры файлов JPEG XL во время скачивания их ничуть не хуже, чѣмъ сдѣлано сейчас в Файерфоксе, то эта реализация с высокой вѣроятностью останется дожидаться слѣдующей версии браузера (Chrome 150), выпуск которой запланирован на 30 іюня.

Понятно, что если бы создателям браузера Chrome по нѣкоторой причине понадобилось бы ещё до середины іюня (то есть в Chrome 149) непремѣнно опередить Firefox по силе поддержки JPEG XL (а заодно догнать и перегнать Safari) хотя бы сѵмволически, то тогда для этого мог бы и не потребоваться почти никакой исходный код: достаточно было бы волевого рѣшенія какого-нибудь руководителя насчёт того, чтобы включить поддержку файлов JPEG XL по умолчанию (без теперешней необходимости ковыряться в экспериментальных настройках). Но я считаю такого рода рѣшеніе весьма мало вѣроятнымъ въ ближайшіе мѣсяцы (по меньшей мѣрѣ — до осени 2026 г.), потому что пока что исходный код jxl-rs не выглядит достаточно доработанным для широкаго (неэкспериментальнаго) употребленія, остро нуждаясь и в дополнительном ускорении работы часто вызываемых кусков кода, и въ изслѣдованіи ужé обнаруженных признаков допущенных разработчиками оплошностей. Предстоит ещё много труда.
2
сноска_работает,_но_в_ней_сломаны_гиперссылки.md
2.9 KB
В языке Markdown существует возможность, извѣстная под названием «link reference definitions» («опредѣленія гиперссылок») и позволяющая указать список URLов и задать им имена (ключевыя словá), которые затѣмъ используются размѣткою гиперссылок и иллюстраций, расположенных до таких опредѣленій или послѣ нихъ.

В сáмом простом виде (без необязательной подсказки) каждое такое опредѣленіе выглядит как ключевое слово (или словá) в квадратных скобках, затѣмъ двоеточие и URL. Примѣръ:

[CommonMark]: https://spec.commonmark.org/0.31.2/#link-reference-definitions
[GLFM]: https://docs.gitlab.com/user/markdown/#footnotes
[Pandoc]: https://pandoc.org/MANUAL.html#extension-footnotes
[Telegram]: https://telegram.org/


Я обнаружил с неудовольствием, что такой блок опредѣленій съ неизбѣжностью ломает работу сносок в том просмотрщике файлов в формате Markdown, который работает въ нынѣшней версіи (v12.7.2) приложения Telegram под Android. Характер такой поломки зависит от положения блока опредѣленій:

➊ Если блок опредѣленій располагается ниже текста сноски в исходном коде, то тогда текст сноски перестаёт быть оформленным в качестве текста сноски.

➋ Если блок опредѣленій располагается выше текста сноски в исходном коде, то тогда гиперссылки в тексте сноски, использующія ключевые слова из блока опредѣленій, перестают быть оформленными в качестве гиперссылок.

Прилагаю два файла в формате Markdown, просмотр которых демонстрирует это.
кто разогнал
крылом туман —
тот маргинал
и наркоман
1
Есть старинный анекдот, один из персонажей которого (иногда разсказываютъ, что это алкаш, иногда — что вооружённый ковбой, а иногда и ковбоя называют алкашом) настойчиво и притом съ нѣкоторою злобою допытывается у другого персонажа:

— Ты переспал с моей женой? Ты переспал с моей женой?

Тот другой всё отрицает, но первый персонаж анекдота тогда вскрикивает с ещё большей злобою:

— Брезгуешь, гад?!

Выспрашивающий оказался куколдом.

Но нетрудно догадываться, что комическая сценка эта смогла бы легко обойтись и без такого извращения полового чувства, кабы в ней рѣчь шла не о жене персонажа, а о другой обожаемой родственнице — напримѣръ, о дочери или о младшей сестре — насчёт которой предполагаемый воздыхатель оказывается с забавною неминуемостью повинен либо в домогательствах, либо в отсутствии таковых.

В этой-то нравственной форме такая сценка нѣсколько разъ появлялася в #аниме, причём иногда комедия положений дополнялася такими обстоятельствами предполагаемаго воздыхателя, которыя выглядѣли вѣскимъ контраргументом против попытки эдак винить его.

В августе 2021 года в шестой серии первого сезона «Kanojo mo Kanojo» Мирика обнаружила, что за время ея краткой отлучки Мукай Наоя при помощи своихъ дѣвушекъ продалъ ея палатку и прочія туристическія принадлежности, чтоб Мирика впредь не могла комфортно жить у него во дворе под открытым небом, осаждая любовными домогательствами. Затѣмъ неожиданное появление обезпокоеннаго отца ея означает, казалось бы, что Мирика поневоле принуждена будет возвратиться домой, но не тут-то было: в равной степени тот досадует при одной мысли о том, что Мукай мог счесть дочь его малопривлекательною — и это ужé послѣ того, как Наоя достаточно внятно сообщил ему, что ужé влюблён сразу в двух дѣвушекъ и оттого третьей не надобно. Здравый смысл подсказывает, что признание это должно было подѣйствовать как контраргумент железобетонно непрошибаемый — а вот, поди ж ты. (Яблочко от яблоньки, как говорится.)

В январе нынѣшняго (2026) года в первой же серии «Yuusha Party wo Oidasareta Kiyou Binbou» Сельма Клодель совсѣмъ не обрадовалась, когда заподозрила четырнадцатилѣтнюю сестру свою Софию в том, что у ней появился парень года на четыре старше (приключенец со странно звучащим для русскаго уха именем Орун Дура), но ещё сильнѣе не обрадовалась его завѣреніямъ в том, что таких намѣреній у него нѣтъ. К счастью, сама возможность наседать на него с обвинениями отступила немедля передъ извѣстіемъ о том, что Орун спас жизнь Софии в сражении с орками в подземелье, которое в противном случае было бы для Софии безусловно смертельным.

Центральный персонаж аниме «Otaku ni Yasashii Gal wa Inai!?» в пятой серии его (на прошлой недѣлѣ), будучи приглашён одноклассницею на барбекю у моря, оттого заподозрѣнъ былъ братьями ея в том, что он — ея парень. Причём старший брат оказался раздосадован отрицаниями ещё болѣе, нежели самим подозрѣніемъ, так что в его присутствии бѣдняга даже и не знал, как хвалить (да и вообще хвалить ли) купальник одноклассницы, откликáясь на вопрос о том, неплохо ли тот выглядит.

В отличие от двух упомянутых выше произведений, здѣсь центральный персонаж не мог бы предъявить никаких контраргументов — до такой даже степени, что на канале @selfreviews всерьёз был задан вопрос о том, чего она вообще в нём нашла. Правда, это не очень показательно: автор того канала размышляет там же ещё и том, отчего этой персонажице «не скучно с остальными двумя, когда те упарываются по своему хобби», как если бы первых же двух минут второй серии того же аниме не было достаточно для понимания того, что и она потихоньку начала ужé присоединяться к их интересу к «Кирамону». (Разница в том лишь, что заходит она во всё это ещё «с нуля» и притом благодаря случайному сходству с одной из персонажиц «Кирамона», доходящему до возможности закосплэить её — приблизительно как и Канако в «Ore no Imouto ga Konna ni Kawaii Wake ga Nai», напримѣръ.) И для понимания того, что именно она (а не Аманэ) первою переносит этот интерес на центральнаго персонажа аниме и напрашивается в гости к нему.

Всѣ три сцены цитирую ниже.

📔 ОГЛАВЛЕНИЕ
🗿2
Есть мрачный старинный анекдот про нѣкотораго книгоиздателя, к которому прибѣжалъ встрёпанный автор одной из изданных книг и умолял немедля отозвать всё изданіе и выпустить другое — с исправлением допущенной ошибки. Книгоиздатель поинтересовался, отчего же такъ спѣшно: разве поступали жалобы от читателей? На это автор ѿвѣчалъ ему, что жалоб никаких не поступало, но это-то как раз и может быть признаком наиболѣе зловѣщимъ — и тогда только книгоиздатель с ужасом вспомнил, что книга та была справочником по опознанию ядовитых грибов. (Правда, с развитием воздухоплавания въ XX вѣкѣ популярным сдѣлался и другой варіантъ анекдота, в котором она была справочником по вѣрному укладыванію парашюта.)

Очень хорошо поэтому, что в моём случае обошлось без угрожающих послѣдствій для жизни и здоровья, однако и я также обнаружил себя сегодня жертвою ошибки, допущенной в одном таком справочнике, который я давненько один раз прочёл с безоговорочным довѣріемъ и с той поры долгие годы безпрерывно руководился прочитанным — причём ошибку ту я также нипочём обнаружить не мог бы самостоятельно, а оттого не подавал о ней никакой жалобы ни авторам справочника, ни просто у себя во блоге, ни ещё гдѣ-нибудь.

Создавать видеозаписи в формате AV1 я начал в 2020 году (первою из выложенных на этом канале, а не в других мѣстахъ, стала вон та), создавать видеоцитаты из аниме я начал ещё раньше (помнится, побудило меня к этому появление возможности выкладывать видеофайлы на Ычан в 2018 году), достаточно быстро этот процесс распался на два шага: сперва я создаю копию цитаты в большом видеофайле, кодированном без внесения потерь, затѣмъ переужимаю его с различными настройками качества, стремясь уложиться в ограничения объёма файла, налагаемыя имиджбордом или Телеграмом. И если второй из этих шагов совершенствуется по нескольку раз в год (напримѣръ, на днях в кодировщике SVT-AV1 появился параметр «enable-kf-tf» для отключения того фильтра, который вносит в ключевые видеокадры такія измѣненія, которыя искажают сами кадры, но которыя усиливают предсказательную силу их в группе кадров и тѣмъ способствуют видеосжатию), то первый я считал совершенно неизмѣннымъ.

И что же? — оказывается, въ предпослѣдній день 2021 года (30 декабря) в ту страницу вики FFmpeg, которая посвящена кодированию видеофайлов в формате AVC (он же H.264), внесены были измѣненія, указывающія на то, что значение параметра «-crf 0» не всегда включает сжатие без потерь, так что лучше использовать значение параметра «-qp 0», особенно для пикселов с большею глубиною цвѣта, нежели TrueColor (24 бита). А въ послѣдній день 2021 года (31 декабря) аналогичный по смыслу отклик (но нѣсколько менѣе подробный) появился и под одним из вопросов на сайте Stack Overflow.

Ну вот я на это наконец наткнулся, пусть и почти на 4½ года позже — что же теперь?

Понимаю ли я, отчего прежде не замѣчалъ вносимых потерь? — понимаю, что они с высокою вѣроятностью были столь малыми, что не были замѣтны на фоне плодов послѣдующаго видеосжатия.

Буду ли я и впредь пренебрегать потерями, или же пройдусь по коду всѣхъ тѣхъ моих бáтников (пакетных файлов), которые предназначены для создания несжатых видеоцитат, повсюду замѣняя «-crf 0» на «-qp 0»?

Ни то, ни другое.

Кто обжёгся на молоке, тот дует и на воду. Я собираюсь вообще отказаться от использования формата AVC (он же H.264) даже в том его режиме, который теперича ну уж точно без потерь, правда-правда, никакой ошибки не может быть. (Ну или всё же может, а я опять выясню это черезъ N лѣтъ.) Вмѣсто него я собираюсь использовать тот видеоформат, в котором вродѣ бы любой режим работы обходится без внесения потерь в видеокадры: видеоформат FFV1.

В качестве дополнительнаго преимущества я получаю объёмъ файла на пару десятков процентов поменьше, нежели получался бы в формате AVC (он же H.264) даже в режиме работы «veryslow». В качестве недостатка получаю документацию опять же небезошибочную: прямо сейчас по адресу https://ffmpeg.org/ffmpeg-all.html#ffv1-1 упомянут параметр «remap_optimizer», но попытка использовать его порождает сообщение «Unrecognized option 'remap_optimizer'».
🤔4
Сообщение пользователям услуги Telegram Premium: осталось подать не болѣе двѣнадцати голосов за мой канал для того, чтоб эмоджи «🥳» сдѣлалося ещё одной из доступных реакций здѣсь.

Полуденный постскриптум: осталось четыре.

Вечерний постскриптум: реакция теперь доступна, всѣмъ спасибо.
Please open Telegram to view this post
VIEW IN TELEGRAM
15🥴7🌚3🆒32
This media is not supported in your browser
VIEW IN TELEGRAM
Сегодня над Геленджиком удивительный закат
❤‍🔥19👍32
Стоящие под стрелой
А стрелки были там потому что ASCII коды были удачно расположены.
https://www.hillelwayne.com/post/always-more-history/
Этот комментарий ↑ о том, по какой причине управление курсором иногда возлагается на буквы H, J, K и L, ссылается на изслѣдованіе, автор которого (Hillel Wayne) завершил его упоминанием о том, что можно было бы компнуть ещё глубже, задавшись и вопросом о том, отчего коды ASCII расположены именно так, как они расположены — но этот вопрос он вообще не намѣревается раскрывать сам, а вмѣсто того отсылает интересующихся читателей ко книге «Coded Char Sets, History and Development» (1980 г.), которую сочинил Charles E. Mackenzie из Корпорации IBM.

При этом адрес книги, на которую Wayne ссылается, ведёт на нѣмецкое зеркало извѣстнаго сайта textfiles.com, у которого есть то общее свойство с Википедиею или с TV Tropes, что на нём (как и в любом неплохо огранизованном хранилище нѣкоторыхъ любопытных знаний) не мудренó надолго застрять.

Зеркало это полезно тѣмъ, что оно (в отличие от основного сайта) поддерживает HTTPS и тѣмъ слегка затрудняет наблюдение со стороны за тѣмъ, кто там чего читает.
2
Задумка полностью отказаться от использования формата AVC (он же H.264) в пользу формата FFV1 при создании видеофайлов, не вносящем новых потерь в них, которую я огласил 13 мая, могла быть исполнена только для промежуточных видеофайлов при видеоцитировании.

В двух других случаях поневоле пришлось ограничиться (может быть, временно) уходом от «-crf 0» к «-qp 0»:

➊ Экспериментальный способ отправления иллюстраций в Telegram без потерь при сжатии их (но всё же с потерями при субдискретизации цвѣта) предполагает создание зацикленнаго видеоролика, каждый кадр в котором — отправляемая иллюстрация. Этот способ пока ещё не предполагает использование формата FFV1, потому что я нифигушеньки не увѣренъ в способности клиентских приложений Телеграма просматривать видео FFV1, засунутое в видеоконтейнер MP4 (хотя знаю, что технически такое засовывание возможно).

➋ Когда PySceneDetect не в состоянии прочесть нѣкоторый формат видеофайла, мой обычный обходной путь состоит в том, чтобы изготовить копию файла в формате AVC (он же H.264) в надежде на то, что он-то уж точно прочтётся. А вот в способности PySceneDetect читать видео FFV1 я не увѣренъ.

Но, может быть, ещё сдѣлаюсь в этом увѣреннымъ.

Понятно же, что в том и в другом случае оцѣнка «я не увѣренъ» происходит единственно от невозможности полагаться на собственный опыт, то есть что мнѣ просто надо удѣлить время тому, чтобы попробовать то и другое и тѣмъ приобрести увѣренность либо в том, что нѣкоторый подход къ дѣлу всё же работает, либо в том, что он не работает.

Постскриптум 17 мая. Я убедился, что PySceneDetect благополучно распознаёт начальные кадры сцен в видео FFV1.
Правый Григоров
если не хватит таджиков, чтобы заселить Россию вместо нас, то есть на очереди Пакистан
Понадобилось почти двадцать лѣтъ, но всё же русская національная мысль вплотную приблизилася к пониманию зловѣщаго смысла фразы «после смерти Махатмы Ганди поговорить не с кем».
👏4
примѣръ_иллюстрации,_внутрь_base64_RFC_2397_уложенной.md
63.9 KB
У просмотрщика файлов Markdown в Telegram под Android нѣтъ поддержки иллюстрирования их графическими файлами, как я замѣтилъ 7 мая.

Догадываюсь, что проблема эта может возымѣть пять различных путей рѣшенія, каждый из которых принимает во внимание предполагаемую первопричину проблемы (несмотря на подобие Instant View, просмотрщик файлов Markdown работает локально, а не на сёрвере, так что может выдать IP пользователя хостингу графических файлов), причём не всѣ пути эти выглядят взаимоисключающими:

① Разработчики могут рано или поздно выдохнуть и просто перестать воспринимать наличие иллюстраций изъ внѣшнихъ графических файлов в качестве проблемы безопасности. В конце концов, сайт Telegraph открывается без переспрашивания, а на его страницах могут быть внѣшніе графическіе файлы — это также кажется кое-кому проблемою, однако разработчики вроде как не выстроилися в очередь рѣшать её.

② Как сейчас пользователя спрашивают, желает ли он открыть внѣшнюю гиперссылку, так его можно начать спрашивать, желает ли он открыть такой файл Markdown, который иллюстрирован внѣшними графическими файлами. Или в просмотрщике может появиться кнопка «Дозагрузить изображения», как это было в старинных браузерах WWW времён необходимости жёсткой экономии траффика.

③ Существующее подобие Instant View можно усилить, если загружать внѣшнія иллюстраціи к файлам Markdown не напрямую, а через посредство сёрверов Телеграма — и тѣмъ скрывать IP читателей файлов Markdown.

④ Просмотрщик файлов Markdown мог бы начать показывать хотя бы такие иллюстрации, адрес которых не ведёт на внѣшній сёрверъ за графическим файлом, а полностью содержит файл внутри самогó же адреса, то есть когда файл закодирован кодировкою base64, а результат того кодирования записан в адресе по стандарту RFC 2397. В отдалённом прошлом (когда этот RFC сочиняли) величина URLов считалась ограниченною 1024 сѵмволами (согласно RFC 1866), так что этот подход имѣлъ весьма ограниченную примѣнимость, но сейчас движки всѣхъ популярных браузеров считаются поддерживающими даже адреса полугигабайтовой длины (а просмотрщик файлов Markdown предположительно основывается на готовом движке одного из браузеров гипертекста, не прибѣгая к самописности). Въ нѣсколько менѣе отдалённом прошлом (до 2019 года) теперешнее ограничение объёма файлов Markdown, подлежащих просмотру в Telegram под Android (не больше 65 536 байтов), означало бы возможность засунуть туда только такую иллюстрацию, которая была бы уродливо засорена артефактами чрезмѣрнаго сжатия, но теперешний формат AVIF опережает прежние форматы JPEG и WebP в два или три раза по силе сжатия при равном качестве, а также оставляет менѣе замѣтные и менѣе уродливые артефакты. Для наглядности я прилагаю прямо здѣсь примѣръ файла Markdown, иллюстрированнаго болѣе чѣмъ мегапиксельнымъ файломъ AVIF по стандарту RFC 2397, а всё же не превосходящий 65 536 байтов по объёму.

⑤ Просмотрщик файлов Markdown мог бы начать показывать хотя бы такие иллюстрации, адрес которых не ведёт на внѣшній сёрверъ за графическим файлом, а ведёт только в Telegram же. Относительный адрес вида «имяФайла.webp» мог бы указывать на иллюстрацию, прикрѣплённую с указанным именем к тому же сообщению, что и сам файл Markdown. (На самом же дѣлѣ — к одному изъ сосѣднихъ сообщений того же альбома файлов, потому что альбомы файлов собираются на стороне клиента.)

На первом шаге этого послѣдняго пути число иллюстраций было бы ограниченным: альбом файлов в Телеграме может содержать не больше десятка файлов, и если один из них — сам Markdown, то на долю иллюстраций к нему остаётся лишь девять.

Просмотрщик мог бы преодолѣть ограничение, выучившись распаковыванию архивов (ZIP, 7-Zip, RAR, etc.) и затѣмъ поддержав относительный путь к файлу наподобие «имяАрхива.7z/имяФайла.avif».

Для совмѣстимости с другими средствами просмотра файлов Markdown, которыя не способны распаковывать архивы (и которым поэтому в качестве хранилища иллюстраций приходится прилагать папку, а не архив), имя архива можно было бы указывать без расширения имени файла, а архив тот воспринимать как папкозамѣнитель для Телеграма.
🏆3