adafruit / pi_video_looper

Application to turn your Raspberry Pi into a dedicated looping video playback device, good for art installations, information displays, or just playing cat videos all day.
GNU General Public License v2.0
443 stars 240 forks source link

video_looper.ini extra_args ignored when run by supervisor #224

Closed githubarooski closed 2 months ago

githubarooski commented 2 months ago

Hi, now that I have gotten video_looper to properly run, I'm running into a different problem.

I installed this https://videolooper.de/video_looper_v2.8.zip with balena etcher.

I logged in and removed the video_looper directory, git cloned the latest version 1.08, and ran install.sh

It's playing my video, but I cannot get any changes to video_looper.ini to apply.

pi@raspberrypi:~/pi_video_looper/assets $ grep extra_args video_looper.ini 
extra_args = --win "0 0 1600 1200"

pi@raspberrypi:~/pi_video_looper/assets $ ps aux | grep omx
root       738  0.0  0.6   7804  2744 ?        S    11:35   0:00 /bin/bash /usr/bin/omxplayer -o both --no-osd --audio_fifo 0.01 --video_fifo 0.01 --align center --font-size 55 --loop /home/pi/video/video.mp4

I have rebooted and reloaded many times now, but I can't figure out how to get the extra_args to be recognized.

It is loading the file from the directory instead of flash drive, so video_looper.ini is working for that part at least.

In case it's a clue... if I go into omxplayer.py and force it to use BAD settings

    def play(self, movie, loop=None, vol=0):
        """Play the provided movie file, optionally looping it repeatedly."""
        self.stop(3)  # Up to 3 second delay to let the old player stop.
        # Assemble list of arguments.
        args = ['omxplayer']
        args.extend(['-o', self._sound])  # Add sound arguments.
        args.extend('gibberish')
#        args.extend(self._extra_args)     # Add extra arguments from config.

and then I run it manually

pi@raspberrypi:~/pi_video_looper $ sudo python3 -u -m Adafruit_Video_Looper.video_looper
pygame 1.9.4.post1
Hello from the pygame community. https://www.pygame.org/contribute.html
Starting Adafruit Video Looper.
[2024-06-03 11:57:15.279859] Found 1 media file.
[2024-06-03 11:57:20.394755] Playing movie: video.mp4 (video) (endless loop)
[2024-06-03 11:57:20.832551] Playing movie: video.mp4 (video) (endless loop)
[2024-06-03 11:57:21.242965] Playing movie: video.mp4 (video) (endless loop)

it is crashing, like you would expect. But if I have these broken settings in omxplayer.py, but I run

pi@raspberrypi:~/pi_video_looper $ sudo /home/pi/pi_video_looper/reload.sh 
video_looper: ERROR (not running)
video_looper: started

It starts right up without my broken config from omxplayer.py.

Where is the copy of the script that is being called by supervisor? I have searched high and low, without success.

I tried adjusting the supervisor conf to call it explicitly, but that results in a ModuleNotFound error.

$ cat /etc/supervisor/conf.d/video_looper.conf 
# Supervisord configuration to run video looper at boot and
# ensure it runs continuously.
[program:video_looper]
user=pi
command=python3 -u -m /home/pi/pi_video_looper/Adafruit_Video_Looper.video_looper
autostart=true
autorestart=unexpected
startsecs=5
githubarooski commented 2 months ago

oops, i was editing the wrong video_looper.ini, I was supposed to edit the one in /boot 🤦