FFmpeg

From NixOS Wiki
Revision as of 22:00, 30 May 2024 by M3vtfbp (talk | contribs) (Created page with "Building Ffmpeg with extra functionality. To install the maximum amount of functionality offered by Nix binary repositories, you may install ffmpeg like the following. environment.systemPackages = [ pkgs.ffmpeg-full ]; === Adding more functionality to ffmpeg is possible, but it will require compiling on your local system. === The Fraunhofer FDK AAC audio codec is said to give superior compression and audio quality to other AAC codecs. To install environme...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Building Ffmpeg with extra functionality. To install the maximum amount of functionality offered by Nix binary repositories, you may install ffmpeg like the following.


 environment.systemPackages = [
   pkgs.ffmpeg-full
 ];


Adding more functionality to ffmpeg is possible, but it will require compiling on your local system.

The Fraunhofer FDK AAC audio codec is said to give superior compression and audio quality to other AAC codecs. To install

 environment.systemPackages = [
   (pkgs.ffmpeg-full.override { withUnfree = true; })
 ];

It is possible to add support for more than one feature at a time. To add FDK AAC AND OpenGL rendering support

 environment.systemPackages = [
   (pkgs.ffmpeg-full.override { withUnfree = true; withOpenGL = true; })
 ];

Using the pattern shown in previous examples, it is possible options to set the following options as true (enabled):

 withUnfree # Currently only FDK AAC Codec
 withOpenGL # OpenGL rendering support
 withRmtp   # RMTP support
 withTensorflow # Tensorflow dnn backend support

It's possible to speed up the install. After compiling is finished, a series of generic checks are run. To skip these checks, we need to set doChecks to false. Here is an example of adding FDK AAC support, and skipping post build checks.

 environment.systemPackages = [
   ((pkgs.ffmpeg-full.override { withUnfree = true; }).overrideAttrs (_: { doCheck = false; }))
 ];