ビデオ

Video API

Twilio Video APIによりHD品質のリアルタイムビデオアプリケーションを実装

Video APIによる構築

TwilioのVideoプラットフォームはWebRTCを基盤として構築されています。高品質の臨場感あふれるビデオアプリケーションを大規模に構築するためのツールになります。API、SDK、サンプルアプリと、信頼性の高いクラウドスケールのインフラストラクチャを使用し、さまざまなユースケースに対応した魅力的なアプリケーションを柔軟に構築できます。

ビデオルーム


Video WebRTC Go

1対1のビデオインタラクションに最適

1対1のビデオチャットの構築、ローンチ、実行が無料

  • ブラウザーベースのバーチャル背景をGoogle ChromeとMicrosoft Edgeで利用可能

  • GDPR準拠

  • iOS、Android、JavaScript用API、SDK、サンプルアプリ

  • 診断ツールとVideo Insightsによる分析*により最適化が可能(* 対象データ保持時間は過去2日間)

  • 従量課金制への切り替えにアプリの再構築は不要

Video P2P

スケーラブルなピアツーピアのビデオチャットに最適

WebRTC Goに含まれるものに加えて:

  • ビデオ参加者は最大3人

  • 音声のみの参加者は最大10人

  • TURNサーバーの利用は無制限。エンタープライズ企業で利用されているファイヤーウォールへのルーティングにも対応

  • Video Insightsによる7日間のパフォーマンス監視

  • 99.95%のSLAアップタイム

Video Group

多人数のビデオグループチャットに最適

P2Pに含まれるものに加えて:

  • ビデオ参加者は最大50人

  • ノイズキャンセリング

  • PSTNダイヤルイン機能

  • ビデオ録画を暗号化し柔軟に管理

  • Network Quality APIによりネットワーク状態を監視

  • Network Bandwidth Profile APIにより参加者の帯域幅を最適化

  • HIPAA適合

“Twilioを選んだ主な理由の1つは、Twilioを基盤として構築することにより、自社製品の一部のようにルック&フィールをカスタマイズし、素早くローンチできることでした。”

Marcus Fields Co-Founder, SchoolCloud

“TwilioのAPIの組み込みは実に簡単で、ビデオ通話のエキスパートになったように簡単に実装できました。そして自分たちのAIの統合に集中できました。”

Noel Kenebeck Senior Software Engineer, Yemboo

“プロトタイピングの初期にまずWebRTCインフラストラクチャを構築しました。細部まですべて自分で対処しなければならず、大変なことが分かりました。そこで、検索し、Twilioを見つけ、ビデオ通話を5分で構築できました。WebRTCを使用して自分で構築すると、3週間以上かかります。”

Enrique Rodiguez Founder, BitWise

メリット


開発者向けのVideo API

ビデオアプリケーションを稼動させる

サンプルコードを利用し、高品質のビデオアプリケーションの開発を素早く開始。Twilio Videoのクラス最高レベルのドキュメントを参考に構築を継続できます。Videoを使用してアプリケーションを構築する際、API、SDK、ビデオルーム設定オプションを活用できます。

// Download the helper library from https://www.twilio.com/docs/node/install
// Find your Account SID and Auth Token at twilio.com/console
// and set the environment variables. See http://twil.io/secure
const accountSid = process.env.TWILIO_ACCOUNT_SID;
const authToken = process.env.TWILIO_AUTH_TOKEN;
const client = require('twilio')(accountSid, authToken);

client.video.v1.rooms('RMXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
               .fetch()
               .then(room => console.log(room.uniqueName));
# Download the helper library from https://www.twilio.com/docs/python/install
import os
from twilio.rest import Client


# Find your Account SID and Auth Token at twilio.com/console
# and set the environment variables. See http://twil.io/secure
account_sid = os.environ['TWILIO_ACCOUNT_SID']
auth_token = os.environ['TWILIO_AUTH_TOKEN']
client = Client(account_sid, auth_token)

room = client.video.v1.rooms('RMXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').fetch()

print(room.unique_name)
// Install the C# / .NET helper library from twilio.com/docs/csharp/install

using System;
using Twilio;
using Twilio.Rest.Video.V1;


class Program
{
    static void Main(string[] args)
    {
        // Find your Account SID and Auth Token at twilio.com/console
        // and set the environment variables. See http://twil.io/secure
        string accountSid = Environment.GetEnvironmentVariable("TWILIO_ACCOUNT_SID");
        string authToken = Environment.GetEnvironmentVariable("TWILIO_AUTH_TOKEN");

        TwilioClient.Init(accountSid, authToken);

        var room = RoomResource.Fetch(pathSid: "RMXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");

        Console.WriteLine(room.UniqueName);
    }
}
// Install the Java helper library from twilio.com/docs/java/install

import com.twilio.Twilio;
import com.twilio.rest.video.v1.Room;

public class Example {
    // Find your Account SID and Auth Token at twilio.com/console
    // and set the environment variables. See http://twil.io/secure
    public static final String ACCOUNT_SID = System.getenv("TWILIO_ACCOUNT_SID");
    public static final String AUTH_TOKEN = System.getenv("TWILIO_AUTH_TOKEN");

    public static void main(String[] args) {
        Twilio.init(ACCOUNT_SID, AUTH_TOKEN);
        Room room = Room.fetcher("RMXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX").fetch();

        System.out.println(room.getUniqueName());
    }
}
import (
	"fmt"
	"github.com/twilio/twilio-go"
)

func main() {
	// Find your Account SID and Auth Token at twilio.com/console
	// and set the environment variables. See http://twil.io/secure
	client := twilio.NewRestClient()

	resp, err := client.VideoV1.FetchRoom("RMXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")
	if err != nil {
		fmt.Println(err.Error())
	} else {
		if resp.UniqueName != nil {
			fmt.Println(*resp.UniqueName)
		} else {
			fmt.Println(resp.UniqueName)
		}
	}
}
<?php

// Update the path below to your autoload.php,
// see https://getcomposer.org/doc/01-basic-usage.md
require_once '/path/to/vendor/autoload.php';

use Twilio\\Rest\\Client;

// Find your Account SID and Auth Token at twilio.com/console
// and set the environment variables. See http://twil.io/secure
\$sid = getenv("TWILIO_ACCOUNT_SID");
\$token = getenv("TWILIO_AUTH_TOKEN");
\$twilio = new Client(\$sid, \$token);

\$room = \$twilio->video->v1->rooms("RMXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")
                          ->fetch();

print(\$room->uniqueName);
# Download the helper library from https://www.twilio.com/docs/ruby/install
require 'rubygems'
require 'twilio-ruby'

# Find your Account SID and Auth Token at twilio.com/console
# and set the environment variables. See http://twil.io/secure
account_sid = ENV['TWILIO_ACCOUNT_SID']
auth_token = ENV['TWILIO_AUTH_TOKEN']
@client = Twilio::REST::Client.new(account_sid, auth_token)

room = @client.video.v1.rooms('RMXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').fetch

puts room.unique_name
# Install the twilio-cli from https://twil.io/cli

twilio api:video:v1:rooms:fetch \\
    --sid RMXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Videoのドキュメント
TwilioのVideoのドキュメントには、Videoによる構築の開始に必要なことがすべて記載されています。 

Video SDK
JavaScriptiOSAndroid用Video SDK: リアルタイムのビデオチャット機能をWebアプリケーションやモバイルアプリケーションに実装可能

高品質アプリケーションの開発
高品質アプリケーションの開発」ガイド(英語)に従い、Videoによる構築のベストプラクティスを学習する 

参照アプリ
ReactJSiOSAndroid用サンプルアプリ: ベストプラクティスの学習やアプリケーション構築の出発点として利用

料金


Videoを利用し、構築を開始

アプリケーションにビデオ機能を組み込むための汎用的なソリューションなどは存在しません。Twilio Videoを利用すると、ニーズに最適のビデオルーム設定を組み合わせて選択できます。無料ソリューションにオプションを追加可能です。従量課金制のため確約払いは不要です。