mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-30 05:31:15 +00:00
decklink: document duplex and keyer behaviour
This commit is contained in:
parent
58dadd1ad0
commit
18d3d31dc8
4 changed files with 258 additions and 0 deletions
|
@ -17,6 +17,23 @@
|
||||||
* Free Software Foundation, Inc., 51 Franklin Street, Suite 500,
|
* Free Software Foundation, Inc., 51 Franklin Street, Suite 500,
|
||||||
* Boston, MA 02110-1335, USA.
|
* Boston, MA 02110-1335, USA.
|
||||||
*/
|
*/
|
||||||
|
/**
|
||||||
|
* SECTION:element-decklinkaudiosink
|
||||||
|
* @short_description: Outputs Audio to a BlackMagic DeckLink Device
|
||||||
|
* @see_also: decklinkvideosink
|
||||||
|
*
|
||||||
|
* Playout Video and Audio to a BlackMagic DeckLink Device. Can only be used
|
||||||
|
* in conjunction with decklinkvideosink.
|
||||||
|
*
|
||||||
|
* ## Sample pipeline
|
||||||
|
* |[
|
||||||
|
* gst-launch-1.0 \
|
||||||
|
* videotestsrc ! decklinkvideosink device-number=0 mode=1080p25 \
|
||||||
|
* audiotestsrc ! decklinkaudiosink device-number=0
|
||||||
|
* ]|
|
||||||
|
* Playout a 1080p25 test-video with a test-audio signal to the SDI-Out of Card 0.
|
||||||
|
* Devices are numbered starting with 0.
|
||||||
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
|
@ -17,6 +17,23 @@
|
||||||
* Free Software Foundation, Inc., 51 Franklin Street, Suite 500,
|
* Free Software Foundation, Inc., 51 Franklin Street, Suite 500,
|
||||||
* Boston, MA 02110-1335, USA.
|
* Boston, MA 02110-1335, USA.
|
||||||
*/
|
*/
|
||||||
|
/**
|
||||||
|
* SECTION:element-decklinkaudiosrc
|
||||||
|
* @short_description: Inputs Audio from a BlackMagic DeckLink Device
|
||||||
|
* @see_also: decklinkvideosrc
|
||||||
|
*
|
||||||
|
* Capture Video and Audio from a BlackMagic DeckLink Device. Can only be used
|
||||||
|
* in conjunction with decklinkvideosink.
|
||||||
|
*
|
||||||
|
* ## Sample pipeline
|
||||||
|
* |[
|
||||||
|
* gst-launch-1.0 \
|
||||||
|
* decklinkvideosrc device-number=0 mode=1080p25 ! autovideosink \
|
||||||
|
* decklinkaudiosrc device-number=0 ! autoaudiosink
|
||||||
|
* ]|
|
||||||
|
* Capturing 1080p25 video and audio from the SDI-In of Card 0. Devices are numbered
|
||||||
|
* starting with 0.
|
||||||
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
|
@ -17,6 +17,118 @@
|
||||||
* Free Software Foundation, Inc., 51 Franklin Street, Suite 500,
|
* Free Software Foundation, Inc., 51 Franklin Street, Suite 500,
|
||||||
* Boston, MA 02110-1335, USA.
|
* Boston, MA 02110-1335, USA.
|
||||||
*/
|
*/
|
||||||
|
/**
|
||||||
|
* SECTION:element-decklinkvideosink
|
||||||
|
* @short_description: Outputs Video to a BlackMagic DeckLink Device
|
||||||
|
*
|
||||||
|
* Playout Video to a BlackMagic DeckLink Device.
|
||||||
|
*
|
||||||
|
* ## Sample pipeline
|
||||||
|
* |[
|
||||||
|
* gst-launch-1.0 \
|
||||||
|
* videotestsrc ! \
|
||||||
|
* decklinkvideosink device-number=0 mode=1080p25
|
||||||
|
* ]|
|
||||||
|
* Playout a 1080p25 test-video to the SDI-Out of Card 0. Devices are numbered
|
||||||
|
* starting with 0.
|
||||||
|
*
|
||||||
|
* # Duplex-Mode:
|
||||||
|
* Certain DechLink Cards like the Duo2 or the Quad2 contain two or four
|
||||||
|
* independant SDI units with two connectors each. These units can operate either
|
||||||
|
* in half- or in full-duplex mode.
|
||||||
|
*
|
||||||
|
* The Duplex-Mode of a Card can be configured using the `duplex-mode`-Property.
|
||||||
|
* Cards that to not support Duplex-Modes are not influenced by the property.
|
||||||
|
*
|
||||||
|
* ## Half-Duplex-Mode (default):
|
||||||
|
* By default decklinkvideosink will configure them into half-duplex mode, so that
|
||||||
|
* each connector acts as if it were an independant DeckLink Card which can either
|
||||||
|
* be used as an Input or as an Output. In this mode the Duo2 can be used as as 4 SDI
|
||||||
|
* In-/Outputs and the Quad2 as 8 SDI In-/Outputs.
|
||||||
|
*
|
||||||
|
* |[
|
||||||
|
* gst-launch-1.0 \
|
||||||
|
* videotestsrc foreground-color=0x00ff0000 ! decklinkvideosink device-number=0 mode=1080p25 \
|
||||||
|
* videotestsrc foreground-color=0x0000ff00 ! decklinkvideosink device-number=1 mode=1080p25 \
|
||||||
|
* videotestsrc foreground-color=0x000000ff ! decklinkvideosink device-number=2 mode=1080p25 \
|
||||||
|
* videotestsrc foreground-color=0x00ffffff ! decklinkvideosink device-number=3 mode=1080p25
|
||||||
|
* ]|
|
||||||
|
* Playout four Test-Screen with colored Snow on the first four units in the System
|
||||||
|
* (ie. the Connectors 1-4 of a Duo2 unit).
|
||||||
|
*
|
||||||
|
* |[
|
||||||
|
* gst-launch-1.0 \
|
||||||
|
* videotestsrc is-live=true foreground-color=0x0000ff00 ! decklinkvideosink device-number=0 mode=1080p25 \
|
||||||
|
* decklinkvideosrc device-number=1 mode=1080p25 ! autovideosink \
|
||||||
|
* decklinkvideosrc device-number=2 mode=1080p25 ! autovideosink \
|
||||||
|
* videotestsrc is-live=true foreground-color=0x00ff0000 ! decklinkvideosink device-number=3 mode=1080p25
|
||||||
|
* ]|
|
||||||
|
* Capture 1080p25 from the second and third unit in the System,
|
||||||
|
* Playout a Test-Screen with colored Snow on the first and fourth unit
|
||||||
|
* (ie. the Connectors 1-4 of a Duo2 unit).
|
||||||
|
*
|
||||||
|
* ## Device-Number-Mapping in Half-Duplex-Mode
|
||||||
|
* The device-number to connector-mapping is as follows for the Duo2
|
||||||
|
* - `device-number=0` SDI1
|
||||||
|
* - `device-number=1` SDI3
|
||||||
|
* - `device-number=2` SDI2
|
||||||
|
* - `device-number=3` SDI4
|
||||||
|
*
|
||||||
|
* And for the Quad2
|
||||||
|
* - `device-number=0` SDI1
|
||||||
|
* - `device-number=1` SDI3
|
||||||
|
* - `device-number=2` SDI5
|
||||||
|
* - `device-number=3` SDI7
|
||||||
|
* - `device-number=4` SDI2
|
||||||
|
* - `device-number=5` SDI4
|
||||||
|
* - `device-number=6` SDI6
|
||||||
|
* - `device-number=7` SDI8
|
||||||
|
*
|
||||||
|
* ## Full-Duplex-Mode:
|
||||||
|
* When operating in full-duplex mode, two connectors of a unit are combined to
|
||||||
|
* a single device, performing keying with the second connection.
|
||||||
|
*
|
||||||
|
* ## Device-Number-Mapping in Full-Duplex-Mode
|
||||||
|
* The device-number to connector-mapping in full-duplex-mode is as follows for the Duo2
|
||||||
|
* - `device-number=0` SDI1 primary, SDI2 secondary
|
||||||
|
* - `device-number=1` SDI3 primaty, SDI4 secondary
|
||||||
|
*
|
||||||
|
* And for the Quad2
|
||||||
|
* - `device-number=0` SDI1 primary, SDI2 secondary
|
||||||
|
* - `device-number=1` SDI3 primaty, SDI4 secondary
|
||||||
|
* - `device-number=2` SDI5 primary, SDI6 secondary
|
||||||
|
* - `device-number=3` SDI7 primary, SDI8 secondary
|
||||||
|
*
|
||||||
|
* # Keying
|
||||||
|
* Keying is the process of overlaing Video with an Alpha-Channel on top of an
|
||||||
|
* existing Video-Stream. The Duo2 and Quad2-Cards can perform two different
|
||||||
|
* Keying-Modes when operated in full-duplex mode. Both modes expect Video with
|
||||||
|
* an Alpha-Channel.
|
||||||
|
*
|
||||||
|
* ## Internal Keyer:
|
||||||
|
* In internal Keying-Mode the primary port becomes an Input and the secondary port
|
||||||
|
* an Output. The unit overlays Video played back from the Computer onto the Input
|
||||||
|
* and outputs the combined Video-Stream to the Output.
|
||||||
|
*
|
||||||
|
* |[
|
||||||
|
* gst-launch-1.0 \
|
||||||
|
* videotestsrc foreground-color=0x00000000 background-color=0x00000000 ! \
|
||||||
|
* video/x-raw,format=BGRA,width=1920,height=1080 ! \
|
||||||
|
* decklinkvideosink device-number=0 duplex-mode=full keyer-mode=internal video-format=8bit-bgra mode=1080p25
|
||||||
|
* ]|
|
||||||
|
*
|
||||||
|
* ## External Keyer:
|
||||||
|
* In external Keying-Mode the primary port outputs the alpha-chanel as the
|
||||||
|
* luma-value (key-channel). Transparent pixels are black, opaque pixels are white.
|
||||||
|
* The RGB-Component of the Video are output on the secondary channel.
|
||||||
|
*
|
||||||
|
* |[
|
||||||
|
* gst-launch-1.0 \
|
||||||
|
* videotestsrc foreground-color=0x00000000 background-color=0x00000000 ! \
|
||||||
|
* video/x-raw,format=BGRA,width=1920,height=1080 ! \
|
||||||
|
* decklinkvideosink device-number=0 duplex-mode=full keyer-mode=external video-format=8bit-bgra mode=1080p25
|
||||||
|
* ]|
|
||||||
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
|
@ -18,6 +18,118 @@
|
||||||
* Free Software Foundation, Inc., 51 Franklin Street, Suite 500,
|
* Free Software Foundation, Inc., 51 Franklin Street, Suite 500,
|
||||||
* Boston, MA 02110-1335, USA.
|
* Boston, MA 02110-1335, USA.
|
||||||
*/
|
*/
|
||||||
|
/**
|
||||||
|
* SECTION:element-decklinkvideosrc
|
||||||
|
* @short_description: Inputs Video from a BlackMagic DeckLink Device
|
||||||
|
*
|
||||||
|
* Capture Video from a BlackMagic DeckLink Device.
|
||||||
|
*
|
||||||
|
* ## Sample pipeline
|
||||||
|
* |[
|
||||||
|
* gst-launch-1.0 \
|
||||||
|
* decklinkvideosrc device-number=0 connection=sdi mode=1080p25 ! \
|
||||||
|
* autovideosink
|
||||||
|
* ]|
|
||||||
|
* Capturing 1080p25 video from the SDI-In of Card 0. Devices are numbered
|
||||||
|
* starting with 0.
|
||||||
|
*
|
||||||
|
* # Duplex-Mode:
|
||||||
|
* Certain DechLink Cards like the Duo2 or the Quad2 contain two or four
|
||||||
|
* independant SDI units with two connectors each. These units can operate either
|
||||||
|
* in half- or in full-duplex mode.
|
||||||
|
*
|
||||||
|
* The Duplex-Mode of a Card can be configured using the `duplex-mode`-Property.
|
||||||
|
* Cards that to not support Duplex-Modes are not influenced by the property.
|
||||||
|
*
|
||||||
|
* ## Half-Duplex-Mode (default):
|
||||||
|
* By default decklinkvideosrc will configure them into half-duplex mode, so that
|
||||||
|
* each connector acts as if it were an independant DeckLink Card which can either
|
||||||
|
* be used as an Input or as an Output. In this mode the Duo2 can be used as as 4 SDI
|
||||||
|
* In-/Outputs and the Quad2 as 8 SDI In-/Outputs.
|
||||||
|
*
|
||||||
|
* |[
|
||||||
|
* gst-launch-1.0 \
|
||||||
|
* decklinkvideosrc device-number=0 mode=1080p25 ! c. \
|
||||||
|
* decklinkvideosrc device-number=1 mode=1080p25 ! c. \
|
||||||
|
* decklinkvideosrc device-number=2 mode=1080p25 ! c. \
|
||||||
|
* decklinkvideosrc device-number=3 mode=1080p25 ! c. \
|
||||||
|
* compositor name=c \
|
||||||
|
* sink_0::xpos=0 sink_0::ypos=0 sink_0::width=960 sink_0::height=540 \
|
||||||
|
* sink_1::xpos=960 sink_1::ypos=0 sink_1::width=960 sink_1::height=540 \
|
||||||
|
* sink_2::xpos=0 sink_2::ypos=540 sink_2::width=960 sink_2::height=540 \
|
||||||
|
* sink_3::xpos=960 sink_3::ypos=540 sink_3::width=960 sink_3::height=540 ! \
|
||||||
|
* video/x-raw,width=1920,height=1080 ! \
|
||||||
|
* autovideosink
|
||||||
|
* ]|
|
||||||
|
* Capture 1080p25 from the first 4 units in the System (ie. the 4 Connectors of
|
||||||
|
* a Duo2 Card) and compose them into a 2x2 grid.
|
||||||
|
*
|
||||||
|
* |[
|
||||||
|
* gst-launch-1.0 \
|
||||||
|
* videotestsrc foreground-color=0x0000ff00 ! decklinkvideosink device-number=0 mode=1080p25 \
|
||||||
|
* decklinkvideosrc device-number=1 mode=1080p25 ! autovideosink \
|
||||||
|
* decklinkvideosrc device-number=2 mode=1080p25 ! autovideosink \
|
||||||
|
* videotestsrc foreground-color=0x00ff0000 ! decklinkvideosink device-number=3 mode=1080p25
|
||||||
|
* ]|
|
||||||
|
* Capture 1080p25 from the second and third unit in the System,
|
||||||
|
* Playout a Test-Screen with colored Snow on the first and fourth unit
|
||||||
|
* (ie. the Connectors 1-4 of a Duo2 unit).
|
||||||
|
*
|
||||||
|
* ## Device-Number-Mapping in Half-Duplex-Mode
|
||||||
|
* The device-number to connector-mapping in half-duplex-mode is as follows for the Duo2
|
||||||
|
* - `device-number=0` SDI1
|
||||||
|
* - `device-number=1` SDI3
|
||||||
|
* - `device-number=2` SDI2
|
||||||
|
* - `device-number=3` SDI4
|
||||||
|
*
|
||||||
|
* And for the Quad2
|
||||||
|
* - `device-number=0` SDI1
|
||||||
|
* - `device-number=1` SDI3
|
||||||
|
* - `device-number=2` SDI5
|
||||||
|
* - `device-number=3` SDI7
|
||||||
|
* - `device-number=4` SDI2
|
||||||
|
* - `device-number=5` SDI4
|
||||||
|
* - `device-number=6` SDI6
|
||||||
|
* - `device-number=7` SDI8
|
||||||
|
*
|
||||||
|
* ## Full-Duplex-Mode:
|
||||||
|
* When operating in full-duplex mode, two connectors of a unit are combined to
|
||||||
|
* a single device, performing extra processing with the second connection.
|
||||||
|
*
|
||||||
|
* This mode is most useful for Playout. See @decklinkvideosink.
|
||||||
|
* For Capturing the options are as follows:
|
||||||
|
*
|
||||||
|
* When capturing from a duplex-unit, the secondary port outputs the captured image
|
||||||
|
* unchanged.
|
||||||
|
* |[
|
||||||
|
* gst-launch-1.0 \
|
||||||
|
* decklinkvideosrc device-number=0 mode=1080p25 duplex-mode=full ! \
|
||||||
|
* autovideosink
|
||||||
|
* ]|
|
||||||
|
*
|
||||||
|
* When simultaneously capturing and playing out onto the same device, the
|
||||||
|
* secondary port outputs the played out video. Note, that this can also be
|
||||||
|
* achieved using half-duplex mode.
|
||||||
|
* |[
|
||||||
|
* gst-launch-1.0 \
|
||||||
|
* decklinkvideosrc device-number=0 mode=1080p25 duplex-mode=full ! \
|
||||||
|
* videoflip video-direction=vert ! \
|
||||||
|
* decklinkvideosink device-number=0 mode=1080p25 duplex-mode=full
|
||||||
|
* ]|
|
||||||
|
* Capturing Video on the primary port of device 0, output flipped version of the
|
||||||
|
* video on secondary port of the same device.
|
||||||
|
*
|
||||||
|
* ## Device-Number-Mapping in Full-Duplex-Mode
|
||||||
|
* The device-number to connector-mapping in full-duplex-mode is as follows for the Duo2
|
||||||
|
* - `device-number=0` SDI1 primary, SDI2 secondary
|
||||||
|
* - `device-number=1` SDI3 primaty, SDI4 secondary
|
||||||
|
*
|
||||||
|
* And for the Quad2
|
||||||
|
* - `device-number=0` SDI1 primary, SDI2 secondary
|
||||||
|
* - `device-number=1` SDI3 primaty, SDI4 secondary
|
||||||
|
* - `device-number=2` SDI5 primary, SDI6 secondary
|
||||||
|
* - `device-number=3` SDI7 primary, SDI8 secondary
|
||||||
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
Loading…
Reference in a new issue