2019/12/09

kerberos_io

kerberos.io

보안장비 6.0

1.1 패키지 업데이트
sudo apt-get update && sudo apt-get upgrade

2 개발 도구(c++, cmake) 설치
sudo apt-get install git cmake subversion libav-tools dh-autoreconf libcurl4-openssl-dev yasm libx264-dev pkg-config libssl-dev

2.1 문제 발생.
However the following packages replace it:
  ffmpeg:i386 ffmpeg

E: Package 'libav-tools' has no installation candidate

2.1.1 참고 1 -----
ffmpage 최신 버전 설치 방향 전화.
sudo add-apt-repository ppa:jonathonf/ffmpeg-4

sudo apt-get update
sudo apt-get install ffmpeg

ffmpeg -version

옵션
ffmpeg -version:            버전 표시
ffmpeg -formats:            사용 가능한 형식 보기
ffmpeg -codecs:             사용 가능한 코텍 보기
ffmpeg -decoders:           사용 가능한 디코더 보기
ffmpeg -encoders:           사용 가능한 인코더 보기
ffmpeg -bsfs:               사용 가능한 비트 스트림 필터 보기
ffmpeg -protocols:          사용 가능한 프로토콜 보기
ffmpeg -filters:            사용 가능한 필터 보기
ffmpeg -pix_fmts:           사용 가능한 픽셀 형식 보기
ffmpeg -layouts:            표준 채널 레이아웃 보기
ffmpeg -sample_fmts:        사용 가능한 오디오 보기.

파일 용량 줄이기
ffmpeg -i in.mov -c:v libx264 -c:a copy -crf 20 out.mov

mp4 파일 변환.
ffmpeg -i in.mov -vcodec copy -acodec aac -strict experimental -ab 128k out.mp4

참고 1 end -----

2.1.2 해결 방법1
sudo add-apt-repository ppa:jonathonf/ffmpeg-4
sudo apt update
sudo apt install ffmpeg libav-tools x264 x265

해결 방법2
sudo add-apt-repository ppa:jonathonf/ffmpeg-3
sudo apt update
sudo apt install ffmpeg libav-tools x264 x265

해결 방법3
sudo add-apt-repository ppa:djcj/hybrid
sudo apt-get update
sudo apt-get install ffmpeg

2.2 최신버전 선택
sudo add-apt-repository ppa:jonathonf/ffmpeg-4
sudo apt update
wget http://launchpadlibrarian.net/339874908/libav-tools_3.3.4-2_all.deb
sudo dpkg -i libav-tools_3.3.4-2_all.deb

sudo apt-get install git cmake subversion libav-tools dh-autoreconf libcurl4-openssl-dev yasm libx264-dev pkg-config libssl-dev

ip 카메라 사용 ffmpeg, x264 컴파일
git clone https://github.com/FFmpeg/FFmpeg ffmpeg
cd ffmpeg && sudo git checkout remotes/origin/release/2.8
sudo ./configure --enable-gpl --enable-libx264 --enable-shared --prefix=/usr/local
sudo make && sudo make install

kerberos.io 코드 다운로드
cd && git clone https://github.com/kerberos-io/machinery

컴파일
cd machinery && mkdir build && cd build
cmake .. && make && make check && sudo make install

libavcodec.so.56 error
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev

cmake .. && make && make check && sudo make install

3. 실행파일 위치
which kerberosio
/usr/bin/kerberosio

3.1 부팅 자동 실행 등록
sudo systemctl enable kerberosio

4. 기본 구성 파일 위치
/etc/opt/kerberosio

기본 캡처: 라즈벨리 파이 카메라 모듈 설정 된다.

config.xml 파일 수정
USBCamera 또는 IPCamera로 변경 할 수 있음.

이미지 저장 위치
/etc/opt/kerberosio/capture

이미지 저장 위치 변경
io.xml 파일 편집.

5. 운영.
5.1 웹 설치
웹 서버(예: Nginx) PHP
NodeJS 와 NPM 설치.

5.2 의존성 설치.
sudo apt-get update && sudo apt-get upgrade
curl -sL https://deb.nodesource.com/setup | sudo bash -
sudo apt-get install git nginx php7.2-cli php7.2-gd libmcrypt-dev php-pear php7.2-curl php7.2-mbstring php7.2-xml php7.2-zip php7.2-fpm nodejs npm node-gyp nodejs-dev libssl1.0-dev

sudo ln -s /usr/bin/nodejs /usr/bin/node

6 환경설정
sudo apt-get install nginx

6.1 보안장비 환경 설정에서 추가 설정.

sudo rm -f /etc/nginx/sites-enabled/default ---> 보안장비의 경우 삭제 하면은 안됨. 추가 설정 해야함.
sudo vi /etc/nginx/sites-enabled/default
server
{
    listen 80 default_server;
    listen [::]:80 default_server;
    root /var/www/web/public;
    server_name kerberos.rpi;
    index index.php index.html index.htm;
    location /
    {
            autoindex on;
            try_files $uri $uri/ /index.php?$query_string;
    }
    location ~ \.php$
    {
            fastcgi_pass unix:/var/run/php/php7.2-cli-fpm.sock;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
    }
}

7. 웹 사이트 구조
7.1 웹사이트 생성.
7.2 dns 설정

8. 웹 소스 다운로드
8.1 사이트 경로 이동.
sudo git clone https://github.com/kerberos-io/web && cd web

8.2 composer 사용해 php 패키지 설치.
curl -sS https://getcomposer.org/installer | sudo php
sudo mv composer.phar /usr/bin/composer
sudo composer install

8.3 스토리지 및 디렉토리 파일 쓰기 권한 주기.
sudo chmod -R 777 storage
sudo chmod -R 777 bootstrap/cache
sudo chmod 777 config/kerberos.php

9. npm bower 설치
sudo npm -g install bower

9.1 bower 사용해 프런트 엔드 종속성 설치.
cd public
sudo bower --allow-root install

9.2 재부팅

10. 파일 제거.
이미지, 비디오 파일은 자동으로 제거되지 않음.
디스크에 용량이 없어도, 계속 디스크에 계속 쓰게된다.

이 문제를 해결하려면 bash 스크립트 작성해 관리해 준다.

파티션 경로를 지정 해준다.
vi /home/users]/autoremoval.sh

partition=/dev/root
imagedir=/etc/opt/kerberosio/capture/
if [[ $(df -h | grep $partition | head -1 | awk -F' ' '{ print $5/1 }' | tr ['%'] ["0"]) -gt 90 ]];
then
    echo "Cleaning disk"
    find $imagedir -type f | sort | head -n 100 | xargs -r rm -rf;
fi;

chmod +x /home/[your user]/autoremoval.sh

크롬 에디터 설정 vi
crontab -e

5분 주기로 스크립트 실행
*/5 * * * * /bin/bash /home/[your user]/autoremoval.sh

====
ubunt 14.xx
apt-get update
apt-get install -y git build-essential unzip mercurial php5 php5-gd mcrypt php5-mcrypt php5-curl
php5enmod mcrypt
curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
apt-get install -y nodejs npm nodejs-legacy
npm install -g bower
git clone https://github.com/kerberos-io/kios
cd kios
git checkout develop
./build.sh all
./build.sh all mkrelease

댓글 없음:

댓글 쓰기