JavaFX 11 Web Module Linux Requires libavcodec-ffmpeg

Kevin Rushforth kevin.rushforth at oracle.com
Thu Sep 19 13:35:52 UTC 2019


The dependency on libavcodec56 / libavcodec-ffmpeg56 is almost certainly 
coming from javafx.media. The javafx.web module depends on  
javafx.media, which explains why javafx.web pulls in that dependency.

The javafx.media module includes dynamic libraries that are stubs for 
different versions of libav. If you download the JavaFX SDK, you will 
see them in the sdk/lib directory with the names libavplugin-NN.so and 
libavplugin-ffmpeg-NN.so.

Alexander can provide more information.

-- Kevin


On 9/19/2019 1:52 AM, Sverre Moe wrote:
> Building an JavaFX application with the jpackage tools adds many additional
> Linux RPM Requires.
>
> Among these are libavcodec56 and libavcodec-ffmpeg56. It is ffmpeg2 that
> has libavcodec56, but the libavcodec-ffmpeg is nowhere to be found. It does
> not seem to exist.
>
> If building an Java runtime image with the JavaFX 11 Web module, these are
> among the RPM Requires added to the RPM package built by jpackage. One
> could actually think it would be the media module that had these requires,
> but no it doesn't.
>
> The jpackage tool does not have any of these Require packages itself. It is
> getting them from the javafx.web module. If I omit the javafx.web from the
> java runtime image, these Requires are omitted from the built RPM package:
>
> libavcodec-ffmpeg.so.56()(64bit)
> libavcodec-ffmpeg.so.56(LIBAVCODEC_FFMPEG_56)(64bit)
> libavcodec.so.54()(64bit)
> libavcodec.so.54(LIBAVCODEC_54)(64bit)
> libavcodec.so.56()(64bit)
> libavcodec.so.56(LIBAVCODEC_56)(64bit)
> libavcodec.so.57()(64bit)
> libavcodec.so.57(LIBAVCODEC_57)(64bit)
> libavformat-ffmpeg.so.56()(64bit)
> libavformat-ffmpeg.so.56(LIBAVFORMAT_FFMPEG_56)(64bit)
> libavformat.so.54()(64bit)
> libavformat.so.54(LIBAVFORMAT_54)(64bit)
> libavformat.so.56()(64bit)
> libavformat.so.56(LIBAVFORMAT_56)(64bit)
> libavformat.so.57()(64bit)
> libavformat.so.57(LIBAVFORMAT_57)(64bit)
>
> The problem is since libavcodec-ffmpeg does not exist installing this built
> package is impossible (or cumbersome at best).
>
> It Requires either ffmpeg2 (libavcodec56) or ffmpeg3 (libavcoded57), so
> most Linux distributions are covered. Even if a Linux distribution has
> ffmpeg3 it will not install the package because of libavcodec-ffmpeg.
>
>
> What part of the JavaFX Web module requires ffmpeg and libavcodec? I would
> like to try using this to see if the application works on Linux. Perhaps
> the libavcodec-ffmpeg is provided by some other package or other named
> library.
>
> /Sverre



More information about the openjfx-dev mailing list