Agora SDK

特徴・サポート 多彩なAPIと開発ツール群で
簡単にカスタマイズ!
通話・配信機能をクイックに実装できます。

Agoraは、映像・音声・メッセージによるリアルタイムコミュニケーションを可能にする、配信・通話アプリの開発者用プラットフォーム(PaaS)です。

配信用のサーバーを用意することなく、クライアント側の実装だけで通話やライブ配信アプリを低コストで開発・運用することができます。

Agoraが選ばれる理由

独自技術による超低遅延・大規模・双方向配信

独自技術による
超低遅延・大規模・双方向配信

SD-RTN™️(仮想広域ネットワーク)という独自の技術によって、WebRTCのような低遅延・双方向性の高い通話と、HLSのような大規模配信の両方を実現可能に。

  • 映像・音声通話 最大17人*1
  • 視聴者 最大100万人*1
  • 通話・配信とも平均30ms-200msの超低遅延
滑らかで美しい映像品質・美声化技術による高音質体験

滑らかで美しい映像品質・
美声化技術による高音質体験

パケットロス耐性最大70%まで耐久。滑らかな再生が可能です。リアルタイム美声化技術によって高音質体験を実現します。

  • パケットロス耐性最大70%
  • 48kHzまでのフルバンドサンプリング
  • MOS*2値4.7の高い評価
豊富なSDKと解析力で開発工数を削減

豊富なSDKと解析力で
開発工数を削減

Web・ネイティブを含めた様々なプラットフォーム・言語に対応し、100以上のサンプルコードもご用意。
詳細な利用量や品質を表示するAnalyticsで、幅広い解析ができトラブルシューティングも容易に。

  • 数多くの開発言語に対応
  • 100以上のサンプルコード
  • トラブルシューティングに強い解析力

*1 一配信あたり
*2 主観的な意見の平均点。国際的な基準では、MOSスコアは5段階評価で1が最低、5が最良としています。

ガイドブックダウンロード  【大充実】通話・配信SDK「Agora」ガイドブック  通話・配信サービス開発や、配信技術のリプレイスを検討中の方、必見の内容です。 Agora SDKの特徴から活用例まで徹底解説! 無料ダウンロード

独自技術で
超低遅延・大規模・双方向配信を実現

Agoraは、SD-RTN™️(仮想広域ネットワーク)という独自の技術によって映像・音声・メッセージを送受信しています。

SD-RTN™️はWebRTCとの互換性を保ちつつも、HLSのような大規模なライブストリーミング配信も行うことができ、双方向性・リアルタイム性と大規模配信の両方を同時に実現することができます。

従来の配信手法の課題

WebRTC(P2P)

WebRTC(P2P)

端末同士が直接通信するため、高いリアルタイム性・双方向性があります。しかし、通信相手が増えるほど負荷が高くなるため多人数での通話には弱く、端末間での環境の差異に左右されやすい面もあります。

WebRTC(SFUサーバー)

WebRTC(SFUサーバー)

SFUサーバーを介して通信を行うことで、P2Pではできない多人数での通話が可能になります。ただし、単一のサーバーに接続するため、スケールアウト・冗長化に課題が残ります。
また、ネイティブアプリとの互換性の問題が生じることも。

HLS

HLS

HTTPプロトコルを利用して配信できるため、CDNを利用して大規模な配信が可能になります。その一方で、HLS単体では双方向通話の実現が難しい、トランスコードやCDNでのキャッシュ、バッファリングの影響で遅延が発生するなどの課題もあります。

AgoraのSD-RTN™️なら、双方向性・リアルタイム性・大規模配信の
すべてを同時に実現可能です

  • 双方向性
  • リアルタイム性
  • 大規模配信

AgoraのSD-RTN™️は、世界の200以上の国や地域に設置されたサーバーを一つの大きなネットワークとして
管理し、最適な通信経路を判断することで超低遅延かつ安定した配信を実現しています。

SD-RTN

Agoraで実現できるサービス

コンサート・舞台のライブ配信

コラボ配信

オンライン握手会

ゲーム・ゲーム実況

スポーツ実況

おしゃべり・雑談アプリ

オンライン採用・窓口

オンラインフィットネス

オンライン教育

SD-RTN™️(仮想広域ネットワーク)の仕組み

最適な通信経路を自動で判断し選択

独自の技術によって最適なエッジサーバーを選択し接続します。

各エッジサーバー間での遅延は、世界平均で76msという超低遅延。結果としてクライアント間での遅延が平均30ms-200ms程度に抑えられます(※日本国内平均)。これは、電話よりも低遅延です。

エッジサーバーが停止しても自動で再接続

初回接続時にエッジサーバーの候補を複数取得し、万が一接続したエッジサーバーが停止した場合でも、自動で別のエッジサーバーに再接続します。そのため、安定した配信が可能になります。

Webとネイティブの互換性

エッジサーバーは、WebRTCにおけるTURNサーバーとSFUの機能を持ちます。

また、Webとネイティブ間の通信でも互換性を保つために、エッジサーバー内でトランスコードも行っています。

従来の配信技術との比較

Agora WebRTC
(P2P)
WebRTC
(SFU)
HLS
(CDNを利用)
遅延 平均30ms-200ms 300-500ms 300-500ms 5s-30s
双方向通話 17人 3人程度 10人程度 困難
大規模配信 可能
(最大100万人)
困難 困難 可能
パケットロス耐性 最大70% 30%程度 30%程度 困難
負荷分散 可能(自動) 困難 可能 可能
Webとネイティブの互換性 あり 困難 困難 あり
ガイドブックダウンロード  【大充実】通話・配信SDK「Agora」ガイドブック  通話・配信サービス開発や、配信技術のリプレイスを検討中の方、必見の内容です。 Agora SDKの特徴から活用例まで徹底解説! 無料ダウンロード

高クオリティな映像・音声

Agoraの特徴をご紹介!パケットロス耐性や遅延の比較|株式会社ブイキューブ

高いパケットロス耐性

Agora社では、 “パケットロス毎分0.5%以下”という非常に厳しい目標を設けて、長年の開発とチューニングを行っています。

これにより最大70%という高いパケットロス耐性を実現し、映像がカクつくことなく滑らかに再生されます。

高音質オーディオ体験

サンプリングレート48kHzまでサポートするフルバンドサンプリングにより、高周波もロストせずに高音質を実現。MOS値※4.7と通話音質(3.5〜4.2)よりも高い評価を得ています。

また、リアルタイム美声化技術によりユースケースに応じた音声の美化が行われているほか、AIによるノイズリダクション、音色変換などの機能も備わっています。

※MOS(Mean Opinion Score):主観的な意見の平均点。国際的な基準では、MOSスコアは5段階評価で1が最低、5が最良としています。

豊富なSDKで開発工数を削減

Agoraでは、Web・ネイティブを含めた様々なプラットフォーム・開発言語に対応したSDKを提供。

映像・音声配信のためのインフラ開発・運用が不要で、開発者はクライアント側の開発に専念することができます。また、録画APIや顔認識APIなど、アプリで使われる様々な機能も提供されています。

import io.agora.rtc.RtcEngine;

mRtcEngine = RtcEngine.create(context, appid, eventHandler);
mRtcEngine.setupLocalVideo(videoCanvas);
mRtcEngine.enableVideo();
mRtcEngine.joinChannel(token, channelName, info, uid);
mRtcEngine.setupRemoteVideo(videoCanvas);
mRtcEngine.leaveChannel();
import AgoraRtcKit

agoraKit = AgoraRtcEngineKit.sharedEngine(withAppId: AppID, delegate: self)
agoraKit.setupLocalVideo(videoCanvas)
agoraKit.enableVideo()
agoraKit.joinChannel(byToken: Token, channelId: "demoChanne1", info:nil, uid:0)
agoraKit.setupRemoteVideo(videoCanvas)
agoraKit.leaveChannel(nil)
#include "IAgoraRtcEngine.h"

m_lpAgoraEngine = (IRtcEngine *)createAgoraRtcEngine();
m_lpAgoraObject->GetEngine()->setupLocalVideo(vc);
m_lpAgoraObject->GetEngine()->enableVideo();
int nRet = m_lpAgoraEngine->joinChannel(token, channelName, NULL, nUID);
m_lpAgoraObject->GetEngine()->setupRemoteVideo(vc);
int nRet = m_lpAgoraEngine->leaveChannel();
import AgoraRTC from 'agora-rtc-sdk';

let client = AgoraRTC.createClient({ mode: "rtc", codec: "vp8" });
client.init(appid);
var localStream = AgoraRTC.createStream({ audio: true, video: true })
localStream.init();  
localStream.play(elementID);
client.join(token, channel, uid);
client.publish(localStream);
remoteStream.play("elementID");
client.leave();
import AgoraRtcEngine from 'agora-electron-sdk';

RtcEngine.initialize(appid);
RtcEngine.setupLocalVideo(element);
RtcEngine.enableVideo();
RtcEngine.joinChannel(token, channel, info, uid);
RtcEngine.setupRemoveVideo(uid, view, info, channel);
RtcEngine.leaveChannel();
import 'package:agora_rtc_engine/rtc_channel.dart';

_engine = await RtcEngine.create(appID);
await _engine.enableVideo();
await _engine.joinChannel(token, 'channel-name', null, 0);
await _engine.leaveChannel();
await _engine.destroy();
import RtcEngine from 'react-native-agora';
 
this._engine = await RtcEngine.create(appId);
client.init(appid);
await this._engine.enableVideo();
await this._engine?.joinChannel(token, channelName, options, rtcUid);
await this._engine?.leaveChannel();
this._engine?.destroy();
using agora_gaming_rtc;

IRtcEngine mRtcEngine = IRtcEngine.getEngine(appId);
mRtcEngine.EnableVideo();
mRtcEngine.EnableVideoObserver();
mRtcEngine.JoinChannel(channel, null, 0);
VideoSurface remoteVideoSurface = go.AddComponent ();
mRtcEngine.LeaveChannel();
mRtcEngine.DisableVideoObserver();

提供SDK

さまざまなプラットフォームに対応しております。

プラットフォーム Android iOS / Mac Windows Web Electron Server Unity Cocos
開発言語

Java

Kotlin

Objective-C

Swift

Visual C++

JavaScript

JavaScript

C++

Java

C#

C++

開発者コミュニティによって、Angular、Flutter、React Native用のSDKも開発されています。

ビデオ通話・ライブ配信アプリ開発に便利な機能

Agoraが提供する機能は、ビデオ通話・ライブ配信だけではありません。

ビデオ通話・ライブ配信アプリによく使われる、ボリュームインジケータやイベント通知、バーチャル背景や録画・録音、顔認識、暗号化など、各種機能を提供しています。

自社で開発するコスト・工数を抑えながら、使いやすく魅力的なアプリを開発することができます。

  • ボリュームインジケータ
  • 各種イベント通知(ミュートや入室)
  • 映像反転
  • 事前接続確認
  • バーチャル背景
  • Geofencing
  • 録画・録音
  • 顔認識API・他社ARフィルタの組み込み
  • 暗号化(エンド to エンドで256bitの暗号化)
  • 解析・トラブルシューティング

サポート

ヘルプセンター

リリースノート、障害情報、よくあるお問い合わせ(FAQ)などを公開しております。また、技術的なお問い合わせもお受けしております。

ヘルプセンターはこちら

サポート体制

弊社の専門エンジニアが手厚いサポート体制で、お客様の開発・運用をサポート致します。

SDKの内容に関するご質問だけでなく、実装上のノウハウや、トラブルシューティングのサポート、定期的な打合せなど、幅広いメニューをご用意しております。

詳しくはこちらからお問い合わせください

サポート内容の例(金額によって異なります)

  • APIの利用方法のご案内
  • 最適なAPI、サンプルコードのご案内
  • ログの調査
  • お客様の利用シーンに沿った実装内容のアドバイス
  • サンプルコードの作成
  • 問題再現のコード作成
  • お客様が作成したコードの読み込み
  • SDK周辺機能も含めたベストプラクティスのご紹介
  • 開発要望のagora社へのエスカレーション

クイックスタート & ドキュメント

SDKを利用した開発の始め方は、クイックスタートでご覧いただけます。

チュートリアルに沿って、今すぐ開発を始めましょう!

クイックスタート

SNS・コミュニティでも最新情報を発信しています。

Agora導入をご検討中の方・資料ご希望の方は下記からお問い合わせください。

お問い合わせ・資料請求

03-4405-2688

平日10:00〜18:00受付

先頭へ戻る