c1d1526b24
To improve readability of the capture thread function `AJASource::CaptureThread`, audio part is split into two functions. Behavior is not changed. Also fixed one of warnings. |
||
---|---|---|
.. | ||
data | ||
CMakeLists.txt | ||
README.md | ||
aja-card-manager.cpp | ||
aja-card-manager.hpp | ||
aja-common.cpp | ||
aja-common.hpp | ||
aja-enums.hpp | ||
aja-output.cpp | ||
aja-output.hpp | ||
aja-presets.cpp | ||
aja-presets.hpp | ||
aja-props.cpp | ||
aja-props.hpp | ||
aja-routing.cpp | ||
aja-routing.hpp | ||
aja-source.cpp | ||
aja-source.hpp | ||
aja-ui-props.hpp | ||
aja-vpid-data.cpp | ||
aja-vpid-data.hpp | ||
aja-widget-io.cpp | ||
aja-widget-io.hpp | ||
main.cpp |
README.md
AJA I/O Device Capture and Output Plugin for OBS
A capture and outptu 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:
Method 2 - Build From Sources (Linux)
The Linux verison 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 thentv2/ajadriver/linux
directory- Run
make
cd
into thentv2/bin
directory and runsudo 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:
- Clone the AJA NTV2 SDK from https://github.com/aja-video/ntv2
- 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
- Fix AV sync in the AJA I/O Output plugin with certain OBS/device frame rate combinations.
- Improve frame tearing in the AJA I/O Device Capture plugin with certain OBS/device frame rate combinations.
- Capture plugins not always auto-detecting signal properly after disconnecting and reconnecting the physical SDI/HDMI cable from the device.
- Improve handling of certain invalid video/pixel/SDI 4K transport setting combinations.
- Optimize framebuffer memory usage on the device.
- Add support for Analog I/O capture and output on supported devices.
- Luminance is too bright/washed out in output plugin video.
- Certain combinations of video format with RGB pixel format needs additional testing.
- 4K video formats and SDI 4K transports need more testing in general.
- 8K video not yet implemented.
- 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.
- All translation strings are placeholders and default to English. Translation strings needed for additional language support.
Development Credits
- ddrboxman
- paulh-aja