Скачивание видеороликов с попутным их склеиванием

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

Вот, например, челябинский провайдер «Интерсвязь» всюду развесил камеры видеонаблюдения да видеодомофоны и даёт возможность своим абонентам смотреть не только то, что происходит прямо сейчас, но и архив за последнюю неделю. При этом архивную запись с общедоступной камеры скачать можно — на странице есть соответствующая кнопка, но вот с камеры домофона — нельзя.

Как известно, если нельзя, но очень хочется, то можно.

Метод

1. Заходим на страницу с архивом, находим нужный фрагмент, открываем отладчик (клавишей F12), переключаемся на вкладку Network — так и в Google Chrome, и в Mozilla Firefox.

2. Запускаем воспроизведение — отладчик покажет выполненные запросы.

3. Когда запросы перестанут идти (то есть, всё нужно, уже скачалось), можно, щёлкнув по ним правой кнопкой, выбрать пункт “Save all as HAR” — запросы и ответы на них будут сохранены единым файлом с расширением HAR — на самом деле это JSON.

В отладчике открыта вкладка Network

4. Берём какой-нибудь HAR-extractor (есть всякие варианты — мне подошёл первый попавшийся, написанный на Node.JS), натравливаем его на HAR-файл, получаем папку, в одной из подпапок которой будут лежать видеофайлы с расширением TS.

5. Смотрим эти видеофайлы — под линуксом с гномом можно использовать стандартный видеоплеер totem или всеядный mpv (ну или mplayer, из которого он и вырос).

6. Создаём текстовый файл, каждая строка которого состоит из слова file, пробела и имени файла в апострофах:

file 'cam42_16-10-2020_26778689266.ts'
file 'cam42_16-10-2020_26778699914.ts'

7. Склеиваем мелкие видеофрагменты в один большой файл:

ffmpeg -f concat -i список.txt -codec copy результат.mp4

Всё!


Аналогичный способ — сохранение кучи мелких файликов через HAR — можно использовать для того, чтоб добыть тайлы — небольшие квадратные картинки из которых состоят интерактивные карты на сайтах, а потом, делая свою карту, разместить эти тайлы где-нибудь у себя, чтоб не создавать лишнюю нагрузку на тайлопровайдера — они этого не любят: OpenStreetMap просит не брать тайлы непосредственно у них, а фонд ВикиМедиа всё время клянчит денег на поддержку функционирования Википедии. Реальный пример такого подхода — карта Global SUSU на сайте Южно-Уральского университета: тайлы там сгенерированы Википедией из общедоступных данных OpenStreetMap, но хранятся на одном из университетских серверов.

На троллейбусах и электричке

Пока машина в ремонте, воспользовался общественным транспортом.

Новые низкопольные троллейбусы на кольце возле вокзала железнодорожной станции Миасс I

Добраться семьёй с Машгородка (север Миасса) до центра Челябинска —
3 × 15 + 712,80 + 3 × 20 = почти 818 рублей.

На машине, если считать только бензин, получилось бы раза в два дешевле — 350-400 рублей на 120 км. С другой стороны, в троллейбусах и электричках самому рулить не надо — на то есть специально обученные люди. А если прибавить стоимость расходных материалов, ремонта и технического обслуживания автомобиля, а также транспортный налог и ОСАГО, то стоимость проезда сравняется. А уж если приплюсовать сюда амортизационные отчисления, то даже на максимально заполненной машине получится дороже, чем на общественном транспорте.

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

Копирование с Gist на GitHub

Бывает, что мелкие фрагменты программного кода, заброшенные на Gist, со временем разрастаются до состояния, когда надо бы выделить им отдельное нормальное хранилище на Гитхабе — с багтрекером и остальными плюшками.

На https://gist.github.com/ishu3101/830b556b487de5d69690 нашёлся и был испытан на практике такой метод:

1. Создать новый репозиторий на Гитхабе.

2. Склонировать гист:

git clone git@gist.github.com:4b84d4a8d8404ede668225de68fb96ba.git

3. Переименовать получившийся каталог и зайти в него.

4. Добавить удалённый репозиторий (см. Pro Git 2.5 Git Basics — Working with Remotes, по-русски Основы Git — Работа с удалёнными репозиториями):

git remote add github https://github.com/username/repository-name

5. Отправить на Гитхаб:

git push github master

Но есть и более простой способ — импортировать через https://github.com/new/import

Импорт проекта на Гитхаб

Такой способ подходит, если надо всего лишь скопировать файл на Гитхаб и не заниматься дальнейшим его поддержанием в актуальном состоянии и на gist.github.com

Парковка слегка изменилась

Парковку в конце чётной (северной) стороны проспекта Ленина поменяли: там не только сузили место для машин за счёт добавления газона и второго ряда лип, но и передвинули место парковки для инвалидов — его сместили западнее, ближе к выходу на тротуар — теперь там может проехать коляска.

Ну и новый совмещённый знак повесили — тот, где коляска нарисована прямо возле буквы P.

Двенадцатое Комодо — бесплатные баги

Недавно вышла Komodo IDE 12 — интегрированная среда разработки, где, помимо прочего, есть, как и раньше, отладчик перловых скриптов, прогон тестов, профилировщик, г̶у̶й̶^W графический интерфейс к системам контроля версий и ещё дофига всего. В сильно похожем на неё редакторе Komodo Edit, который стал бесплатным ещё раньше, этих плюшек нет — есть лишь схожий вес.

Теперь оно всё бесплатное, но, увы, радоваться рано:
во-первых, глюки и тормоза никуда не делись, потому что внутри — всё тот же файрфокс, питон с библиотеками и яваскрипт суммарным весом в четверть гигабайта,
во-вторых, Komodo IDE теперь интегрируется с ActiveState Platform тех же авторов и требует для чего-то, выходящего за пределы простого редактирования и связи с СКВ, загадочных танцев с бубном: то, что раньше работало «из коробки» (например, отладка и запуск скриптов), теперь не запускается никак, даже после р̶а̶с̶к̶у̶р̶и̶в̶а̶н̶и̶я̶ ̶м̶а̶н̶о̶в̶^W^W внимательного чтения документации.

Если оно не заработает как надо, придётся снова править код, например, в Geany, а отлаживать и коммитить — с командной строки.

Развитие рабочего места на острове

0. (не в кадре) В палатке — тесно и неудобно. За общим столом — людно: девушки строгают салат, мужики говорят друг с другом, дети просто везде и занимаются чем попало — все они отвлекают.

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

2. Понимаем, что на ярком солнце всё равно видно плохо, даже с кустами за спиной — сооружаем козырёк из пенополиэтиленового коврика. В таком виде уже достаточно удобно.

Следующий этап — обеспечить энергонезависимость процесса. Ёмкости аккумуляторов — того, что в ноутбуке и внешнего, снятого с автомобиля, суммарно хватило чуть больше, чем на день работы. Но от большого аккумулятора питался не только ноутбук, но ещё и телефоны с пауэрбанками плюс прожектор — туда, наверное, суммарно ушло 50-60 Вт⋅ч на свет и столько же — на гаджеты (без учёта потерь на преобразование напряжения, а иногда и рода тока). Половину этой дополнительной нагрузки можно было бы и с какого-нибудь пятивольтового источника брать — в продаже есть солнечные панели, выдающие 5 В в USB-разъём — даже один такой двухамперный источник в теории способен зарядить имеющиеся гаджеты, если весь световой день этому посвятить. Ну и свет надо бы перевести, наконец-то, с 220-вольтового переменного тока на постоянный — 5 В (USB-лампа, например) либо 12, чтоб питаться непосредственно с аккумулятора (есть и лампы в продаже, и дневные ходовые огни).

Негодное молоко

Ультрапастеризованное анжеро-судженское молоко «Тяжин» — фиговое: из купленных четырёх пакетов, годных якобы до 10.10.2020, один оказался просто водянистым и невкусным, второй — слегка подкисающим, а два оставшихся — совсем кислыми. И не поймёшь, то ли мы умудрились молоко на солнце оставить, то ли в магазине или при доставке его перегрели, то ли изначально вся партия такая. В магазин в Непряхино ехать ругаться нет смысла — на дорогу только в одну сторону пришлось бы потратить денег больше, чем сто́ят все купленные пакеты. Поэтому пришлось напечь из этого молока блинов и запомнить, что больше я такое молоко не покупаю.

Не каждый день

У многих крупных торговых сетей есть свои марки, под которыми для них выпускается всякая продукция: от еды и питья до канцтоваров и одежды. У «Ашана» это «Каждый день» — словосочетание это написано почти везде, но не на водке — там такой же внешний вид — жёлто-зелёная полоса на белом фоне, но вместо полного названия — аббревиатура КД. Чтобы водку каждый день не пили?

И они ещё борются за звание дома высокой культуры и быта

2020 год, самый популярный веб-сервер — nginx, но у Open Journal Systems до сих пор нет документации по установке этой системы управления научным журналом под нужным сервером

We don’t have an official installation guide for it.

Предлагают и дальше читать форумы.