• Welcome to the Chevereto user community!

    Here users from all over the world gather around to learn the latest about Chevereto and contribute with ideas to improve the software.

    Please keep in mind:

    • 😌 This community is user driven. Be polite with other users.
    • 👉 Is required to purchase a Chevereto license to participate in this community (doesn't apply to Pre-sales).
    • 💸 Purchase a Pro Subscription to get access to active software support and faster ticket response times.
  • Chevereto Support CLST

    Support response

    Support checklist

    • ⚠️ Got a Something went wrong message? Read this guide and provide the actual error. Do not skip this.
    • ✅ Confirm that the server meets the System Requirements
    • 🔥 Check for any available Hotfix - your issue could be already reported/fixed
    • 📚 Read documentation - It will be required to Debug and understand Errors for a faster support response

Unable to load FFProbe (0) error after upgrading to v4.1

Version
4.1
Website URL
https://imgeye.com/
PHP version
8.2.4
Database driver
MySQL
Database version
8.0.24
Web browser
Google Chrome

FOXCOO

Chevereto Member
▶ Reproduction steps
  1. Open the site, turn on support for mp4 uploads at the admin, then upload the video
  2. It has been confirmed that FFmpeg and FFProbe are installed.
😢 Unexpected result

video_2022-02-13_17-30-14.mp4 - Unable to load FFProbe (0)

📃 Error log message
 
After going through all the PHP-FFMPEG documentation and issues, and trying many solutions without success, it was very frustrating. Both ffmpeg and ffprobe commands could run normally on Ubuntu. It wasn't until I saw someone suggesting to directly specify the paths for ffmpeg and ffprobe that I found a solution to the problem.

So, I decided to start from Chrevereto and modified two locations in app/src/Legacy/Classes/functions.php:1851 and app/src/Legacy/Classes/Image.php:1851 where $ffprobe = FFProbe::create(); was used, to specify the exact paths for ffmpeg and ffprobe.

PHP:
$ffprobe = FFProbe::create(array(
    'ffmpeg.binaries' => '/usr/bin/ffmpeg',
    'ffprobe.binaries' => '/usr/bin/ffprobe',
));

To my surprise, after the modification, everything worked fine. It is recommended that these two parameters can be configured in the environment (such as env.php) to try to solve this issue.
 
Both ffmpeg and ffprobe commands could run normally on Ubuntu. It wasn't until I saw someone suggesting to directly specify the paths for ffmpeg and ffprobe that I found a solution to the problem.
Run doesn't means "available on system path", it means that the binary is there but not available to run using ffmpeg. You need to make it available in the system path, I don't have plans to add manual binary location at this time.

I'm also getting a ton of error messages now when I go into phpadmin 🤔
I don't maintain neither provide PHPMyAdmin on Chevereto package. You need to address that issue with the concerning party.
 
After going through all the PHP-FFMPEG documentation and issues, and trying many solutions without success, it was very frustrating. Both ffmpeg and ffprobe commands could run normally on Ubuntu. It wasn't until I saw someone suggesting to directly specify the paths for ffmpeg and ffprobe that I found a solution to the problem.

So, I decided to start from Chrevereto and modified two locations in app/src/Legacy/Classes/functions.php:1851 and app/src/Legacy/Classes/Image.php:1851 where $ffprobe = FFProbe::create(); was used, to specify the exact paths for ffmpeg and ffprobe.

PHP:
$ffprobe = FFProbe::create(array(
    'ffmpeg.binaries' => '/usr/bin/ffmpeg',
    'ffprobe.binaries' => '/usr/bin/ffprobe',
));

To my surprise, after the modification, everything worked fine. It is recommended that these two parameters can be configured in the environment (such as env.php) to try to solve this issue.
I'm also ubuntu and had the exact same problem as you described.

But I can't find the code located at app/src/Legacy/Classes/functions.php:1851 and app/src/Legacy/Classes/Image.php:1851, can you please explain the context to confirm where the code to manually change the path is inserted?


Also, you can refer to the official one here. My app catalog is exactly the same as this one.
 
Run doesn't means "available on system path", it means that the binary is there but not available to run using ffmpeg. You need to make it available in the system path, I don't have plans to add manual binary location at this time.


I don't maintain neither provide PHPMyAdmin on Chevereto package. You need to address that issue with the concerning party.

Obviously, as #3 says, both ffmpeg and ffprobe commands work fine on Ubuntu and are 100% confirmed to be available in the system path. But it just doesn't understand them correctly. I'm trying to manually add the location of their binaries and test again.

root@209:~# which ffmpeg
/usr/bin/ffmpeg
root@209:~# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
root@209:~#
root@209:~# ffmpeg -version
ffmpeg version 4.3.6-0+deb11u1 Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 10 (Debian 10.2.1-6)
configuration: --prefix=/usr --extra-version=0+deb11u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-pocketsphinx --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
libavutil 56. 51.100 / 56. 51.100
libavcodec 58. 91.100 / 58. 91.100
libavformat 58. 45.100 / 58. 45.100
libavdevice 58. 10.100 / 58. 10.100
libavfilter 7. 85.100 / 7. 85.100
libavresample 4. 0. 0 / 4. 0. 0
libswscale 5. 7.100 / 5. 7.100
libswresample 3. 7.100 / 3. 7.100
libpostproc 55. 7.100 / 55. 7.100
root@209:~# ffprobe -version
ffprobe version 4.3.6-0+deb11u1 Copyright (c) 2007-2023 the FFmpeg developers
built with gcc 10 (Debian 10.2.1-6)
configuration: --prefix=/usr --extra-version=0+deb11u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-pocketsphinx --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
libavutil 56. 51.100 / 56. 51.100
libavcodec 58. 91.100 / 58. 91.100
libavformat 58. 45.100 / 58. 45.100
libavdevice 58. 10.100 / 58. 10.100
libavfilter 7. 85.100 / 7. 85.100
libavresample 4. 0. 0 / 4. 0. 0
libswscale 5. 7.100 / 5. 7.100
libswresample 3. 7.100 / 3. 7.100
libpostproc 55. 7.100 / 55. 7.100
root@209:~# which ffprobe
/usr/bin/ffprobe
root@209:~#
 
Last edited:
Thanks, problem solved. Uploading videos now works perfectly fine.

Note to anyone reading this thread. Here is the solution

Add or modify the env[PATH] environment variable in the PHP-FPM configuration file to ensure that PHP can load FFProbe correctly.
Find the appropriate location in the [www] section of the configuration file. Usually, the environment variable setting can be placed at the end of this section of the configuration file or near other relevant configuration items.
Add the following line:

env[PATH] = /usr/local/bin:/usr/bin:/bin
 
Hi, I cannot find php-fpm ..
I have ubuntu 22.04
Code:
ubuntu@ns557051:~$ which ffprobe
/usr/bin/ffprobe
ubuntu@ns557051:~$ which ffmpeg
/usr/bin/ffmpeg

what i do next ?

can someone write me step by step ?
thank you very much guys !
 
Hi, I cannot find php-fpm ..
I have ubuntu 22.04
Code:
ubuntu@ns557051:~$ which ffprobe
/usr/bin/ffprobe
ubuntu@ns557051:~$ which ffmpeg
/usr/bin/ffmpeg

what i do next ?

can someone write me step by step ?
thank you very much guys !
 
Back
Top