Показаны сообщения с ярлыком видеонаблючение. Показать все сообщения
Показаны сообщения с ярлыком видеонаблючение. Показать все сообщения

ivideon server install

 

Иструкция по настройке от ivideon

В данном случае потребуется установка сервера через установочный скрипт. Для того, чтобы загрузить скрипт используйте данную команду:

wget http://downloads-cdn77.iv-cdn.com/bundles/server/install-ivideon-server.sh

2.Заходим в каталог home/<имя пользователя>/Загрузки и вводим команду для установки программы Ivideon Server

chmod +x ./install-ivideon-server.sh && sudo ./install-ivideon-server.sh -n
  1. Далее создаем папку .IvideonServer в /home/<имя пользователя>/ - команда
mkdir .IvideonServer

а затем в папке .IvideonServer создаем файл videoserverd.config - команда

touch videoserverd.config

4.Прописываем необходимые данные в конфигурационном файле (команда nano videoserverd.config; для сохранения нажимаем Ctrl+O, для выхода из редактора Ctrl+X), к примеру

{
"#localView" : {
"passwordHash" : "",
"proxyPort" : 3101,
"streamerPort" : 8080
},
"account" : {
"email" : "",
"password" : "",
"serverName" : "",
"uin" :
},
"archive" : {
"maxEventLogSize" : 0,
"path" : "/home/<имя пользователя>/.IvideonServer/archive",
"sizeLimit" : 14336,
"sizeToCleanup" : 1024,
"useArchive" : false
},
"cameras" : [
{
"id" : 0,
"mdSensitivity" :,
"name" : "",
"recordType" : "",
"rtspTransport" : "",
"urlHigh" : ""
}
],

"logging" : {
"isTruncate" : false,
"path" : "/home/<имя пользователя>/.IvideonServer/service.log"
},
"network" : {
"ivideonProxyHost" : "proxy.ivideon.com"
},
"system" : {
"cwd" : "/home/<имя пользователя>/.IvideonServer"
}
}

5.Производим привязку сервера к аккаунту

/opt/ivideon/ivideon-server/videoserver --config-filename=/<путь к файлу конфигурации>/videoserverd.config --attach --email="аккаунт" --server-name="имя сервера"

далее прописываем

sudo /opt/ivideon/ivideon-server/install_services.sh install videoserver user /home/user/.IvideonServer/videoserverd.config

Для автоматического запуска сервера при старте системы необходимо выполнить следующее:

sudo /opt/ivideon/ivideon-server/init_ctl install <имя пользователя> <путь к файлу конфигурации>

Для удаления его из автозапуска:

sudo /opt/ivideon/ivideon-server/init_ctl uninstall

Для управления видеосервером необходимо использовать скрипт init.d:

/etc/init.d/videoserver <start|stop|restart|status>

Для добавления и продвинутой настройки камер настоятельно рекомендуется использовать сервер с графическим интерфейсом на отдельной машине, затем скопировать файл конфигурации сервера videoserverd.config в директорию /home/<имя пользователя>/.IvideonServer/videoserverd.config

Однако при необходимости камеры можно добавить и вручную, для этого в секцию "cameras" конфига нужно добавить словари камер в следующем формате:

"cameras" : [

     {

        "id" : 0,

        "mdSensitivity" : 50,

        "name" : "Camera number 1",

        "recordType" : "motion",

        "rtspTransport" : "auto",

        "urlHigh" : "rtsp://root:root@192.168.1.1/Streaming/1"

     },

     {

        "id" : 1,

        "mdSensitivity" : 50,

        "name" : "Camera number 2",

        "recordType" : "continuos",

        "rtspTransport" : "tcp",

        "urlHigh" : "rtsp://root:root@192.168.1.2/"
},

Как получить снапшот с Ubiquiti AirCam Snapshot

Многие пользователи Ubiquiti AirCam сталкивались с проблемой получения снапшота c   камеры. Так как там используется не стандартная авторизация http, а авторизация через форму и cookie. В итоге логин и пароль никак нельзя передать через строку запроса.
Я доллго искал решения на просторах интернета, но ничего не находилось. Пытался сам разобраться в камере, но файловая система в read-only.

Пока случайно не наткнулся на http://community.ubnt.com/t5/airVision/Anonymous-Snapshot-amp-online-broadcast/td-p/317576
За что автору большое спасибо!

Сразу хочу попросить тех, кто еще не делал данных действий скинуть в комментарий расщиренный список дирректории. Так как после долгих эксперементов я забыл в каком виде он был изначально.
Т.е. мне нужен результат комманды ls -l /usr/www/images

И сам хак:
1. Подключаемся по ssh к камере;
2. Выполняем три следующие команды:

mkdir /etc/persistent/www
ln -s /tmp/snap.jpeg /etc/persistent/www/logo.gif
save

3. Проверяем по адресу http://[ip]/images/logo.gif у вас должен отображаться снапшот без запроса авторизации .


p.s. В итоге у меня почему то  /etc/persistent/www/logo.gif ссылался на  /tmp/snap.jpg. Я удалил ссылку и создал заново, после этого все заработало. Возможно я опечатался.

Интерфейс интернет камеры с управлением trendnet tv-ip400 для пользователей

Месяц назад я задумал сделать камеру, которая показывает панораму города в реальном времени. Взял обычную камеру интернет камеру и собрал поворотное устройство на базе ардуино. Но сразу выползли косяки. Камера питается от 5В, ардуино с сервоприводами нужно 12В. 5В не хватает сервам и они трещат, кряхтят и все дергается. Конструкция тоже оказалась не очень гармоничной. Разместить это все в прозрачной колбе получалось с трудом.

Так оказалось, что одна из первых моих интернет камер оказалась без дела. Матрица старого образца шумит. Разрешение не ахти - 640 х 480, однако даже при таком она картинку кажет не очень, по сравнению с существующими ныне камерами такого же разрешения. Так вот она и отошла от дела. А тут на днях она мне попадает в руки. Решено, что надо ее использовать.

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

Решил посерфить базу интернета на наличие api. Естественно ничего не существует. И тут попалась поделка нашего немецкого друга. Ее я и взял за основу.

if ($control) {
  // Generate the request header
  # Configuration
  $Host="хх.хх.хх.хх.";
  $Port="хх";
  #PanTiltSingleMove:
  # 0 1 2
  # 3 4 5
  # 6 7 8
  //echo "<pre>";
  //var_dump($_POST);
  if ($d>0){
          $dir1=$d;
          $pan=$x;
          $tilt=$y;
          if ($d2>0)
                    $kuda='инициализация...';
          else
                    $kuda='поворот';
  } else {
    $pan=0;
    $tilt=0;
    $dir1=4;
    $kuda='';
    if ($here_x>200) {
            $dir1=5;
            $pan=3;
            $kuda='вправо';
    } elseif ($here_x<100) {
            $dir1=3;
            $pan=3;
            $kuda='влево';
    }
    if ($here_y>160) {
       if ($dir1!=4) {
         $dir1=$dir1+3;
         $kuda=$kuda.' и ';
       } else {
         $dir1=7;
       }
            $kuda=$kuda.'вниз';
            $tilt=4;
    } elseif ($here_y<80) {
       if ($dir1!=4) {
         $dir1=$dir1-3;
         $kuda=$kuda.' и ';
       } else {
         $dir1=1;
       }
            $kuda=$kuda.'вверх';
            $tilt=4;
    }
  }
  if ($dir1==4) {
    $kuda='центровка';
    header("Refresh: 0; URL=?control=1&d=8&x=10&y=3&d2=5&x2=10&y2=0");
  } else {
    if ($d2>0) {
        header("Refresh: 0; URL=?control=1&d=$d2&x=$x2&y=$y2");
    } else {
        header("Refresh: 0; URL=?1=1"); //делайте как хотите этот рефреш
    }
  }
  //начинается секретное API
  $ReqBody = "PanSingleMoveDegree=$pan&TiltSingleMoveDegree=$tilt&PanTiltSingleMove=$dir1";
  $URI="/PANTILTCONTROL.CGI";
  $ReqHeader =
  "POST $URI HTTP/1.1\n".
  "Authorization: Basic ".base64_encode("guest")."\n".
  "Host: $Host:$Port\n".
  "Content-Type: application/x-www-form-urlencoded\n".
  "Content-Length: ".strlen($ReqBody)."\n\n";
  $Zapros=$ReqHeader."$ReqBody\n";
  // Open the connection to the host
  $socket = fsockopen($Host, $Port, &$errno, &$errstr);
  if (!$socket)
  {
    echo "error";
  } else {
    fputs($socket, $Zapros);
    $idx = 0;
    while (!feof($socket)) {$Result1[$idx++] = fgets($socket, 128);}
  }
  //конец серкретного АПИ
  echo '<BODY STYLE="MARGIN: 0; PADDING: 0; BACKGROUND-COLOR: #000000">';
  echo "<table width=100% height=100% cellpadding=0 cellspacing=0><tr><td valign=middle align=center bgcolor=black><font color=white>
  <b>$kuda";//<br>pan=$pan tilt=$tilt dir1=$dir1<br>";
  //var_dump($Result1);
  echo "</td></tr></table>";
  exit;
}
  header("Refresh: 15; URL=?1=1"); //рефреш в себя
?>
<BODY STYLE="MARGIN: 0; PADDING: 0; BACKGROUND-COLOR: #000000"><form action=?1=1 method=post><input type=image src=http://HOST:PORT/IMAGE.JPG name=here><input type=hidden name=control value=1></form>

Это только начало. Надеюсь не заброшу :)

0DMRMaster - DMR Server

 0DMRMaster https://github.com/olympy/0DMRMaster 1. Install Python 3.13.7 wget https://www.python.org/ftp/python/3.13.7/Python-3.13.7.tgz ta...