1864953_ja-JP

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

1864953_ja-JP

1864953_ja-JP

systemd で GStreamer を起動します。

systemdでGStreamerを起動する際に問題があります。

次のコマンドを入力すると、エラーメッセージが表示され、ビデオが表示されません。

解決策を見つけるのを手伝ってください。

root@imx8mpevk:~# systemctl start myservice
root@imx8mpevk:~# systemctl status myservice
* myservice.service - テストサービス
読み込み済み: 読み込み済み (/etc/systemd/system/myservice.service; 無効; プリセット: 無効)
アクティブ: 2024年5月14日火曜日02:12:25 UTC以降にアクティブ(実行中)。7秒前
メインPID:834(myservice.sh)
タスク: 2 (制限: 5574)
メモリ:5.1M
CGroup: /system.slice/myservice.service
|-834 /bin/bash /home/root/myservice.sh
'-841 スリープ 10

5月14日02:12:25 imx8mpevk systemd [1]:テストサービスを開始しました。
5月14日 02:12:25 imx8mpevk myservice.sh[834]:GST開始!!
5月14日02:12:25 imx8mpevk myservice.sh[835]:パイプラインを一時停止するように設定しています...
5月14日02:12:25 imx8mpevk myservice.sh[835]:パイプラインを一時停止に設定できませんでした。
5月14日02:12:25 imx8mpevk myservice.sh[835]:パイプラインをNULLに設定しています...
5月14日 02:12:25 imx8mpevk myservice.sh[835]:パイプラインの解放...

同じシェルスクリプトをコンソールで実行すると正常に動作し、ビデオを見ることができます。

root@imx8mpevk:~# ./myservice.sh
GSTスタート!!
パイプラインを一時停止するように設定しています...
パイプラインは稼働しており、PREROLLは必要ありません...
パイプラインは事前に展開されています...
パイプラインを PLAYING に設定しています ...
新しいクロック: GstSystemClock
[ 1033.191967] バイパスCSC
[ 1033.194381] 入力fmt YUV4
[ 1033.197096] 出力fmt YUYV
レイテンシの再配分...
0:00:00.8 / 99:99:99.

これが私の「myservice.service」ですと "myservice.sh"ファイル。

myservice.service

[Unit]
Description=GStreamer
After=multi-user.target

[Service]
Type=simple
User=root
ExecStart=/home/root/myservice.sh
RemainAfterExit=yes
GuessMainPID=no

myservice.sh

#!/bin/bash

export XDG_RUNTIME_DIR=/run/user/0/
echo gst start!!
gst-launch-1.0 v4l2src device=/dev/video2 ! waylandsink

助けてください!!


Re: systemd で GStreamer を起動します。

誰も興味を示さなかったのですが、自分で解決策を見つけ、ここにまとめました。

myprogram.service

【ユニット】
description=私の最後のサービス
アフター=weston.service

【サービス】
ユーザー=ルート
環境="WAYLAND_DISPLAY=/run/wayland-0"
環境="XDG_RUNTIME_DIR=/run/user/$(id -u root)"
ExecStart=/home/root/run.sh
再起動=失敗時
StandardOutput=ジャーナル
StandardError=ジャーナル

[インストール]
WantedBy=マルチユーザー.ターゲット

run.sh

エコースタートGST!!

GSTローンチ-1.0v4l2src device=/dev/video2 !ウェイランドシンク

サービス登録

systemctl デーモン-リロード
systemctl enable myprogram.service

このように、それは私にとってうまくいきます。再起動すると、カメラの画面が自動的に出ます。

Tags (1)
No ratings
Version history
Last update:
‎11-21-2025 10:20 PM
Updated by: