LINUX.ORG.RU
ФорумJob

Помогите избавиться от Windows!

 , ,


0

3

Парни, помогите избавиться от Windows!
Несколько раз брался за это благородное дело, но не получилось, знаниев не хватает.

Есть древний DVR, которые пишет видео с камер наблюдения.
Менять его на новый не хочу, потому что привык нему и убедился в его исключительной стабильности работы.

Доступ к нему браузером по http://ip:85
Если заходить в него под Windows XP через Internet Explorer, то все нормально отображается.
Если же заходить в него с любого браузера под Linux, то пользовательский интерфейс отображается, а вот вместо видео черные окна.

Методом научного тыка определил, что в венде просмотр видео тоже не сразу получается, сначала устанавливается ActiveX.
Поэтому попробовал в Линухе плагин «Open in IE» под Firefox и Chromium, но не сработало, видно, чего-то еще не хватает, но что?
Очень хочется избавиться от венды, которой ради этого хоть и в виртуалке, но приходиться пользоваться.

Полцарства за коня решение проблемы :=)

★★★★★

Последнее исправление: chukcha (всего исправлений: 6)

ActiveX

так там неведома зверушка, надо искать про эту DVR и linux

superuser ★★★★☆
()

Internet Explorer

Чукча, просто поставь Internet Explorer через вайн и запускай его через вайн тоже. Должно сработать. А вообще есть что-то такое - Wine-enabled Web browser with ActiveX

Можно потыкать.

vbcnthfkmnth123 ★★★★★
()
Последнее исправление: vbcnthfkmnth123 (всего исправлений: 1)
Ответ на: комментарий от vbcnthfkmnth123

Да думал уже про вайн, но не стал пробовать, потому что у меня не Intel, а ARM. На нем и так мало что работает, а вайн так тем более.

есть что-то такое

А за это спасибо, попробую. Если получится - непременно отблагодарю, как и обещал.

chukcha ★★★★★
() автор топика

Надо узнать, что делает хрень под activex и от этого уже плясать. Мб там и какой-нибудь стандартный протокол.

crutch_master ★★★★★
()
Ответ на: комментарий от crutch_master

Надо узнать, что делает хрень под activex и от этого уже плясать.

А что она может делать а как плясать? :-)

chukcha ★★★★★
() автор топика
Последнее исправление: chukcha (всего исправлений: 1)
Ответ на: комментарий от krasnh

Похожая удачно разрешенная тема,

В той теме смена прошивки и все. У меня самая последня.

Мудель GTVS GTR-04H (клоны Safari SVR-8, Atis DVR-8908KM, Kguard AR821)

chukcha ★★★★★
() автор топика
Ответ на: комментарий от superuser

Эээ.. не понял - что именно поддерживается? :=)

chukcha ★★★★★
() автор топика

попробуй (ip и пароль подставь свои если надо)

mpv rtsp://ip:554/user=admin&password=admin&channel=1&stream=0.cgi

superuser ★★★★☆
()

Не получится, увы. Дело в том что внутри ActiveX находится закрытый кодек для видео, специфичный для железки.

Так что либо вайн либо виртуалка.

alex0x08 ★★★
()
Ответ на: комментарий от chukcha

Оно как-то читает поток с камеры, там внутри может быть банальный rtsp клиент и плеер. Всё что надо - просто выудить ссылку. Но это очень оптимистично.

crutch_master ★★★★★
()
Ответ на: комментарий от superuser

попробуй (ip и пароль подставь свои если надо)
mpv rtsp://ip:554/user=admin&password=admin&channel=1&stream=0.cgi

Ну да, поток rtsp смотрю под обычнм VLC, только толку с этого.
Мне же нужно работать внутри веб-морды этого DVR, менять настройки, проматывать «пленку туда-обратно и многое другое, иначе лишусь его богатого функционала.

chukcha ★★★★★
() автор топика
Последнее исправление: chukcha (всего исправлений: 1)
Ответ на: комментарий от alex0x08

Дело в том что внутри ActiveX находится закрытый кодек для видео, специфичный для железки.

А ведь точно! Когда к свежей XP впервые подключаю DVR и пытаюсь смотреть видео, сначала долго подтягивается и устанавливается какой-то ActiveX с со странным названием. Где-то записал, щас гляну.

Вот как обзывается эта хрень:

Имя: N9_ActiveX.cab?V1281
Издатель: Неизвестный издатель
После того как она устанавливается, появляется просмотр видео.
Может еще что-то подягивается, не знаю видно.

chukcha ★★★★★
() автор топика
Последнее исправление: chukcha (всего исправлений: 3)
Ответ на: комментарий от vbcnthfkmnth123

Есть что-то про wine на арм. box86(64) или есть ли жизнь на ARM-e?

Спс, но пока не пойму, что с этим добром надо сделать, чтобы получился wine :=)

В AUR есть wine, даже слишком много всяких вайнов, но когда ставлю wine-gui-git, то он требует наличия winetricks, а если ставлю winetricks, то он требует установленнго wine-gui-git.
Дурдом «Веселка» :=)

Понятно, что непросто работать с этим ARM, но вот пришлось...

chukcha ★★★★★
() автор топика
Последнее исправление: chukcha (всего исправлений: 1)
Ответ на: комментарий от chukcha

N9_ActiveX.cab

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

alex0x08 ★★★
()
Ответ на: комментарий от superuser

Ну так это наверняка через веб морду, она же работает

«Она» в данном случае кто? Пока не врубился...

chukcha ★★★★★
() автор топика
Ответ на: комментарий от alex0x08

Спс, а как получить этот файл? Я вижу только его название в окне, а где он сам?
(отвык от венды совершенно, и это меня радует :=)

chukcha ★★★★★
() автор топика
Ответ на: комментарий от alex0x08

Так я и говорю - вижу название во всплывшем окошке «Предупреждение системы безопасности», но это же не сам файл.
Щас попробую обычным поиском по имени файла пошуршать

chukcha ★★★★★
() автор топика
Последнее исправление: chukcha (всего исправлений: 1)
Ответ на: комментарий от chukcha

Открой консоль разработчика в эксплорере, будут видны все файлы которые браузер загружает с админки твоего DVR, этот .cab именно оттуда выдается. Дальше по прямой ссылке жмешь «Save as» - он даст сохранить на диск.

alex0x08 ★★★
()
Ответ на: комментарий от alex0x08

Сорри, не могу найти такую консоль в меню IE8.
«Есть средства разработчика», но там непонятно, что делать

chukcha ★★★★★
() автор топика
Ответ на: комментарий от alex0x08

Блин, в этой XP даже обычного поиска по названию файлов - и того нет.
Может эти cab'ы лежат в одном каком-то месте в /Windows?

chukcha ★★★★★
() автор топика
Ответ на: комментарий от alex0x08

Ник удачно выбрал, что сказать )

Я знаю :=) Чукча в чуме ждет рассвета )

chukcha ★★★★★
() автор топика
Ответ на: комментарий от superuser

В коде страницы ищи ссылку на этот N9_ActiveX.cab, скачай его

В коде страницы есть такое:

<object id="dvrplug" name="dvrplug" codebase="N9_ActiveX.cab?V1281#version=1,2,8,1" event="UploadBackupProcess(BackupKey, ulFlag, TotalLen, CurLen, percent);" style="height:0px;width:0px;position:absolute;" classid="clsid:9AA03FEC-6582-48B1-BC62-821D4A7B9461"></object>
И как скачать этот N9_ActiveX.cab ?

chukcha ★★★★★
() автор топика

Под икспихой вайршарком посмотри ссылки на потоки

Bad_ptr ★★★★★
()
Ответ на: комментарий от superuser

Парни, сорри я уже не знаю, кого слушать :=) Насколько понял, alex0x08 занялся анализом этого плагина - может пока подождем его результатов?

chukcha ★★★★★
() автор топика
Ответ на: комментарий от superuser

Ну, ежели интересно, то вот :=)

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

chukcha ★★★★★
() автор топика
Ответ на: комментарий от chukcha

Вообщем что могу сказать, это нативный ActiveX-компонент, частично удалось восстановить код.

Вот тут идет проброс порта в этот компонент со страницы:

document.getElementById("dvrplug").SetClientID(customId);
	var url = window.document.URL;
	var por = url.split(':');
	
	if(por[2] != undefined)
	{
		var port;
		if(por[2].indexOf('/')>0)
		{
			port = por[2].substring(0,por[2].indexOf('/'));
		}
		else
		{
			port = por[2];
		}
	
		if(!isNaN(port))
		{
			document.getElementById("dvrplug").SetWebport(port);
		}
	}
	

Через внедренный на страницу activex происходит все управление:

document.getElementById("dvrplug").StartRecord(RM.frame.getDevice().gethandle(),0,0);

Так что избавиться никак. Из хорошего - внутри обычный .h264 кодек, к потоку которого можно подцепиться указав:

document.getElementById("dvrplug").SetClientID(customId);

Если найду конкретный урл, отвечающий за поток - напишу, сможешь цепляться из VLC какого-нибудь. Но управление все равно из-под венды тк этот activex по-сути расширение к браузеру.

Разумеется что вызывает оно все тот же сервер через json:

    local_28c = NAPI_JsonCommand(apppuStack_264[0],0,0,0,0);
    if (local_28c == 0) {
      *(undefined4 *)((int)this + 8) = 0;
      *(undefined4 *)((int)this + 0xc) = 0;
      if (param_1 != 0) {
        _memset(awStack_228,0,0x104);
        _wmemcpy_s(awStack_228,0x104,*(wchar_t **)((int)this + 0x54),
                   *(rsize_t *)(*(wchar_t **)((int)this + 0x54) + -6));
        DeleteFileW(awStack_228);
      }
    }

В теории можно написать свой клиент на чистом JS, путем долгой и упорной отладки и подбора параметров вызова. Но стоить это будет таких денег, которых у простого чукчи точно нету.

alex0x08 ★★★
()

Зачем тебе избавляться от винды? Линукс это ненужная прослойка железом и виндой в виртуалке. А в виртуалке винда нужна, чтобы можно было хоть как-то работать.

Psilocybe ★★★★
()

Скорее всего этот dvr умеет отдавать rstp поток, натрави на него mpv и дело сделано.

einhander ★★★★★
()

Есть два реалистичных варианта решения проблемы:

1) Простой
Так как у тебя старый бюджетный китаец, не имеющий каких либо уникальных функций, то нет смысла за него держаться, тем более что он устарел.
Просто читаешь отзывы на текущие модели, покупаешь, если не подошло, то меняешь, по деньгам обойдется <10k

2) Сложный
Ставишь в XP http debug proxy, например fiddler, смотришь как плагин общается с устройством(судя по тому что уже есть в теме, там должен быть обычный rest api).
То есть как получает ссылки на потоки и выполняет нужные тебе команды.
И затем из говна и палок bash, curl, mpv (ну или того что умеешь) делаешь альтернативный клиент.
Убеждаешься что получается какая-то хрень и переходишь к пункту №1.

arax ★★
()
Ответ на: комментарий от alex0x08

alex0x08

Спасибо большое за столь кропотливую работу!

Но управление все равно из-под венды тк этот activex по-сути расширение к браузеру.
Так что избавиться никак.

Жаль, жаль... Я ведь уже заранее гонорар приготовил, предвкушая грядущий успех :=)

Ну а если вернуться к идее Wine - получится?
Если, конечно, мне его удастся установить на aarch64.

chukcha ★★★★★
() автор топика
Последнее исправление: chukcha (всего исправлений: 1)
Ответ на: комментарий от chukcha

Я ведь уже заранее гонорар приготовил

Гонорар это хорошо но тут действительно уж слишком много времени и денег потребуется. Был-бы ты производителем таких железок или крупным дистрибьютором - еще был бы смысл обсуждать. Но ради одной устаревшей железки такое делать смысла нет совсем.

Ну а если вернуться к идее Wine - получится?

Сложно сказать, современный вайн хреново эмулирует старые венды. Плюс там сам компонент непростой, в реестр лазает использует кучу библиотек.

Лучше виртуалка с XP.

alex0x08 ★★★
()
Последнее исправление: alex0x08 (всего исправлений: 1)
Ответ на: комментарий от chukcha

Ну а если вернуться к идее Wine - получится? Если, конечно, мне его удастся установить на aarch64.

Сначала добейся чтобы в wine на x86 заработало, а потом про aarch64 думай.

superuser ★★★★☆
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.