Почти Блог | [astrr]

Омлет


Вообще, AMOLED-экраны - это классно. Но не всегда. Вот например я не выключил экран телефона после того, как открыл плейлист на ютубе, и теперь у меня на экране на какое-то время выгорела обложка альбома OST Serial Experiments Lain. Кстати да, почему-то никто про это не говорит, но на AMOLED экранах выгорание далеко не всегда перманентное. Если что-то на экране по сути постоянно (типа часов сверху) - то да, они, конечно выгорят навсегда. Однако, если же какое-то изображение просто осталось на экране на пару часов - через какое-то время его выгорание пройдёт (по моему опыту - обычно та же пара часов).

Просто небольшой рэнт получился

Вопреки всему я всё ещё жив


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

А пока что держите пикчу

Снимок экрана 2021-01-13 в 14.00.42

Про стримы и захват видео с Nintendo Switch


Недавно я решил наконец-то пройти The Legend of Zelda: Breath of the Wild на Master Mode.
Для тех, кто не знает - это режим, в котором ты начинаешь игру с начала, но враги становятся намного сильнее, и игра в целом перестаёт тебя щадить.

Так вот, я захожу в игру, выбираю Master Mode, и тут мне в голову приходит идея, что было бы прикольно застримить моё прохождение для друзей (и в целом ради записи моих страданий).
Однако, сделать нормальный стрим было намного более сложной задачей, чем прохождение игры)

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

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

Поэтому на следующий день я решил попробовать уменьшить задержку видео.

<техническая инфа> Если раньше видео передавалось по TCP тоннелю между NS и ПК, а потом превращалось в локальный RTSP на стороне ПК (или RSTP, отстаньте, мне и так сложно а тут еще и буквы нужно по порядку ставить), который потом подхватывался OBS через 127.0.0.0:6666, то теперь NS подключен к точке доступа моего ноутбука, и транслирует RTSP напрямую, где его ловит VLC (потому что у него можно настроить размер буфера) через 192.168.1.N:6666, а OBS просто записывает окно VLC.<конец технической инфы>

Это помогло уменьшить задержку с 5-15 секунд до 1-3 секунд, но это всё еще было проблемно синхронизировать, и из-за потоковой природы этого метода видео стало намного чаще терять кадры и выдавать прочие артефакты, так что это тоже не подходило.

Однако, был ещё один способ. Если не передавать звук, то SysDVR поддерживает передачу видео в MPV (плеер) с очень низкой задержкой (менее 100мс). Однако, появилась новая проблема.

Звук.
Изначально на моем ноутбуке нет 3.5 аудио входа, только выход и 4 USB Type-C. Голос я сначала записывал через встроенный микрофон, но очень быстро понял, что это тоже ужасный вариант. В итоге я нашел относительно нормальный микрофон и USB-3.5mm адаптер, что и использую для записи звука сейчас.

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

Что же я сделал? Bluetooth адаптер? Второй компьютер для захвата звука? Отдельная программа для передачи звука?

Об этом я расскажу в следую…
Нет, мне лень писать еще один пост))

Я просто нашел второй адаптер. Да, всё так скучно. В мою защиту, мне пришлось припаять к нему новый разъём потому что старый заржавел, так что это был не самый очевидный вариант)

В итоге, свич передаёт видео на ПК описанным выше способом, а в его разъём для наушников воткнут раздвоитесь, один выход которого идет напрямую в мои наушники, а другой - в USB адаптер, через который он поступает в ПК.

Надеюсь, что сетап больше не будет сильно меняться (разве что если в сторону упрощения), а пока что вот.

Лейн, двач, ЦТФ и киберпанк.


Где-то недели две назад я посмотрел «Serial Experiments Lain» 1998го года выпуска. Офигенная штука, майндфаки на уровне последних серий Евангелиона, только так все 13 серий.

Однако, намного более интересными оказались вещи, сделанные фанами. Кто-то в 2003 пробовал сделать операционную систему на основе Copland OS, кто-то пытался возродить этот проект в 2018 (три раза, и все три неудачно). Ещё я наткнулся на интересный сайт, fauux.neocities.org, из которого и началось моё небольшое «путешествие» по сети. На главной странице в последнем посте - загадка. Защищённый паролем PDF файл и два GIF изображения, одно c текстом и другое с серией разных пикселей, меняющих свои цвета. Очень похоже на CTF таск (задача по применению множества знаний в сфере компьютерной безопасности и ИТ в целом), так что я сразу заинтересовался. Попробовал расшифровать текст на первой GIF (безуспешно), после чего решил его просто загуглить.

Наткнулся на этот тред на дваче. Там с 3 по 4 января 2020 люди пытались решить эту задачку, в итоге расшифровав PDF (но это ничего особо не дало) и перейдя в IRC чат.

Я зашёл к ним в IRC, но, спустя почти полгода, там тишина (хоть несколько пользователей онлайн прямо сейчас). Чисто из интереса я решил посмотреть, что находится на сайте, на котором хостят этот IRC канал. И вот там я и нашёл самое интересное.

Это полноценная активная имиджборда (статья про нее на вики) с кучей киберпанковых (и не только) штук. Если бы не эта странная цепочка событий, я бы, скорее всего, никогда бы не увидел, например, арты с /vis/.

Уверен, далеко не всем интересны такие вещи, как мне, но я просто обожаю находить в сети что-то, что я никогда даже близко не видел (а с каждым днем такого становится всё меньше, старые сервера отключают, а новые практически одинаковы), и, надеюсь, что этим постом я дал «найти» это не только себе.

BTW, если дорешаю таск - скину сюда результаты
BTW2, на этом сайте есть скрытый набор страниц с fauux, попробуй найти его)

Как я сервер на NGINX поднимал.


Началось все с того, что я хотел сделать что-нибудь со своим старым сайтом, Astrr.github.io (сейчас там почти ничего нет). Однако, уже в процессе работы над новым сайтом я вспомнил про свободный сервер, на котором хостится мой (пустой) Minecraft сервер, и решил использовать его, на нем как раз была куча свободной производительности.

Однако, после простой настройки NGINX и проброски портов мои приключения не закончились. Почему-то сервер был доступен в локальной сети (хоть по домену, хоть по глобальному или локальному IP), но извне его было не достать. Самое интересное в том, что один из плагинов на Майнкрафт сервере имел веб интерфейс на порту 8123, который в роутере был открыт параллельно со стандартным для HTTP портом 80, и этот интерфейс спокойно открывался извне.

Выглядит как будто провайдер просто блокирует 80 порт, но нет, если поменять порт интерфейса на 80, а сайта - на 8123 (или любую другую комбинацию портов) - работать все еще будет только веб интерфейс плагина.

Дальше я потратил ещё один (уже третий по счёту) день на попытки отключить и так уже выключенный файрвол и пробросить уже проброшенное. Ничего не помогало.

Решение оказалось значительно прозаичнее, хоть я и до сих пор не до конца понял, как это мешало конкретно NGINX. Оказалось, что мой провайдер (очевидно, в связи с ковидом и увеличенной нагрузкой на сеть) отключил мне опцию статичного IP, которая была у меня уже более двух лет. Однако, я не заметил этого потому что хоть опция и была отключена, мой IP не менялся. Я не понимаю почему, скорее всего система управления тарифами не смогла нормально сообщить об изменениях системе, раздающей IP. В любом случае, хоть мой айпи и не изменялся, включение этой опции обратно внезапно открыло доступ к NGINX из интернета.

Спасибо, ****, у меня ведь столько свободного времени, почему бы и не потратить его на решение твоей ошибки?