Hello,
There's an issue with starting GStreamer in systemd, and here is the error message:
root@imx8mpevk:~# systemctl status my
x my.service - GStreamer Service
Loaded: loaded (/etc/systemd/system/my.service; enabled; preset: disabled)
Active: failed (Result: exit-code) since Thu 2024-05-02 02:35:05 UTC; 15s ago
Duration: 309ms
Process: 469 ExecStart=/bin/bash /home/root/run.sh (code=exited, status=255/EXCEPTION)
Main PID: 469 (code=exited, status=255/EXCEPTION)
May 02 02:35:05 imx8mpevk systemd[1]: Started GStreamer Service.
May 02 02:35:05 imx8mpevk bash[470]: Setting pipeline to PAUSED ...
May 02 02:35:05 imx8mpevk bash[470]: Failed to set pipeline to PAUSED.
May 02 02:35:05 imx8mpevk bash[470]: Setting pipeline to NULL ...
May 02 02:35:05 imx8mpevk bash[470]: Freeing pipeline ...
May 02 02:35:05 imx8mpevk systemd[1]: my.service: Main process exited, code=exited, status=255/EXCEPTION
May 02 02:35:05 imx8mpevk systemd[1]: my.service: Failed with result 'exit-code'.
And here is my test environment.
/etc/systemd/system/my.service
[Unit]
Description=GStreamer Service
[Service]
Type=simple
ExecStart=/bin/bash /home/root/run.sh
User=root
[Install]
WantedBy=multi-user.target
/home/root/run.sh
export XDG_RUNTIME_DIR=/run/user/0/
gst-launch-1.0 v4l2src device=/dev/video2 ! waylandsink
System:
Target Board:
imx8mpevk
Build Environment:
imx-docker: imx-6.6.3-1.0.0
Dockerfile: Dockerfile-Ubuntu-22.04
Build docker image:
./docker-build.sh Dockerfile-Ubuntu-22.04
Edit env.sh:
IMAGES="imx-image-multimedia"
If I run it after boot, it works without any problem.
imx8mpevk login: root
root@imx8mpevk:~# ./run.sh
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
[ 98.480714] bypass csc
[ 98.483112] input fmt YUV4
[ 98.485901] output fmt YUYV
Redistribute latency...
0:00:01.1 / 99:99:99.
I would appreciate your assistance with this issue.
Best regards,
Patrick Kim