Go to file
Sam W 6d1961cbbd Add including the module to usage 2024-05-15 14:03:01 +01:00
ntv2 Move a directory 2023-10-17 10:07:28 +02:00
ntv2-gst Rename pkgconfig => pkg-config 2023-10-18 19:58:02 +02:00
flake.lock Make gst source a flake input 2023-10-17 09:49:56 +02:00
flake.nix Make a nixos module and make the readme suggest you use that 2023-10-18 19:58:58 +02:00
license.txt Add license 2023-10-19 10:46:13 +01:00
readme.md Add including the module to usage 2024-05-15 14:03:01 +01:00

readme.md

AJA Video Cards ❤️ Nix

This repo contains a Nix flake containing the open source AJA driver, utilities and gstreamer plugin. This allows you to use Aja video IO cards on NixOS.

Usage

  • Add the flake to your system flake's inputs.
  • Include the nixos module in your config:
      ...
      nixosConfigurations = {
        mymachine = nixpkgs.lib.nixosSystem {
          system = "x86_64-linux";
          modules = [
            # ... your other modules  ...
            ajantv2.nixosModules.default
          ];
        };
        ...
    
  • Enable the module by adding the following to your system config:
    ntv2.enable = true;
    

Gstreamer

Summon a quick network stream: gst-launch-1.0 ajavideosrc input-channel=0 mode=29 ! videoconvert ! jpegenc quality=20 ! multipartmux boundary="--videoboundary" ! tcpserversink host=0.0.0.0 port=6969

NB: You must select the video mode to match what's on the input. Otherwise you will see something like:

Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
WARNING: from element /GstPipeline:pipeline0/GstAjaVideoSrc:ajavideosrc0: Signal lost
Additional debug info:
gstajavideosrc.cpp(1324): gst_aja_video_src_create (): /GstPipeline:pipeline0/GstAjaVideoSrc:ajavideosrc0:
No input source was detected - video frames invalid

You can find all the supported video modes with: gst-inspect-1.0 ajavideosrc.