Заметки любителя экспериментов

Позднее Ctrl + ↑

Включаем Samsung Smart TV

Периодически, когда нечем заняться, продолжаю эксперименты с телевизором. В этот раз оказалось, что я был не прав насчет того, что он не отзывается на пакет Wake-On-Lan. Телевизор нормально включается, но с небольшой задержкой — около 10 секунд. Что интересно, в этот период он явно обменивается какой-то информацией с пультом управления. Насколько мне позволяет моя фантазия, этот обмен связан с тем, что пульт в период времени, когда телевизор не работает, тоже уходит в «спящий» режим, экономя энергию батареек. В «обычном» режиме ТВ включается с пульта, но тут идет пробуждение по сети, о чем телевизор и сообщает пульту. Вроде как в рекламе: «А мужики-то не знают!»

Съемка в темноте

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

Это я пошел на работу
Это я пошел на работу
А это жена выходит из дома
А это жена выходит из дома

Serviio

Небольшой обзор DLNA-сервера

Чуть меньше недели назад я, при помощи докера, установил на свой домашний сервер Serviio. В отличие от других серверов подобного рода, которые я попробовал, этот показался мне самым интересным, несмотря на его недостатки. Впрочем, последнее — только мое мнение, кому-то эти недостатки покажутся преимуществами.
Сразу хочу упомянуть один достаточно важный момент. Первые 15 дней сервер работает в режиме полной функциональности. Если по истечении этого периода вы не установите лицензию, то программа автоматически перейдет в режим бесплатной версии, которая имеет некоторые ограничения. Почитать о различиях версий можно на этой странице. Стоимость лицензии на текущий момент составляет 25 долларов США. Или около 1500 российских рублей.
Первое, что мне бросилось в глаза — множество папок, так же как и у miniDLNA. Это очень опечалило потому, что из-за этого нюанса я и собирался менять сервер. Но, покопавшись в настройках, обнаружил, что отображение папок настраивается и можно просто убрать ненужные. Так я и поступил, оставив только самые востребованные.
В качестве папок, где хранятся файлы, которые вы потом будете воспроизводить на телевизоре или другом устройстве, можно указать любые. Но так как я использую докер, то их нужно дополнительно указывать в параметрах запуска контейнера и только затем подключать в настройках программы. Как обычно, поиск мультимедиа файлов несколько нагружает процессор, что, впрочем, длится достаточно недолго.
Не лишним будет упомянуть порты, которые могут вам понадобиться для просмотра или для управления сервером:

  1. 1900 — общий порт UPnP;
  2. 8895 — не совсем понял что за порт, но без него ни одно устройство не видит сервер.
  3. 23423 и 23523 — для управления сервером по HTTP и HTTPS протоколам соответственно.
  4. 23424 и 23524 — для просмотра мультимедиа по HTTP и HTTPS соответственно.

Если вы планируете просматривать фильмы, слушать музыку или управлять сервером за пределами вашей сети, то на последние 4 порта следует настроить перенаправление на роутере или просто открыть к ним доступ извне. Но, увы, для этого вам понадобятся дополнительные программы для вашего смартфона или планшета:

  1. ServiiGo. Программа для удаленного просмотра фильмов или прослушивания музыки. Увы, но для доступа к такой возможности требуется версия Pro сервера. Для использования требует порты 23424 и 23524.
  2. ServiiDroid. Эта программа позволяет вам:
  • просматривать текущее состояние сервера и изменять его;
  • вручную обновить данные библиотеки;
  • просмотреть или изменить настройки подключенных клиентов;
  • управлять папками, в которых нужно искать файлы, или онлайн-источниками;
  • и, наконец, изменять настройки самого сервера.
    Иными словами, эта программа позволяет вам полностью управлять настройками Serviio и, что не менее важно, она не требует для своей работы Pro-версии программы.

Кстати, заметил, что по протоколу HTTPS сервер отдает данные немного быстрее, чем по HTTP.
Из «минусов» могу отметить следующие пункты:

  1. Некоторую заторможенность в работе программы, что обусловлено использованием java.
  2. Не всегда корректно распределяет медиафайлы по категориям.
  3. Некорректно работает с кодировкой cp1251. То есть, с русским языком.

Второй пункт раздражает больше всего. Например, я скачал из интернета все сезоны «Звездного пути». Serviio просканировал все папки и отобразил мне две папки сериала вместо одной. В первой папке были три сезона по одной-две серии в каждом, во второй — все 7 сезонов и все серии. Думаю, что это связано с некорректной обработкой информации, извлеченной из этих файлов, но не править же каждый раз эту информацию (что, кстати, не помогает) после скачивания фильма.
Третий пункт... Думаю тут даже рассказывать нечего. Если информация в файле закодирована при помощи cp1251, то вместо нормального текста, на экране вы увидите «кракозябры». Лечится это перекодировкой в utf-8, то есть после скачивания, например, музыки, нужно сделать еще дополнительные движения.

Запуск приложений в Windows 10

В продолжение этой темы

Спустя несколько суток мне удалось восстановить около 99 процентов информации. 1С была восстановлена из резервной копии, СБиС был переустановлен при помощи специалистов компании. Оставшиеся документы были восстановлены почти полностью — не открываются около 5 файлов, менее 1% от общего количества. Считаю это почти успехом.
За несколько дней использования система пару раз установила обновления + были установлены некоторые программы для более комфортной работы. В общем и целом все хорошо. Но ложка дегтя внезапно всплыла сегодня. А заключалась она в том, что некоторые программы, которые еще утром работали нормально, к обеду перестали запускаться. Изучение системных журналов не внесло никакой ясности в причины такого поведения «десятки». Поиск в интернете и выполнение советов, которые там были, тоже ничего не дало. Я наполовину серьезно уже предлагал освятить этот ноутбук :-)
Если в случае с браузером Яндекса и TeamViewer я бы еще мог что-то понять (помимо всего, они также устанавливают собственные службы), то почему не запускается та же Opera — для меня загадка. Новый процесс в списке появляется, но отжирает столь мало ресурсов, что становится понятным, что он ничего не делает. При этом, например, 1С, СБиС, Firefox и Thunderbird, а также Edge, работают нормально.
Что делать и как это «лечить» — пока что абсолютно непонятно...

Установка Serviio

На домашнем сервере установлен Alt Linux, у которого свое видение в отношении сторонних программ. Того serviio в репозитории нет, а попытка установить его с сайта провалилась. Скорее всего, тут сыграло роль недостаточное знание мной линукса. Поэтому, в итоге, был выбран путь попроще, который я с начала не заметил. Речь идет об установке serviio в виде docker.
Для начала скачиваем образ на компьютер:

# docker pull lsiocommunity/serviio

Затем, в соответствии с документацией, запускаем, немного изменив параметры запуска под себя:

docker run -d --restart=always --name=serviio -v /mnt/sda/serviio/config:/config -v /mnt/sda/serviio/media:/media -v /mnt/sda/serviio/transcode:/transcode --net=host lsiocommunity/serviio

По пути /mnt/sda у меня находится второй жесткий диск, на котором располагается всякое «барахло».
Поначалу ни одно из устройств в сети не смогло увидеть serviio. Немного поэкспериментировав, понял, что все дело в том, не был открыт один из портов на сервере. В итоге, пришлось открыть порты 8895, 23423, 23424, 23523, 23524 и 1900. Serviio не видели именно из-за порта 8895.
Ну а дальше все было просто: заходим по адресу http://192.168.1.254:23423/console (где 192.168.1.254 — адрес моего сервера) и настраиваем сервер под свои нужды уже в графическом интерфейсе. Тестировал его работу на трех устройствах: ТВ Samsung UE43M5500AU, телефоне на базе Android и компьютере с установленными Alt Linux и VLC. Все три успешно подключились и смогли проиграть фильм с разрешением FullHD. Тормоза оказались только на телефоне, но с него, как говорится, «взятки гладки».

Небольшой апгрейд

Очередная зарплата ведет к очередным обновлениям

На днях попробовал перенести Transmission и сервер DLNA с роутера на домашний сервер, чтобы немного разгрузить первый. Итогом неожиданно стала сильно возросшая нагрузка на сервер, причем в первых строчках «потребителей» стабильно висели motion и Transmission. Нагрузка была такой, что другие программы периодически не отвечали на запросы, что, в свою очередь, вызвало шквал предупреждений в мой почтовый ящик. Конечно, это меня не устроило, поэтому торрент-клиент был на время отключен. Вызвал небольшое недоумение тот момент, что на роутере Transmission работал, не вызывая такой большой нагрузки на и без того слабый процессор. Лучше был оптимизирован что ли под OpenWrt? Аналогично, судя по отзывам, motion при статичном кадре (то есть когда нет движения) «сжирает» 5-10% процессорного времени. У меня же он поглощал в среднем около 40% на сервере.

Тут должен сделать небольшое отступление. Парой месяцев ранее собирал компьютер для профилактория «Сибиряк», чтобы они могли просматривать камеры видеонаблюдения на ресепшене. Компьютер получился достаточно слабенький, но, если воткнуть в него видеокарту, вполне тянул 8 внутренних камер. Так как видеокарт на складе у меня тогда не было, пришлось воткнуть свою личную. Она у меня все равно просто так лежала. Поставил, настроил, все хорошо. Неделю назад попросили подключить второй монитор на этот компьютер и вывести на него камеры, снимающие вокруг здания. Не вопрос! Заказал второй монитор и видеокарту — свою же нужно «отбить» :-)

Возвращаемся на текущий день. После недолгих раздумий, был куплен новый процессор и кабель HDMI. Процессор был установлен в сервер, что дало достаточно большой прирост мощности, судя по выводу команды top. Также установил туда новую видеокарту, которую приобрел для «Сибиряка». Был вариант установить в профилакторий новую карту, а оттуда забрать свою, но, после сравнительных тестов, оказалось, что установленная мной ранее видюха немного мощней, чем та, которую я приобрел на днях. HDMI кабелем соединил видеорегистратор и телевизор. Были некоторые опасения, что телевизор не увидит картинку с таким нестандартным разрешением, но все обошлось — он просто изменил разрешение на что-то среднее по качеству. В итоге, я теперь могу просматривать камеры на телевизоре в хорошем качестве. Плюс несколько «разгрузил» сервер — теперь нагрузка на процессор стала менее 50%. Правда появился какой-то дребезг от вентилятора, но непонятно от какого — пока снимаешь боковую стенку, он прекращается.

Проверка диска и ее последствия

Итак, злополучный ноутбук все-таки снова решил уйти в цикличное обновление системы. Методы, используемые ранее, не помогли, поэтому было принято решение о переустановке системы.
С некоторых пор я поступаю следующим образом. Загружаюсь с другого диска, создаю в корне диска С: папку с текущей датой. Если есть другие логические диски, то использую их. Затем в эту папку переношу все файлы, которые расположены на системном разделе. После этого можно устанавливать систему, конечно без форматирования раздела. Всю информацию, файлы, данные реестра позже можно вытащить из этой папки. Этот способ сильно экономит время на переустановку системы. Ну и, конечно, нужно быть внимательным при всем этом, как обычно.
Так как было подозрение на некорректную работу жесткого диска, то сначала решил его проверить. Для начала использовал встроенный chkdsk с параметрами /f и /r. Он ошибок не нашел, но ему большого доверия все-таки нет. На очереди была программа из репозитария linux под именем badblocks. Зная, что одна дополнительная буква в параметрах запросто может снести все данные, очень внимательно следил за тем, что ввожу. Позднее, наблюдая за процессом, четко запомнил строчку «read-only test» — все верно, данные не будут тронуты. Проверка этой программой также не выявила никаких проблем.
Настала очередь установить систему. Тут все было, как обычно — ввод, выбор раздела, ввод... И только после начала установки я понял, что максимальный размер диска был равен его свободному объему. Что значило, что на разделе нет никаких файлов. К сожалению, я не остановил процесс установки... :-(
После того, как система была установлена, первым делом начал искать папки с «резервными копиями». Их не было. Самыми важными среди них были базы 1С, СБИС и некоторые документы.
Загрузился с диска R-Studio Emergency и запустил сканирование диска. Программа нашла обе папки (их было две): первая, наиболее старая, была с пометкой «удалена», вторая же отображалась как обычная, не удаленная. Но так как эта программа работала в демо-режиме, то сделать я ничего не смог, поэтому пришлось загружаться в систему и оттуда уже запускать взломанную версию программы.
По итогу мне удалось восстановить каталоги с дистрибутивами 1С, парой баз и папку со СБИС. Документов не было. Базы данных 1С перед этим «ремонтом» были скопированы пользователем на внешний диск, поэтому эту часть можно практически не учитывать. СБИС, к сожалению, использовал сертификат для аутентификации, который хранился в реестре. И доступ к которому я также потерял.

Эх, морозы — 2

Не всем повезло при наступлении холодов. Удалось вытащить видео у знакомых в офисе. Не зря я им все-таки поставил видеонаблюдение. По итогу: минус один компьютер и собственно камера видеонаблюдения. Хотя последнее не точно, нужна дополнительная проверка.
Прорвало батарею центрального отопления, практически весь второй этаж залило кипятком. Началось все в одиннадцатом часу вечера пятницы, сам потоп заметили на первом этаже только в 4 утра.

Эх, морозы

Третий день температура держится в районе -35-37 градусов. Начинаешь замечать некоторые моменты по прошествии этого времени. То, что транспорта на улице стало меньше, было вполне ожидаемо. Руки-ноги стали быстро мерзнуть — тоже нормально. Но некоторые моменты неприятно удивили.
Курить на лоджию стал выходить в комбинезоне и толстовке. После наступления холодов дверь перестала фиксироваться в закрытом положении и норовит все время открыться. Приходится удерживать ее за ручку изнутри. Буквально вчера только понял почему она себя так ведет. Оказалось, что она выгнулась в середине в сторону квартиры. Верхний и нижний края прилегают плотно, а в середине двери образуется промежуток почти в сантиметр между дверью и косяком.
Как следствие, пока стою и курю, держу за ручку изнутри. Пластиковая, которая была изначально, сломалась много лет назад, но тогда я нашел выход и вкрутил ограничитель хода двери. Смотрится нормально, закрывать удобно, стоит копейки. В общем, понравилось. Также вчера утром заметил, что побаливает средний палец. Удивился, потому что вроде бы ничего не делал, что могло бы его повредить, тем более в таком месте. Как обычно, «забил» — и не такое проходило. Чуть позже понял, что болит не один палец и тоже в «нестандартном» месте... Сложив дважды два, пришел к выводу, что тупо получил тепловой ожог из-за этого самого ограничителя. Он металлический, на холоде остывает так, что за пару минут, пока я его держу, запросто можно повредить верхний слой кожи. Пришлось обмотать его тряпкой. Летом, если не забуду, постараюсь поменять на какой-нибудь пластик. Раньше не замечал за ним такой «агрессии» просто потому, что зимы выдавались теплые, ниже -20 градусов температура не падала почти никогда.
Описанный ранее зимний комплект, можно сказать, оказался на высоте. До этих пор в нем было жарко и только последние дни становилось все прохладней. В целом, на улице в нем тепло и сейчас, с учетом того, что на ногах у меня только легкие трико и сверху комбинезон. Перчатки пришлось одевать лыжные — они намного теплей. А вот ноги в купленных в начале зимы ботинках стали замерзать. И, главное, что все руки не доходят найти в шкафу шерстяные носки.

Доступ к Samsung Smart TV

Проба пера

Когда мне становится скучно, в голову приходят самые разные мысли...
В этот раз в голове мелькнула мысль просканировать телевизор на открытые порты. Результат был положительным:

Starting Nmap 5.51 ( http://nmap.org ) at 2018-01-21 20:41 +07
Nmap scan report for 192.168.1.7
Host is up (0.0026s latency).
Not shown: 991 closed ports
PORT      STATE SERVICE
7676/tcp  open  imqbrokerd
8001/tcp  open  vcom-tunnel
8002/tcp  open  teradataordbms
8080/tcp  open  http-proxy
9999/tcp  open  abyss
32768/tcp open  filenet-tms
32769/tcp open  filenet-rpc
32770/tcp open  sometimes-rpc3
32771/tcp open  sometimes-rpc5

Nmap done: 1 IP address (1 host up) scanned in 0.25 seconds

Номера портов, по большей части не знакомы, но 8001, 8002, 8080 и 9999 наводят на определенные мысли. Пробуем получить информацию по ним...

$ curl -v http://192.168.1.7:7676
* Rebuilt URL to: http://192.168.1.7:7676/
*   Trying 192.168.1.7...
* TCP_NODELAY set
* Connected to 192.168.1.7 (192.168.1.7) port 7676 (#0)
> GET / HTTP/1.1
> Host: 192.168.1.7:7676
> User-Agent: curl/7.57.0-DEV
> Accept: */*
> 
* HTTP 1.0, assume close after body
< HTTP/1.0 400 Bad Request 
< CONTENT-TYPE: text/xml; charset="utf-8" 
< SERVER: UPnP/1.1 Samsung AllShare Server/1.0 
< CONTENT-LENGTH: 417 
< 
* Closing connection 0
<?xml version="1.0"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><s:Fault><faultcode>s:Client</faultcode><faultstring>UPnPError</faultstring><detail><UPnPError xmlns="urn:schemas-upnp-org:control-1-0"><errorCode>402</errorCode><errorDescription>Invalid Args</errorDescription></UPnPError></detail></s:Fault></s:Body></s:Envelope>

Пустые ответы приводить не буду, только те, по которым получен какой-либо результат. Проверяем порт 8001:

$ curl -v http://192.168.1.7:8001
* Rebuilt URL to: http://192.168.1.7:8001/
*   Trying 192.168.1.7...
* TCP_NODELAY set
* Connected to 192.168.1.7 (192.168.1.7) port 8001 (#0)
> GET / HTTP/1.1
> Host: 192.168.1.7:8001
> User-Agent: curl/7.57.0-DEV
> Accept: */*
> 
* HTTP 1.0, assume close after body
< HTTP/1.0 401 Unauthorized
< access-control-allow-origin: *
< content-length: 29
< 
* Closing connection 0
<html><body>401</body></html>

На очереди 8002:

$ curl -v https://192.168.1.7:8002
* Rebuilt URL to: https://192.168.1.7:8002/
*   Trying 192.168.1.7...
* TCP_NODELAY set
* Connected to 192.168.1.7 (192.168.1.7) port 8002 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
* successfully set certificate verify locations:
*   CAfile: /usr/share/ca-certificates/ca-bundle.crt
  CApath: none
* TLSv1.2 (OUT), TLS header, Certificate Status (22):
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* TLSv1.2 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (OUT), TLS alert, Server hello (2):
* SSL certificate problem: self signed certificate in certificate chain
* stopped the pause stream!
* Closing connection 0
curl: (60) SSL certificate problem: self signed certificate in certificate chain
More details here: https://curl.haxx.se/docs/sslcerts.html

curl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the web page mentioned above.

Теперь очередь порта 8080:

$ curl -v http://192.168.1.7:8080
* Rebuilt URL to: http://192.168.1.7:8080/
*   Trying 192.168.1.7...
* TCP_NODELAY set
* Connected to 192.168.1.7 (192.168.1.7) port 8080 (#0)
> GET / HTTP/1.1
> Host: 192.168.1.7:8080
> User-Agent: curl/7.57.0-DEV
> Accept: */*
> 
< HTTP/1.1 404 Not Found
< Access-Control-Allow-Origin: *
< Access-Control-Allow-Headers: Content-Type
< Content-Type: text/html
< Content-Length: 345
< Date: Sun, 21 Jan 2018 04:14:36 GMT
< Server: WebServer
< 
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
  <title>404 - Not Found</title>
 </head>
 <body>
  <h1>404 - Not Found</h1>
 </body>
</html>
* Connection #0 to host 192.168.1.7 left intact

Если использовать SSL, то ответ тоже не заставит себя ждать:

$ curl -v https://192.168.1.7:8080
* Rebuilt URL to: https://192.168.1.7:8080/
*   Trying 192.168.1.7...
* TCP_NODELAY set
* Connected to 192.168.1.7 (192.168.1.7) port 8080 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
* successfully set certificate verify locations:
*   CAfile: /usr/share/ca-certificates/ca-bundle.crt
  CApath: none
* TLSv1.2 (OUT), TLS header, Certificate Status (22):
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to 192.168.1.7:8080 
* stopped the pause stream!
* Closing connection 0
curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to 192.168.1.7:8080

И, наконец, 9999:

$ curl -v https://192.168.1.7:9999
* Rebuilt URL to: https://192.168.1.7:9999/
*   Trying 192.168.1.7...
* TCP_NODELAY set
* Connected to 192.168.1.7 (192.168.1.7) port 9999 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
* successfully set certificate verify locations:
*   CAfile: /usr/share/ca-certificates/ca-bundle.crt
  CApath: none
* TLSv1.2 (OUT), TLS header, Certificate Status (22):
* TLSv1.2 (OUT), TLS handshake, Client hello (1):

* OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to 192.168.1.7:9999 
* stopped the pause stream!
* Closing connection 0
curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to 192.168.1.7:9999

Судя по всему, на порту 7676 «висит» какой-то UPNP. Порты 8002 и 9999 обмениваются данными через SSL, 8080 похож на веб-сервер, а 8001 требует авторизацию.
Если открыть ТВ в браузере на порту 8002, то можно получить визуальные данные о сертификате. В принципе, самое интересное, что можно из него вычленить — срок действия в 20 лет и что сертификат является самоподписанным.
Порывшись в интернете, понял, что на эту тему достаточно мало материала. Впрочем, сначала нужно просмотреть SamsungSmartSDK, упомянутый в сертификате. Возможно, что там найдется какая-то дополнительная информация.
Кстати, теоретически, есть возможность включить ТВ с ипользованием технологии Wake-On-LAN. Стандартный способ, видимо, не проходит — по крайне мере на «magic packet» он не отозвался. Но пример кода, реализующего эту возможность, я встретил.

Добавляем каналы для ТВ

Смотреть торренты научился. Но человеку же всегда мало того, что он уже имеет. И мне захотелось увеличить список доступных каналов, желательно в HD качестве. И просматривать подключенные камеры видеонаблюдения. Чем и занимаюсь последнее время когда есть желание и время.
С дополнительными каналами оказалось все как-то просто: установил пару пакетов udpxy и xupnpd на роутер. Первый пакет конвертирует udp трафик в http, второй позволяет открывать плейлисты m3u на телевизоре или любом другом устройстве. Например, на смартфоне или компьютере. Но, как обычно, не обошлось без ложки дегтя — достаточно неудобно переключать каналы на телевизоре. Хотелось бы, чтобы работало как с обычными — нажал кнопку «Канал+» и переключился на следующий. Сейчас же приходится нажимать на «Ввод», переходить на кнопку «Далее» и снова нажимать «Ввод». Возможно, что найду в списке доступных приложений какое-нибудь с более удобным переключением.
С видеокамерой не так все просто — на любую попытку подсунуть телевизору поток он отвечает, что не может его воспроизвести. Что я только не делал... Видеорегистратор отдает RTSP-поток через порт 554, причем нестандартного разрешения. При этом еще требуется указать логин и пароль, чтобы подключиться к потоку. На сервере установлена программа motion, которая у меня занимается рассылкой оповещений и фото, сделанных камерой во время обнаружения движения. Но, даже указав данные потока, которые она выдает в сеть, не получилось заставить ТВ отображать его — снова получил ошибку. Возможно, что после приведения разрешения к стандартному FullHD и смены кодека, и получится показать картинку с камеры на телевизоре. Но для этого нужно заставить сервер перекодировать сигнал, то есть создаем дополнительную нагрузку на сервер.

Забываю тебя, забываю...

Еще в студенчестве наткнулся в библиотеке сестры на книжку со стихами Татьяны Долгополовой. И, как зачастую бывает в период юношества, «зацепили» они меня. Сам до этого пытался писать, пока не понял, что это не мое..
Ниже пара ее стихов, вспомнились на фоне общения с одной из лучших подруг.

Сейчас. Докурю и встану.
Морщинки смахну с лица.
Надену свои сандалии,
Пришив к ним по два крыла.
Сейчас. Застегну лишь пряжки.
Вот левый немного жмет.
Сейчас, еще две затяжки...
Ну все, мне пора. Вперед.
А там, впереди, — прибой.
Там я остужу рассудок.
Окошко за мной закрой.
И погаси окурок.

* * *

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

DLNA в локальной сети

Меня не покидала мысль, что телевизор поддерживает DLNA, несмотря на то, что на официальном сайте это не указано. Зато было указано на нескольких других. Попытка не пытка...
Есть у меня переделанный роутер D-Link DIR-825 с установленной OpenWrt. Внутрь встроен жесткий диск, на котором располагается собственно система и множество других программ. В частности, клиент Transmission. Это очень удобно — с любого устройства можно поставить торрент на закачку. Плюс к этому он все равно работает круглые сутки, пусть скачивает :-)

Прочитав днем про настройку DLNA на OpenWrt, подключился к роутеру и  установил пакет luci-i18n-minidlna-en, который потянул за собой собственно сервер DLNA и другие необходимые пакеты. Настройка была минимальной: задал каталоги где искать видео- и аудиофайлы, куда писать логи и каталог с кэшем. Ну и, конечно, запустил его. Поначалу нагрузка на роутер сильно возросла: сервер «сожрал» почти 60% процессорного времени и почти половину оперативной памяти. Из всех других пакетов, которые я ставил, ни один столько не забирал себе. Понадеявшись на то, что это только на время поиска файлов, отключился, чтобы вечером заняться этим вопросом уже дома.

Мои надежды оправдались — после завершения поиска нагрузка стала почти нулевой. Но меня уже больше интересовало как телевизор отреагирует (и отреагирует ли вообще?) на наличие DLNA сервера в локальной сети. Но сомнения оказались напрасны — все оказалось намного проще. Телевизор не только обнаружил сервер в сети, но и сразу отобразил его в списках доступных источников. Немного напрягло только то, что приходится «продираться» через кучу каталогов, чтобы найти нужное видео, но тут уже ничего не поделаешь, видимо.
В конечном результате я достиг того, чего хотел — теперь нет необходимости копировать скачанный торрент на флэшку, подключать её к телевизору и только тогда начинать смотреть фильм. Сейчас можно просто открыть роутер на телевизоре, выбрать нужный фильм и начать просмотр. С учетом того, что я не поленился подключить ТВ кабелем к роутеру, «лагов» пока что не наблюдается, скорость приличная. Но тут еще буду экспериментировать.
Днем ранее, кстати, также удалось вывести содержимое экрана смартфона на телевизор, включив на первом режим беспроводного дисплея. Смартфон тут же просканировал и нашел телевизор. Оставалось только подтвердить сопряжение устройств на самом ТВ.

Эксперименты с охраной

Опишу предыдущее состояние системы.

  1. Есть не один десяток охранно-пожарных систем (ОПС) типа «Гранит», которые при открытии дверей на объекте шлют смс оператору на центральном пульте. Тот, в свою очередь, либо вызывает ГБР (группа быстрого реагирования), либо «пропускает» событие. В целях резервирования сообщения с «Гранитов» рассылаются не на один номер телефона, а на несколько: охрана и руководство. По моим прикидкам это, минимум, три номера. Скорее всего, их больше. По расходам это выходит более 8 тысяч в месяц. Сумма небольшая, но, если есть возможность, то почему бы ее не уменьшить? «Плюсом» будет то, что получатели смогут отключить оповещения, что в случае с смс почти невозможно. Из текущих «минусов» — постоянные глюки то с телефоном, то с программой синхронизации смс на компьютере. Раз в несколько дней приходится или перезапускать программу, или перезагружать телефон.
  2. Также существует сервер видеонаблюдения, который в постоянном режиме пишет порядка полусотни камер, расположенных на территории завода и не только. Старый сервер, несмотря на свою мощность, потихоньку выходит из строя. БОльшая часть дисков уже была заменена на более специализированные под данную функцию, но периодические выходы из строя начинают утомлять. Особенно это стало заметно, когда человек, занимающийся видеонаблюдением на заводе, уехал на несколько месяцев в отпуск — накопил за несколько лет работы. Он, конечно, оставил вместо себя человека, но он, во-первых, не всегда находится на территории, а во-вторых, делает всё «на отьебись». Что лично меня, например, не устраивает.

Пару месяцев назад был куплен новый сервер под видеонаблюдение. По тестам он несколько превосходит текущий, но последний построен на базе i7-3770, новый же — на базе Xeon (не помню сейчас какой именно). Новый установил параллельно существующему, был установлен Linux с графической оболочкой и тестовая версия сервера видеонаблюдения. Не обошлось, конечно, без бубна и небольших танцев, но, в итоге, все заработало как нужно. В таком состоянии он и был оставлен до конца недели на тестирование. Лично мне Linux больше импонирует, как более устойчивая и быстрая система, по сравнению с Windows. Конечно, у меня свои требования — по ним он полностью выигрывает.
Я не зря упомянул в начале «Граниты». Перед новым годом у меня, в порядке не совсем трезвых размышлений возникла мысль несколько сократить расходы на смс, путем установки какого-то компьютера, на который они и будут приходить. То есть, на данном шаге мы сокращаем количество сообщений, которые рассылают «Граниты» до одного за раз. Затем компьютер уже посредством интернета дублирует эти сообщения на другие телефоны в любой мессенджер: Telegram, Whatsapp и т. п. Благо, что практически каждый человек нынче пользуется хотя бы одним из них.
Но, увы, так как я был не совсем трезв, то поутру вся выстроенная мной схема «убежала» из головы, остался только принцип построения. Благо, что я в порыве воодушевления позвонил товарищу, который занимается установкой и обслуживанием этих «Гранитов» и примерно рассказал, что я хочу получить. Через день он мне напомнил об этом, заодно и прояснили некоторые моменты.
Суть заключается в том, что на какой-то компьютер устанавливается Asterisk, который и занимается приемом и пересылкой сообщений в мессенджеры. Тем более, что знакомый попросил меня разобраться с этой системой, чтобы в дальнейшем внедрить ее на своем предприятии.
Если сервер видеонаблюдения на Linux покажет свою «состоятельность», то почему бы на него не возложить и функции обработки сообщений от ОПС?
В то же время у себя дома вернулся к старой схеме, только немного ее изменив. Как писал ранее, перед новым годом был куплен регистратор, к которому была подключена камера более высокого качества. Регистратор может рассылать оповещения только на почту и, к тому же, только в текстовом виде, что меня не устраивало. Сообщений на одно событие могло быть несколько, по какой причине он разделял одно событие на несколько — неизвестно. Пришлось снова запустить motion, установленный на сервере, брать поток с регистратора и тогда я смог получить и картинку события и текст. Считаю огромным «плюсом» motion то, что он позволяет при возникновении какого-либо события (обнаружено движение, завершена запись видеофайла, завершено сохранение скриншота и т. п.) запустить на выполнение любой внешний скрипт, в котором уже можно делать все, что угодно. Как бонус, можно будет провести кабель от регистратора на телевизор и в прямом эфире просматривать что творится в коридоре.

Интернет от «Игра-сервис»

Почти год назад завод частично отказался от услуг «Интертакса» и подключился к «Игре-сервис». Экономически это был обоснованный переход — взамен возможности предоставления своих услуг на территории завода они предложили бесплатный и безлимитный интернет для него. За время пользования интернетом было около 6 отключений: примерно половина из них продолжалась более 3 часов, остальные — менее часа. В остальном претензий к этому провайдеру нет, интернет работает стабильно. В то же время, насколько мне известно, за прошедший год отключений у «Интертакса» не было.
У самих арендаторов есть выбор которого из провайдеров они хотят использовать: либо более дешевый «Игра-сервис», либо более устойчивый «Интертакс». Как правило, выбирают первый вариант. За все время только один арендатор выбрал «Интертакс», потому что стабильность связи для него была критична. Были и такие, кто считал, что «Игра-сервис» предоставляет все-таки дорогой интернет. Как правило, начинают утверждать, что на предыдущем месте они за него платили меньше. Не спорю, возможно, все зависит от того, как договоришься с провайдером.
Был всего один случай, когда вот прямо сейчас нужно было провести платежи, а интернета не было. И неизвестно было когда он появится — провайдер использовал IP-телефонию для отдела техподдержки, поэтому дозвониться к ним и получить хоть какую-то информацию было не реально, приходилось звонить на мобильный менеджеру, который с нами работает.

Выходной лоток для HP M1132

Так как делать особо нечего, всплыла у меня в голове мысль о том, что стоит поискать выходной лоток для моей МФУ-шки. Я бы сказал, «вовремя» она всплыла, с учетом того, что принтер у меня находится не первый год. Начал искать у себя в городе — нет. В других городах ценник колеблется от 1200 до 1600 рублей. Я когда увидел, чуть глаза на лоб не полезли. Где еще искать? Конечно, у китайцев. А вот у них ценник оказался более адекватным, даже если добавить за доставку — около 350 рублей. Разместил заказ и приготовился ждать долго. Это был поздний вечер. Продавец оказался очень расторопным и буквально на следующий день в почте увидел несколько сообщений: заказ отправлен, трек для отслеживания автоматически добавился в программу Почты России. Последнее немного удивило — оказалось, что треки автоматически добавляются в приложение, когда обнаруживают совпадение номера мобильного телефона.

Апельсиновый сок + водка

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

Позапрошлый год я как-то обошелся без него. В прошлом пришлось купить пару пачек с мякотью и затем, по ходу употребления, отжимать эту мякоть через марлю. Честно говоря, на это уходит столько времени, что потом уже ничего не хочется. В этой году поиски сока без мякоти начались в декабре. В итоге была найдена пара вариантов: один с очень низким содержанием мякоти, почти не чувствовалась; второй — апельсин + грейпфрут. Второй вариант мне показался более приемлемым, поэтому набрал такого сока. Жена же хотела именно апельсинового (а то я не хотел!), пусть и с мякотью.

Провайдер и новые тарифы

Мой провайдер, с прошлого года примерно, начал обновлять личный кабинет. Первым шагом стал переезд на Bootstrap. Затем изменились некоторые пункты в меню. Если быть точней, то исчезли. Например, такой как «Изменить тариф». Раньше можно было без проблем воспользоваться этим пунктом и сменить тариф, не  обращаясь в офис и без писем провайдеру. В то же время, тарифы давно не менялись, поэтому этот пункт меню был невостребованным.

Но не так давно я обнаружил, что:

  • пункт меню «Изменить тариф» исчез из меню;
  • появились новые тарифы.

С момента подключения к этому провайдеру я несколько раз менял тарифы на более быстрые, пока не нашел тот, который меня устраивал по всем параметрам. Затем, в течение нескольких лет, снова было несколько смен тарифов, при этом общая сумма оставалась той же, возрастала только скорость. Как правило, она удваивалась.
Пришлось звонить им в офис и выяснять как мне изменить тариф в текущих условиях. Оператор ответил, что по звонку они его не изменяют, нужно писать обращение в службу поддержки через личный кабинет. И, если я хочу изменить его прямо сейчас, то за это нужно заплатить 50 рублей, которые снимут с лицевого счета. Если я хочу изменить его с первого числа следующего месяца, то это будет бесплатно. Ясен пень, что я согласился подождать первого числа :-)
На текущий момент получается, что я плачу 450 рублей за 25 Мб/с + 50 рублей за «белый» адрес. С января скорость увеличится до 50 Мб/с + тот же «белый» IP. В итоге сумма остается все такой же — 500 рублей, меняется только скорость. Можно было бы, конечно, просто оставить ту же скорость, просто начать меньше платить. Но мне нравится «круглая» сумма платежа :-) В самом плохом случае, если даже не будет денег, почти на две недели, в моем случае, можно взять «обещанный» платеж.

Апгрейд видеонаблюдения

Позавчера нашел на аукционе неплохой видеорегистратор по приемлемой цене. В тот же день выкупил и забрал. На следующий день, в субботу, подключил его к сети и провел первоначальную настройку. При подключении пришлось внести некоторые изменения в топологию локальной сети, так как все порты в роутере были уже заняты: три компьютера и телевизор. Добавил 8-мипортовый хаб и занял последние две розетки в «пилоте». Старая камера показала изображение сразу, но стало очевидно, что картинка у нее никакая — много шумов и полосы горизонтальной развертки. Кабель идущий к ней пришлось разрезать, чтобы подключить сигнальную часть к регистратору, а питание — к компьютеру. Затем заменил собственно камеру. И вот тут начались проблемы — картинки нет. После нескольких тестов стало понятно, что не приходит питание, причем на входе оно есть. Любопытно, что при тестах контакты питания несколько раз замыкались, но блок питания компьютера на это никак не отреагировал и продолжал работать, как ни в чем не бывало. По итогу пришел к выводу, что где-то перебит кабель, потому что камера в какой-то момент заработала и выдала картинку — цветную и намного более качественную. Но что-то все равно меня смущало в ней...
Регистратор установил какой-то не совсем понятный режим для камеры, пришлось искать описание в интернете. Оказалось, что картинка идет не FullHD, как должно, по идее, быть, а этакий half-FullHD. Разница в том, что по горизонтали разрешение меньше почти в два раза. При просмотре плеер выставляет свое соотношение сторон, приходится выставлять его вручную в 16:9, тогда все нормально.
Камера, кстати, прекрасно показывает при полном отсутствии света. Отключил освещение в коридоре, услышал щелчок переключения режима камеры и засветились светодиоды инфракрасной подсветки. Картинка пошла, конечно, черно-белая, но все отлично видно. Это порадовало.
Над чем стоит поработать? Так как регистратор не умеет слать оповещений в мессенджеры типа Telegram, только на почту, то придется что-то придумывать. Первая мысль, которая пришла мне в голову — копировать фото или видео на ftp-сервер, брать данные оттуда и обрабатывать их. В первую очередь интересует распознавание лиц. В таком случае можно четко писать: «пришла жена», «пришел сосед Женя» и т. п. Если не получится, то придется мониторить появление новых файлов на сервере и тогда отсылать сообщение, что было движение в коридоре.

Ранее Ctrl + ↓