カメラ画角の確認用でラズパイ起動後にffplayを自動起動させたい
Q&A
Closed
解決したいこと
ラズパイとWebカメラで画像の定期撮影をやりたいと思っています。
そこで、ラズパイ起動時にカメラ画角を確認したく、ffplayを使用しています。
シェルスクリプトを作成し、Sysetemdで自動起動をやっているのですが、ffplayが立ち上がりません(立ち上がっているけど画面が表示されない?)。。。
解決方法を教えて下さい。
実施していること
①シェルスクリプトを作成
ffplayでカメラ画角を確認、1分後に自動終了
#!/bin/bash
timeout 60 ffplay -f v4l2 -i /dev/video0
②Systemdで自動実行
下記フォルダにserviseファイルとtimerファイルを作成
/etc/systemd/system
・serviseファイル
[Unit]
Description = check camera angle
[Service]
ExecStart = /home/user/Desktop/camera/test.sh
User = user
Group = user
[Install]
WantedBy = multi-user.target
・timerファイル
[Unit]
Description = check camera angle
[Timer]
OnBootSec = 3min
Unit = cap.service
[Install]
WantedBy = multi-user.target
発生している問題
SystemdのServiceファイルのステータスを確認すると、
timerファイルで指定した3分後にはエラーが発生していないように見えるのですが、シェルスクリプトの実施後、確認するとエラーが発生しております・・・
↓ちなみに、Sytemdを使わずに、シェルスクリプトのみの実行だと問題なく動作しています。
Serviceファイルの実行結果 ※ffplay起動中?
● cap.service - check camera angle
Loaded: loaded (/etc/systemd/system/cap.service; enabled; vendor preset: e>
Active: active (running) since Thu 2023-11-02 13:18:34 JST; 16s ago
TriggeredBy: ● cap.timer
Main PID: 1547 (test.sh)
Tasks: 11 (limit: 8695)
CPU: 2.052s
CGroup: /system.slice/cap.service
├─1547 /bin/bash /home/user/Desktop/camera/test.sh
├─1549 timeout 60 ffplay -f v4l2 -i /dev/video0
└─1550 ffplay -f v4l2 -i /dev/video0
11月 02 13:18:35 raspberrypi test.sh[1550]: error: XDG_RUNTIME_DIR not set in t>
11月 02 13:18:36 raspberrypi test.sh[1550]: error: XDG_RUNTIME_DIR not set in t>
11月 02 13:18:37 raspberrypi test.sh[1550]: [4.0K blob data]
11月 02 13:18:37 raspberrypi test.sh[1550]: Duration: N/A, start: 187.219201,>
11月 02 13:18:37 raspberrypi test.sh[1550]: Stream #0:0: Video: rawvideo (Y>
11月 02 13:18:43 raspberrypi test.sh[1550]: [11.8K blob data]
11月 02 13:18:44 raspberrypi test.sh[1550]: [1.9K blob data]
11月 02 13:18:44 raspberrypi test.sh[1550]: [929B blob data]
11月 02 13:18:45 raspberrypi test.sh[1550]: [1.3K blob data]
11月 02 13:18:49 raspberrypi test.sh[1550]: [6.6K blob data]
Serviceファイルの実行結果 ※シェルスクリプトで指定した1分経った後
エラーがでている。。。
● cap.service - check camera angle
Loaded: loaded (/etc/systemd/system/cap.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Thu 2023-11-02 13:19:35 JST; 1min 50s ago
TriggeredBy: ● cap.timer
Process: 1547 ExecStart=/home/pi/Desktop/camera/test.sh (code=exited, status=124)
Main PID: 1547 (code=exited, status=124)
CPU: 3.119s
11月 02 13:18:37 raspberrypi test.sh[1550]: Duration: N/A, start: 187.219201, bitrate: 199065 kb/s
11月 02 13:18:37 raspberrypi test.sh[1550]: Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 1920x1080, 199065 kb/s, 6>
11月 02 13:18:43 raspberrypi test.sh[1550]: [11.8K blob data]
11月 02 13:18:44 raspberrypi test.sh[1550]: [1.9K blob data]
11月 02 13:18:44 raspberrypi test.sh[1550]: [929B blob data]
11月 02 13:18:45 raspberrypi test.sh[1550]: [1.3K blob data]
11月 02 13:18:49 raspberrypi test.sh[1550]: [6.6K blob data]
11月 02 13:19:35 raspberrypi systemd[1]: cap.service: Main process exited, code=exited, status=124/n/a
11月 02 13:19:35 raspberrypi systemd[1]: cap.service: Failed with result 'exit-code'.
11月 02 13:19:35 raspberrypi systemd[1]: cap.service: Consumed 3.119s CPU time.
Timerファイルの実行結果
こちらは問題ないかと。
● cap.timer - check camera angle
Loaded: loaded (/etc/systemd/system/cap.timer; enabled; vendor preset: ena>
Active: active (elapsed) since Thu 2023-11-02 13:15:21 JST; 4min 53s ago
Trigger: n/a
Triggers: ● cap.service
11月 02 13:15:21 raspberrypi systemd[1]: Started check camera angle.
お詳しい方、ご回答のほど、お願いいたいます。
不足している情報等ありましたら、コメントいただければと思います。