GStreamer Video Exporter
Loading...
Searching...
No Matches
gstreamer_video_exporter

Processors

gstreamer_video

Exports video frames into a video file with gstreamer.

Properties

Name Default Value Type Description
muxer matroskamux string The muxer used for creating the output file, this defines the container format,i.e. "matroskamux" or "avimux" (see AVI Output).
relative_pts false string When set, a reference timestamp (first encountered timestamp) will be substracted from each timestamp.
timestamp_file_name string When set, the exporter will create a CSV file at the given location, where each linecontains both the chunk and sample timestamps for a video frame (seperated by ','). Timestamps are nanoseconds since the UNIX epoch (UTC).
transform string The gstreamer video encoding pipeline. Leave empty for no video encoding/transformation.Use the gst-launch syntax, see Video Encoding.

mdf_video_frames

Exports video frames into a video file with gstreamer and creates an accompaningMDF file that references the frames in the video file. This uses the same transform and muxer propertiesas the gstreamer_video exporter, but with defaults to create AVI files.

Properties

Name Default Value Type Description
filextension avi string The file extension used for the video file. The video file will have the same basename as the MDFoutput file but with this extension. i.e. <mdf_file>.<extension>.
mimetype video/x-msvideo string The mime type of the video file stored within the MDF file. i.e. "video/x-msvideo" or "video/x-matroska"
muxer avimux string The muxer used for creating the output file, this defines the container format,i.e. "matroskamux" or "avimux" (see AVI Output).
relative_pts false string When set, a reference timestamp (first encountered timestamp) will be substracted from each timestamp.
timestamp_file_name string When set, the exporter will create a CSV file at the given location, where each linecontains both the chunk and sample timestamps for a video frame (seperated by ','). Timestamps are nanoseconds since the UNIX epoch (UTC).
transform capssetter caps=video/x-raw,framerate=25/1;video/x-h264,framerate=25/1;image/jpeg,framerate=25/1 string The gstreamer video encoding pipeline. Leave empty for no video encoding/transformation.Use the gst-launch syntax, see Video Encoding.

Plugin Attributes

Attribute Value
Plugin Name gstreamer_video_exporter.adtffileplugin
License ADTF Subscription
Support Mail suppo.nosp@m.rt@d.nosp@m.igita.nosp@m.lwer.nosp@m.k.net
Homepage URL https://adtf.dev/

Common

You can use the processor for:

Video Encoding

You can use the transform property to specify any gstreamer pipeline that will sit between the source and the muxer. Note that the gstreamer setup within the property is set within quotation marks, like:

... --property transform="videoflip method=clockwise"

See the examples below:

Encode Raw Video

... --property transform="videoconvert ! x264enc"

Export encoded streams into container format

The exporter supports the adtf/gstreamer stream type from the ADTF GStreamer Toolbox so you can pass along compressed video streams to a muxer to store them directly in a video container (i.e. mkv or avi).

Exporting video/x-h264

In order for the muxer to support encoded h264 streams in the byte-stream stream format you need to use a h264parse element and specify the avc stream format:

--property transform="h264parse ! capsfilter caps=video/x-h264,stream-format=avc,alignment=au"

Transcode Motion-JPEG

... --property transform="jpegdec ! videoconvert ! x264enc"

AVI Output

AVI files require a constant framerate, which ADTF video streams are not required to provide. Thus to make the AVI muxer accept the video streams, a videorate element is required. See the following example:

... --property muxer=avimux --property transform="videorate ! capsfilter caps=video/x-raw,framerate=25/1;image/jpeg framerate=25/1" --output video_frames.avi

Adjust the framerate property accordingly.

Override input video format

Some video streams may have no or invalid format specifications. You can use the capssetter element to redefine it to what ever format you like:

capssetter replace=true caps=image/jpeg,framerate=0/1,width=1920,height=1080

or

capssetter replace=true caps=video/x-raw,format=BGRx,width=320,height=240,framerate=30/1