GStreamer元素參數參考 - Amazon Kinesis Video Streams

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

GStreamer元素參數參考

若要將視訊傳送至 Amazon Kinesis Video Streams 製作者 C++SDK,請指定kvssink為接收器或管道的最終目的地。此參考提供有關必要的 kvssink 和選用參數的資訊。如需詳細資訊,請參閱示例:Kinesis Video Streams 生產者SDKGStreamer插件-kvssink

主題

提供認證 kvssink

若要允許kvssinkGStreamer元素向其發出請求 AWS,請提供 AWS 登入資料供元素呼叫 Amazon Kinesis Video Streams 服務時使用。認證提供者鏈結會依下列順序尋找認證:

若要設定 AWS IoT 認證,請參閱使用 控制對 Kinesis Video Streams 資源的存取 AWS IoT

iot-credentials參數值必須是以逗號分隔的iot-certificate,下列清單開頭,然後是以逗號分隔的清單 key=value 對。

金錀 必要 描述
ca-path

用於透過後端服務建立信任之 CA 憑證的檔案路徑TLS。

範例 /file/path/to/certificate.pem

cert-path

X.509 憑證的檔案路徑。

範例/file/path/to/certificateID-certificate.pem.crt

endpoint

您 AWS 帳戶的 AWS IoT Core 認證端點提供者端點。請參閱開AWS IoT 發人員指南

範例credential-account-specific-prefix.credentials.iot.aws-region.amazonaws.com

key-path

公開/私密 key pair 中使用之私密金鑰的檔案路徑。

範例/file/path/to/certificateID-private.pem.key

role-aliases

指向連線時要使用之 AWS IAM角色的角色別名的名稱 AWS IoT Core。

範例KvsCameraIoTRoleAlias

iot-thing-name

iot-thing-name是選擇性的。如果iot-thing-name未提供,則會使用stream-name參數值。

範例kvs_example_camera

範例:

gst-launch-1.0 -v ... ! kvssink stream-name="YourStream" aws-region="YourRegion" iot-certificate="iot-certificate,endpoint=credential-account-specific-prefix.credentials.iot.aws-region.amazonaws.com,cert-path=certificateID-certificate.pem.crt,key-path=certificateID-private.pem.key,ca-path=certificate.pem,role-aliases=YourRoleAlias,iot-thing-name=YourThingName"

若要kvssink使用環境中的認證,請設定下列環境變數:

環境變數名稱 必要 描述
AWS_ACCESS_KEY_ID 用來 AWS 存取 Amazon Kinesis Video Streams 的存取金鑰。
AWS_SECRET_ACCESS_KEY 與存取金鑰相關聯的 AWS 秘密金鑰。
AWS_SESSION_TOKEN 如果您直接從 AWS STS 作業使用臨時安全認證,則指定所需的工作階段 Token 值。

設定環境變數會變更使用的數值,直到 Shell 工作階段結束或直到您將該變數設為其他數值。要使變量在 future 的會話中持續存在,請在 shell 的啟動腳本中設置它們。

若要直接將認證指定為kvssink參數,請設定下列參數:

kvssink參數名稱 必要 描述
access-key 用來 AWS 存取 Amazon Kinesis Video Streams 的存取金鑰。
secret-key 與存取金鑰相關聯的 AWS 秘密金鑰。
session-token 如果您直接從 AWS STS 作業使用臨時安全認證,則指定所需的工作階段 Token 值。

使用靜態認證:

gst-launch-1.0 -v ... ! kvssink stream-name="YourStream" aws-region="YourRegion" access-key="AKIDEXAMPLE" secret-key="SKEXAMPLE"

使用臨時登入資料:

gst-launch-1.0 -v ... ! kvssink stream-name="YourStream" aws-region="YourRegion" access-key="AKIDEXAMPLE" secret-key="SKEXAMPLE" session-token="STEXAMPLE"
重要

如果您已選取先前的其中一個方法,則無法使用該credential-filekvssink參數。

kvssink參數名稱 必要 描述
credential-file 包含特定格式認證的文字檔案路徑。

文字檔案必須包含下列其中一種格式的認證:

  • CREDENTIALS YourAccessKey YourSecretKey

  • CREDENTIALS YourAccessKey Expiration YourSecretKey SessionToken

範例:您的credentials.txt檔案位於/home/ubuntu並包含下列內容:

CREDENTIALS AKIDEXAMPLE 2023-08-10T22:43:00Z SKEXAMPLE STEXAMPLE

要在中使用它kvssink,請鍵入:

gst-launch-1.0 -v ... ! kvssink stream-name="YourStream" aws-region="YourRegion" credential-file="/home/ubuntu/credentials.txt"
注意

future 的到期時間應該至少為 5 + 30 + 3 = 38 秒。寬限期定義為中的IOT_CREDENTIAL_FETCH_GRACE_PERIOD變數IotCredentialProvider.h。如果認證在啟動時太接近到期時kvssink,您會收到錯誤碼0x52000049 - STATUS_INVALID_TOKEN_EXPIRATION

重要

kvssink不會修改憑證檔案。如果您使用臨時認證,則在到期時間減去寬限期之前,必須由外部來源更新認證檔案。

提供一個區域 kvssink

以下是區域查尋順序:

  1. AWS_DEFAULT_REGION環境變量首先審查。如果已設定,則會使用該區域來設定用戶端。

  2. aws-region接下來會檢閱參數。如果已設定,則會使用該區域來設定用戶端。

  3. 如果沒有使用先前的方法,則kvssink預設為us-west-2

kvssink可選參數

kvssink 元素具有下列選用參數:如需這些參數的相關資訊,請參閱 Kinesis 視頻流結構

參數 描述 單位/類型 預設
stream-name 目的地 Amazon Kinesis 視頻流的名稱。
重要

如果沒有指定流名稱,將使用默認的流名稱:「DEFAULT_STREAM」。如果具有該默認名稱的流不存在,則將創建該流。

absolute-fragment-times 是否使用絕對片段時間。 Boolean true
access-key

用來 AWS 存取 Kinesis 影片串流的存取金鑰。

您必須設定 AWS 認證或提供此參數。若要提供此資訊,請輸入下列內容:

export AWS_ACCESS_KEY_ID=
avg-bandwidth-bps 串流的預期平均頻寬。 每秒位元數 4194304
aws-region

要 AWS 區域 使用的。

注意

您也可以為區域提供AWS_DEFAULT_REGION環境變數。如果同時設定了環境變數和 kvssink 參數,則環境變數優先。

重要

us-west-2如果沒有其他指定,則該區域將默認為。

字串 "us-west-2"
buffer-duration 串流緩衝持續時間。 秒鐘 120
codec-id 串流的編解碼器 ID。 字串 "V_MPEG4/ISO/AVC"
connection-staleness 之後的時間,該時間流失實回調被調用。 秒鐘 60
content-type 串流的內容類型。 字串 "video/h264"
fragment-acks 是否使用片段ACKs。 Boolean true
fragment-duration 您需要的片段持續時間。 毫秒 2000
framerate 預期的影格率。 每秒影格 25
frame-timecodes 是否使用影格時間碼或者使用目前時間回呼產生時間戳記。 Boolean true
key-frame-fragmentation 是否在關鍵影格上產生片段。 Boolean true
log-config 日誌設定路徑。 字串 "../kvs_log_configuration"
max-latency 串流的最大延遲。 秒鐘 60
recalculate-metrics 是否重新計算指標。 Boolean true
replay-duration 若發生錯誤啟用重新啟動時,則向後捲動目前閱讀器以重放的持續時間。 秒鐘 40
restart-on-error 是否發生錯誤時重新啟動。 Boolean true
retention-period 串流是保留所需的時間。 小時 2
rotation-period 金鑰輪換期間。如需詳細資訊,請參閱旋轉 AWS KMS 按鍵 秒鐘 3600
secret-key

用來存取 Kinesis Video Streams 的 AWS 秘密金鑰。

您必須設定 AWS 認證或提供此參數。

export AWS_SECRET_ACCESS_KEY=
session-token 如果您直接從 AWS STS 作業使用臨時安全認證,則指定所需的工作階段 Token 值。
storage-size 裝置儲存體大小 (以兆位元組 (MiB) 為單位。如需設定裝置儲存的詳細資訊,請參閱StorageInfo (兆字節)(MiB 組) 128
streaming-type 串流類型。有效值包含:
  • 0:即時

  • 1:近乎即時 (目前不支援)

  • 2: 離線

列舉 GstKvsSinkStreamingType 0:即時
timecode-scale MKV時間碼刻度。 毫秒 1
track-name MKV曲目名稱。 字串 "kinesis_video"
iot-certificate

AWS IoT 要在kvssink元素中使用的憑證。

iot-certificate接受以下鍵和值:

注意

iot-thing-name是選擇性的。如果iot-thing-name未提供,則會使用stream-name參數值。

  • endpoint=iotcredentialsproviderendpoint

  • cert-path=/localdirectorypath /to/certificate

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

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

  • role-aliases=role-aliases

  • iot-thing-name=YourIotThingName

字串