GStreamer multimedia framework
Go to file
Sebastian Dröge 99c86891a4 Read colorimetry information from VPID and create caps from detected input format
This does not implement automatic mode selection yet, for which it is
necessary to change the routing at runtime based on the detected
format. It is a first step into that direction though.
2021-07-07 10:36:55 +03:00
.clang-format Initial commit 2021-02-08 22:35:45 +02:00
.gitignore Initial commit 2021-02-08 22:35:45 +02:00
COPYING Initial commit 2021-02-08 22:35:45 +02:00
gstajacommon.cpp Add support for 2/4/8k DCI modes 2021-07-06 15:23:17 +03:00
gstajacommon.h Add support for 2/4/8k DCI modes 2021-07-06 15:23:17 +03:00
gstajasink.cpp Add support for UHD/UHD2 modes and SDI quad-link modes 2021-07-06 15:23:17 +03:00
gstajasink.h Add support for UHD/UHD2 modes and SDI quad-link modes 2021-07-06 15:23:17 +03:00
gstajasinkcombiner.cpp Initial commit 2021-02-08 22:35:45 +02:00
gstajasinkcombiner.h Initial commit 2021-02-08 22:35:45 +02:00
gstajasrc.cpp Read colorimetry information from VPID and create caps from detected input format 2021-07-07 10:36:55 +03:00
gstajasrc.h Read colorimetry information from VPID and create caps from detected input format 2021-07-07 10:36:55 +03:00
gstajasrcdemux.cpp Add AJA source 2021-02-08 22:35:45 +02:00
gstajasrcdemux.h Add AJA source 2021-02-08 22:35:45 +02:00
meson.build Add AJA source 2021-02-08 22:35:45 +02:00
meson_options.txt Initial commit 2021-02-08 22:35:45 +02:00
plugin.cpp Add AJA source 2021-02-08 22:35:45 +02:00
README.md Add README.md 2021-02-09 16:22:18 +02:00

GStreamer AJA source/sink plugin

GStreamer plugin for AJA capture and output cards.

This plugin requires the NTV2 SDK version 16 or newer.

Example usage

Capture 1080p30 audio/video and display it locally

gst-launch-1.0 ajasrc video-format=1080p-3000 ! ajasrcdemux name=d \
    d.video ! queue max-size-bytes=0 max-size-buffers=0 max-size-time=1000000000 ! videoconvert ! autovideosink \
    d.audio ! queue max-size-bytes=0 max-size-buffers=0 max-size-time=1000000000 ! audioconvert ! audioresample ! autoaudiosink

Output a 1080p2997 test audio/video stream

gst-launch-1.0 videotestsrc pattern=ball ! video/x-raw,format=v210,width=1920,height=1080,framerate=30000/1001,interlace-mode=progressive ! timeoverlay ! timecodestamper ! combiner.video \
    audiotestsrc freq=440 ! audio/x-raw,format=S32LE,rate=48000,channels=16 ! audiobuffersplit output-buffer-duration=1/30 ! combiner.audio \
    ajasinkcombiner name=combiner ! ajasink channel=0

Capture 1080p30 audio/video and directly output it again on the same card

gst-launch-1.0 ajasrc video-format=1080p-3000 channel=1 input-source=sdi-1 audio-system=2 ! ajasrcdemux name=d \
    d.video ! queue max-size-bytes=0 max-size-buffers=0 max-size-time=1000000000 ! c.video \
    d.audio ! queue max-size-bytes=0 max-size-buffers=0 max-size-time=1000000000 ! c.audio \
    ajasinkcombiner name=c ! ajasink channel=0 reference-source=input-1

Configuration

Source

  audio-source        : Audio source to use
                        flags: readable, writable
                        Enum "GstAjaAudioSource" Default: 0, "Embedded"
                           (0): Embedded         - embedded
                           (1): AES              - aes
                           (2): Analog           - analog
                           (3): HDMI             - hdmi
                           (4): Microphone       - mic
  audio-system        : Audio system to use
                        flags: readable, writable
                        Enum "GstAjaAudioSystem" Default: 0, "Auto (based on selected channel)"
                           (0): Auto (based on selected channel) - auto
                           (1): Audio system 1   - 1
                           (2): Audio system 2   - 2
                           (3): Audio system 3   - 3
                           (4): Audio system 4   - 4
                           (5): Audio system 5   - 5
                           (6): Audio system 6   - 6
                           (7): Audio system 7   - 7
                           (8): Audio system 8   - 8
  capture-cpu-core    : Sets the affinity of the capture thread to this CPU core (-1=disabled)
                        flags: readable, writable
                        Unsigned Integer. Range: 0 - 4294967295 Default: 4294967295 
  channel             : Channel to use
                        flags: readable, writable
                        Unsigned Integer. Range: 0 - 7 Default: 0 
  device-identifier   : Input device instance to use
                        flags: readable, writable
                        String. Default: "0"
  input-source        : Input source to use
                        flags: readable, writable
                        Enum "GstAjaInputSource" Default: 0, "Auto (based on selected channel)"
                           (0): Auto (based on selected channel) - auto
                           (1): Analog Input 1   - analog-1
                           (6): SDI Input 1      - sdi-1
                           (7): SDI Input 2      - sdi-2
                           (8): SDI Input 3      - sdi-3
                           (9): SDI Input 4      - sdi-4
                           (10): SDI Input 5      - sdi-5
                           (11): SDI Input 6      - sdi-6
                           (12): SDI Input 7      - sdi-7
                           (13): SDI Input 8      - sdi-8
                           (2): HDMI Input 1     - hdmi-1
                           (3): HDMI Input 2     - hdmi-2
                           (4): HDMI Input 3     - hdmi-3
                           (5): HDMI Input 4     - hdmi-4
  queue-size          : Size of internal queue in number of video frames. Half of this is allocated as device buffers and equal to the latency.
                        flags: readable, writable
                        Unsigned Integer. Range: 1 - 2147483647 Default: 16 
  reference-source    : Reference source to use
                        flags: readable, writable
                        Enum "GstAjaReferenceSource" Default: 1, "Freerun"
                           (0): Auto             - auto
                           (1): Freerun          - freerun
                           (2): External         - external
                           (3): SDI Input 1      - input-1
                           (4): SDI Input 2      - input-2
                           (5): SDI Input 3      - input-3
                           (6): SDI Input 4      - input-4
                           (7): SDI Input 5      - input-5
                           (8): SDI Input 6      - input-6
                           (9): SDI Input 7      - input-7
                           (10): SDI Input 8      - input-8
  timecode-index      : Timecode index to use
                        flags: readable, writable
                        Enum "GstAjaTimecodeIndex" Default: 0, "Embedded SDI ATC LTC"
                           (0): Embedded SDI VITC - vitc
                           (0): Embedded SDI ATC LTC - atc-ltc
                           (2): Analog LTC 1     - ltc-1
                           (3): Analog LTC 2     - ltc-2
  video-format        : Video format to use
                        flags: readable, writable
                        Enum "GstAjaVideoFormat" Default: 0, "1080i 5000"
                           (0): 1080i 5000       - 1080i-5000
                           (1): 1080i 5994       - 1080i-5994
                           (2): 1080i 6000       - 1080i-6000
                           (3): 720p 5994        - 720p-5994
                           (4): 720p 6000        - 720p-6000
                           (5): 1080p 2997       - 1080p-2997
                           (6): 1080p 3000       - 1080p-3000
                           (7): 1080p 2500       - 1080p-2500
                           (8): 1080p 2398       - 1080p-2398
                           (9): 1080p 2400       - 1080p-2400
                           (10): 720p 5000        - 720p-5000
                           (11): 720p 2398        - 720p-2398
                           (12): 720p 2500        - 720p-2500
                           (13): 1080p 5000 A     - 1080p-5000-a
                           (14): 1080p 5994 A     - 1080p-5994-a
                           (15): 1080p 6000 A     - 1080p-6000-a
                           (16): 625 5000         - 625-5000
                           (17): 525 5994         - 525-5994
                           (18): 525 2398         - 525-2398
                           (19): 525 2400         - 525-2400

Sink

  audio-system        : Audio system to use
                        flags: readable, writable
                        Enum "GstAjaAudioSystem" Default: 0, "Auto (based on selected channel)"
                           (0): Auto (based on selected channel) - auto
                           (1): Audio system 1   - 1
                           (2): Audio system 2   - 2
                           (3): Audio system 3   - 3
                           (4): Audio system 4   - 4
                           (5): Audio system 5   - 5
                           (6): Audio system 6   - 6
                           (7): Audio system 7   - 7
                           (8): Audio system 8   - 8
  channel             : Channel to use
                        flags: readable, writable
                        Unsigned Integer. Range: 0 - 7 Default: 0 
  device-identifier   : Input device instance to use
                        flags: readable, writable
                        String. Default: "0"
  output-cpu-core     : Sets the affinity of the output thread to this CPU core (-1=disabled)
                        flags: readable, writable
                        Unsigned Integer. Range: 0 - 4294967295 Default: 4294967295 
  output-destination  : Output destination to use
                        flags: readable, writable
                        Enum "GstAjaOutputDestination" Default: 0, "Auto (based on selected channel)"
                           (0): Auto (based on selected channel) - auto
                           (1): Analog Output    - analog
                           (2): SDI Output 1     - sdi-1
                           (3): SDI Output 2     - sdi-2
                           (4): SDI Output 3     - sdi-3
                           (5): SDI Output 4     - sdi-4
                           (6): SDI Output 5     - sdi-5
                           (7): SDI Output 6     - sdi-6
                           (8): SDI Output 7     - sdi-7
                           (9): SDI Output 8     - sdi-8
                           (10): HDMI Output      - hdmi
  queue-size          : Size of internal queue in number of video frames. Half of this is allocated as device buffers and equal to the latency.
                        flags: readable, writable
                        Unsigned Integer. Range: 1 - 2147483647 Default: 16 
  reference-source    : Reference source to use
                        flags: readable, writable
                        Enum "GstAjaReferenceSource" Default: 0, "Auto"
                           (0): Auto             - auto
                           (1): Freerun          - freerun
                           (2): External         - external
                           (3): SDI Input 1      - input-1
                           (4): SDI Input 2      - input-2
                           (5): SDI Input 3      - input-3
                           (6): SDI Input 4      - input-4
                           (7): SDI Input 5      - input-5
                           (8): SDI Input 6      - input-6
                           (9): SDI Input 7      - input-7
                           (10): SDI Input 8      - input-8
  timecode-index      : Timecode index to use
                        flags: readable, writable
                        Enum "GstAjaTimecodeIndex" Default: 0, "Embedded SDI ATC LTC"
                           (0): Embedded SDI VITC - vitc
                           (0): Embedded SDI ATC LTC - atc-ltc
                           (2): Analog LTC 1     - ltc-1
                           (3): Analog LTC 2     - ltc-2