Need help installing ustreamer
-
not so sure about the 2 minutes, systemd isn't my forte.
nor am I 100% sure about the usecase and proposed solution is the best match.
but yeah, the command to edit the files as root is fine, it does the same as sudo nano /etc/.... just without loopholes and it respects the EDITOR env variable for those who have customized their profile.
are you looking for a solution that will autostart when the camera is connected, or a solution that will autostart when the pi starts (with the camera always connected)?
my day is coming to an end, but i think the last bit there might clear up some misconceptions?
-
I normally will keep the camera always connected so the autostart with camera connected would work for me. But either would work ok.
-
(the template thing might do both, idk, if I fidn a camera tomorrow i'll play with it a little in the evening)
-
Sounds good thanks.
-
I notice that line 2 uses a upper case I and line 5 uses a lower case i Don't know if this is anything or not, thought I would mention it.
[Unit] Description=UStreamer for %I [Service] Type=simple ExecStart=/usr/local/bin/ustreamer --exit-on-parent-death -r 640x480 --static /tmp/ -d /dev/%i --host=0.0.0.0 --port=8080 [Install] WantedBy=multi-user.target
-
thats intentional. %I gets escaped so it doesn't contain special characters, which is needed for the name (and i suspect gtj0 would have corrected it if I was mistaken:)
-
@bearer said in Need help installing ustre sure the camera is plugged in.
eamer:thats intentional. %I gets escaped so it doesn't contain special characters, which is needed for the name (and i suspect gtj0 would have corrected it if I was mistaken:)
Correct. It's just in the description anyway.
@luckyflyer start simple...
### Move the rules file out of the way $ sudo mv /etc/udev/rules.d/80-ustreamer.rules /root/ ### Reload systemd $ sudo systemctl daemon-reload ### Enable ustreamer@video0 to start on boot. $ sudo systemctl enable ustreamer@video0 Created symlink /etc/systemd/system/multi-user.target.wants/ustreamer@video0.service → /etc/systemd/system/ustreamer@.service. ### Make sure the camera is plugged in. ### Reboot. $ sudo systemctl reboot ### When the Pi is back up, check the status of the service... $ sudo systemctl status ustreamer@video0
-
@gtj0 Thanks for your help and sorry to be such a pain.
I enter each command and this is what I get.pi@duet3:~ $ sudo mv /etc/udev/rules.d/80-ustreamer.rules /root/ pi@duet3:~ $ sudo systemctl daemon-reload pi@duet3:~ $ sudo systemctl enable ustreamer@video0 Failed to enable unit: Unit file ustreamer@video0.service does not exist.
I have followed the previous steps exactly and several times using copy and paste. I'm using nano3.2 and do ctrl X Yes then enter to save and then reboot. I do this for both of the files. I'm at a loss to for why the service does not exist.
One thing I've noticed is when I go back into the editor the text that I previously entered
ACTION=="add", KERNEL=="video0", SUBSYSTEM=="video4linux", TAG+="systemd", ENV{SYSTEMD_WANTS}+="ustreamer@%k.service" ACTION=="remove", KERNEL=="video0", SUBSYSTEM=="video4linux", RUN+="/bin/systemctl --no-block stop ustreamer@%k.service"
and
[Unit] Description=UStreamer for %I [Service] Type=simple ExecStart=/usr/local/bin/ustreamer --exit-on-parent-death -r 640x480 --static /tmp/ -d /dev/%i --host=0.0.0.0 --port=8080 [Install] WantedBy=multi-user.target
are still there, is this normal? I have the feeling that the files are not being saved. I'm wondering if I don't have permissions set correctly but get no error stating that I don't. Doing research to understand about permissions.
-
@luckyflyer Are you sure the
ustreamer@.service
file is located in/etc/systemd/system
and that it's named exactly that?Try
ls -al /etc/systemd/system
thencat /etc/systemd/system/ustreamer@.service
-
@gtj0
ls -al /etc/systemd/systempi@duet3:~/ustreamer $ ls -al /etc/systemd/system total 76 drwxr-xr-x 17 root root 4096 May 29 22:30 . drwxr-xr-x 5 root root 4096 May 19 06:26 .. -rw-r--r-- 1 root root 1551 Apr 7 06:06 autologin@.service drwxr-xr-x 2 root root 4096 May 19 07:56 basic.target.wants drwxr-xr-x 2 root root 4096 May 19 06:36 bluetooth.target.wants lrwxrwxrwx 1 root root 42 May 19 06:38 dbus-fi.w1.wpa_supplicant1.service -> /lib/systemd/system/wpa_supplicant.service lrwxrwxrwx 1 root root 37 May 19 06:36 dbus-org.bluez.service -> /lib/systemd/system/bluetooth.service lrwxrwxrwx 1 root root 40 May 19 06:37 dbus-org.freedesktop.Avahi.service -> /lib/systemd/system/avahi-daemon.service lrwxrwxrwx 1 root root 45 May 19 06:26 dbus-org.freedesktop.timesync1.service -> /lib/systemd/system/systemd-timesyncd.service lrwxrwxrwx 1 root root 34 May 19 06:38 dhcpcd5.service -> /lib/systemd/system/dhcpcd.service lrwxrwxrwx 1 root root 35 May 19 07:58 display-manager.service -> /lib/systemd/system/lightdm.service drwxr-xr-x 2 root root 4096 May 19 06:26 getty.target.wants drwxr-xr-x 2 root root 4096 May 19 06:31 getty@tty1.service.d drwxr-xr-x 2 root root 4096 May 19 07:58 graphical.target.wants drwxr-xr-x 2 root root 4096 May 19 06:35 halt.target.wants drwxr-xr-x 2 root root 4096 May 25 20:04 multi-user.target.wants drwxr-xr-x 2 root root 4096 May 19 06:28 network-online.target.wants drwxr-xr-x 2 root root 4096 May 19 06:35 poweroff.target.wants drwxr-xr-x 2 root root 4096 May 19 06:38 rc-local.service.d drwxr-xr-x 2 root root 4096 May 19 06:35 reboot.target.wants drwxr-xr-x 2 root root 4096 May 19 06:36 remote-fs.target.wants drwxr-xr-x 2 root root 4096 May 19 08:03 sockets.target.wants lrwxrwxrwx 1 root root 31 May 19 06:36 sshd.service -> /lib/systemd/system/ssh.service drwxr-xr-x 2 root root 4096 May 19 06:36 sysinit.target.wants lrwxrwxrwx 1 root root 35 May 19 06:28 syslog.service -> /lib/systemd/system/rsyslog.service drwxr-xr-x 2 root root 4096 May 19 06:29 timers.target.wants -rw-r--r-- 1 root root 217 May 30 12:24 ustreamer@.service: pi@duet3:~/ustreamer $
cat /etc/systemd/system/ustreamer@.service
pi@duet3:~ $ cat /etc/systemd/system/ustreamer@.service cat: /etc/systemd/system/ustreamer@.service: No such file or directory
Looks like the first one is there, but not the second.
I think it's something with my editor but don't know how to check to see. -
@luckyflyer maybe try making it executable?
sudo chmod +x /etc/systemd/system/ustreamer@.service
(long shot)
-
tried it,
pi@duet3:~ $ sudo chmod +x /etc/systemd/system/ustreamer@.service chmod: cannot access '/etc/systemd/system/ustreamer@.service': No such file or directory
-
@gtj0 @bearer
Been reading up on the cat command, was wondering if that would be a good way to create and save the missing file? -
hmm, does the filename have a
:
at the end?sudo mv /etc/systemd/system/ustreamer@.service: /etc/systemd/system/ustreamer@.service sudo chmod +x /etc/systemd/system/ustreamer@.service
-
@gtj0 said,
@luckyflyer Are you sure the ustreamer@.service file is located in /etc/systemd/system and that it's named exactly that?
I noticed that inls -al /etc/systemd/system
that in line 29 it is
ustreamer@.service:
With a colon, instead of
ustreamer@.service
Is this a problem?
-
They say great minds think alike................ maybe, I don't know lol.
-
@luckyflyer said in Need help installing ustreamer:
cat command, was wondering if that would be a good way to create
well, you can use cat and heredoc to create files like so
cat << EOF > /tmp/yourfilehere These contents will be written to the file. This line is indented. EOF
but redirects and sudo gets messy so you'd need something like
cat << EOF | sudo tee /tmp/yourfilehere These contents will be written to the file. This line is indented. EOF
but you'll have to deal with escaping on the command line etc. i to use it from time to time, but its not always the best option.
-
How would I get rid of the :
-
@luckyflyer said in Need help installing ustreamer:
How would I get rid of the :
sudo mv
renames itsudo mv /etc/systemd/system/ustreamer@.service: /etc/systemd/system/ustreamer@.service sudo chmod +x /etc/systemd/system/ustreamer@.service
edit thats better.
-
tried,
pi@duet3:~ $ sudo mv /etc/systemd/system/ustreamer@.service: /etc/systemd/system/ustreamer@.service sudo chmod +x /etc/systemd/system/ustreamer@.service mv: target '/etc/systemd/system/ustreamer@.service' is not a directory pi@duet3:~ $