使用遠端裝置介面卡連線攝影機至雲端


Azure 影片分析器服務可讓使用者從連線至雲端的 RTSP 攝影機中,捕獲並錄製影片。 這需要這類相機必須可透過網際網路存取。 在可能不允許的情況下,可以改為將影片分析器 edge 模組部署到具有網際網路連線能力的輕量邊緣裝置。 在與 RTSP 攝影機相同 (私用) 網路的輕量邊緣裝置上,edge 模組現在可以設定為 介面卡 ,讓影片分析器服務能夠連線到 遠端裝置 (攝影機) 。 Edge 模組可讓邊緣裝置做為 RTSP 攝影機與影片分析器服務之間影片流量的 透明閘道

Connect cameras to the cloud with a remote device adapter

預先閱讀

必要條件

概觀

若要使用遠端裝置介面卡將攝影機連接到影片分析器服務,您需要:

  1. 在 IoT 中樞建立 IoT 裝置以代表 RTSP 攝影機
  2. 在影片分析器 edge 模組上建立裝置介面卡,以作為上述裝置的透明閘道
  3. 在影片分析器服務中建立即時管線時使用 IoT 裝置和裝置介面卡,以從相機捕獲並錄製影片

建立 IoT 裝置

建立 IoT 裝置來代表每個需要連線至 Video Analyzer 服務的 RTSP 攝影機。 在 Azure 入口網站中:

  1. 流覽至 IoT 中樞
  2. 選取 [裝置管理] 下的 [裝置] 窗格
  3. 選取 [ + 新增裝置]
  4. 使用唯一字串輸入 裝置識別碼 (例如: building404-camera1)
  5. 驗證類型 可以保留為 對稱金鑰
  6. 所有其他屬性都可以保留為預設值
  7. 選取 [ 儲存 ] 以建立 IoT 裝置
  8. 選取 IoT 裝置,並記錄 主要金鑰次要金鑰,如下所示:

建立遠端裝置介面卡

若要讓影片分析器 edge 模組成為攝影機與影片分析器服務之間影片的透明閘道,您必須為每個相機建立遠端裝置介面卡。 叫用需要下列值的remoteDeviceAdapterSet直接方法

  • IoT 裝置的裝置識別碼
  • IoT 裝置的主要金鑰
  • 攝影機的 IP 位址

在 Azure 入口網站中:

  1. 流覽至 IoT 中樞
  2. 選取 [裝置管理] 下的 [ IoT Edge ] 窗格
  3. 選取已部署影片分析器 Edge 模組的 IoT Edge 裝置 (例如 ava-範例-裝置)
  4. 在 [模組] 下,選取 [影片分析程式 edge 模組] (例如 avaedge)
  5. Select / > Direct 方法
  6. 針對方法名稱輸入remoteDeviceAdapterSet
  7. 針對承載輸入下列內容:
 {
   "@apiVersion" : "1.1",
   "name": "<name of remote device adapter such as remoteDeviceAdapterCamera1>",
   "properties": {
     "target": {
       "host": "<Camera's IP address>"
      },
     "iotHubDeviceConnection": {
      "deviceId": "<IoT Hub Device ID>",
      "credentials": {
        "@type": "#Microsoft.VideoAnalyzer.SymmetricKeyCredentials",
        "key": "<Primary or Secondary Key>"
       }
     }
   }
 }
 

如果成功,您會收到狀態碼為201的回應。

若要列出所有已設定的遠端裝置介面卡,請使用下列承載叫用 remoteDeviceAdapterList 直接方法:

 {
   "@apiVersion" : "1.1"
 }

在影片分析器服務中建立管線拓撲

當您從防火牆後方的相機建立雲端管線拓撲時,必須在管線拓撲的 RTSP 來源節點上啟用通道。 請參閱這類 管線拓撲的範例。

下列值以先前指示中所建立的 IoT 裝置為基礎,需要在 RTSP 來源節點上啟用通道:

  • IoT 中樞名稱
  • IoT 中樞裝置識別碼
            {
                "@type": "#Microsoft.VideoAnalyzer.RtspSource",
                "name": "rtspSource",
                "transport": "tcp",
                "endpoint": {
                    "@type": "#Microsoft.VideoAnalyzer.UnsecuredEndpoint",
                    "url": "${rtspUrlParameter}",
                    "credentials": {
                        "@type": "#Microsoft.VideoAnalyzer.UsernamePasswordCredentials",
                        "username": "${rtspUsernameParameter}",
                        "password": "${rtspPasswordParameter}"
                    },
                    "tunnel": { 
                        "@type": "#Microsoft.VideoAnalyzer.SecureIotDeviceRemoteTunnel",
                        "iotHubName" : "<IoT Hub Name>",
                        "deviceId": "${ioTHubDeviceIdParameter}"
                    }
                }
            }

請確定:

  • Transport 設定為 tcp
  • Endpoint 設定為 UnsecuredEndpoint
  • Tunnel 設定為 SecureIotDeviceRemoteTunnel

您可以使用本快速入門來參考如何在 Azure 入口網站中建立管線拓撲和即時管線的步驟。 使用範例拓撲 Live capture, record, and stream from RTSP camera behind firewall

建立並啟用即時管線

建立即時管線時,必須定義 RTSP URL、RTSP 使用者名稱、RTSP 密碼和 IoT 中樞裝置識別碼。 範例承載如下。

   {
    "name": "record-from-building404-camera1",
    "properties": {
        "topologyName": "record-camera-behind-firewall",
        "description": "Capture, record and stream video from building404-camera1 via a remote device adapter",
        "bitrateKbps": 1500,
        "parameters": [
            {
                "name": "rtspUrlParameter",
                "value": "<RTSP URL for building404-camera1 such as rtsp://localhost:554/media/video>"
            },
            {
                "name": "rtspUsernameParameter",
                "value": "<User name for building404-camera1>"
            },
            {
                "name": "rtspPasswordParameter",
                "value": "<Password for building404-camera1>"
            },
            {
                "name": "ioTHubDeviceIdParameter",
                "value": "<IoT Hub Device ID such as building404-camera1>"
            },
            {
                "name": "videoName",
                "value": "video-from-building404-camera1"
            }
          ]
       }
   }

RTSP URL IP 位址必須是 localhost。 確定 bitrateKbps 值符合 RTSP 攝影機中影片的最大位元速率設定。

建立即時管線之後,您可以啟動管線以開始錄製至影片分析器影片資源。 上一個步驟中所述的快速入門也會概述如何在 Azure 入口網站中啟用即時管線。

播放錄製的影片 Azure 入口網站

  1. 啟用即時管線之後,影片資源將會出現在 [影片 分析器帳戶] 影片窗格的 Azure 入口網站。 狀態會指出 使用中 的管線是作用中和錄製。
  2. 選取在即時管線中定義的影片資源以觀看影片。

Screenshot of the live video captured by live pipeline in the cloud.

如果您在嘗試播放影片時遇到錯誤,請依照 此疑難排解指南中的步驟執行。

注意

因為影片的來源是模擬攝影機摘要的容器,所以影片中的時間戳記會與您啟動實況管線以及停用它時相關。

若要停用管線,請移至您的影片分析程式帳戶,然後選取 左面板上的 [即時Pipelines ]。 選取管線,然後選取 Deactivate [管線] 方格中的 [停止錄製]。

下一步

現在影片分析器帳戶中已有影片,您可以使用 本教學課程將此錄製影片的剪輯匯出為使用的格式。

cloud icon
或者,請參閱在 edge 上建立智慧型影片應用程式的主題。