使用 GStreamer 外掛程式進行串流 - Amazon Rekognition

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

使用 GStreamer 外掛程式進行串流

Amazon Rekognition Video 可以分析來自裝置攝影機的即時串流影片。如要從裝置來源存取媒體輸入,您需要安裝 GStreamer。GStreamer 是第三方多媒體框架軟件,將媒體源和處理工具在工作流程管道中連接在一起。您還需要為 Gstreamer 安裝 Amazon Kinesis Video Streams 生成器外掛程式。此程序假設您已成功設定 Amazon Rekognition Video 和 Amazon Kinesis 資源。如需詳細資訊,請參閱 設定您的 Amazon Rekognition Video 和 Amazon Kinesis 資源

步驟 1:安裝 Gstreamer

下載並安裝第三方多媒體平台軟件 Gstreamer。您可以使用軟件包管理軟件,例如自製軟件 (自製軟件上的 Gstreamer),也可以直接從免費桌面網站獲取。

通過從命令行終端啟動帶有測試源的影片源來驗證 Gstreamer 是否成功安裝。

$ gst-launch-1.0 videotestsrc ! autovideosink

步驟 2:安裝 Kinesis Video Streams 製作外掛程式

在本節中,您將下載 Amazon Kinesis Video Streams 生成器程式庫,並安裝 Kinesis Video Streams Gstreamer 外掛程式。

建立目錄,由 GitHub 儲存庫複製範例原始碼。請務必包括 --recursive 參數。

$ git clone --recursive https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp.git

遵循資源庫提供的指示來規劃和建置專案。請務必針對您的作業系統使用平台的特定指令。當您執行 cmake 以安裝 Kinesis Video Streams Gstreamer 外掛程式時,請使用此 -DBUILD_GSTREAMER_PLUGIN=ON 參數。此專案需要安裝中包含的下列額外套件:GCC 或 Clang、Curl、Openssl 和 Log4cplus。如果您的組建因為遺失套件而失敗,請確認套件已安裝且已安裝在 PATH 中。如果在構建時遇到「無法執行 C 編譯程序」錯誤,請再次執行構建命令。有時,找不到正確的 C 編譯器。

執行下列命令,驗證 Kinesis Video Streams 外掛程式:

$ gst-inspect-1.0 kvssink

應該會顯示下列資訊,例如工廠和外掛程式詳細資訊:

Factory Details: Rank primary + 10 (266) Long-name KVS Sink Klass Sink/Video/Network Description GStreamer AWS KVS plugin Author AWS KVS <kinesis-video-support@amazon.com> Plugin Details: Name kvssink Description GStreamer AWS KVS plugin Filename /Users/YOUR_USER/amazon-kinesis-video-streams-producer-sdk-cpp/build/libgstkvssink.so Version 1.0 License Proprietary Source module kvssinkpackage Binary package GStreamer Origin URL http://gstreamer.net/ ...

步驟 3:使用室壁執行影片流插件

在您開始從裝置攝影機串流到 Kinesis Video Streams 之前,您可能需要將媒體來源轉換為 Kinesis Video Streams 可接受的轉碼器。若要判斷目前連線至電腦之裝置的規格和格式功能,請執行下列命令。

$ gst-device-monitor-1.0

若要開始串流,請使用下列範例命令啟動 Gstreamer,然後新增您的憑證和 Amazon Kinesis Video Streams 資訊。應該針對您建立的 IAM 服務角色使用存取金鑰和區域,同時授予 Amazon Rekognition 存取 Kinesis 串流的權限。如需有關存取金鑰的詳細資訊,請參閱《IAM 使用者指南》中的管理 IAM 使用者的存取金鑰。另外,您可以根據使用情況的要求調整視訊格式參數,並可從裝置上獲得。

$ gst-launch-1.0 autovideosrc device=/dev/video0 ! videoconvert ! video/x-raw,format=I420,width=640,height=480,framerate=30/1 ! x264enc bframes=0 key-int-max=45 bitrate=500 ! video/x-h264,stream-format=avc,alignment=au,profile=baseline ! kvssink stream-name="YOUR_STREAM_NAME" storage-size=512 access-key="YOUR_ACCESS_KEY" secret-key="YOUR_SECRET_ACCESS_KEY" aws-region="YOUR_AWS_REGION"

有關更多啟動命令,請參閱範例 GStreamer 啟動命令

注意

如果啟動指令因非交涉錯誤而終止,請檢查裝置監視器的輸出,並確定 videoconvert 參數值是裝置的有效功能。

幾秒鐘後,您將在 Kinesis 影片串流上看到來自裝置攝影機的影片摘要。若要開始使用 Amazon Rekognition 偵測和比對人臉,請啟動您的 Amazon Rekognition Video 串流處理器。如需詳細資訊,請參閱 Amazon Rekognition Video 串流處理器操作概觀