上記より、録画済みデータに対して処理を行うことは現実的ではないと判断した。
Ubuntu Server に GUI環境を作る。
参考元How to Install and Configure VNC on Ubuntu 20.04 [Quickstart]
$ sudo apt update $ sudo apt-get install xfce4 xfce4-goodies
$ sudo apt-get install tightvncserver
$ vncpasswd You will require a password to access your desktops. Password: Verify:
#!/bin/bash xrdb $HOME/.Xresources startxfce4 &
chmod +x ~/.vnc/xstartup
$ sudo vi /etc/systemd/system/vncserver@.service
[Unit] Description=Start TightVNC server at startup After=syslog.target network.target [Service] Type=forking User=<ユーザ名> Group=<グループ名> WorkingDirectory=/home/<ユーザ名> PIDFile=/home/<ユーザ名>/.vnc/%H:%i.pid ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1 ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 -localhost :%i ExecStop=/usr/bin/vncserver -kill :%i [Install] WantedBy=multi-user.target
$ sudo systemctl daemon-reload
$ sudo systemctl enable vncserver@1.service
$ ssh -f -L 59000:localhost:5901 -C -N -l <ユーザID> -i <秘密鍵> <Ubuntu Server IP>
vncviewer :59000
Chrome を導入する。
$ wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
$ sudo apt-get install ./google-chrome-stable_current_amd64.deb
ffmpeg を導入する。
$ sudo apt-get install ffmpeg
Motion を導入する。
参考元Installing and Building from Source
$ sudo apt-get install motion
$ sudo apt-get install libavformat-dev libavcodec-dev libavutil-dev libswscale-dev libavdevice-dev $ sudo apt-get install libjpeg-turbo8 libjpeg-turbo8-dev
$ sudo apt-get install v4l2loopback-dkms
$ sudo vi /etc/modules-load.d/modules.conf
v4l2loopback
$ sudo usermod <ユーザ> -G video -a
; log_file /var/log/motion/motion.log # ログを取らない target_dir /home/<ユーザ> # 保存場所をユーザがアクセス権を持つ場所へ変更 netcam_url v4l2:///dev/video0 # ffmpeg のキャプチャデータが /dev/video0 に出力されるので、それをカメラソースにする width 1280 # VNC のサイズと同じにする height 800 # VNC のサイズと同じにする framerate 15 # ffmpeg のフレームレートと同じにする ;text_left CAMERA1 # 録画映像に [CAMERA 1] などの説明をオーバレイしない ;text_right %Y-%m-%d\n%T-%q # 録画映像に録画時刻をオーバーレイしない post_capture 45 # 動きがなくなった後、何フレーム追加で録画するか threshold_tune on # 動体検知しきい値の自動調整 movie_max_time 0 # 動体検知後の録画打ち切り時間を 0 (打ち切らない)にする movie_codec mp4 # 録画映像のフォーマットを mp4 にする movie_filename %Y%m%d%H%M%S # 録画映像のファイル名を設定する
(例) $ ssh -f -L 59000:localhost:5901 -C -N -l <ユーザID> -i <秘密鍵> <Ubuntu Server IP>
(例) vncviewer :59000
$ ffmpeg -f x11grab -draw_mouse 0 -video_size 1280x800 -framerate 15 -i :1.0 -f v4l2 /dev/video0
$ motoin -c motion.conf