🏠: it

Обновление старого нетбука

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

Модель — Acer Aspire One AOD257, на борту неплохой процессор Intel Atom N570 о двух физических ядрах + 2 ядра гипертрединга, памяти всего лишь 1 ГБ (хотя она DDR3-1333 / PC3-10600) и штатный очень медленный 250 ГБ жёсткий диск WD Scorpio Blue WD2500BPVT.

Я решил увеличить памяти до 2 ГБ и поменять жёсткий диск на какой-нибудь дешёвый SSD. Памяти бы я поставил и 4 ГБ, но процессор Atom N570 не умеет работать больше чем с 2 ГБ. Жёстким диском на замену я выбрал WD SSD Green 240 ГБ (WDS240G2G0A) — звёзд с неба он не хватает, однако на него дают 3 года гарантии, он имеет большой ресурс и для интерфейса SATA II, имеющегося в нетбуке, его будет более чем достаточно. Да и стоит он на сегодняшний день очень дёшево — чуть больше 2000 рублей.

Обзаведясь необходимым железом, я приступил к работам. Сначала обновил BIOS, поставил новую память, подключил новый диск через USB и склонировал на него содержимое старого с помощью Acronis True Image WD Edition.

В процессе клонирования диска

После клонирования я вытащил из нетбука старый диск и поменял его на новый, затем восстановил исходный заводской образ системы (Windows 7 Starter 32-bit) из раздела восстановления. После этого я решил попробовать обновить систему до Windows 10, потому что имелась информация, что при обновлении старых систем активация сохраняется, несмотря на то, что широко рекламируемый период бесплатного обновления до Windows 10 давно закончился. В случае неудачи всегда можно откатиться обратно на заводской образ.

Для обновления операционки я скачал и запустил утилиту Media Creation Tool, которая всё прекраснейшим образом сделала сама: скачала нужную редакцию системы — Windows 10 Home 32-bit, предупредила о несовместимости встроенного видеоадаптера Intel GMA 3150, предложила сохранить параметры и файлы, и установка началась.

Во время процесса скачивания и установки Windows 10 Home поверх Windows 7 Starter

В результате, всё прошло отлично! Активация действительно сохранилась, нетбук работает хорошо, перестал нечеловечески тормозить и скрежетать диском — получилась вполне нормальная машинка на современной системе для каких-то несложных рабочих задач. Несовместимость видеоадаптера не подтвердилась — драйвер был автоматически найден и установлен системой.

Конечный результат

Единственное, что не удалось — это заставить работать штатную утилиту для мониторинга диска WD SSD Dashboard, при запуске она ругается на то, что видеокарта не поддерживает OpenGL 2.0, и на Windows 7 было то же самое. Задал вопрос на форуме Western Digital, посмотрим. В принципе, и так неплохо.

Upd: Последующее тестирование показало, что машинка практически новая — CrystalDiskInfo выдаёт, что диск отработал всего около 1700 часов (71 сутки), т. е., всего ничего. Батарея, что удивительно, тоже прекрасно себя чувствует — после полутора часов непрерывного воспроизведения видео на Youtube индикатор показывает 62% оставшегося заряда.

Удаление рекламы на уровне сети

Обнаружил замечательный проект — Pi-hole, который служит фильтром рекламы и трекеров телеметрии. Это микросервер, который нужно на роутере указывать как DNS для клиентов DHCP, или, в случае статических адресов, указывать Pi-hole как DNS непосредственно на клиентах. Если роутер не умеет задавать DNS для динамических клиентов, то Pi-hole может взять на себя роль и DHCP-сервера.

Я сделал тестовую виртуальную машину с этим сервисом и прицепил её к роутеру как DNS, в результате на всех мобильных устройствах пропала реклама из приложений.

Ставится Pi-hole элементарно, у него есть красивый веб-интерфейс со статистикой и настройками.

Главная панель Журнал запросов

Идеальное применение для маленького дешёвого одноплатника, типа Orange Pi Zero, так как сервис нетребователен к ресурсам.

Альтернативный Youtube

Вчера узнал о существовании любопытного проекта под названием
Invidious, представляющий собой независимую реализацию веб-интерфейса к Youtube. Вот наиболее полезные функции:

  • Возможность включать только аудиодорожку (нет необходимости держать экран включённым на мобильнике)
  • Нет рекламы
  • Возможность скачивания с выбором качества
  • Для подписок не нужна учётная запись Google
  • Гибкое управление подписками, импорт и т. д.
  • Комментарии можно отключить или заменить на комментарии с Reddit
  • Тёмная тема, возможность встраивания видео и прочее.

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

Медиацентр на кухне

Собрал маленький «умный» телевизор на кухню, задачей которого, прежде всего, является показ роликов на Youtube за ужином, чтобы не использовать для этого телефон, сажая в нём батарею.

Компоненты: старый добрый одноплатник Orange Pi PC Plus, который за два года успел побывать у меня и веб-сервером, и игровой приставкой, и портативный экран, который приехал ко мне на днях с Алиэкспресса.

Критерии выбора: так как в основном я смотрю трансляции и лекции, где самым важным является звук, соответственно, я выбрал самый маленький и дешёвый экран (10.1 дюйма, 1280x800), где был разъём HDMI и встроенные динамики. Вместе с доставкой он обошёлся примерно в 4400 рублей. Одноплатник с блоком питания, картой памяти 16 ГБ и корпусом стоил два года назад 2200 рублей.

Сначала я хотел поставить на одноплатник Armbian как самую стабильную и хорошо работающую систему на подобного рода китайских микрокомпьютерах, а затем сверху установить медиацентр Kodi, но ничего не вышло, потому что собранного дистрибутива Kodi нет в репозиториях под процессоры ARM. Конечно, в интернете есть инструкции по самостоятельной сборке Kodi из исходников, но я не хотел заниматься этим долгим и муторным процессом, тем более что обновлять такую систему — тоже удовольствие на большого любителя. Популярные дистрибутивы OpenELEC и LibreELEC, которые являются уже собранной воедино системой с медиацентром, мой одноплатник не поддерживают.

К счастью, один добрый человек собирает LibreELEC для ряда китайских плат, в том числе и моей, и выкладывает обновления. Этот дистрибутив я и установил, но так как его статус нестабильный и он находится в разработке, некоторые вещи не работают — например, встроенный модуль Wi-Fi. Пришлось взять старый Wi-Fi адаптер под USB, который нормально определился в системе.

Экран оказался очень хорошим. Прочный металлический корпус, в комплекте блок питания, подставка и кабель HDMI. Сзади есть отверстия под VESA-крепление на стену, а снизу — стандартная резьба под штатив. Громкость динамиков достаточная, есть русский язык в меню, он поддерживает HDMI-CEC, то есть, управление через HDMI. Пульта к экрану нет, но я настроил в медиацентре автовыключение экрана через 5 минут, если ничего не воспроизводится, а пробуждается он, если просто в пульте управления в телефоне (я использую когда-то купленную Yatse) что-нибудь нажать или пустить на медиацентр что-то проигрываться.

Единственный нюанс — для корректной работы разрешение экрана нужно выставлять принудительно вручную. Экран определяется как 1920x1080, в том числе и в Windows, и при такой настройке видео тормозит, а звук заикается. После смены разрешения на родное 1280x800 проблемы исчезли.

Плагин Youtube я авторизовал в своей учётке Google, теперь все новые видео на каналах, на которые я подписан, я сразу вижу в списке медиацентра. Ради спортивного интереса я также настроил ТВ, взяв какой-то бесплатный плейлист в интернете, и радио через плагин SHOUTcast 2. Всё хорошо работает, очень удобно.

Рекомпрессия видеоархива

Более или менее разобравшись в доме с предметами материальными, я перешёл к более абстрактным вещам, а именно — наведению порядка в своём цифровом архиве. В нынешнем виде этот архив появился после продажи в 2010 году системного блока, в котором были DVD-приводы, и, как следствие, покупки первого сетевого хранилища, куда диски, которые уже негде было дома читать, были скопированы, по большей части, в виде образов ISO. Потом, конечно, объём данных рос, но по сути ничего не менялось — старые данные просто продолжали лежать, мигрируя с течением времени на новое железо.

В какой-то момент я решил держать на хранилище резервную копию домашнего неттопа, и выяснилось, что место уже забивается под завязку. Учитывая то, что цены на диски большого объёма сейчас довольно высокие (да и нет у меня желания устраивать у себя дома филиал Amazon Cloud им. Плюшкина), данными на хранилище я пользуюсь не очень часто и там давно не прибирались, я подумал, что неплохо было бы как-то сократить объём постоянно хранимых данных. В первую очередь следовало разобраться с видео, так как оно занимало больше всего места.

Общая идея заключалась в том, чтобы удалить что-то совсем уж ненужное и дубли одного и того же, если таковые найдутся, а остальное перекодировать в более компактные и высокоэффективные форматы H.264 и H.265, а их аудиодорожки — в aac, ogg или opus. Безусловно, перекодированное видео не должно выглядеть хуже в сравнении с оригинальным, то же касается и аудиодорожек. Для аудио нужно подбирать разумно высокий битрейт, желательно, обеспечивающий «прозрачность» (transparency), в основном это примерно 192 kb/s. Конечно, нужно действовать по ситуации — к примеру, если оригинальная аудиодорожка уже в mp3 128 kb/s, то нет смысла с ней что-то делать, нужно просто скопировать её в новый видеофайл как есть.

Данные я разделяю на три основных категории — легко восполнимые (известные и широко распространённые мультфильмы, художественные фильмы), труднодоступные (некоторые концерты, образовательные программы, документалистика и т. д.) и невосполнимые (в основном, личный архив). Исходя из этой классификации, подбирались и параметры кодирования. Всё кодирование делалось консольным медиаконвертером ffmpeg. Медиаконтейнером для всех файлов был выбран MKV как наиболее универсальный и свободный формат.

В общем случае, легко восполнимые видео кодировались в H.265 + ogg со стандартными параметрами — в основном это были мультфильмы. В принципе, львиную долю из этих файлов можно было просто стереть, но я кодировал их из спортивного интереса. Труднодоступные материалы и те фильмы, которые я не стёр — в H.265 (-crf 22 -preset slow) + aac 192 kb/s. Если видео было чересстрочным, использовался H.264 (-crf 20 -preset slow), так как он умеет корректно работать с чересстрочным сигналом — надо только не забывать правильно указывать порядок полей. Преобразование чересстрочного видео в прогрессивное путём деинтерлейса я не использую и никому не советую, так как это заметно ухудшает качество и далеко не всегда нормально отрабатывает; тем не менее, необходимо распознавать чересстрочный источник и не совершать ошибку, кодируя его как прогрессивный, так как это даст на выходе испорченное видео с «гребёнкой» при движении в кадре, которую уже невозможно убрать. Личные записи я в целом пока оставил в неизменном виде, перекодировал только некоторые короткие эпизоды, рассыпанные по нескольким файлам, которые от сборки их в единый файл только выиграли. Параметры были те же, что и для труднодоступных материалов.

Для порядка и красоты я оставлял все аудиодорожки, если их было больше одной. Отбрасывал только те, которые, при одинаковом содержании, были менее качественными (например, DTS 1,5 Mb/s и AC3 384 kb/s — перекодируем первый вариант, второй отбрасываем), и были не на русском или английском языках. В некоторых случаях я обрезал чёрные поля по краям кадра, предварительно определяя их границы фильтром cropdetect. Добавлял субтитры, вытаскивая их из исходного DVD или скачивая из интернета, причём субтитры я всегда переделывал в текстовый формат, пользуясь программой Subtitle Edit. Сохранял или добавлял метаданные: названия аудиодорожек и субитиров, навигацию по файлу (главы) с именами эпизодов. Для извлечения навигационных меток из DVD я использовал программу ChapterXtractor, в конфигурационном файле которого прописал шаблон, генерирующий формат метаданных для ffmpeg:

Preset 7=For ffmpeg metadata
Format 7=\n[CHAPTER]\nTIMEBASE=1/1000\nSTART=%ams\nEND=\ntitle=\n
Header 7=;FFMETADATA1\ntitle=\nartist=\n
Footer 7=\n[STREAM]\ntitle=

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

Было:

Имя подкаталога Размер Файлы Папки
Концерты 181,1 ГБ 204 30
Мультфильмы 153,5 ГБ 717 43
Документальные фильмы 126,9 ГБ 189 27
Записи 87,1 ГБ 33 5
Художественные фильмы 55,2 ГБ 48 5
Детские фильмы 41,3 ГБ 39 3
Образование 30,4 ГБ 1250 59
Прочее 67,9 МБ 13 1
Всего: 675,7 ГБ 2493 181

Стало:

Имя подкаталога Размер Файлы Папки
Документальные фильмы 81,0 ГБ 177 23
Концерты 69,1 ГБ 106 9
Записи 54,8 ГБ 24 4
Мультфильмы 46,2 ГБ 707 38
Образование 27,8 ГБ 1250 59
Детские фильмы 15,6 ГБ 39 3
Художественные фильмы 9,7 ГБ 37 3
Прочее 67,9 МБ 13 1
Всего: 304,2 ГБ 2353 148

График использования дискового пространства на хранилище:

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