No thumbnails generated for videos



I've uploaded a bunch of photos and videos from my phone to oC. The photos are all listed with the thumbnails, but the videos don't have any.

I have ffmpeg installed (version 3.2.4) and the php-ffmpeg extension (0.7.16) with GD-support enabled. What else am I missing?

My oC installation just updated itself to the latest 9.x. Using php-7...


Video previews are not generated by default and you need to enable these as described in [1]. There are also unknown dependencies and undocumented stuff like shell_exec which needs to be enabled in your PHP configuration [2]




Ok, I explicitly rewrote the enabledPreviewProviders to contain 'OC\Preview\Movie' -- to no avail. I then added debugging output here and there and found, that when findBinaryPath looks for the ffmpeg-executable, it obtains the list of directories to check by calling getenv(PATH).

According to the debug output I inserted, that call returns: /sbin:/bin:/usr/sbin:/usr/bin, whereas the ffmpeg on my system is in /opt/bin/ffmpeg. This explains, why ffmpeg is not found.

According to phpinfo(), the PATH environment variable is set to /opt/bin:/usr/bin:/bin, but the $_SERVER['PATH'] contains the string, that Apache was started with and does not contain the /opt/bin. For some reason, a call to getenv('PATH') returns the latter instead of the former... I do not know, why Apache's setting trumps the value I explicitly configured for the PHP FPM pool. But, after adding SetEnv PATH /opt/bin:/bin:/usr/bin to Apache's config, I got the thumbnails working. Woo-hoo!

It still annoys me, that oC forks/execs a separate process to generate each thumbnail -- why wouldn't it use the php-ffmpeg module, where installed, instead? Maybe, I should implement my own replacement for OC\Preview\Movie...