GStreamer

From NixOS Wiki
Revision as of 10:19, 6 April 2023 by imported>Malteneuss (Initial working gstreamer flake)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
{
  description = "A GStreamer development flake";

  outputs = { self, nixpkgs }:
    let
      system = "x86_64-linux";
      pkgs = nixpkgs.legacyPackages.${system};
    in {
      devShells.${system}.default = pkgs.mkShell {
        buildInputs = with pkgs; [
          # Video/Audio data composition framework tools like "gst-inspect", "gst-launch" ...
          gst_all_1.gstreamer
          # Common plugins like "filesrc" to combine within e.g. gst-launch
          gst_all_1.gst-plugins-base
          gst_all_1.gst-plugins-good
          gst_all_1.gst-plugins-bad
          gst_all_1.gst-plugins-ugly
          # Plugins to reuse ffmpeg to play almost every video format
          gst_all_1.gst-libav
          # Support the Video Audio (Hardware) Acceleration API
          gst_all_1.gst-vaapi
        ];
      };
    };
}

You can test that the gst_all_1.gstreamer tools are available by running a dummy pipeline

gst-launch-1.0 videotestsrc ! videoconvert ! autovideosink

which should open a colored video window.

You can test that the plugins like from gst_all_1.gst-plugins-base are known available by playing a video on you machine with

gst-launch-1.0 filesrc location=my_video.mp4 ! videoconvert ! autovideosink