IT science

трудовые будни

качаем ролики с сайта Россия К

Потребовалось нам скачать передачу АГОРА с сайта и пересмотреть ее в режиме offline.

открываем ссылку

https://tvkultura.ru/video/show/brand_id/61882/episode_id/2169406/video_id/2182968/

переходим в режим отладки Ctrl+Shift+C, выбираем закладку «Сеть» (Network)

очищаем список загруженных документов, жмем в плеере play и у нас начинают появляться подгруженные файлы, в списке находим ролики с расширением ts. Да вся передача разбита на множество небольших фрагментов, по 10-15 секунд, нам надо их всех выкачать.
на найденном файле жмем правой клавишей и выбираем Копировать->Копировать URL (Copy->Copy link address)

у нас в буфере обмена оказывается ссылка примерно такого вида:

https://a3569458507-s81121.cdn.ngenix.net/_cdn_auth/secure/v/vh/vod_hls/definst/smil:vh/smil/002/182/968_d20190519103336.smil/media_b1800000_pd3628000_1.ts

находим последний фрагмент, перематываем ролик до конца и подгружается файл с адресом:

https://a3569458507-s81121.cdn.ngenix.net/_cdn_auth/secure/v/vh/vod_hls/definst/smil:vh/smil/002/182/968_d20190519103336.smil/media_b800000_pd3628000_374.ts

нам нужны значения от 1 до 374, а далее дело техники, я уже подготовил bash скрипт

#!/bin/bash

# задаем диапазон фрагментов, от 1 до 374
for counter in {1..374}
do
   # дополняем нулями до трехзначного числа (чтобы при склейке в один файл фрагменты не перемешались)
   foo=$(printf "%03d" $counter)
   # скачиваем ролики по одному и сохраняем с дружественными именами
   wget -O "video_$foo.ts" "https://a3569458507-s81121.cdn.ngenix.net/_cdn_auth/secure/v/vh/vod_hls/definst/smil:vh/smil/002/182/968_d20190519103336.smil/media_b800000_pd3628000_$counter.ts"
done

# дальше с помощью ffmpeg склеиваем в один файл и сохраняем в формате mp4
ffmpeg -f concat -safe 0 -i <(for f in ./*.ts; do echo "file '$PWD/$f'"; done) -c copy output.mp4

# удаляем лишние файлы
find . -name "*.ts" -type f -delete

в результате работы скрипта получается файл output.mp4, в котором находится вся передача

 Нет комментариев    12   1 мес   bash   ffmpeg   linux

LSS Chronolux Sketchup 2017 и выше

Плагин для SketchUp для расчёта инсоляции LSS Chronolux ( https://extensions.sketchup.com/ru/content/lss-chronolux ) не обновлялся с 6июня 6 2013.
Тем временем Trimble Navigation выпускает по версии SketchUp каждый год. И если SketchUp 2015 ещё был совместим с LSS Chronolux, то на 2017 версии данный плагин работать оказывается, если у вас до этого на данном компьютере под нужным пользователем не был установлен SketchUp 2015.
Решение проблемы кроется в одном ключе в реестре:

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION]
"sketchup.exe"=dword:0000270f

PS создайте текстовый фал с данным содержанием, сохраните как «chronolux.reg» и двойным кликом внесите изменения в реестр.

подключаемся к BIMCloud basic через ssl

Давайте рассмотрим простую схему настройки подключения к BIMCloud basic через подтвержденный ssl.
У нас была статья про «обратный прокси» https://itscience.pro/all/obratny-proksi-s-podderzhkoy-ssl/ это довольно сложный процесс, связанный с настройкой linux сервера и конфигурацией nginx и cerbot. Рассмотрим простой человекоудобный метод конфигурации.

За основу возьмем synology сервер, нам достаточно простой модели (нагрузки будут минимальны)

заходим в панель управления, включаем «Расширенный режим»

Далее открываем «Портал приложений»

и выбираем «Обратный прокси»

жмем «Создать»

Заполняем поля:

  • Описание: любое понятное нам название, проще использовать имя сервера
    Источник:
  • Протокол: выбираем HTTPS, мы же хотим получить защищенный канал подключения к серверу
  • Имя хоста: пишем доменное имя нашего внешнего подключения (настраивается в глобальном DNS, чаще у регистратора домена), если настраиваем подключение только одного сервер, то можно поставить *
  • Порт: 22000 (для ArchiCAD 22), мы в примере рассматриваем только 1 порт (по аналогии можно настроить другие)
    Место назначения:
  • Протокол: HTTP
  • Имя хоста: ip адрес нашего локального сервера
  • Порт: 22000 (аналогичный внешнему)

остальное оставляем по умолчанию, жмем «OK»

видим, у нас появилась первая запись

Открываем в «Панели управления» «Безопасность»

далее «Сертификат» -> «Добавить»

описание даем по аналогии с описанием прокси, название нашего сервера, сертификат Let’s Encrypt

заполняем название нашего домена (должна быть запись в глобальном DNS и 80 и 443 порты должны быть проброшены к нашему synology), указываем почту, которая будет прописана в сертификате.

после успешного выпуска сертификата, можно его назначить для нашего обратного прокси, для этого оставаясь во вкладке «Сертификат» жмем кнопку «Настроить»

напротив нашего подключения выбираем только что выпущенный сертификат

готово!

Теперь перевыпуск бесплатного сертификата Let’s Encrypt будет контролировать synology, более нашего вмешательства не потребуется.

обратный прокси с поддержкой ssl

Многие недооценивают обратный прокси на базе nginx или просто не знают куда это можно применить!

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

у нас в локальной сети есть два вэб сервера:

  • сайт компании (192.168.1.2)
  • интерфейс почтового сервера (192.168.1.3)

оба слушают 80 и 443 порты.

наш внешний ip: 123.123.123.123
создаем два домена:

  • domain.ru
  • mail.domain.ru

все! осталось малость, настраиваем nginx сервер, с двумя конфигами для вышеупомянутых доменов, первый ссылается на 192.168.1.2, второй на 192.168.1.3.

на шлюзовой машине настраиваем NAT с внешнего интерфейса к nginx серверу (80 и 443 порты).

осталось малость, на сервере с nginx настроить certbot для автоматического выпуска сертификатов ssl для наших доменов domain.ru и mail.domain.ru.

Итак, что мы получаем: у нас два физически разных сервера, использующих одинаковые порты 80 и 443, выведены наружу, т. е. расположены на одном внешнем ip адресе. Маршрутизация осуществляется посредством имени домена, оба домена имеют подтвержденные сертификаты ssl.

Ошибка в файле ifc

Сегодня при открытии ifc модели от подрядчиков Solibri viewer выдал ошибку «Reading of IFC model failed».

Странно, при этом ArchiCAD спокойно эту модель загрузил, выругавшись только на нулевые id некоторых объектов. Попробовали открыть в Solibri optimizer, ошибка уже выглядела по-другому, явная ругаясь на синтаксис.

Итак, результаты расследования выявили, что внутри строки использованы не экранированные одинарные кавычки, лечится дублированием

FILE_NAME(’\\\\server\\Path\\’EXPO project name’\\Other path\\file name.ifc’,’2009’,(’Architect’),(’ ’),’ ’,’Windows System’,’The authorising person’);

вот правильная строка

FILE_NAME(’\\\\server\\Path\\’’EXPO project name’’\\Other path\\file name.ifc’,’2009’,(’Architect’),(’ ’),’ ’,’Windows System’,’The authorising person’);

такой косяк допустила программа SAPFIR v.1.0 (IFC 2x3 interface 23-03-2009)

 Нет комментариев    18   2 мес   ifc   Solibri
Ранее Ctrl + ↓