obs-studio/plugins/aja
Translation Updater cc2d0791ca Update translations from Crowdin 2022-08-30 09:00:44 +00:00
..
data/locale Update translations from Crowdin 2022-08-30 09:00:44 +00:00
CMakeLists.txt aja: Suppress C4996 2022-07-18 03:52:04 -07:00
README.md aja: Correct typos in README.md 2022-08-16 14:08:21 -04:00
aja-card-manager.cpp aja: Fix Kona1 simultaneous capture/output 2022-01-28 20:23:40 -06:00
aja-card-manager.hpp aja: Refactor, clean-up and fix bugs in the signal routing system, and add SDITransport UI option to assist signal routing. 2022-01-08 14:05:10 -06:00
aja-common.cpp aja: Only allow output formats matching OBS framerate 2022-07-30 16:39:20 -07:00
aja-common.hpp aja: Only allow output formats matching OBS framerate 2022-07-30 16:39:20 -07:00
aja-enums.hpp aja: Remove unfinished 2x4K Squares support 2022-01-28 20:23:40 -06:00
aja-output.cpp aja: Fix output of garbage video during preroll 2022-08-02 09:46:58 -07:00
aja-output.hpp aja: Fix output of garbage video during preroll 2022-08-02 09:46:58 -07:00
aja-presets.cpp aja: Fix UHD/4K HDMI output on Kona5-8K firmware 2022-04-30 16:29:56 -07:00
aja-presets.hpp aja: Re-work HDMI routing and add missing presets 2022-01-28 20:23:40 -06:00
aja-props.cpp aja: Fix UHD/4K HDMI output on Kona5-8K firmware 2022-04-30 16:29:56 -07:00
aja-props.hpp aja: Add framestore index helpers to Source/OutputProps 2022-01-28 20:23:40 -06:00
aja-routing.cpp aja: Remove unused parameters 2022-07-20 08:22:08 +02:00
aja-routing.hpp aja: Re-work HDMI routing and add missing presets 2022-01-28 20:23:40 -06:00
aja-source.cpp aja: Remove unused parameters 2022-07-20 08:22:08 +02:00
aja-source.hpp aja: Clear previous crosspoints when signal changes 2022-01-28 20:23:40 -06:00
aja-ui-props.hpp aja: Fix for invalid default settings and empty cardID string 2022-01-13 13:11:51 -06:00
aja-vpid-data.cpp aja: Refactor, clean-up and fix bugs in the signal routing system, and add SDITransport UI option to assist signal routing. 2022-01-08 14:05:10 -06:00
aja-vpid-data.hpp aja: Refactor, clean-up and fix bugs in the signal routing system, and add SDITransport UI option to assist signal routing. 2022-01-08 14:05:10 -06:00
aja-widget-io.cpp aja: Fix HDMI RGB crosspoint indices 2022-01-28 20:23:40 -06:00
aja-widget-io.hpp aja: Refactor, clean-up and fix bugs in the signal routing system, and add SDITransport UI option to assist signal routing. 2022-01-08 14:05:10 -06:00
main.cpp aja: Increment aja-source version for buffering setting 2022-07-16 16:47:19 -07:00

README.md

AJA I/O Device Capture and Output Plugin for OBS

A capture and output plugin for OBS for use with AJA NTV2 I/O devices. The plugin communicates with the AJA device driver via the open-source AJA NTV2 SDK (MIT license). See instructions below for installing the AJA device driver.


AJA Device Driver Installation

Usage of this plugin with an AJA I/O device requires installation of the AJA Device Driver.

Follow one of the methods below to install the AJA device driver for your platform.

Method 1 - AJA Software Installer (Windows/macOS/Ubuntu Linux)

Pre-built driver packages for Windows, macOS and Ubuntu Linux are provided as a component of the AJA Software Installer. Navigate to the AJA Support page and download the latest AJA Software Installer for your platform:

https://www.aja.com/support

Method 2 - Build From Sources (Linux)

The Linux version of the AJA device driver can be built from the MIT-licensed AJA NTV2 SDK sources found here:

https://github.com/aja-video/ntv2

  • Clone the ntv2 repository.
  • cd into the ntv2/ajadriver/linux directory
  • Run make
  • cd into the ntv2/bin directory and run sudo sh load_ajantv2 to install the AJA kernel module.

NOTE: To uniunstall the Linux kernel module, cd into the ntv2/bin directory and run sudo sh unload_ajantv2.


How to use the plugin

  • Capture plugin instances can be added from Sources -> Add -> AJA I/O Device Capture.

  • The Output plugin is accessible from Tools -> AJA I/O Device Output.

Updating the plugin AJA NTV2 SDK code

The AJA NTV2 SDK is open-source and licensed under the MIT license. A copy of the SDK is included in the source tree of the OBS AJA plugin directory.

To update the plugin's working copy of the AJA NTV2 SDK:

  1. Clone the AJA NTV2 SDK from https://github.com/aja-video/ntv2
  2. Place the contents of the ntv2 directory into plugins/aja/sdk within the cloned OBS repository.

You should end up with a directory structure like:

plugins/aja/sdk
    /ajadriver
    /ajalibraries
    /cmake
    /CMakeLists.txt
    /LICENSE
    /README.md

Known Issues/TODOS

  1. Fix AV sync in the AJA I/O Output plugin with certain OBS/device frame rate combinations.
  2. Improve frame tearing in the AJA I/O Device Capture plugin with certain OBS/device frame rate combinations.
  3. Capture plugins not always auto-detecting signal properly after disconnecting and reconnecting the physical SDI/HDMI cable from the device.
  4. Improve handling of certain invalid video/pixel/SDI 4K transport setting combinations.
  5. Optimize framebuffer memory usage on the device.
  6. Add support for Analog I/O capture and output on supported devices.
  7. Luminance is too bright/washed out in output plugin video.
  8. Certain combinations of video format with RGB pixel format needs additional testing.
  9. 4K video formats and SDI 4K transports need more testing in general.
  10. 8K video not yet implemented.
  11. Add support for selecting an alternate audio input source on supported devices (i.e. Microphone Input on AJA io4K+, analog audio, AES audio, etc). Capture and output currently default to using up to 8 channels of embedded SDI/HDMI audio.
  12. All translation strings are placeholders and default to English. Translation strings needed for additional language support.

Development Credits

  • ddrboxman
  • paulh-aja