Nathan van Doorn
c8e82b3b4b
* Define packages in terms of overlay * rename everything |
||
---|---|---|
aja-ntv2 | ||
flake.lock | ||
flake.nix | ||
no.patch | ||
ntv2-gst.nix | ||
readme.md |
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.
- Apply the overlay to your system's nixpkgs, e.g.
nixpkgs.overlays = [ ajantv2.overlays.default ];
- Add the kernel driver:
# Include the kernel module boot.extraModulePackages = [pkgs.linuxPackages.ntv2-driver]; # And load it automatically boot.kernelModules = [ "ajantv2" ];
- Include the utils/demos and gstreamer plugin:
environment.systemPackages = [pkgs.ntv2 pkgs.ntv2-gst]
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
.