メインコンテンツにスキップ
すべてのコレクション統合
パブリック API: 音声
パブリック API: 音声
1か月以上前に更新

概要

WebRTCのAPIは、WebRTCメディア通信のための認証情報を安全に取得し、音声トークダウンセッションを開始する機能を提供します。これらのAPIはArculesプラットフォームと統合され、WebRTCプロトコルを介したリアルタイム通信(ライブストリーミングや双方向の音声など)を実現します。これらのエンドポイントは、特にセキュリティおよび監視システムにおいて、低遅延の音声ストリーミングと通信が必要な場面で重要となります。

主な使用例:

  • リモート監視およびセキュリティ操作のためのシームレスな音声通信を可能にする

  • イベントやリアルタイムアラートのためのライブ音声ストリーミングを実現する

  • ネットワーク制限のある環境下での安全で信頼性の高い音声伝送のためにTURNサーバーを使用する

前提条件

この記事で取り上げるAPI機能に関連するデバイス(I/Oネットワークリレーなど)は、まずArculesゲートウェイアプライアンスに登録されている必要があります。これらのデバイスはオンラインであり、アクティブなインターネット接続を持っている必要があります。

ユーザーはArculesウェブポータルで以下の役割を割り当てられている必要があります:

  • APIユーザーの権限(役割):APIを通じてI/Oおよび音声機能の両方を使用できる

APIエンドポイント

エンドポイント1:WebRTC認証情報

リクエストパラメータ

パラメーター

タイプ

説明

必須

transport

string

Type of transport (e.g., any, cloud, local). Default is any.

Yes

サンプルリクエスト

GET /v1/media/webrtc/creds?transport=any/cloud/local
Host: msapi.arcules.com
Authorization: Bearer {token}

サンプルレスポンス

{
"creds": {
"username": "1726........",
"password": "o1O/UNNA.....=",
"uris": [
"turn:turn2.arcules.com:443"
],
"ttl": 300000000000
}
}

エンドポイント2:I/Oポート状態の更新

HTTP Method: POST

Authentication: OAuth 2.0 Bearer Token

Rate Limit: 500 requests per minute

Supported Formats: JSON

リクエストパラメータ

パラメーター

タイプ

説明

必須

audioChannelId

string

The unique ID of the device where audio talkdown is initiated.

Yes

transport

string

Type of transport (e.g., any, cloud, local). Default is any.

Yes

X-TurnCred

string

TURN credentials (in JSON format) for secure WebRTC connection.

Yes

X-SessionDescription

string

SDP (Session Description Protocol) for initiating audio communication (Base64 encoded).

Yes

サンプルリクエスト

POST /v1/media/webrtc/audio/51ecfd92-c3c8-4c5e-a823-c17e455ce972/talkdown?transport=any/cloud/local
Host: msapi.arcules.com
Authorization: Bearer {token}
X-TurnCred: {"username":"1724444...","password":"8I0..","uris":["turn:turn.arcules.com:443"],"ttl":300000000000}
X-SessionDescription: eyJ0eXBlIjoi...

サンプルレスポンス

{
"transportType": "any/cloud/local",
"sdp": "eyJ0eXBlIjoi..."
}

エラーハンドリング

エラーコード

メッセージ

説明

200

OK

The request was successful.

400

Bad Request

The request was invalid or cannot be processed.

401

Unauthorized

Missing or invalid JWT.

403

Forbidden

API users lack the necessary permissions.

404

Not Found

The requested resource could not be found.

429

Too Many Requests

API rate limit has been exceeded.

5xx

Server Error

The server encountered an issue processing the request.

追加リソース

FAQ

Q: どのように認証しますか?

A: リクエストヘッダーに OAuth 2.0 Bearer Token を使用してください。

詳細は認証ガイドを参照してください。

Q: audioChannelIdの値はどのように取得できますか?

A: /v1/devicesエンドポイントのレスポンスから audioChannelId の値を取得できます。

Q: TURN認証情報の目的は何ですか?

A: TURN認証情報は、WebRTCを介した安全なメディア通信を可能にします。

これらは、ビデオおよび音声セッションの接続を確立するために必要です。

Q: WebRTC認証情報はどのくらい有効ですか?

A: WebRTC認証情報は、レスポンスのttlフィールドに指定された期間有効です。

通常、この値はナノ秒単位で、例えば 300000000000ナノ秒 は 5分 に相当します。

継続的な通信を確保するために、有効期限が切れる前に認証情報を再リクエストすることを

お勧めします。

Q: WebRTC通信に対応しているトランスポートタイプは何ですか?

A: APIは、any、cloud、およびlocalのトランスポートタイプをサポートしています。

すべてのオプションを使用すると、システムが最適なトランスポートを自動的に選択します。

Q: セッション記述(SDP)が拒否された場合はどうすればよいですか?

A: X-SessionDescription が拒否された場合、SDPが正しくフォーマットされ、base64 エンコードされていることを確認してください。SDPはWebRTC標準に準拠している必要があります。詳細はWebRTCプロトコル概要を参照してください。

Q: 複数の音声トークダウンセッションを同時に開始できますか?

A: はい、複数の音声トークダウンセッションを開始できますが、各セッションは一意のデバイスIDに紐付けられている必要があります。各セッションに対して有効なTURN認証情報とセッション記述が必要です。

Q: WebRTCトークダウンセッションでサポートされている音声コーデックは何ですか?

A: WebRTCトークダウン(音声出力)セッションは、G.711音声コーデックをサポートしています。メディアペイロードフォーマットは生の G.711 であり、さまざまな音声通信ニーズに対応します。

Q: 低帯域幅環境でWebRTCを使用できますか?

A: はい、WebRTCは低帯域幅環境でのリアルタイム通信に最適化されています。ただし、パフォーマンスはネットワーク条件によって異なる場合があり、より安定した接続のためにcloudトランスポートオプションを使用することをお勧めします。

こちらの回答で解決しましたか?