Page 1 of 1

Problems running SERVIIO on OpenSolaris/OmniOS

PostPosted: Tue May 11, 2021 1:02 pm
by Lampos
thank's to the detailed installation guide in the FAQ I have successfully installed SERVIIO on my OmniOS-server. I am able to start the service, but it will show the following errors in the log file:

  Code:
ERROR [ProcessExecutor] Fatal error in process starting: Cannot run program "ffmpeg": error=2, No such file or directory
java.io.IOException: Cannot run program "ffmpeg": error=2, No such file or directory
        at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
        at org.serviio.external.ProcessExecutor.run(ProcessExecutor.java:136)
Caused by: java.io.IOException: error=2, No such file or directory
        at java.lang.UNIXProcess.forkAndExec(Native Method)
        at java.lang.UNIXProcess.<init>(UNIXProcess.java:247)
        at java.lang.ProcessImpl.start(ProcessImpl.java:134)
        at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
        ... 1 more
[MediaServer] An unexpected error occurred. Ending the application. Message: FFMPEG not found. Serviio will not work properly.
java.lang.ExceptionInInitializerError
        at org.serviio.MediaServer.main(MediaServer.java:146)
Caused by: java.lang.RuntimeException: FFMPEG not found. Serviio will not work properly.
        at org.serviio.external.FFMPEGWrapper.loadFFmpegInfo(FFMPEGWrapper.java:123)
        at org.serviio.external.FFMPEGWrapper.<clinit>(FFMPEGWrapper.java:96)
        ... 1 more


I checked FFMPEG on the console running 'which ffmpeg' and it finds it in '/opt/ooce/bin/ffmpeg' - running 'ffmpeg -version' yields the following output:
  Code:
ffmpeg -version
ffmpeg version 4.4 Copyright (c) 2000-2021 the FFmpeg developers
built with gcc 10.2.0 (OmniOS 151038/10.2.0-il-0)
configuration: --libdir=/opt/ooce/lib/amd64 --prefix=/opt/ooce/ffmpeg --incdir=/opt/ooce/include --disable-static --enable-shared --disable-debug --disable-stripping --enable-libfontconfig --enable-libfreetype --enable-libvorbis --enable-libwebp --enable-gpl --enable-libx264 --enable-libx265 --enable-gnutls --enable-libdav1d
libavutil      56. 70.100 / 56. 70.100
libavcodec     58.134.100 / 58.134.100
libavformat    58. 76.100 / 58. 76.100
libavdevice    58. 13.100 / 58. 13.100
libavfilter     7.110.100 /  7.110.100
libswscale      5.  9.100 /  5.  9.100
libswresample   3.  9.100 /  3.  9.100
libpostproc    55.  9.100 / 55.  9.100

So now I am a bit lost what goes wrong.

Any help is appreciated.

Kind regards,
Lampos

Re: Problems running SERVIIO on OpenSolaris/OmniOS

PostPosted: Tue May 11, 2021 1:25 pm
by Lampos
Update:

When running 'serviio.sh' and 'servio-console.sh' as root in a console SERVIIO can find FFMPEG, but shows the following ERROR:

  Code:
INFO    [FFMPEGWrapper] Found FFmpeg: ffmpeg
INFO    [FFMPEGWrapper] FFmpeg details: [version=4.4, libRtpmPresent=false, libAssPresent=false, libShinePresent=false, libMxfPresent=false]
ERROR [ProcessExecutor] Fatal error in process starting: Cannot run program "dcraw": error=2, No such file or directory
java.io.IOException: Cannot run program "dcraw": error=2, No such file or directory
        at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
        at org.serviio.external.ProcessExecutor.run(ProcessExecutor.java:136)
Caused by: java.io.IOException: error=2, No such file or directory
        at java.lang.UNIXProcess.forkAndExec(Native Method)
        at java.lang.UNIXProcess.<init>(UNIXProcess.java:247)
        at java.lang.ProcessImpl.start(ProcessImpl.java:134)
        at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
        ... 1 more

WARN  [MediaServer] DCRAW not found. Support for raw image files will be missing.


Seems to be associated with the serviio-user settings.

Re: Problems running SERVIIO on OpenSolaris/OmniOS

PostPosted: Tue May 11, 2021 1:38 pm
by atc98092
I have no experience using Serviio on a *nix OS, so I might be completely off base here. Under Windows, FFMPEG must be located within the Serviio install file structure, specifically in the /serviio/lib folder. It sounds like it's looking for FFMPEG in that location and not finding it. When you run as root, it's finding what is installed elsewhere in the OS, but that version might not be compiled as Serviio is expecting, hence the message about lack of RAW image support.

It looks like you have a couple of options. One would be to ensure there's a functional version of FFMPEG within the Serviio file structure. Again, that's solely based on my experience with Windows installations, and might not be accurate. The other is to run Serviio as root (yeah, not really a good idea), and either ignore the error about RAW support or figure out how to install dcraw on your OS.

Of course, someone with *nix experience might be able to answer this and getting it working correctly without using root to run it.