GStreamer Element Parameter Reference - Amazon Kinesis Video Streams

GStreamer Element Parameter Reference

To send video to the Amazon Kinesis Video Streams Producer SDK, you specify kvssink as the sink, or final destination of the pipeline. This reference provides information about kvssink required and optional parameters. For more information, see Example: Kinesis Video Streams Producer SDK GStreamer Plugin.

The kvssink element has the following required parameters:

  • stream-name: The name of the destination Kinesis video stream.


    When using IoT authorization, the value of stream-name must be identical to the value of iot-thingname (in IoT provisioning). For more information, see "Invalid thing name passed" error when using IoT authorization.

  • storage-size: The storage size of the device in megabytes. For information about configuring device storage, see StorageInfo.

  • access-key: The AWS access key that is used to access Kinesis Video Streams. You must provide either this parameter or credential-path.

  • secret-key: The AWS secret key that is used to access Kinesis Video Streams. You must provide either this parameter or credential-path.

  • credential-path: A path to a file containing your credentials for accessing Kinesis Video Streams. You must provide either this parameter or access-key and secret-key.

The kvssink element has the following optional parameters. For more information about these parameters, see Kinesis Video Stream Structures.

Parameter Description Unit/ Type Default
absolute-fragment-times Whether to use absolute fragment times. Boolean true
avg-bandwidth-bps The expected average bandwidth for the stream. Bytes per second 4194304
aws-region The AWS region to use. String us-west-2
buffer-duration The stream buffer duration. Seconds 180
codec-id The codec ID of the stream. String "V_MPEG4/ISO/AVC"
connection-staleness The time after which the stream staleness callback is called. Seconds 60
content-type The content type of the stream. String "video/h264"
fragment-acks Whether to use fragment ACKs. Boolean true
fragment-duration The fragment duration that you want. Milliseconds 2000
framerate The expected frame rate. Frames per second 25
frame-timecodes Whether to use frame timecodes or generate timestamps using the current time callback. Boolean true
key-frame-fragmentation Whether to produce fragments on a key frame. Boolean true
log-config The log configuration path. String "./kvs_log_configuration"
max-latency The maximum latency for the stream. Seconds 60
recalculate-metrics Whether to recalculate the metrics. Boolean true
replay-duration The duration to roll the current reader backward to replay during an error if restarting is enabled. Seconds 40
restart-on-error Whether to restart when an error occurs. Boolean true
retention-period The length of time the stream is preserved. Hours 2
rotation-period The key rotation period. For more information, see Rotating Customer Master Keys. Seconds 2400
streaming-type The streaming type. Valid values include:
  • 0: real time

  • 1: near real time (not currently supported)

  • 2: offline

Enum GstKvsSinkStreamingType 0: real time
timecode-scale The MKV timecode scale. Milliseconds 1
track-name The MKV track name. String "kinesis_video"
iot-certificate IoT credentials to be used in the kvssink element. Accepts the following keys and values:
  • endpoint=iotcredentialsproviderendpoint

  • cert-path=/localdirectorypath /to/certificate

  • key-path=/localdirectorypath /to/private/key

  • ca-path=/localdirectorypath/to/ca-cert

  • role-aliases=role-aliases

String None