GStreamer multimedia framework
Find a file
Sebastian Dröge e8584abd4e Add README.md
2021-02-09 16:22:18 +02: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 Simplify configuration of timecode index and embedded audio source 2021-02-09 15:08:26 +02:00
gstajacommon.h Simplify configuration of timecode index and embedded audio source 2021-02-09 15:08:26 +02:00
gstajasink.cpp Implement signal loss and frame drop detection in the source 2021-02-09 15:46:48 +02:00
gstajasink.h Simplify configuration of timecode index and embedded audio source 2021-02-09 15:08:26 +02: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 Implement signal loss and frame drop detection in the source 2021-02-09 15:46:48 +02:00
gstajasrc.h Implement signal loss and frame drop detection in the source 2021-02-09 15:46:48 +02: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