古いリリースノート

UPDATE

後方互換性がある変更

ADD

後方互換性がある追加

CHANGE

後方互換性のない変更

FIX

バグ修正

重要

変更、廃止された一部機能のリンクは無効になっています。

2023.2.7

バグフィックスアップデート

リリース:

2024-04-24

  • [FIX] レガシー録画機能または録画機能(セッション単位)利用時の録画停止処理中に、新規コネクションが参加した際に、そのコネクションが切断されるまで、録画停止処理が完了しない問題を修正しました

  • [FIX] レガシー録画機能にて録画停止処理中に録画の開始および StopRecording API 実行した際 RECORDING-INTERNAL-ERROR が返されていたのを STOPPING-RECORDING を返すように修正しました

  • [FIX] クラスター有効時に、ごく稀にノード起動に失敗することがある問題を修正しました

2023.2.5

ホットフィックスアップデート

リリース:

2024-03-08

  • [FIX] 録画機能で録画中、出力済の分割録画ファイルのファイルディスクリプタを掴み続ける問題を修正しました

2023.2.4

ホットフィックスアップデート

重要

このリリースはクラスターをご利用いただいているお客様にのみ提供しております。

リリース:

2024-02-27

  • [FIX] クラスター利用時にでリーダーノードがダウンした場合に、他のノードのセッションも終了してしまう問題を修正しました

2023.2.3

バグフィックスアップデート

リリース:

2024-02-07

  • [FIX] "multistream": false を指定して接続した場合に、配信/視聴ができない問題を修正しました

  • [FIX] セッションウェブフックが一部の HTTP サーバーで正常に処理できず、エラーになる問題を修正しました

  • [FIX] データチャネルの終了時にクライアント側で警告が出力される問題を修正しました

2023.2.2

バグフィックスアップデート

リリース:

2024-01-04

変更履歴

  • [FIX] sora.confevent_webhook_url が未指定の状態で録画を開始した場合、セッションが破棄されない問題を修正しました

  • [FIX] ウェブフックで mTLS 利用時に、特定の条件下でクライアント証明書を送らなくなる問題を修正しました

    • ウェブフックで HTTPS を利用する場合は TLS 1.2 のみを利用するように変更しました

  • [FIX] ウェブフックで mTLS 利用時に、 CA 証明書が指定されていない場合に OS 組み込みの証明書を利用できない問題を修正しました

  • [FIX] 統計エクスポーターで mTLS 利用時に、 CA 証明書が指定されていない場合に OS 組み込みの証明書を利用できない問題を修正しました

  • [FIX] 音声ストリーミングで mTLS 利用時に、 CA 証明書が指定されていない場合に OS 組み込みの証明書を利用できない問題を修正しました

  • [FIX] API ログの書き込みに失敗した場合でも、 API の処理を中断しないように修正しました

  • [FIX] PurgeClusterNode API の API ログ操作名が LeaveCluster となっていたのを PurgeClusterNode に修正しました

  • [FIX] クラスターに参加済のノードが、別クラスターに対する 20211215.JoinCluster API を受け入れてしまう問題を修正しました

  • [FIX] 録画機能で大幅にパケットの到着が遅れている場合、分割録画に失敗することがある問題を修正しました

2023.2.0

メジャーアップデート

リリース:

2023-12-20

ハイライト

  • セッション単位で録画する新しい録画機能を追加しました

    • 今までの録画機能は レガシー録画機能 と名前を変更しました

    • レガシー録画機能と新しい録画機能は別チャネルであれば同時に利用することができます

    • レガシー録画機能は 2025 年 12 月リリース予定の Sora にて廃止します

    • 詳細は 録画機能 (セッション単位) をご確認ください

  • 接続単位で録画をブロックできる機能を追加しました

    • 今まではチャネルに参加している全ての接続が録画されていましたが、新しい録画機能では接続単位で録画をブロックできるようになりました

    • 新しい録画機能でのみ利用できます

  • より大規模な配信を可能にする配信ワーカー機能を追加しました

    • 今まで音声や映像をクライアントに配信するワーカーは 1 つでしたが、配信するワーカーを複数にすることで、より多くのユーザーに配信することができるようになりました

  • データチャネルの負荷を下げるために SCTP パケットのチェックサム計算を省略する機能を追加しました

    • 利用するにはクライアント側もチェックサム計算を省略する機能に対応している必要があります

  • ウェブフックで IPv6 アドレスが利用できるようになりました

  • ウェブフックなどでルート CA 証明書に OS 組み込みのものを利用するようにしました

正式版

廃止情報

破壊的変更

変更履歴

  • [CHANGE] ウェブフックなどで利用するルート CA 証明書に OS 組み込みのものを利用するように変更しました

  • [UPDATE] DataChannel を利用したメッセージングのみで接続する場合に rolesendrecv 以外でも接続ができるようになりました

  • [ADD] シグナリング "type": "offer"channel_idsession_id を追加しました

  • [ADD] connection.jsonlice_connection_state に ICE コネクションステート checkingdisconnected だった時間を追加しました

  • [ADD] Sora が利用している Erlang VM の設定を追加できる環境変数 SORA_ADDITIONAL_ERL_ARGS を追加しました

  • [ADD] 認証成功時の払い出しに検証用の RTP パケットロスシミュレーターの設定値、 rtp_packet_loss_simulator_incomingrtp_packet_loss_simulator_outgoing が指定できるようになりました

  • [ADD] sora.jsonlinternal.jsonl に UUIDv4 を Base32 でエンコードしたユニークな ID を含めるようにしました

    • "id": "base32(uuidv4)"

  • [FIX] データチャネルで利用する SCTP のストリーム ID 採番を RFC 8832 に準拠させました

  • [FIX] 録画機能で H.264 利用時に送られてくる分割ペイロードが壊れている場合は処理をスキップするように修正しました

OBS WHIP

これは実験的機能です

  • [ADD] OBS WHIP で User-Agent として送られてくる情報を sora_client としてウェブフックで送信するようにしました

    "sora_client": {
      "raw": "Mozilla/5.0 (OBS-Studio/30.0.0; Mac OS X; ja-JP)",
      "type": "OBS-Studio",
      "version": "30.0.0",
      "environment": "environment":"Mozilla/5.0 (OBS-Studio/30.0.0; Mac OS X; ja-JP)"
    },
    
  • [ADD] OBS WHIP で AV1 が動作するようにしました

    • OBS WHIP で AV1 を配信する仕組みは 2024 年 12 月 現在、 OBS には組み込まれていません

  • [FIX] WHIP 利用時に認証ウェブフックの項目に ignore_disconnect_websocket が含まれない問題を修正しました

    • 常に false が含まれます

転送フィルター機能

これは実験的機能です

転送フィルターに versionmetadata が指定できるようになりました。

version を指定することで、転送フィルターの更新 API が並列で実行されても期待した値に変更することができるようになりました。

  • [ADD] 転送フィルターに version を設定できるようになりました

  • [ADD] 転送フィルターに metadata を設定できるようになりました

  • [ADD] 転送フィルター API CreateChannelForwardingFilterCreateConnectionForwardingFilterversion を指定できるようになりました

  • [ADD] 転送フィルター API CreateChannelForwardingFilterUpdateChannelForwardingFiltermetadata を指定できるようになりました

  • [ADD] 転送フィルター API CreateConnectionForwardingFilterUpdateConnectionForwardingFiltermetadata を指定できるようになりました

  • [ADD] 転送フィルター API UpdateChannelForwardingFilterUpdateConnectionForwardingFilter API に指定した expected_version が既存の version と一致していない場合は更新エラーになるようになりました

    • expected_version が既存のバージョンと一致した場合のみ desired_version で指定した値で version の値を更新します

  • [ADD] セッションウェブフックの戻り値に versionmetadata を指定できるようになりました

  • [ADD] 認証成功の払い出し時に versionmetadata を指定できるようになりました

  • [ADD] シグナリング時に versionmetadata を指定できるようになりました

セッション API

  • [ADD] 指定したセッションを取得する GetSession API を追加しました

    • channel_id を指定してセッションを取得します

  • [ADD] セッション一覧を取得する ListSessions API を追加しました

    • 全てのセッション一覧を取得します

録画機能

  • [ADD] sora.conf に単一録画ファイルと分割録画ファイルの両方を出力する機能を有効にするかどうかを指定する recording_dual_output を追加しました

    • デフォルトは true です

    • false に指定した場合は 単一録画ファイルと分割録画ファイルの両方が出力 のパターンを指定できなくなります

  • [ADD] sora.conf に録画期限の最大値を指定する recording_max_expire_time を追加しました

    • デフォルトは 86400 s です

    • 設定できる最大値は 86400 s です

    • レガシー録画機能では一括録画と一括&分割録画で expire_time が指定できます

    • 新しい録画機能(セッション単位)では一括録画、分割録画、一括&分割録画で expire_time が指定できます

  • [ADD] sora.conf に分割録画時の分割時間の最大値を指定する recording_max_split_duration を追加しました

    • デフォルトは 86400 s です

    • 設定できる最大値は 86400 s です

  • [ADD] sora.conf に一括録画を含む場合に録画期限の設定を要求する recording_expire_time_required を追加しました

    • この設定は一括録画時に録画ファイルが大きくなりすぎるのを防ぐための設定です

    • デフォルトは false です

    • この設定を true にした場合、一括録画を含む場合に expire_time が必須になります

    • この設定を true にした場合、レガシー録画機能では expire_time0 以外の値を指定する必要があります

    • この設定を true にした場合、新しい録画機能(セッション単位)では expire_time の値を指定する必要があります

    • この設定を true にした場合でも分割録画のみの場合は expire_time は必須になりません

新しい録画機能 (セッション単位)

今までの録画機能は レガシー録画機能 と名前を変更しました。

レガシー録画機能と新しい録画機能は別チャネルであれば同時に利用することができます。

  • [ADD] sora.conf にレガシー録画を有効にするかどうか指定する legacy_recording を追加しました

    • デフォルトは true です

    • false にした場合、レガシー録画機能が利用できなくなります

    • この設定は移行用の設定で、 2025 年 12 月リリース予定の Sora にて廃止します。

  • [ADD] セッションウェブフック session.created 時に "recording": true を指定することで録画を開始します

  • [ADD] セッションウェブフック session.created 時に "recording_expire_time" を指定することができるようになりました

    • セッション破棄時に録画は自動で終了します

    • セッション破棄前に期限が来た場合はそこで録画は終了します

  • [ADD] セッションウェブフック session.created 時に "recording_split_duration" を指定することができるようになりました

  • [ADD] セッションウェブフック session.created 時に "recording_split_only" を指定することができるようになりました

  • [ADD] セッションウェブフック session.created 時に "recording_metadata" を指定することができるようになりました

  • [ADD] セッションウェブフック recording.started を追加しました

  • [ADD] セッションウェブフック recording.report を追加しました

  • [ADD] 新しい録画用の StartRecording API を追加しました

    • セッション破棄時に自動で録画は終了します

    • expire_time がオプションになっています

    • expire_time デフォルトは未定義です

  • [ADD] 新しい録画用の StopRecording API を追加しました

詳細については 録画機能 (セッション単位) をご確認ください。

移行については レガシー録画機能から新しい録画機能 (セッション単位) への移行 をご確認ください。

新しい録画機能 (セッション単位) における接続単位の録画ブロック機能

これは実験的機能です

この機能は新しい録画機能 (セッション単位) でのみ利用できます。レガシー録画機能では利用できません

  • [ADD] 認証成功時に "recording_block": true を払い出すことで、その接続の録画をブロックし、録画ファイルの出力を拒否できるようになりました

    • これは録画が有効になっていない場合に払い出しても問題ありません

    • この値を途中で変更することはできません

  • [ADD] イベントウェブフック connection.{created, updated, destroyed}data"recording_block" の項目を追加しました

    • 認証成功時に "recording_block": true を払い出していれば true に、それ以外は false になります

シグナリング通知メタデータ

sora.confsignaling_notify_metadatafalse にした際の挙動を変更しました。

外部への HTTP リクエストに HTTP ヘッダーを追加

ウェブフックや統計エクスポーター、音声ストリーミングを利用した際の外部への HTTP リクエストに、 x-sora- prefix とは別に sora- prefix の HTTP ヘッダーを追加しました。

これは RFC 6648 による x- prefix の非推奨化に準拠するためです。

今後 x-sora- prefix は非推奨になります。 現時点で具体的な時期は決まっていませんが、将来的に 1 年以上の移行期間を設けて廃止する予定です。

  • [ADD] セッションウェブフックに sora-session-webhook-type ヘッダーを追加しました

    • すでにある x-sora-session-webhook-type ヘッダーは将来的に廃止予定です

  • [ADD] イベントウェブフックに sora-event-webhook-type ヘッダーを追加しました

    • すでにある x-sora-event-webhook-type ヘッダーは将来的に廃止予定です

  • [ADD] 統計エクスポーターに sora-stats-exporter-type ヘッダーを追加しました

    • すでにある x-sora-stats-exporter-type ヘッダーは将来的に廃止予定です

  • [ADD] セッションウェブフックに sora-session-id ヘッダーを追加しました

  • [ADD] イベントウェブフックに sora-connection-id ヘッダーを追加しました

  • [ADD] イベントウェブフックに sora-session-id ヘッダーを追加しました

ウェブフック

  • [CHANGE] セッションウェブフック audio-streaming.startedmax_connectionstotal_connections が含まれなくなりました

  • [CHANGE] セッションウェブフック audio-streaming.stoppedmax_connectionstotal_connections が含まれなくなりました

  • [CHANGE] クラスター機能利用時のセッションウェブフック session.destroyedconnections が含まれなくなりました

  • [ADD] sora.conf にウェブフックで IPv6 利用する webhook_ipv6 を追加しました

    • デフォルトは false です

    • この設定を有効にしない限りウェブフックで IPv6 は利用できません

  • [ADD] sora.conf にイベントウェブフック connection.updated の送信間隔を変更する connection_updated_webhook_interval を追加しました

    • デフォルトは 1 min です

    • 最小は 1 min です

    • 最大は 10 min です

    • 時間単位は min のみが指定できます

  • [ADD] sora.conf に 録画イベントウェブフック split-archive.available を送信しないようにする ignore_split_archive_available_webhook を追加しました

    • デフォルトは false です

  • [ADD] 接続イベントウェブフック connection.{created, updated, destroyed} に ICE コネクションステートが checkingdisconnected だった時間の項目を追加しました

    • data.ice_connection_state.total_checking_duration_mschecking だった合計時間(ミリ秒)が入ります

    • data.ice_connection_state.total_disconnected_duration_msdisconnected だった合計時間(ミリ秒)が入ります

  • [ADD] 認証ウェブフックに spotlight_focus_ridspotlight_unfocus_rid を追加しました

    • spotlighttrue の時だけ追加されます

  • [ADD] 接続イベントウェブフック connection.{created, updated, destroyed} に ICE コネクションステートの checkingdisconnected の時間を通知する項目を追加しました

    • ice_connection_state 項目を追加しました

    • ice_connection_statetotal_checking_duration_mschecking だった合計時間(ミリ秒)が入ります

    • ice_connection_statetotal_disconnected_duration_msdisconnected だった合計時間(ミリ秒)が入ります

    "data": {
      "ice_connection_state": {
        "total_checking_duration_ms": 0,
        "total-disconnected_duration_ms": 0
      }
    }
    
  • [ADD] セッションウェブフック session.updated を追加しました

    • クラスターが有効時には connections は含まれません

    • 録画機能 (セッション単位) 有効時に recording 項目が含まれます

  • [ADD] セッションウェブフック session.destroyedreason が含まれるようになりました

    • reason には以下が含まれます

      • normal

        • 正常終了

      • terminated_api

      • abort

        • 異常終了

  • [ADD] sora.conf にセッションウェブフック session.updated を送信しないようにする ignore_session_updated_webhook を追加しました

    • デフォルトは false です

  • [ADD] sora.conf にセッションウェブフック session.updated の送信間隔を変更する session_updated_webhook_interval を追加しました

    • デフォルトは 1 min です

    • 最小は 1 min です

    • 最大は 10 min です

    • 時間単位は min のみが指定できます

  • [FIX] 認証ウェブフックで simulcast_ridspotlighttrue の場合は追加しないようにしました

    • simulcasttrue かつ spotlightfalse の時だけ追加されます

データチャネル

  • [ADD] データチャネルの SCTP のパケットのチェックサム計算を省略する仕組みを追加しました

    • データチャネルは DTLS レイヤーでデータ保護が行われているため、 SCTP のチェックサムは追加の整合性を得ることができないため省略することができます

    • クライアント側もチェックサム計算を省略する機能に対応している必要があります

    • データチャネル利用時の CPU リソースがクライアント、SFU ともに節約されます

    • https://datatracker.ietf.org/doc/html/draft-ietf-tsvwg-sctp-zero-checksum

  • [ADD] SCTP のチェックサムを省略した回数の統計情報を追加しました

    • total_received_sctp_zero_checksum

    • total_sent_sctp_zero_checksum

クラスター機能

これは実験的機能です

Sora 2023.1.x で構築されているクラスターは Sora 2023.2.x へローリングアップデートで移行できます。

警告

2023.2.x から 2023.1.x へのローリングアップデートは行えません。クラスターを再構築する必要があります。

  • [CHANGE] クラスター関連のログは cluster.jsonl に出力するよう変更しました

  • [ADD] 最新のバージョンと 1 世代前のバージョンの Sora ノードが混在する状態でのクラスター運用ができるようになりました

    • 全てのクラスターに参加するノードが同じバージョンになるまでは 1 世代前のバージョンと混在できる仕組みを追加しました

    • Sora 2023.2.x2023.1.x で、特定のノードのアップデートが難しい場合でも、先に他のノードをアップデートすることができるようになります

    • クラスターに 1 世代前のバージョンのノードが混在している場合、新しい接続は全て古いバージョンのクラスターの仕組みを利用します

    • 全てのノードが新しいバージョンのクラスターになったタイミングで、新しいバージョンのクラスターの仕組みを利用しはじめます

詳細については クラスター機能 をご確認ください。

注釈

InitCluster API でクラスターを初期化する際には、新旧バージョンは混在させないでください。また Sora 2023.2.x で構成されたクラスターに 20211215.JoinCluster API で Sora 2023.1.x のノードを参加させることはできません。

メディア配信ワーカー機能

これは実験的機能です

メディア配信ワーカー機能は音声や映像を配信するワーカーを複数用意することで、 1 チャネルで高ビットレートの映像をより多くのクライアントに配信することができるようになります。

  • [ADD] sora.conf に音声や映像の 1 配信に利用するメディア配信ワーカー数を指定する media_publish_worker_number を追加しました

    • デフォルトのメディア配信ワーカー数は 1 です

    • 同時に 100 クライアント以上へ配信する場合はまず 10 を設定することを推奨します

    • ワーカー数が 10 であれば 1 チャネル 1000 クライアント以上の配信ができるようになります

    • 最小は 1 で、最大は 500 です

ワーカー数の設定を 10 以上で検討している場合はまずサポートにご相談ください。

詳細については メディア配信ワーカー機能 をご確認ください。

シグナリング通知メタデータ拡張機能

これは実験的機能です

  • [ADD] 認証成功時に、シグナリング通知メタデータ拡張の初期値を払い出す signaling_notify_metadata_ext を追加しました。

統計エクスポーター

これは実験的機能です

  • [ADD] sora.conf に統計エクスポーターをデフォルトで有効にするかどうかの default_stats_exporter を追加しました

    • デフォルトは true です

  • [ADD] 認証成功時の払い出しで接続単位で統計エクスポーターを有効にするかどうかを指定する stats_exporter を追加しました

    • false を設定した場合は stats_collector_url が指定されていたとしても統計情報がエクスポートされません

H.265

これは実験的機能です

2024 年 12 月 現在、WebRTC H.265 のプロファイルに対応している WebRTC ライブラリはありません。 現在 仕様策定中 です。

  • [ADD] H.265 サイマルキャストに対応しました

  • [ADD] sora.conf に H.265 のデフォルトレベル ID を指定する default_h265_param_level_id を追加しました

    • デフォルトは 93 (3.1) です

  • [ADD] 認証払い出し時に H.265 のデフォルトレベル ID を指定する video_h265_params を追加しました

    • "video_h265_params": {"level_id": 93} のように指定できます

    • level_id の値は 0 から 255 の間である必要があります

  • [ADD] シグナリング時に H.265 のデフォルトレベル ID を指定する h265_params を追加しました

    • "video": {"codec_type": "H265", "h265_params": {"level_id": 93}} のように指定できます

    • level_id の値は 0 から 255 の間である必要があります

  • [ADD] sora.conf に、シグナリング時に H.265 のパラメータ指定を許可するかどうか設定する signaling_h265_params を追加しました

    • デフォルトは false です

2023.1.3

バグフィックスアップデート

リリース:

2023-10-17

変更履歴

  • [FIX] 録画機能利用時、分割録画に失敗かつ分割録画ファイルが一つ以上生成されている場合に、終了処理に失敗する問題を修正しました

    • 終了中の失敗のため、録画処理自体には影響はありません

  • [FIX] サイマルキャスト機能の simulcast_encodingsspotlight_encodingsscalabilityMode のデフォルト値を L1T1 に修正しました

    • AV1 サイマルキャスト利用時に L1T1 以外の scalabilityMode を利用すると録画ができない問題があります

  • [FIX] データチャネルを利用したメッセージング機能利用時に、パケロスが発生すると一定期間パケットを破棄してしまうことがある問題を修正しました

    • この問題は orderedtruemax_retransmitsmax_packet_life_time が設定されている場合に発生します

  • [FIX] クラスター機能利用時に、ノードの起動・停止と新規チャネルへの接続が重なると接続に失敗することがある問題を修正しました

  • [FIX] sora.confdefault_simulcast_rid の設定値が設定に反映されない問題を修正しました

  • [FIX] 依存している OpenSSL を 3.1.3 にアップデートしました

2023.1.2

バグフィックスアップデート

リリース:

2023-08-10

変更履歴

  • [FIX] Safari 側の問題により Safari 14 系および Safari 15 系の一部で Sora に接続できない問題を修正しました

    • Safari 15.6 以降では問題が修正されていることを確認しています

2023.1.1

バグフィックスアップデート

リリース:

2023-07-14

変更履歴

  • [ADD] connection ログに ice_connection_state という ICE コネクション機能の統計情報を追加しました

    • サポートにて問題をより素早く解決しやすくするための追加です

  • [ADD] connection ログに network_status に不安定レベル毎の統計情報を追加しました

    • サポートにて問題をより素早く解決しやすくするための追加です

  • [ADD] GetStatsConnection API に ice_connection_state の統計情報を追加しました

  • [ADD] GetStatsConnection API に network_status にレベル毎の統計情報を追加しました

  • [FIX] CentOS 7 x86_64 利用時にセグメンテーション違反で Sora が落ちてしまう問題を修正しました

  • [FIX] DTLS 再ネゴシエーションの挙動を修正しました

  • [FIX] スポットライト機能利用時に OBS での WHIP が利用できない問題を修正しました

    • 新しく WHIP エンドポイント URL 指定時に spotlight=true を指定することで利用できるようにしました

    • ただし、音声がそのままでは配信されないため FocusSpotlightFixed API を利用して音声を配信する必要があります

  • [FIX] ICE コネクションステート機能で disconnected 時のクライアント状態確認の挙動を修正しました

  • [FIX] PutSignalingNotifyMetadata API の結果の誤字を修正しました

  • [FIX] 20211215.JoinCluster API のエラー応答の誤字を修正しました

2023.1.0

メジャーアップデート

リリース:

2023-06-28

サポート期間変更

  • Sora 2023.1.0 より、サポート提供期間をメジャーアップデートがリリースされた日から 12 ヶ月後の月末最終日まで に変更しました

  • 2023年 6 月リリースの Sora 2023.1.0 およびその後リリースされる可能性のある Sora 2023.1.x は、2024 年 6 月 30 日までサポート対象となります

詳細は サポートライフサイクル をご確認ください。

ハイライト

  • OBS で WebRTC を利用した配信を実現する WHIP に対応しました

  • VP9 / AV1 でのサイマルキャストに対応しました

  • メディアストリームを柔軟に制御するための 転送フィルター機能 を追加しました

  • 音声ストリーミング機能に自動開始/停止機能を追加しました

  • IPv6 のみの環境での動作に対応しました

互換なしの変更情報

廃止情報

変更履歴

  • [CHANGE] データチャネル関連の設定である dcsctp_heartbeat_interval を廃止しました

  • [CHANGE] データチャネル関連の設定である dcsctp_slow_start_tcp_style を廃止しました

  • [CHANGE] サイマルキャスト利用時に "active": false を指定したストリームは、 ~r0 といった SDP が生成されます

  • [CHANGE] sora.conf のウェブフックの audio と video 項目のレガシーな入れ子構造を利用する sora_conf-legacy_webhook_audio_video_json_structure のデフォルト値を false に変更しました

    • これは移行用設定です

  • [CHANGE] sora.conf のログフォーマットのレガシー形式を維持する legacy_log_format のデフォルト値を false に変更しました

    • これは移行用設定です

  • [CHANGE] sora.conf の JSONL 形式で出力しているログのレガシー拡張子を .log に維持する legacy_log_extension のデフォルト値を false に変更しました

    • これは移行用設定です

  • [UPDATE] RHEL 9.2 に対応しました

  • [UPDATE] RHEL 8.8 に対応しました

  • [ADD] 録画イベントウェブフック recording.starteddata.start_timestamp を追加しました

  • [ADD] 録画イベントウェブフック recording.starteddata.split_duration を追加しました

  • [ADD] sora.conf に IPv6 アドレスのみを利用する ipv6_only の設定を追加しました

  • [ADD] クラスター機能が有効な際、セッションウェブフックに external_signaling_url 項目を追加しました

  • [ADD] モードが block_new_connection の場合は、接続に失敗する仕組みを追加しました

  • [ADD] イベントウェブフックにログの書き込みが成功したかどうかを示す log_written フラグを追加しました

    • イベントウェブフックログの書き込みが成功した場合は "log_written": true が含まれます

    • イベントウェブフックログの書き込みが失敗した場合は "log_written": false が含まれます

    • イベントウェブフックログには常に log_written が含まれます

  • [ADD] 録画機能で録画ファイル生成に失敗したファイル情報を recording.report ウェブフックやファイルに failed_archives という項目で追加しました

  • [ADD] 録画機能の recording.report イベントウェブフックに "file_written" フラグを追加しました

    • report-*.json ファイルの書き込みに成功した場合 "file_written": true が含まれます

    • report-*.json ファイルの書き込みに失敗した場合 "file_written": false が含まれます

    • report-*.json ファイルには常に file_written が含まれます

  • [ADD] 認証ウェブフックに id を追加しました

  • [FIX] IPv6 のみの環境で Firefox が正常に動作しない問題を修正しました

  • [FIX] Sora 終了中に HTTP API が呼ばれるとクラッシュログが出力される問題を修正しました

  • [FIX] 認証ウェブフックで simulcastfalse の場合でも simulcast_rid が含まれていた問題を修正しました

    • simulcastfalse の場合は simulcast_rid は含まれなくなります

  • [FIX] 録画機能で H.264 でまれに録画が失敗してしまう問題を修正しました

  • [FIX] スポットライト機能でフォーカスが当たっていない場合でも、無音の音声パケットが配信されてしまう問題を修正しました

パッケージファイル名の変更

OS 名とバージョンの間に - を入れるようにし、x86_64 もアーキテクチャを追加しました。 展開後のディレクトリにアーキテクチャは含まれません。

  • [CHANGE] sora-2023.1.0-ubuntu22.04-arm64v8.tar.gz から sora-2023.1.0-ubuntu-22.04-arm64v8.tar.gz に変更しました

    • ubuntu22.04ubuntu-22.04 に変更しました

  • [CHANGE] sora-2023.1.0-ubuntu20.04-arm64v8.tar.gz から sora-2023.1.0-ubuntu-20.04-arm64v8.tar.gz に変更しました

    • ubuntu20.04ubuntu-20.04 に変更しました

  • [CHANGE] sora-2023.1.0-ubuntu22.04.tar.gz から sora-2023.1.0-ubuntu-22.04-x86_64.tar.gz に変更しました

    • ubuntu22.04ubuntu-22.04 に変更しました

    • ファイル名に -x86_64 を追加しました

  • [CHANGE] sora-2023.1.0-ubuntu20.04.tar.gz から sora-2023.1.0-ubuntu-20.04-x86_64.tar.gz に変更しました

    • ubuntu20.04ubuntu-20.04 に変更しました

    • ファイル名に -x86_64 を追加しました

  • [CHANGE] sora-2023.1.0-ubuntu20.04.tar.gz から sora-2023.1.0-ubuntu-20.04-x86_64.tar.gz に変更しました

    • ubuntu20.04ubuntu-20.04 に変更しました

    • ファイル名に -x86_64 を追加しました

  • [CHANGE] sora-2023.1.0-rhel9.2.tar.gz から sora-2023.1.0-rhel-9.2-x86_64.tar.gz に変更しました

    • rhel9.2rhel-9.2 に変更しました

    • ファイル名に -x86_64 を追加しました

  • [CHANGE] sora-2023.1.0-rhel8.8.tar.gz から sora-2023.1.0-rhel-8.8-x86_64.tar.gz に変更しました

    • rhel8.8rhel-8.8 に変更しました

    • ファイル名に -x86_64 を追加しました

  • [CHANGE] sora-2023.1.0-centos7.9.tar.gz から sora-2023.1.0-centos-7.9-x86_64.tar.gz に変更しました

    • centos7.9centos-7.9 に変更しました

    • ファイル名に -x86_64 を追加しました

セッション破棄 API

  • [ADD] 指定したセッションを終了させる TerminateSession API を追加しました

    • channel_id の指定は必須で、 session_id がオプションで指定できます

ヘルスチェック

  • [ADD] http://<IP アドレス>:5000/.ok で Sora のヘルスチェックができるようになりました

    • 単体利用時には問題が無ければ常に 200 OK を返します

    • クラスター利用時には block_new_connection モード時には 503 Service Unavailable を返します

詳細は ヘルスチェック機能 をご確認ください。

シグナリング通知

  • [ADD] シグナリング通知の "event_type": "connection.created"timestamp を追加しました

    • data にも "data": [{"timestamp": "2023-06-28T10:00:00.999999", ...}, .. ] のように timestamp が含まれるようになります

  • [ADD] シグナリング通知の "event_type": "connection.created"timestamp を含める設定 signaling_notify_connection_created_timestampsora.conf に追加しました

    • デフォルトは true です

映像コーデックパラメーター指定機能

  • [ADD] ウェブフックに映像コーデックパラメーター "video_vp9_params": {"profile_id": 0} を追加しました

    • この設定を利用する場合 legacy_webhook_audio_video_json_structurefalse である必要があります

  • [ADD] ウェブフックに映像コーデックパラメーター "video_av1_params": {"profile": 0} を追加しました

    • この設定を利用する場合 sora_conf-legacy_webhook_audio_video_json_structurefalse である必要があります

  • [ADD] ウェブフックに映像コーデックパラメーター "video_h264_params": {"profile_level_id": ""} を追加しました

    • この設定を利用する場合 sora_conf-legacy_webhook_audio_video_json_structurefalse である必要があります

  • [ADD] シグナリング接続時に H.264 のプロファイルレベル ID を "video": {"codec_type": "H264", "h264_params": {"profile_level_id": "42e01f"} のように指定できるようになりました

    • この指定を利用する場合は signaling_h264_paramstrue である必要があります

    • h264_params を指定する場合は、 codec_typeH264 である必要があります

  • [ADD] シグナリング接続時に VP9 のプロファイル ID を "video": {"codec_type": "VP9", "vp9_params": {"profile_id": 0}} のように指定できるようになりました

    • この指定を利用する場合は signaling_vp9_paramstrue である必要があります

    • vp9_params を指定する場合は、 codec_typeVP9 である必要があります

    • profile_id には 0 から 3 までの値を指定できます

  • [ADD] シグナリング接続時に AV1 のプロファイルを "video": {"codec_type": "AV1", "av1_params": {"profile": 0}} のように指定できるようになりました

    • この指定を利用する場合は signaling_av1_paramstrue である必要があります

    • av1_params を指定する場合は、 codec_typeAV1 である必要があります

    • profile には 0 から 2 までの値を指定できます

  • [ADD] 認証成功時払い出しに VP9 のプロファイル ID を指定できる "video_vp9_params": {"profile_id": 0} を追加しました

    • この設定を利用する場合 sora_conf-legacy_webhook_audio_video_json_structurefalse である必要があります

    • profile_id には 0 から 3 までの値を指定できます

  • [ADD] 認証成功時払い出しに AV1 のプロファイルを指定できる "video_av1_params": {"profile": 0} を追加しました

    • この設定を利用する場合 sora_conf-legacy_webhook_audio_video_json_structurefalse である必要があります

    • profile には 0 から 2 までの値を指定できます

  • [ADD] 認証成功時払い出しに H.264 のプロファイルを指定できる "video_h264_params": {"profile_level_id": "42e01f"} を追加しました

    • この設定を利用する場合 sora_conf-legacy_webhook_audio_video_json_structurefalse である必要があります

    • h264_profile_level_id は 2024 年 6 月リリース予定の Sora にて廃止します

  • [ADD] sora.conf に VP9 のプロファイル ID のデフォルト値を指定する default_vp9_param_profile_id を追加しました

    • デフォルトは 0 が設定されています

    • 0 から 3 までの値を指定できます

  • [ADD] sora.conf に AV1 のプロファイルのデフォルト値を指定する default_av1_param_profile を追加しました

    • デフォルトは 0 が設定されています

    • 0 から 2 までの値を指定できます

  • [ADD] sora.conf に H.264 のプロファイルレベル ID のデフォルト値を指定する default_h264_param_profile_level_id を追加しました

    • 既存の default_h264_profile_level_id は 2024 年 6 月リリース予定の Sora にて廃止します

OBS (WHIP) 対応

OBS が対応予定の WebRTC (WHIP) で配信ができるようになりました。

  • [ADD] sora.conf に OBS (WHIP) を有効にする whip を追加しました

    • デフォルトは false です

  • [ADD] sora.conf に OBS (WHIP) の Bearer トークンを認証ウェブフックの metadata に対応させるキーを指定する whip_bearer_token_metadata_key を追加しました

    • OBS (WHIP) からの接続についても Bearer トークンを利用した認証機能が利用できます

    • デフォルトは未指定です

  • [ADD] WHIP 向けエンドポイント URL https://example.com/whip/<channel-id> を追加しました

    • クエリー文字列で client_idbundle_id を指定できるようになりました

  • [ADD] WHIP 向けリソース URL https://example.com/whip-resource/<channel-id>/<secret> を追加しました

    • PATCH と DELETE メソッドに対応しています

  • [ADD] WHIP を利用した際、認証ウェブフックに whip: true を追加しました

    • WHIP を利用していない接続の場合はこの項目は含まれません

詳細は OBS (WHIP) 対応機能 をご確認ください。

VP9 / AV1 サイマルキャスト対応

  • [UPDATE] VP9 と AV1 でのサイマルキャスト機能に対応しました

    • Chrome 113 以降でスポットライト機能にて VP9 と AV1 が利用できるようになりました

    • Edge 113 以降でスポットライト機能にて VP9 が利用できるようになりました

  • [UPDATE] 認証成功時の払い出し simulcast_encodingsspotlight_encodingsscalabilityMode を指定できるようになりました

    • デフォルトでは scalabilityModeL1T3 が設定されています

  • [UPDATE] simulcast_encodings_filespotlight_encodings_filescalabilityMode を指定できるようになりました

詳細は scalabilityMode をご確認ください。

Lyra 録音機能

  • [ADD] 録画機能に Lyra コーデックを利用した際に WebM ファイルで録音する仕組みを追加しました

詳細は recording-lyra をご確認ください。

転送フィルター機能

今まで PauseRtpStream / ResumeRtpStream API で実現していたメディアストリームの停止/再開をより細かく、柔軟に設定をできるようにした、 転送フィルター機能を追加しました。

  • [ADD] セッション生成時 forwarding_filter を指定することでチャネル単位の転送フィルターを追加できるようになりました

  • [ADD] シグナリング接続時に forwarding_filter を指定することで接続単位の転送フィルターを追加できるようになりました

  • [ADD] 認証成功時に forwarding_filter を指定することで接続単位の転送フィルターを追加できるようになりました

  • [ADD] チャネル単位でチャネルとコネクションの転送フィルターを確認できる ListForwardingFilters API を追加しました

  • [ADD] チャネル単位の転送フィルターを作成する CreateChannelForwardingFilter API を追加しました

  • [ADD] チャネル単位の転送フィルターを更新する UpdateChannelForwardingFilter API を追加しました

  • [ADD] チャネル単位の転送フィルターを削除する DeleteChannelForwardingFilter API を追加しました

  • [ADD] コネクション単位の転送フィルターを作成する CreateConnectionForwardingFilter API を追加しました

  • [ADD] コネクション単位の転送フィルターを更新する UpdateConnectionForwardingFilter API を追加しました

  • [ADD] コネクション単位の転送フィルターを削除する DeleteConnectionForwardingFilter API を追加しました

  • [ADD] 転送フィルターで転送がブロックされたタイミングでシグナリング通知する機能を追加しました

  • [ADD] 転送フィルターで転送がブロックが解除されたタイミングでシグナリング通知する機能を追加しました

  • [ADD] sora.conf に転送フィルターをシグナリング経由で指定できるかどうかを設定する signaling_forwarding_filter を追加しました

    • デフォルト は false です

  • [ADD] sora.conf に転送フィルターのブロックの状態が変わったタイミングでシグナリング通知を飛ばすかどうかを設定する signaling_notify_forwarding_filter を追加しました

    • デフォルト は true です

詳細は 転送フィルター機能 をご確認ください。

SDP 再利用機能

今までマルチストリーム利用した際に、クライアント切断してもその SDP が残ってしまう問題がありました。 今回のリリースで、SDP を再利用する仕組みにより SDP が残る問題を解決しました。

  • [CHANGE] recycle_media_sectiontrue の際に、SDP を再利用する仕組みを追加しました

  • [ADD] sora.conf に SDP の再利用を行う recycle_media_section 設定を追加しました

    • デフォルトは true です

音声ストリーミング機能

  • [ADD] 音声ストリーミングの結果通知の状態を確認する ListAudioStreamingResultPushState API を追加しました

  • [ADD] 音声ストリーミング機能にサブスクライブが 0 になると音声ストリーミングを停止し、サブスクライブが 1 以上になると音声ストリーミングを開始する機能を追加しました

    • この機能はセッション生成時に指定できます

    • この機能が有効になっている場合は音声ストリーミング開始/終了 API は利用できません

  • [ADD] セッションウェブフックの払い出しに音声ストリーミングの自動開始と停止を有効にする audio_streaming_auto を追加しました

    • この設定を利用する場合は必ず audio_streamingtrue で払い出す必要があります

  • [ADD] sora.conf に音声ストリーミングのウェブフックを送信するかどうかを設定する ignore_audio_streaming_webhook を追加しました

    • デフォルトは true で、送信しません

  • [ADD] 音声ストリーミング機能の開始のウェブフック audio-streaming.started を追加しました

  • [ADD] 音声ストリーミング機能の終了のウェブフック audio-streaming.stopped を追加しました

WebSocket 経由シグナリングでの ping / pong / stats のインターバルやタイムアウトの設定

WebSocket 経由でのシグナリングにおいて、 "type": "ping""type": "pong" のインターバルやタイムアウトを設定できるようになりました。 また "type": "ping" 送信時の "stats": true にする間隔を指定できるようになりました。

  • [CHANGE] "type": "ping" 時におくる "stats": true の間隔を 5 秒から 30 秒に変更しました

  • [ADD] sora.conf に ping を送信する間隔を指定する websocket_signaling_ping_interval 設定を追加しました

    • デフォルトは 5 s です

    • 最小は 5 s です

    • 最大は 300 s です

  • [ADD] sora.conf に pong のタイムアウト時間を指定する websocket_signaling_pong_timeout 設定を追加しました

    • デフォルトは 60 s です

    • 最小は 60 s です

    • 最大は 600 s です

  • [ADD] sora.conf に ping 送信時に "stats": true にする間隔を指定する websocket_stats_timer_interval 設定を追加しました

    • デフォルトは 30 s です

    • 最小は 30 s です

    • 最大は 600 s です

クラスター機能利用時のディスク障害時の対応を追加

  • [CHANGE] クラスター利用時に block_new_connection モードへ遷移した場合には新規接続のリダイレクトを行わないように変更しました

  • [ADD] クラスター利用時にディスク障害が発生した際に、 block_new_connection モードへ遷移する機能を追加しました

2022.2.3

リリース:

2023-02-08

変更履歴

  • [FIX] 依存している OpenSSL を 3.0.8 にアップデートしました

  • [FIX] 2023 年 4 月 4 日リリース予定の Chrome M112 でシグナリング時に接続が必ず失敗してしまう問題を修正しました

  • [FIX] ディスク障害が発生してログの書き込みに失敗した際に、障害が復旧した後でもログが書き込めなくなることがある問題を修正しました

2022.1.4

リリース:

2023-02-08

変更履歴

  • [FIX] 2023 年 4 月 4 日リリース予定の Chrome M112 でシグナリング時に接続が必ず失敗してしまう問題を修正しました

2022.2.2

リリース:

2023-01-05

変更履歴

  • [FIX] 音声ストリーミング機能で sora.confdefault_audio_streaming_result_pushtrue の際、プッシュ通知が行われない問題を修正しました

  • [FIX] 音声ストリーミング機能でロールが recvonly の場合にプッシュ通知が受信できない問題を修正しました

  • [FIX] 音声ストリーミング機能で API を利用して音声ストリーミングを開始した際、通知が正常に行われない問題を修正しました

2022.2.1

リリース:

2022-12-21

変更履歴

  • [FIX] 開発ツールが Safari / Mobile Safari / Firefox で動作しない問題を修正しました

2022.2.0

リリース:

2022-12-21

ハイライト

  • sora ログと internal ログを JSONL 形式で出力するようになりました

  • Google が公開した超低ビットレートコーデック Lyra に対応しました

  • 音声パケットを HTTP/2 経由で出力する音声ストリーミング機能を追加しました

  • 録画開始ととアーカイブ開始のウェブフックを追加しました

  • ウェブフックが mTLS と CA 証明書の指定に対応しました

互換なしの変更情報

  • 実験的機能であるセッションウェブフックのログ出力を req/res 形式に変更しました

  • 実験的機能であるセンシティブデータ向け設定 redact_archive_metadata_sensitive_dataredact_api_sensitive_data を廃止しました

    • 録画メタデータファイルと API はセンシティブなデータがあっても編集を行わないようにしました

  • クラスター機能の仕組みを変更したため互換性がなくなりました、クラスターの再構築をお願いします

変更履歴

  • [FIX] DTLS 処理終了時に起きていた問題を修正しました

  • [FIX] 録画ウェブフックの expired_at が秒単位の UNIX Time ではなくマイクロ秒になっていたのを修正しました

  • [FIX] 録画ウェブフックの split-archive.availablesplit-archive-*.json に offset が含まれていなかったのを修正しました

  • [FIX] ULPFEC が有効でな状態でパケロス発生時に録画に失敗することがある問題を修正しました

  • [FIX] 録画機能のウェブフックやファイルに含まれる統計値の名前 total_audio_discarded が間違っていたのを修正しました

JSONL 形式でのログ出力

  • [ADD] sora.conf にログフォーマットのレガシー形式を維持する legacy_log_format を追加しました

    • デフォルトは true です

    • これは移行用設定です

  • [ADD] sora.conf に JSONL 形式で出力しているログのレガシー拡張子を .log に維持する legacy_log_extension を追加しました

    • デフォルトは true です

    • これは移行用設定です

  • [ADD] sora.conflegacy_log_formatfalse にすることで以下のログは JSONL 形式で出力されます

    • sora ログ

    • internal ログ

    • signaling ログ

    • api ログ

    • auth_webhook ログ

    • session_webhook ログ

    • session_webhook_error ログ

    • event_webhook ログ

    • event_webhook_error ログ

    • connection ログ

  • [ADD] sora.conflegacy_log_extensionfalse にすることで JSONL 形式で出力されているログファイルの拡張子が .log から .jsonl に変更されます

    • sora.logsora.jsonl に変更されます

    • internal.loginternal.jsonl に変更されます

    • signaling.logsignaling.jsonl に変更されます

    • api.logapi.jsonl に変更されます

    • auth_webhook.logauth_webhook.jsonl に変更されます

    • session_webhook.logsession_webhook.jsonl に変更されます

    • session_webhook_error.logsession_webhook_error.jsonl に変更されます

    • event_webhook.logevent_webhook.jsonl に変更されます

    • event_webhook_error.logevent_webhook_error.jsonl に変更されます

    • connection.logconnection.jsonl に変更されます

  • [CHANGE] サポート用ログファイルである connection_created_wait_timeout_error/<timestamp>_<connection_id>.json の拡張子を .json から .jsonl に変更しました

クラスター機能

  • [CHANGE] クラスターの仕組みを変更したため、2022.1 系までのクラスターの仕組みとは互換性がありません

    • クラスターの初期化が必要になります

  • [ADD] クラスター初期化に利用する InitCluster API を追加しました

  • [CHANGE] クラスター機能の ListClusterNodes API の member_since を廃止しました

  • [CHANGE] クラスター機能の ListClusterChannels API の戻り値を変更しました

    • owners を追加し、その下にリストで node_name epoch epoch_latest connected を持つようにしました

    • node_in_chargenode_name に変更しました

    • node_in_charge_epochepoch に変更しました

    • node_in_charge_epoch_staleepoch_latest に変更しました

    • node_in_charge_connectedconnected に変更しました

Lyra コーデックへの対応

これは実験的機能です

  • [ADD] sora.conf に Google が公開した音声圧縮用超低ビットレートコーデック Lyra を有効にする設定 lyra を追加しました

    • デフォルトは false です

    • lyra = true のように設定してください

  • [ADD] シグナリング接続時の音声コーデックタイプに Lyra を指定できるようになりました

    • 指定する際は大文字の LYRA で指定する必要があります

    • Lyra を利用する際は lyra_params を指定する必要があります

      • lyra_params には lyra のバージョンを指定する version とビットレートを指定する bit_rate が指定できます

      • {"audio": "codec_type": "LYRA", "lyra_params": {"version": "1.3.0", "bit_rate": 9200}}

  • [ADD] 認証成功時に {"audio": true, "audio_codec_type": "LYRA", "audio_lyra_params": {"version": "1.3.0", "bitrate": 9200} のように指定できるようになりました

    • この指定を利用する場合は sora_conf-legacy_webhook_audio_video_json_structurefalse にする必要があります

音声ストリーミング機能

これは実験的機能です

詳細は 音声ストリーミング機能 をご確認ください。

音声冗長化機能

  • [CHANGE] sora.confaudio_red のデフォルト値を false に変更しました

センシティブデータ

  • [ADD] sora.conf にセンシティブなデータが含まれる可能性がある項目を "REDACTED" という文字列への書き換えをスキップする skip_redact_sensitive_data を追加しました

    • デフォルトでは false です

  • [CHANGE] sora.confredact_archive_metadata_sensitive_data を廃止しました

    • 録画メタデータファイルの event_metadata はセンシティブなデータの書き換え対象外としました

  • [CHANGE] sora.confredact_api_sensitive_data を廃止しました

    • API の event_metadata はセンシティブなデータの書き換え対象外としました

詳細は センシティブデータ をご確認ください。

ウェブフックの audio と video 項目の JSON 構造のフラット化

  • [ADD] sora.conf にウェブフックの audio と video 項目のレガシーな JSON 構造する sora_conf-legacy_webhook_audio_video_json_structure を追加しました

    • デフォルトでは true です

    • これは移行用設定です

詳細は ウェブフックの audio video 項目の JSON 構造のフラット化 をご確認ください

セッションウェブフックログを req/res 形式に変更

  • [CHANGE] session_webhook.jsonl の出力形式を req/res 形式に変更しました

  • [CHANGE] session_webhook_error.jsonl の出力形式を req 形式に変更しました

録画とアーカイブ開始ウェブフックを追加

ウェブフック mTLS / CA 証明書指定対応

  • [ADD] sora.conf にウェブフックのリクエスト先との通信で mTLS を利用する際の証明書を指定する webhook_tls_fullchain_file を追加しました

  • [ADD] sora.conf にウェブフックのリクエスト先との通信で mTLS を理世する際の秘密鍵を指定する webhook_tls_privkey_file を追加しました

  • [ADD] sora.conf にウェブフックのリクエスト先の証明書をベリファイするルート CA を指定する webhook_tls_verify_cacert_file を追加しました

ウェブフック統計情報

  • [ADD] ウェブフック関連の統計情報を GetStatsReport API に追加しました

    • total_auth_webhook_allowed

      • 認証ウェブフックで許可された数

    • total_auth_webhook_denied

      • 認証ウェブフックで拒否された数

    • total_successful_auth_webhook

      • 認証ウェブフックが成功した数

    • total_failed_auth_webhook

      • 認証ウェブフックが失敗した数

    • total_successful_session_webhook

      • セッションウェブフックが成功した数

    • total_failed_session_webhook

      • セッションウェブフックが失敗した数

    • total_successful_event_webhook

      • イベントウェブフックが成功した数

    • total_failed_event_webhook

      • イベントウェブフックが失敗した数

クラッシュログ出力 API

これは実験的機能です

  • [ADD] 意図的に crash.log を出力させる 20221221.GenerateCrashLog API を追加しました

    • この API はログ出力の動作確認にのみ利用してください

    • この API はかならずステータスコード 500 を返します

2022.1.3

リリース:

2022-11-02

変更履歴

  • [FIX] 依存している OpenSSL を 3.0.7 にアップデートしました

  • [FIX] データチャネルの性能ボトルネックを修正しました

  • [FIX] データチャネル利用時に高負荷になった状態が継続する問題を修正しました

  • [FIX] データチャネル利用時に意図しないメッセージを受信した際の問題を修正しました

  • [FIX] データチャネル利用時に意図しないエラーが発生する問題を修正しました

  • [FIX] データチャネル利用時に compresstrue になっている Label のメッセージが壊れている場合の問題を修正しました

2022.1.1

リリース:

2022-07-12

変更履歴

  • [FIX] 依存している OpenSSL を 3.0.5 にアップデートしました

  • [FIX] 録画機能の {"type": "split-archive-end"} ウェブフックには解像度を含めないように修正しました

  • [FIX] 録画機能の split-archive-end-<connection_id>.json ファイルには解像度を含めないように修正しました

  • [FIX] sora.log にでるべきログの一部が internal.log に出力されていた問題を修正しました

  • [FIX] クラスターのノードが異常な状態になったタイミングで emergency ログを出力して終了するように修正しました

  • [FIX] sora.conf の default_multistream が true の時に、 "type": "connect" メッセージの rolesendrecv を指定し、かつ multistream指定しない 場合に、エラーとなり接続できない問題を修正しました

2022.1.0

リリース:

2022-06-29

ハイライト

  • Ubuntu 22.04 に対応しました

  • RHEL 9 に対応しました

  • サイマルキャスト機能が正式版になりました

  • スポットライト機能が正式版になりました

  • スポットライト機能がサイマルキャスト無効でも利用できるようになりました

  • サイマルキャスト機能やスポットライト機能利用時に、視聴されていないストリームは復号処理を行わない仕組みを追加しました

  • 録画機能で、録画ファイル分割出力機能を有効にした場合にも recording.report ウェブフック通知とレポートファイルが作成されるようになりました

  • クラスター利用時に、同一ライセンスを利用できる「最大ノード数ライセンス」の提供を開始しました

  • クラスター機能で録画状態を共有する機能を追加しました

  • クラスター機能でクラスター参加を自動で行う仕組みを追加しました

  • クラスター機能でネットワーク障害発生時に自動で復旧を試みる仕組みを追加しました

  • 特定の接続からのストリームを受信しないようにできる bundle_id を追加しました

  • センシティブなデータが含まれる可能性がある session_metadataevent_metadata の値を "REDACTED" という文字列に書き換える仕組みを追加しました

廃止情報

  • sora.confdemo を廃止しました

  • sora.confremote_stats を廃止しました

  • sora.confunuse_metadata_list を廃止しました

  • sora.confuse_re_offer を廃止しました

  • GetAllRemoteStats API を廃止しました

  • GetChannelRemoteStats API を廃止しました

  • GetConnectionRemoteStats API を廃止しました

  • StopRecording API の redirect を廃止しました

互換なしの変更情報

  • マルチストリームをデフォルトで有効にしました

    • sora.confdefault_multistreamfalse にすることでマルチストリームがデフォルトではなくなります

    • この設定は 2023 年 6 月リリースの Sora にて廃止します

    • 詳細は sora.conf の default_multistream の廃止 をご確認ください

  • type: archive.endtype: split-archive.end に変更しました

    • sora.confsplit_archive_legacy_prefixtrue にすることで type: archive.end がそのまま利用できます

    • この設定は 2023 年 6 月リリースの Sora にて廃止します

    • 詳細は sora.conf の split_archive_legacy_prefix の廃止 をご確認ください

  • type: archive.splittype: split-archive.available に変更しました

    • sora.confsplit_archive_legacy_prefixtrue にすることで type: archive.split がそのまま利用できます

    • この設定は 2023 年 6 月リリースの Sora にて廃止します

    • 詳細は sora.conf の split_archive_legacy_prefix の廃止 をご確認ください

  • archive-<connection-id>_<index>.webmsplit-archive-<connection-id>_<index>.webm に変更しました

    • sora.confsplit_archive_legacy_prefixtrue にすることで archive-<connection-id>_<index>.webm がそのまま利用できます

    • この設定は 2023 年 6 月リリースの Sora にて廃止します

    • 詳細は sora.conf の split_archive_legacy_prefix の廃止 をご確認ください

  • archive-<connection-id>_<index>.jsonsplit-archive-<connection-id>_<index>.json に変更しました

    • sora.confsplit_archive_legacy_prefixtrue にすることで archive-<connection-id>_<index>.json がそのまま利用できます

    • この設定は 2023 年 6 月リリースの Sora にて廃止します

    • 詳細は sora.conf の split_archive_legacy_prefix の廃止 をご確認ください

  • セッションウェブフックでセッションの接続数が 0 のタイミングで multistreamspotlight がセッションと異なる新規接続が来た場合は既存のセッションを破棄し session.destroyed ウェブフックリクエストを送信した後に、新規でセッションを作成し session.created を送信するように変更しました

  • セッションウェブフックでセッションの接続数が 0 ではないタイミングで multistreamspotlight がセッションと異なる新規接続が来た場合は INVALID-SIGNALING-PARAMS エラーを返し切断するように変更しました

  • セッションウェブフック session.createdsession.destroyedcreated_timedestroyed_time を UNIX 時間に変更しました

  • sora.loginternal.log の時刻を RFC3339 準拠に変更しました

  • cluster 関連設定名を変更しました

    • cluster_node_namenode_name へ変更しました

    • cluster_api_urlexternal_api_url へ変更しました

    • cluster_signaling_urlexternal_signaling_url へ変更しました

    • sora_versionversion に変更しました

  • cluster 関連 API の引数や戻り値を変更しました

  • クラスター機能を有効にしたときのモードを initial へ変更しました

  • クラスターに参加したときに自動でモードが initial から normal へ切り替わるよう変更しました

変更履歴

  • [CHANGE] セッションウェブフック session.createdcreated_time を UNIX 時間に変更しました

  • [CHANGE] セッションウェブフック session.destroyedcreated_time を UNIX 時間に変更しました

  • [CHANGE] セッションウェブフック session.destroyeddestroyed_time を UNIX 時間に変更しました

  • [UPDATE] 組み込みの開発ツールを 2022.1.0 にアップデートしました

  • [ADD] RHEL 9 x86_64 に対応しました

  • [ADD] Ubuntu 22.04 x86_64 に対応しました

  • [ADD] イベントウェブフック connection.created に RFC3339 形式で出力する created_timestamp を追加しました

  • [ADD] イベントウェブフック connection.updated に RFC3339 形式で出力する created_timestamp を追加しました

  • [ADD] イベントウェブフック connection.destroyed に RFC3339 形式で出力する created_timestamp を追加しました

  • [ADD] イベントウェブフック connection.destroyed に RFC3339 形式で出力する destroyed_timestamp を追加しました

  • [ADD] イベントウェブフック connection.destroyed に UNIX 時間で出力する destroyed_time を追加しました

  • [ADD] GetStatsReport API に Sora のバージョンを取得できる version を追加しました

  • [ADD] 認証成功時の H.265 の払い出しを追加しました

  • [ADD] 認証ウェブフックに simulcast_rid を追加しました

  • [ADD] Sora 内部で利用するファイルを書き出す data ディレクトリを追加しました

  • [ADD] sora.conf に Sora 内部で利用するファイルを書き出す data ディレクトリを指定する data_dir を追加しました

  • [FIX] Opus の RED の仕様変更ともない動作しなくなっていた問題を修正しました

  • [FIX] 0 番ポートでパケットが送られてきた場合の問題を修正しました

  • [FIX] DTLS で異常なパケットが送られてきた場合でも可能な限り丁寧に終了処理を行うように修正しました

  • [FIX] 異常な STUN パケットが送られてきた場合の問題を修正しました

  • [FIX] 録画した WebM ファイルの Cluster Timecode が負の値になると発生する問題を修正しました

マルチストリームをデフォルトで有効化

マルチストリームをデフォルトで有効にしました。

いままでマルチストリームを利用する場合は、シグナリング接続時に "multistream": true を指定して有効にする必要がありました。これをデフォルトで有効に変更しました。

今後は、マルチストリームを利用しない場合は明示的に "multistream": false を指定する必要があります。

  • [CHANGE] マルチストリームをデフォルトで有効に変更しました

  • [ADD] sora.conf にマルチストリームのデフォルト値を指定する default_multistream を追加しました

例外的にスポットライト機能を利用するときは "multistream": true を明示する必要があります。

bundle_id の追加

複数のコネクションを同じ端末から接続する際、それぞれのコネクションで同一の bundle_id を指定すると、 同一の bundle_id を指定した接続からの音声や映像、メッセージングを受信しなくなります。

画面共有の映像を受信したくない場合などにお使いください。

  • [ADD] sora.conf"type": "connect" 時に bundle_id を指定できるかどうかを設定する signaling_bundle_id を追加しました

    • デフォルトでは false が設定されています

  • [ADD] sora.confsignaling_notify_bundle_id を追加しました

    • デフォルトでは true が設定されています

  • [ADD] "type": "connect"bundle_id が指定できるようになりました

  • [ADD] 認証成功時の払い出しで bundle_id を指定できるようになりました

sora.log と internal.log の出力

  • [CHANGE] タイムスタンプの出力を RFC3339 準拠に変更しました

    • Sora 2021.2.7 まで

      • 2022-03-07 02:54:26.847 UTC [info] [-/-/-] <0.1218.0> SORA | node_name=sora@192.0.2.1, version=2021.2.7

    • Sora 2022.1.0 から

      • 2022-03-07T02:54:26.847130Z [info] [-/-/-] <0.1218.0> SORA | node_name=sora@192.0.2.1, version=2022.1.0

録画機能

  • [CHANGE] 分割録画ファイルとメタデータファイルの出力名を archive-<connection_id>_<index>.(json|webm) から split-archive-<connection_id>_<index>.(json|webm) に変更しました

    • sora.confsplit_archive_legacy_prefixtrue にすることで archive-<connection_id>_<index>.(json|webm) を維持できます

  • [CHANGE] 録画分割時のウェブフックのタイプ "type": "archive.split""type": "split-archive.available" に変更しました

  • [CHANGE] 録画分割時のウェブフックのタイプ "type": "split.end""type": "split-archive.end" に変更しました

  • [CHANGE] 録画一時ファイルディレクトリ archive_tmp_dir に保存される録画一時ファイルは、録画が失敗した場合には削除されなくなりました

  • [ADD] report-<connection_id>.jsonnode_namelabel 項目を追加しました

  • [ADD] sora.conf に分割録画ファイル名を archive-<connection_id>_<index>.(json|webm) にする split_archive_legacy_prefix を追加しました

  • [ADD] 録画の状態をクラスターで共有する仕組みを追加しました

  • [ADD] split_onlytrue を指定した場合に、 archive.end ウェブフックと対になる split-archive-end-<connection_id>.json ファイルを作成するようになりました

  • [ADD] split_onlytrue を指定した場合でも recording.report ウェブフックリクエストを飛ばすようになりました

  • [ADD] split_onlytrue を指定した場合でも report-<recording_id>.json ファイルを作成するようになりました

  • [ADD] 録画メタデータファイルとレポートファイルに labelnode_name を追加するようにしました

  • [UPDATE] 録画で生成された WebM ファイルが Windows の Windows標準アプリケーションの"映画&テレビ" で正常に再生できない問題へ対応しました

    • Sora 側の問題ではなく Windows標準アプリケーションの"映画&テレビ" が WebM の仕様を守っていないことによる問題です

サイマルキャストやスポットライト機能利用時の負荷削減

  • [ADD] サイマルキャストやスポットライト利用時に誰も視聴していない音声や映像ストリームの復号を行わない処理を追加しました

  • [ADD] 統計 API の rtp 項目に tocal_decrypt_skipped_audio_srtp を追加しました

  • [ADD] 統計 API の rtp 項目に tocal_decrypt_skipped_video_srtp を追加しました

  • [ADD] 統計 API の simulcast.rtp.(r0|r1|r2) 項目に total_decrypt_skipped_srtp を追加しました

サイマルキャスト無効でのスポットライト機能利用

  • [ADD] スポットライト機能が "simulcast": false でも利用できるようになりました

クラスター機能

  • [CHANGE] クラスター有効時に起動した際のモードを initial モードに変更しました

  • [CHANGE] クラスターに参加したタイミングで自動で initial モードから normal モードに切り替わるように変更しました

  • [CHANGE] sora.confcluster_node_namenode_name に変更しました

  • [CHANGE] sora.confcluster_signaling_urlexternal_signaling_url に変更しました

  • [CHANGE] sora.confcluster_api_urlexternal_api_url に変更しました

  • [CHANGE] クラスター有効時に sora.log / internal.log にクラスターノード名を出力するように変更しました

  • [CHANGE] 20211215.JoinCluster API の cluster_node_namecontact_node_name に変更しました

  • [CHANGE] ListClusterNodes API の cluster_node_namenode_name に変更しました

  • [ADD] クラスターから特定のノードの情報を完全消去する PurgeClusterNode API を追加しました

  • [ADD] sora.conf に Sora 起動時に自動でクラスター参加を試みる contact_node_name_list を追加しました

    • 詳細は contact_node_name_list をご確認ください

  • [ADD] sora.conf にネットワーク障害等発生時に自動で再接続を試みる cluster_auto_reconnect を追加しました

    • デフォルトは有効です

  • [ADD] ネットワーク障害等発生時に自動で復旧を試みる仕組みを追加しました

最大ノード数対応ライセンス

クラスター利用時に、複数のノードに同一のライセンスが利用できる最大ノードライセンスの提供を開始しました。

詳細は 最大ノード数ライセンス をご確認ください。

  • [CHANGE] 最大ノード数ライセンスに対応していないライセンスを複数のノードに適用し、クラスターを構築しようとすると DUPLICATE-LICENSE が出力されるように変更されました

    • 無制限ライセンスをご利用のお客様でクラスターを利用されている場合はサポートまでご連絡ください

  • [ADD] クラスター利用時に同一のライセンスを利用できる最大ノード数ライセンスに対応しました

    • 新規でライセンスを発行し直す必要がありますのでサポートまでご連絡ください

    • 新しくライセンスに max_nodes という項目を追加し、この最大ノード数までは複数の Sora で同一のライセンスを利用できるようになります

統計機能

  • [ADD] 統計 API の rtp 項目に total_received_srtp_invalid を追加しました

  • [ADD] 統計 API の turn 項目に total_received_unknown_packet を追加しました

  • [ADD] 統計 API の turn 項目に total_received_stun_unknown を追加しました

  • [ADD] 統計 API の turn 項目に total_received_stun_invalid を追加しました

  • [ADD] 統計 API の turn 項目に total_received_turn_invalid_stun を追加しました

  • [ADD] データチャネルの破棄やリトライの回数をラベルごとに取得できるようになりました

    • データチャネルの破棄メッセージ数 total_data_channel_abandon_message を追加しました

    • データチャネルの再送メッセージ数 total_data_channel_retransmit_message を追加しました

    • データチャネルの DATA_CHANNEL_OPEN メッセージ数 total_data_channel_ack_message を追加しました

    • データチャネルの DATA_CHANNEL_ACK メッセージ数 total_data_channel_open_message を追加しました

  • [UPDATE] total_sent_data_channel_message から DATA_CHANNEL_OPEN メッセージを除外しました

  • [UPDATE] total_received_data_channel_message から DATA_CHANNEL_ACK メッセージを除外しました

センシティブデータ編集済出力機能

詳細は センシティブデータ をご確認ください。

  • [CHANGE] auth_webhook.log に含まれる event_metadata の中身を編集済みを表す "REDACTED" という文字列に書き換える変更を行いました

  • [CHANGE] session_webhook.log に含まれる session_metadataevent_metadata の中身を編集済みを表す "REDACTED" という文字列にに書き換える変更を行いました

  • [CHANGE] event_webhook.log に含まれる event_metadata の中身を、編集済みを表す "REDACTED" という文字列に書き換える変更を行いました

    • event_webhook_error.logevent_metadata は書き換えを行いません

  • [ADD] sora.conf にAPI 戻り値に含まれるセンシティブな可能性があるデータを、編集済みを表す "REDACTED" という文字列に書き換える redact_api_sensitive_data を追加しました

    • デフォルトでは true

    • event_metadata の中身を "REDACTED" という文字列に書き換えます

  • [ADD] sora.conf に録画メタデータファイルに含まれるセンシティブな可能性があるデータを "REDACTED" という文字列に書き換える redact_archive_metadata_sensitive_data を追加しました

    • デフォルトでは true

    • event_metadata の中身を "REDACTED" という文字列に書き換えます

2021.2.8

リリース:

2022-04-11

対応 Chrome:

M98 以降

対応 Firefox:

97 以降

対応 Safari:

15.3 以降

対応 Edge:

98 以降

変更履歴

  • [FIX] 依存ライブラリ OpenSSL を 1.1.1n にアップデートしました

2021.2.7

リリース:

2022-02-24

対応 Chrome:

M98 以降

対応 Firefox:

97 以降

対応 Safari:

15.3 以降

対応 Edge:

98 以降

変更履歴

  • [CHANGE] 録画失敗時でも一時ファイルを削除しないようにしました

  • [FIX] PauseRtpStream API がイベントウェブフック connection.created を受け取ったタイミングで実行しても正常に動作しない問題を修正しました

  • [FIX] 録画ファイル分割出力のみの場合でも、一時ファイルが録画終了時まで削除されずに残っていた問題を修正しました

2021.2.1

リリース:

2021-12-20

対応 Chrome:

M97 以降

対応 Firefox:

95 以降

対応 Safari:

15.1 以降

対応 Edge:

97 以降

  • [FIX] 録画機能利用時に sora.confarchive_tmp_dirarchive_dir で指定される 2 つのディレクトリが異なるファイルシステムにある場合に、録画ファイルの生成に失敗する問題を修正しました

2021.2.0

リリース:

2021-12-15

対応 Chrome:

M97 以降

対応 Firefox:

95 以降

対応 Safari:

15.1 以降

対応 Edge:

97 以降

ハイライト

  • クラスター機能を追加しました

  • DataChannel を利用したメッセージング機能を追加しました

  • 統計エクスポーター機能を追加しました

  • スポットライト機能のフォーカス/アンフォーカスを変更する API を追加しました

  • ICE コネクションステート機能を追加しました

  • シグナリング通知に録画開始/終了の通知を追加しました

  • セッションウェブフックを追加しました

  • 音声冗長化機能に対応しました

  • AV1 コーデック利用時の録画に対応しました

廃止情報

互換性なしの変更情報

変更点の不明点についてはサポートまでお問い合わせください

猶予期間を儲けない変更となっておりますのでご注意ください

  • ListConnections API の戻り値に含まれる connection_created_timestamp_sec の項目名を created_time に変更、単位を秒からマイクロ秒に変更しております

  • ListChannelConnections API の戻り値に含まれる connection_created_timestamp_sec の項目名を created_time に変更しており、単位を秒からマイクロ秒に変更しております

変更履歴

  • [CHANGE] connection.log のタイムスタンプを秒からマイクロ秒に変更しました

  • [CHANGE] Chrome 側の破壊的変更により Chrome M95 以前の AV1 への対応を廃止しました

    • AV1 を利用する場合は Chrome M96 以降をご利用ください

  • [ADD] sora.conf に TURN-TCP で Allocate-Success を遅延させる turn_tcp_allocate_success_delay_time を追加しました

    • デフォルトは 100 ms です

    • 0-1000 ms の範囲で指定できます

  • [ADD] Sora 起動時に Sora のバージョンが INFO レベルで sora.log に出力されるようになりました

    • 2021-12-15 12:34:56.789 UTC [info] [-/-/-] <0.235.0> SORA | node_name=sora@127.0.0.1, version=2021.2.0

移行

  • [CHANGE] sora.confuse_re_offertrue の場合 type: update を Sora に送るとエラーになるよう変更しました

  • [CHANGE] sora.confuse_re_offer のデフォルト値を true に変更しました

    • この設定は 2022 年 6 月リリース予定の Sora にて廃止します

  • [CHANGE] sora.confunuse_metadata_list のデフォルト値を true に変更しました

    • この設定は 2022 年 6 月リリース予定の Sora にて廃止します

開発ツール

  • [CHANGE] デモ機能を 開発ツール と名前を変更しました

  • [CHANGE] sora.confdemotrue にした場合 devtools が有効になるように変更しました

  • [ADD] sora.confdevtools を追加しました

    • デフォルトは false です

ウェブフック

  • [ADD] 認証ウェブフックに node_name を追加しました

  • [ADD] イベントウェブフックに node_name を追加しました

  • [ADD] イベントウェブフックの recording.reportfilenamefile_path を追加しました

    • metadata_filenamemetadata_file_path は 2022 年 12 月リリース予定の Sora で廃止します

    • 廃止対象は JSON 内の "data" 直下のフィールドのみで、 "archives" 以下にある metadata_filenamemetadata_file_path は変更ありません

セッションウェブフック

詳細は セッションウェブフック をご確認ください。

  • [ADD] sora.conf にセッションウェブフックの URL を指定する session_webhook_url を追加しました

  • [ADD] sora.conf にセッション生成時のタイムアウトを指定する session_created_timeout を追加しました

    • デフォルトは 5 s です

  • [ADD] sora.conf に セッション破棄時のタイムアウトを指定する session_destroyed_timeout を追加しました

    • デフォルトは 15 s です

  • [ADD] session.created セッションウェブフックを追加しました

    • セッションが作成されたタイミングで送信します

  • [ADD] session.destroyed セッションウェブフックを追加しました

    • セッションが破棄されたタイミングで送信します

  • [ADD] session.vanished セッションウェブフックを追加しました

    • block_new_connection または block_new_session モード時にすべてのセッションが破棄されたタイミングで送信します

  • [ADD] sora.confsession.vanished をウェブフックリクエストとして送信しない ignore_session_vanished_webhook を追加しました

    • デフォルトは true です

  • [ADD] セッションウェブフックリクエスト送信時の HTTP ヘッダーに x-sora-session-webhook-type を追加しました

    • ヘッダーの値は type の値が入ります

  • [ADD] セッションウェブフックのログを出力する log/session_webhook.log を追加しました

  • [ADD] セッションウェブフックの失敗ログを出力する log/session_webhook_failed.log を追加しました

  • [ADD] GetStatsReport API に合計セッション生成回数 total_session_created を追加しました

  • [ADD] GetStatsReport API に合計セッション破棄回数 total_session_destroyed を追加しました

モード機能

詳細は モード機能 をご確認ください。

  • [ADD] 新規セッションやコネクションを受け付けなくするモードの仕組みを追加しました

    • 初期値は normal です

    • sora.conf にて cluster を有効にしたときの初期値は block_new_connection です

  • [ADD] モードを切り替える ChangeMode API を追加しました

    • "mode": "normal" を指定するとすべての新規コネクションを受け付けます

    • "mode": "block_new_session" を指定することで新規セッションをブロックすることができます

    • "mode": "block_new_connection" を指定することで新規コネクションをブロックすることができます

  • [ADD] 現在のモードを取得する GetMode API を追加しました

クラスター機能

詳細は クラスター機能 をご確認ください。

  • [ADD] クラスター機能利用時にどのノードへも接続ができない場合 NO-ACCEPTABLE-NODE を出力するようにしました

  • [ADD] 複数 Sora でクラスターを構築し、冗長化する機能を追加しました

  • [ADD] クラスター機能利用時に新規のチャネルへの接続する際、同時接続に余裕のある Sora ノードに割り当てる機能を追加しました

  • [ADD] クラスター機能利用時に既存のチャネルへの接続する際、そのチャネルへの接続が存在する Sora ノードに割り当てる機能を追加しました

  • [ADD] シグナリング接続時に別の Sora ノードにリダイレクトする "type": "redirect" を追加しました

    • リダイレクト先のシグナリング URL が "location": "wss://node01.example.com/signaling" に含まれます

  • [ADD] リダイレクト先のシグナリング URL を利用する際に "redirect": true"type": "connect" に追加できるようにしました

  • [ADD] sora.conf にクラスター利用時にリダイレクトに利用する cluster_signaling_url の設定を追加しました

    • cluster_signaling_url = wss://node01.example.com/signaling

  • [ADD] sora.conf にクラスター利用時の Sora ノード名を指定する cluster_node_name の設定を追加しました

    • cluster_node_name = node01@192.0.2.10

  • [ADD] sora.conf にクラスター利用時に API URL を指定する cluster_api_url の設定を追加しました

    • cluster_api_url = https://node01.example.com/

  • [ADD] sora.conf にクラスター利用時のノード間通信に使用するポート番号を指定する cluster_listen_min_portcluster_listen_max_port の設定を追加しました

  • [ADD] クラスターに参加するための 20211215.JoinCluster API を追加しました

    • クラスターからの離脱は bin/sora stop を実行します

  • [ADD] クラスターに参加しているノード一覧を取得するための ListClusterNodes API を追加しました

  • [ADD] クラスターに割り当てられているチャネル ID 一覧を取得するための ListClusterChannels API を追加しました

音声冗長化機能

この機能は Chrome 96 以降で利用できます

  • [ADD] sora.conf に 音声冗長化機能を有効にする audio_red を追加しました。

  • [ADD] 1 チャネルへの接続が audio_red への対応が混在していてもやりとりできるようにしました。

録画機能

  • [ADD] AV1 の録画に対応しました

    • この機能は Chrome 96 以降で利用できます

  • [ADD] StartRecording API にて metadata を指定可能にしました

    • metadata は JSON オブジェクトである必要があります

    • metadata はオプションです

  • [ADD] recording.report や録画メタデータファイルに StartRecording API で指定した metadata を出力するようにしました

    • 指定しなければ metadata が出力されません

  • [ADD] シグナリング通知を利用している場合、録画開始時に "event_type": "recording.started" が通知されるようになりました

  • [ADD] シグナリング通知を利用している場合、録画終了時に "event_type": "recording.stopped" が通知されるようになりました

  • [ADD] sora.conf に録画関連をシグナリング通知で送信するかどうかを指定する signaling_notify_recording を追加しました

統計エクスポーター機能

クライアントから送られてきた統計情報を HTTP/2 経由で外部へ出力する機能です。

詳細は 統計エクスポーター機能 をご確認ください。

  • [ADD] sora.conf に統計エクスポーターの接続先を指定する stats_collector_url を追加しました

    • stats_collector_url = http://h2c.example.com:5890/collector

    • stats_collector_url = https://h2.example.com/collector

  • [ADD] 統計コレクターへ送信時の HTTP ヘッダーに x-sora-stats-exporter-type を追加しました

    • ヘッダーの値は type の値が入ります

  • [ADD] sora.conf に統計エクスポーターの数を指定する stats_exporter_number を追加しました

    • デフォルトは 5 です

  • [ADD] sora.confstats_exporter_tls_fullchain_file を追加しました

  • [ADD] sora.confstats_exporter_tls_privkey_file を追加しました

  • [ADD] sora.confstats_exporter_tls_verify_cacert_file を追加しました

  • [ADD] 頻繁に送らない項目を定義しました

    • 1 h に 1 回送ります

    • codec / local-candidate / remote-candidate / certificate / peer-connection / track-stream

スポットライト機能

フォーカス/アンフォーカス挙動変更 API を追加しました。

  • [ADD] スポットライトのフォーカス/アンフォーカス挙動を変更する RequestSpotlightRid API` を追加しました

  • [ADD] スポットライトのフォーカス/アンフォーカス挙動をリセットする ResetSpotlightRid API を追加しました

  • [ADD] スポットライトのフォーカス/アンフォーカス挙動を一括で変更する BatchRequestSpotlightRid API を追加しました

ICE コネクションステート機能

詳細は ICE コネクションステート機能 をご確認ください。

  • [ADD] sora.confice_connection_state_disconnected_timeout を追加しました

    • デフォルトは 5 s です

  • [ADD] sora.confice_connection_state_failed_timeout を追加しました

    • デフォルトは 10 s です

  • [ADD] sora.log に warning で ICE-CONNECTION-DISCONNECTED が出力されるようになりました

    • 1000 ms 間隔で 5 秒間 STUN Binding-Request を送っても 1 度も STUN Binding-Success が返ってこない場合に出力されます

    • 1000 mssora.confice_connection_state_disconnected_timeout にて変更できます

  • [ADD] sora.logerrorICE-CONNECTION-FAILED が出力されるようになりました

    • この場合 Sora は接続を切断します

    • 50 ms 間隔で 10 秒間 STUN Binding-Request を送っても 1 度も STUN Binding-Success が返ってこない場合に出力されます

    • 50 mssora.confice_connection_state_failed_timeout にて変更できます

DataChannel 機能

  • [CHANGE] 利用しない DataChannel を作成しない仕組みを追加しました

    • sora.confsignaling_notify が無効の場合は label: notify の DataChannel は作成しません

    • sora.confsora_conf-e2ee が無効の場合は label: e2ee の DataChannel は作成しません

    • sora.confuser_agent_stats が無効の場合は label: stats の DataChannel は作成しません

  • [CHANGE] dcsctp_association_max_retrans を廃止しました

    • 切断判定には ICE コネクションステート機能が利用されます

メッセージング機能

詳細は メッセージング機能 をご確認ください。

DataChannel を利用したメッセージをユーザーが提起して自由に送ることができる機能です。ラベルは # から始まる必要があります。

  • [ADD] type: connectdata_channels を追加しました

    • メッセージ機能は [{"label": "#abc", "direction": "sendrecv"}, ...] で指定できます

    • メッセージのラベルを指定する label を追加しました

      • ^#[a-zA-Z0-9][a-zA-Z0-9-]{1,30}$

    • メッセージのメッセージの方向を指定する direction を追加しました

      • sendrecv / sendonly / recvonly のどれかを指定して下さい

      • 方向はクライアントから見た視点で role と同様です

    • メッセージの順番を指定する ordered を追加しました

      • デフォルトは true です

    • メッセージのリトライ時間を指定する max_packet_life_time を追加しました

      • デフォルト指定無しです

      • 単位はミリ秒です

    • メッセージのリトライ回数を指定する max_retransmits を追加しました

      • デフォルト指定無しです

    • メッセージの圧縮を指定する compress を追加しました

      • デフォルトは false です

  • [ADD] sora.confdata_channel_messaging を追加しました

    • デフォルトは false です

  • [ADD] 認証成功時の払い出しで data_channels を指定できるようにしました

    • "type": "connect" 時に、指定された data_channels を上書きできます

  • [ADD] sora.confdata_channel_messaging_only を追加しました

    • デフォルトは false です

ユーザーエージェント統計 API

リモート統計情報 API の名前を変更し整理した API です。

リモート統計情報 API は 2022 年 6 月リリースの Sora にて廃止しますので、 ユーザーエージェント統計情報 API に切り替えをお願いします。

2021.1.4

リリース:

2021-10-29

対応 Chrome:

M95 以降

対応 Firefox:

93 以降

対応 Safari:

15.1 以降

対応 Edge:

95 以降

変更履歴

  • [FIX] ネットワークが不安定な場合に録画が失敗する問題を修正しました

  • [FIX] Safari を利用した場合に特定条件で復号が失敗する問題を修正しました

2021.1.2

リリース:

2021-09-17

対応 Chrome:

M93 以降

対応 Firefox:

92 以降

対応 Safari:

14.1 以降

対応 Edge:

93 以降

変更履歴

  • [UPDATE] デモ機能で利用している sora-demo を 2021.1.6 にアップデートしました

  • [ADD] 切断 API の reason を指定した場合に、指定した reason が、イベントウェブフック connection.destroyeddisconnect_api_reason として含まれるようになりました

    • 今まで reason として入ってきていたのと同じ値が入ります

  • [ADD] "type": "disconnect"reason を指定した場合に、指定した reason が、イベントウェブフック connection.destroyedtype_disconnect_reason として含まれるようになりました

  • [ADD] イベントウェブフック connection.*data"created_time": "connection.created 時の UNIX 時刻" を追加しました

  • [ADD] sora.conf にスポットライトでフォーカスされた後、一定時間追い出されなくなる default_spotlight_focus_min_interval を追加しました

    • デフォルトは 2000 ms です

  • [FIX] スポットライト機能で複数人が音を出し続けていると頻繁にフォーカスが入れ替わる問題を修正しました

  • [FIX] スポットライト機能でアンフォーカスからフォーカスに変わるタイミングで音声や映像が配信されなくなる場合がある問題を修正しました

  • [FIX] スポットライト機能で自動アンフォーカスが指定した時間よりも速く行われる問題を修正しました

  • [FIX] IPv6 のみで正常に接続できない場合がある問題を修正しました

  • [FIX] クライアントから "type": "candidate" を送ることができる回数を 20 から 50 に変更しました

  • [FIX] DataChannel におけるエンドポイント障害検出カウンターのリセットタイミングを修正しました

  • [FIX] 一部の HTTP API のバリデーションが正常に動作していない問題を修正しました

  • [FIX] シグナリングが DataChannel に切り替わったタイミングで WebSocket のアイドルタイムアウトが無制限になるように修正しました

  • [FIX] SRTP/SRTCP の暗号が AES-GCM の場合に、長時間配信すると正常に復号できなくなる問題を修正しました

  • [FIX] sora.conf の不要なコメントを削除しました

2021.1

リリース:

2021-06-23

対応 Chrome:

M91 以降

対応 Firefox:

89 以降

対応 Safari:

14.1 以降

対応 Edge:

91 以降

廃止情報

role の upstream と downstream を廃止

roleupstreamdownstream を廃止しました。

詳細は role の upstream と downstream を廃止 をご確認ください。

allow_client_id_assignment 設定を廃止

接続時や認証成功時に、常に client_id を指定できるようになり、 sora.confallow_client_id_assignment を廃止しました。

詳細は client_id を指定する設定の廃止 をご確認ください。

旧サイマルキャスト API を廃止

Sora_20180820.ChangeSimulcastQuality API を廃止しました。

詳細は 旧サイマルキャスト画質変更 API の廃止 をご確認ください。

互換なしの変更情報

廃止以外の互換性がない機能変更はありません。

実験的機能から正式機能へ昇格

  • Sora_20201120.PushChannelByRole API

  • Sora_20201120.DisconnectChannelByRole API

ハイライト

  • スポットライト機能に rid 指定機能を追加しました

  • スポットライト機能に遅延フォーカス機能を追加しました

  • スポットライト機能に自動アンフォーカス機能を追加しました

  • スポットライト機能にフォーカスなしの音声配信機能を追加しました

  • シグナリングを WebSocket から DataChannel へ切り替える機能を追加しました

  • DataChannel 経由のシグナリング利用時に WebSocket の切断を無視する機能を追加しました

  • より少ない CPU リソースでより多くの接続を処理できるようになりました

変更履歴

  • [UPDATE] デモ機能で利用している sora-demo を 2021.1 にアップデートしました

  • [UPDATE] より少ない CPU リソースで多くの接続を処理できるようになりました

  • [ADD] TURN-TCP 利用時の Proxy Protocol v1 へ対応しました

  • [ADD] シグナリング "type": "offer" 時に配信で有効になっている audio または videomid を含めるようにしました

    • 例: "type": "offer", "mid": {"audio": "audio_lFaJYL", "video": "video_lMjsoq"}

  • [ADD] "type": "udpate" の代わりに "type": "re-offer" を送れるように、 sora.confuse_re_offer を追加しました

    • デフォルトは false です

    • この設定は 2021 年 12 月リリースの Sora にてデフォルト true に変更されます

    • この設定は 2022 年 6 月リリースの Sora にて廃止され、常に "type": "re-offer" が送られるようになります

  • [ADD] シグナリング通知メタデータの利用時に、 metadata_list の代わりに data を送れるように、 sora.confunuse_metadata_list を追加しました

    • デフォルトは false です

    • この設定は 2021 年 12 月リリースの Sora にてデフォルト true に変更されます

    • この設定は 2022 年 6 月リリースの Sora にて廃止され、常に data が送られるようになります

  • [FIX] 録画機能の利用時で映像が送られてこない際に WebM の PixelWidth / PixelHeight が 0 になる問題を修正しました

  • [FIX] 不安定な回線や音声パケットが送られてこなくなる場合にクライアント側でリップシンクが正常に行われず、音声と映像がずれてしまう問題を修正しました

  • [FIX] 音声クロックレートが 48000 Hz 固定になってしまう問題を修正しました

  • [FIX] スポットライトレガシーで recvonly が利用できてしまう問題を修正しました

  • [FIX] TURN-TCP で問題があった際に、シグナリングを切断しない限り接続が残り続ける問題を修正しました

統計機能

  • [ADD] RTP ヘッダー拡張の統計情報を追加しました

  • [ADD] サイマルキャストの rid 単位の RTP 統計情報を追加しました

  • [ADD] サイマルキャストの rid 単位の RTP ヘッダー拡張統計情報を追加しました

  • [ADD] RTCP 統計情報を rtcp に移動しました

    • 2021 年 12 月のリリースにて rtp から RTCP 関連の統計情報を削除します

スポットライト機能

実験的機能

  • [CHANGE] デフォルトの r0maxFramerate1.0 から 5.0 に変更しました

スポットライト機能: rid 指定

実験的機能

スポットライト利用時にフォーカス、アンフォーカスそれぞれで受信する映像を接続ごとに指定できるようになりました。 これによりモバイル端末や回線が不安定な場合は映像を一切受信しないなどの設定ができます。

  • [ADD] アンフォーカス時に受信する rid を指定できるように、 sora.confdefault_spotlight_unfocus_rid を追加しました

    • デフォルトは r0

    • none, r0, r1, r2 を指定可能

  • [ADD] フォーカス時に受信する rid を指定できるように、 sora.confdefault_spotlight_focus_rid を追加しました

    • デフォルトは r1

    • none, r0, r1, r2 を指定可能

  • [ADD] アンフォーカス時に受信する rid を指定できるように、シグナリング "type": "connect"spotlight_unfocus_rid を追加しました

  • [ADD] フォーカス時に受信する rid を指定できるように、シグナリング "type": "connect"spotlight_focus_rid を追加しました

  • [ADD] アンフォーカス時に受信する rid を指定できるように、認証成功時の払い出しに、 spotlight_unfocus_rid を追加しました

    • デフォルトは sora.confdefault_spotlight_unfocus_rid の値が採用されます

    • "type": "connect" 時に、指定された spotlight_unfocus_rid を上書きできます

    • none, r0, r1, r2 を指定可能

  • [ADD] フォーカス時に受信する rid を指定できるように、認証成功時の払い出しに spotlight_focus_rid を追加しました

    • デフォルトは sora.confdefault_spotlight_focus_rid の値が採用されます

    • "type": "connect" 時に、指定された spotlight_focus_rid を上書きできます

    • none, r0, r1, r2 を指定可能

スポットライト機能: 遅延フォーカス

実験的機能

スポットライト利用時に、ちょっとした物音やあいづちではすぐにフォーカスされないように、フォーカスを遅延させる機能を追加しました。 この機能によりサーバーからクライアントへのパケット流量を減らすことができるようになりました。

  • [ADD] アンフォーカス時にフォーカスを遅延させるかどうかを指定できるように、 sora.confdefault_spotlight_delayed_focus を追加しました

    • デフォルトは true

  • [ADD] アンフォーカス時にフォーカスを遅延させる時間を指定できるように、 sora.confdefault_spotlight_delayed_focus_interval を追加しました

    • デフォルトは 2000 ms

スポットライト機能: フォーカスなしの音声配信

実験的機能

スポットライト利用時に、他の人にフォーカスが移った場合でも音声を配信し続ける機能を追加しました。 この機能によりスポットライトの数が少ない場合でも、他の人がフォーカスされたことにより音声が送られなくなる、といったことがなくなりました。

  • [ADD] フォーカスなしでも音声を配信するかどうかを指定できるように、 sora.confdefault_spotlight_unfocus_audio を追加しました

    • デフォルトは true

  • [ADD] フォーカスなしでも音声を配信する上限レートを指定できるように、 sora.confdefault_spotlight_unfocus_audio_rate_limit を追加しました

    • デフォルトは 2

    • 単位は 1 音声ストリーム = 50 packets / s です

スポットライト機能: 自動アンフォーカス機能

実験的機能

スポットライト利用時に、一定時間音声が配信されていない場合はアンフォーカスする機能を追加しました。 この機能によりサーバーからクライアントへのパケット流量を減らすことができるようになりました。

  • [ADD] 音がない場合に自動でアンフォーカスするかどうかを指定できるように、 sora.confdefault_spotlight_auto_unfocus を追加しました

    • デフォルトは true

  • [ADD] 自動でアンフォーカスする無音時間を指定できるように、 sora.confdefault_spotlight_auto_unfocus_interval を追加しました

    • デフォルトは 10 s

    • 1 ms 以上、30 s 以下

    • API でフォーカスが固定されている場合は自動アンフォーカスの対象外になります

DataChannel 機能: シグナリングの WebSocket から DataChannel への切り替え機能

実験的機能

注釈

DataChannel は TURN を利用するため UDP が通らない場合でも問題なく繋がります。

重要

DataChannel 機能を利用する場合は Sora JavaScript SDK 2021.1 以降が必要になります

シグナリングやシグナリング通知、プッシュ通知などで利用している WebSocket から DataChannel へ切り替えます。

ただし WebSocket は切断判定に利用するため、Sora から切断することはありません

  • [ADD] sora.confdefault_data_channel_signaling を追加しました

    • デフォルトは false です

  • [ADD] シグナリング "type": "connect"data_channel_signaling: boolean を指定できるようにしました

  • [ADD] 認証成功時の払い出しで data_channel_signaling: boolean を指定できるようにしました

    • デフォルトは sora.confdefault_data_channel_signaling に設定された値です

    • "type": "connect" 時に、指定された data_channel_signaling を上書きできます

  • [ADD] シグナリング "type": "offer" 時に data_channel_signaling: boolean を払い出すようにしました

    • この払い出しは data_channel_signaling が true の時のみ有効です

  • [ADD] WebSocket から DataChannel へ切り替わった場合は "type": "switched" が WebSocket 経由で送られるようにしました

    • "type": "switched" を送ったタイミングからWebSocket 経由の "type": "ping" の間隔が 5 秒から 30 秒へ変更されます

    • "type": "switched" を送ったタイミングからWebSocket 経由の "type": "pong" を確認しなくなります

以下の機能が DataChannel に切り替わります。

  • シグナリング

    • DataChannel の labelsignaling です

    • 以下が利用できるメッセージタイプです

      • "type": "re-offer"

      • "type": "re-answer"

      • "type": "disconnect"

  • シグナリング通知

    • DataChannel の labelnotify です

    • 以下が利用できるメッセージタイプです

      • "type": "notify"

  • プッシュ通知

    • DataChannel の labelpush です

    • 以下が利用できるメッセージタイプです

      • "type": "push"

  • E2EE

    • DataChannel の labele2ee です

  • 統計情報

    • DataChannel の labelstats です

    • 以下が利用できるメッセージタイプです

      • "type": "req-stats"

      • "type": "stats"

DataChannel 機能: WebSocket の切断を無視する機能

実験的機能

重要

WebSocket の切断を切断判定に利用しない場合、 DataChannel におけるエンドポイント障害検出が切断の判断に利用されます。 この判断は sora.confdcsctp_association_max_retrans の値に依存します。

  • [ADD] sora.confdefault_ignore_disconnect_websocket を追加しました

    • デフォルトは false です

    • この値を true にした場合、 DataChannel 経由でのシグナリング有効時に WebSocket を切断しても、Sora はクライアントの切断と見なさずに接続が継続します

  • [ADD] "type": "connect" 時に ignore_disconnect_websocket: boolean を指定できるようにしました

    • デフォルトは sora.conf に設定された値です

    • この値を true にした場合、 DataChannel 経由でのシグナリング有効時に WebSocket を切断しても、Sora はクライアントの切断と見なさずに接続が継続します

  • [ADD] 認証成功時の払い出しに ignore_disconnect_websocket: boolean を指定できるようにしました

    • デフォルトは sora.conf に設定された値です

    • "type": "connect" 時に、指定された ignore_disconnect_websocket を上書きできます

    • この値を true にした場合、 DataChannel 経由でのシグナリング有効時に WebSocket を切断しても、Sora はクライアントの切断と見なさずに接続が継続します

  • [ADD] "type": "offer" 時に data_channel_signalingtrue の場合 ignore_disconnect_websocket: boolean を払い出すようにしました

DataChannel 機能: メッセージの圧縮機能

実験的機能

DataChannel で送受信するメッセージを圧縮して送受信できる機能です。

"type": "offer" 時に送られてくる data_channels: [{"label": "signaling", "compress": true}, ...] のように compress が true になっている場合は圧縮して送る必要があります。

  • [ADD] "type": "offer" 時に DataChannel の情報を送るようにしました

    • data_channels: [{"label": "<label>", "compress": boolean}, ...] の形式で送られてきます

    • DataChannel を有効にしていない場合は data_channels キーは含まれません

    • compresstrue の場合、 DataChannel 経由でのメッセージを zlib/deflate で圧縮/展開する必要があります

DataChannel 機能: クライアント統計情報の要求

実験的機能

DataChannel 経由でのシグナリングが有効になると、統計情報を "type": "pong" に入れて返すのではなく、 サーバーから "type": "req-stats" が送られてきたら、 "type": "stats", "reports": [...] で送るという仕組みに切り替わります。

  • [ADD] DataChannel 経由でのシグナリング利用時に labelstats から "type": "req-stats" が送られてきます

  • [ADD] sora.confdata_channel_stats_timer_interval を追加しました

    • デフォルトは 5 s です

    • 最小は 5 s で最大は 300 s です

DataChannel 機能: サーバー統計情報

実験的機能

GetStats* 系 API に DataChannel 関連の Sora 統計情報を追加しました。

  • [ADD] total_dropped_received_data_channel を追加

  • [ADD] total_dropped_sent_data_channel を追加

  • [ADD] 項目に data_channel を追加しました

    • label 単位の統計情報が確認できます

    • total_received_data_channel_message

      • label 単位で受信したメッセージ数の合計

    • total_received_data_channel_message_byte_size

      • label 単位で受信したメッセージのバイト数の合計

    • total_sent_data_channel_message

      • label 単位で送信したメッセージの数の合計

    • total_sent_data_channel_message_byte_size

      • label 単位で送信したメッセージのバイト数の合計

  • [ADD] 項目に sctp を追加しました

    • total_received_invalid_sctp

    • total_received_sctp

    • total_received_sctp_byte_size

    • total_received_sctp_chunk_abort

    • total_received_sctp_chunk_asconf

    • total_received_sctp_chunk_asconf_ack

    • total_received_sctp_chunk_auth

    • total_received_sctp_chunk_cookie_ack

    • total_received_sctp_chunk_cookie_echo

    • total_received_sctp_chunk_cwr

    • total_received_sctp_chunk_data

    • total_received_sctp_chunk_ecne

    • total_received_sctp_chunk_error

    • total_received_sctp_chunk_forward_tsn

    • total_received_sctp_chunk_heartbeat

    • total_received_sctp_chunk_heartbeat_ack

    • total_received_sctp_chunk_i_data

    • total_received_sctp_chunk_i_forward_tsn

    • total_received_sctp_chunk_init

    • total_received_sctp_chunk_init_ack

    • total_received_sctp_chunk_pad

    • total_received_sctp_chunk_reconfig

    • total_received_sctp_chunk_sack

    • total_received_sctp_chunk_shutdown

    • total_received_sctp_chunk_shutdown_ack

    • total_received_sctp_chunk_shutdown_complete

    • total_received_sctp_chunk_unknown

    • total_received_unknown_sctp

    • total_sent_sctp

    • total_sent_sctp_byte_size

    • total_sent_sctp_chunk_abort

    • total_sent_sctp_chunk_asconf

    • total_sent_sctp_chunk_asconf_ack

    • total_sent_sctp_chunk_auth

    • total_sent_sctp_chunk_cookie_ack

    • total_sent_sctp_chunk_cookie_echo

    • total_sent_sctp_chunk_cwr

    • total_sent_sctp_chunk_data

    • total_sent_sctp_chunk_ecne

    • total_sent_sctp_chunk_error

    • total_sent_sctp_chunk_forward_tsn

    • total_sent_sctp_chunk_heartbeat

    • total_sent_sctp_chunk_heartbeat_ack

    • total_sent_sctp_chunk_i_data

    • total_sent_sctp_chunk_i_forward_tsn

    • total_sent_sctp_chunk_init

    • total_sent_sctp_chunk_init_ack

    • total_sent_sctp_chunk_pad

    • total_sent_sctp_chunk_reconfig

    • total_sent_sctp_chunk_sack

    • total_sent_sctp_chunk_shutdown

    • total_sent_sctp_chunk_shutdown_ack

    • total_sent_sctp_chunk_shutdown_complete

    • total_sent_sctp_chunk_unknown

DataChannel 機能: 設定

実験的機能

詳細は DataChannel シグナリング機能 をご確認ください。

  • [ADD] sora.confdcsctp_association_max_retrans を追加しました

    • DataChannel で利用している SCTP プロトコルのエンドポイント障害検出の最大再送値です

    • デフォルトは 10 です

    • 最小は 1 で最大は 128 です

  • [ADD] sora.confdcsctp_heartbeat_interval を追加しました

    • DataChannel で利用している SCTP プロトコルのハートビートを送る間隔です

    • デフォルトは 30 s です

    • 最小は 0 s で最大は 120 s です

    • 0 s に設定した場合は SCTP レイヤーでのハートビートを送りません

  • [ADD] sora.confdata_channel_packet_loss_simulator_incoming を追加しました

    • デフォルトは 0 で無効です

    • Sora が受信する DataChannel のメッセージを、指定した割合で破棄します

  • [ADD] sora.confdata_channel_packet_loss_simulator_outgoing を追加しました

    • デフォルトは 0 で無効です

    • Sora が送信する DataChannel のメッセージを、指定した割合で破棄します

RTP ヘッダー拡張機能

実験的機能

RTP ヘッダー拡張の利用を指定できるようにしました。

  • [ADD] sora.conf に RTP ヘッダー拡張 urn:3gpp:video-orientation を有効にする設定 rtp_hdrext_video_orientation を追加しました

    • デフォルトは false

  • [ADD] sora.conf に RTP ヘッダー拡張 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type を有効にする設定 rtp_hdrext_video_content_type を追加しました

    • デフォルトは false

  • [ADD] sora.conf に RTP ヘッダー拡張 http://www.webrtc.org/experiments/rtp-hdrext/video-timing を有効にする設定 rtp_hdrext_video_timing を追加しました

    • デフォルトは false

  • [ADD] sora.conf に RTP ヘッダー拡張 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay を有効にする設定 rtp_hdrext_playout_delay を追加しました

    • デフォルトは false

  • [ADD] sora.conf に RTP ヘッダー拡張 http://www.webrtc.org/experiments/rtp-hdrext/color-space を有効にする設定 rtp_hdrext_color_space を追加しました

    • デフォルトは false

  • [ADD] sora.conf に RTP ヘッダー拡張 urn:ietf:params:rtp-hdrext:sdes:mid を有効にする設定 rtp_hdrext_sdes_mid を追加しました

    • デフォルトは false

2020.3.5

リリース:

2021-03-12

対応 Chrome:

M89 以降

対応 Firefox:

86 以降

対応 Safari:

14.0 以降

対応 Edge:

89 以降

変更履歴

  • [UPDATE] デモ機能のバージョンを 2020.6.2 にアップデートしました

    • サイマルキャストの利用可能判定処理を改善した Sora JavaScript SDK 2020.6.2 にアップデートしています

  • [FIX] ネットワークが不安定な場合に、リップシンクが正常に動作しない問題を暫定的に修正しました

    • 正式な対応は今後リリース予定です

  • [FIX] サイマルキャスト利用時に複数の SSRC が r0 と判断されてしまう問題を修正しました

  • [FIX] サイマルキャスト利用時に複数の SSRC に対する rid が重複した時に WARNING ログを出力するようにしました

  • [FIX] サイマルキャスト利用時に、ストリームの切り替わりでブロックノイズが出る問題を修正しました

  • [FIX] 映像の切り替えが発生した際に映像が乱れる問題を修正しました

  • [FIX] VP8 サイマルキャストで Temporal Scalability が存在しない場合に、視聴側が切断される問題を修正しました

  • [FIX] 実験的機能である opus_params が正常に利用できなくなっていた問題を修正しました

2020.3.3

リリース:

2021-02-03

対応 Chrome:

M88 以降

対応 Firefox:

85 以降

対応 Safari:

14.0 以降

対応 Edge:

88 以降

  • [FIX] ライセンスファイルの接続上限数の半分を超えた時点で、接続数の超過エラーを示す EXCEED-MAX-CONNECTIONS が発生する問題を修正しました

    • バージョン 2020.3 / 2020.3.1 / 2020.3.2 がこの問題の影響を受けます

2020.3.2

リリース:

2021-01-19

対応 Chrome:

M87 以降

対応 Firefox:

84 以降

対応 Safari:

14.0 以降

対応 Edge:

87 以降

変更履歴

  • [FIX] マルチストリーム機能利用時に、短い間に複数の接続・切断が発生した場合に、Sora から "type": "update" が連続で送られてしまう問題を修正しました

  • [FIX] スポットライト機能のシグナリング通知 spotlight.focusedspotlight.unfocused に新しく spotlight_number を追加しました

    • この追加により ChangeSpotlightNumber API を実行した後に参加者が現時点でのスポットライト数を確認することができない問題を解決しています

2020.3.1

リリース:

2020-12-23

対応 Chrome:

M87 以降

対応 Firefox:

84 以降

対応 Safari:

14.0 以降

対応 Edge:

87 以降

変更履歴

  • [FIX] スポットライト機能利用時に音声のみで接続できない問題を修正しました

  • [FIX] サイマルキャスト利用時に映像を無効にしている場合に simulcast_rid を指定してもデフォルトの値が採用されてしまう問題を修正しました

  • [FIX] サイマルキャスト機能やスポットライト機能利用時に RequestRtpStream API を利用すると、新規接続の rid が固定されてしまう問題を修正しました

  • [FIX] サイマルキャスト機能やスポットライト機能利用時に ResetRtpStream API を利用すると、新規接続の rid が固定されてしまう問題を修正しました

  • [FIX] ListPauseRtpStreams API の戻り値を recv_connection_idsend_connection_id に修正しました

2020.3

リリース:

2020-12-16

対応 Chrome:

M87 以降

対応 Firefox:

83 以降

対応 Safari:

14.0 以降

対応 Edge:

87 以降

互換なしの変更情報

変更点の不明点についてはサポートまでお問い合わせください

移行についての詳細は 2020.2.x から 2020.3.x をご確認ください。

  • bin/sora start を廃止しました、今後は bin/sora daemon をお使いください

    • systemd を利用していて bin/sora foreground を利用されている方に影響はありません

  • 録画ディレクトリ構成を変更しました

    • archive/ 以下にすべて生成するのではなくレコーディング ID 単位でディレクトリを生成するようになりました

  • レコーディング ID を明示的にしました

    • StartRecording API の戻り値の idrecording_id に変更しました

    • recording.report イベントウェブフックの idrecording_id に変更しました

    • archive.available イベントウェブフックの data の中に recording_id を追加しました

  • sora.conf にて時間を指定する設定項目で単位指定を必須にしました

    • 単位が必要な値を指定する場合は 30 s2000 ms といった単位を指定する必要があります

    • 数値と単位の間にはスペースを入れてください

    • 例: webhook_response_timeout = 5 s

    • 例: default_forwarding_pli_interval = 30000 ms

    • 例: connection_created_wait_timeout = 30 s

  • サイマルキャスト機能の quality 指定をすべて rid に変更しました

  • sora.confallow_client_id_assignment をデフォルト true に変更しました

  • sora.confallow_client_id_assignmenttrue にした際にクライアントが client_id を含めない場合、認証ウェブフックに client_id が含まれないよう変更しました

    • いままでは client_idnull が入っていました

  • sora.confspotlight_legacy をデフォルト false にしました

    • スポットライトレガシーを利用したい場合は sora.conf にて spotlight_legacy = true を設定してください

  • 実験的機能として提供していた ChangeSimulcastQuality API を非推奨にしました

    • RequestRtpStream API を利用してください

  • 実験的機能として提供していた RequestSpotlightQuality API を廃止しました

    • RequestRtpStream API を利用してください

  • 実験的機能として提供していた ResetSpotlightQuality API を廃止しました

    • ResetRtpStream API を利用してください

  • sora.confgeneric_nack_cache_size_msec を廃止しました

ハイライト

  • Red Hat Enterprise Linux 8 向けパッケージを追加しました

  • サイマルキャスト機能が正式版になりました

  • サイマルキャストのエンコーディング設定がカスタマイズ可能になりました

  • サイマルキャスト利用時の録画が可能になりました

  • サイマルキャスト利用時の転送が可能になりました

  • ウェブフックにベーシック認証機能を追加しました

  • 実験的機能として録画ファイル分割出力機能を追加しました

  • 実験的機能としてシグナリング通知メタデータ拡張機能を追加しました

  • 実験的機能として E2EE (End to End Encryption) 機能を追加しました

  • 実験的機能として認証ウェブフックログ機能を追加しました

変更履歴

Red Hat Enterprise Linux 8 対応

CentOS 8 のサポートが 2021 年 12 月に終了することが発表されました。 それにともない時雨堂では Red Hat Enterprise Linux 8 向けのパッケージを用意しました。

  • [ADD] Red Hat Enterprise Linux 8 向けパッケージを追加しました

サイマルキャスト機能

  • [CHANGE] quality の指定をすべて rid に変更しました

    • rid とはサイマルキャストのストリームそれぞれに付いている id です

    • rid は r0 / r1 / r2 があります

    • rid には優先度があり、数値が少ないほど優先されて配信されます

    • r0 は必ず配信されますが、回線が不安定になったりした場合は r2 -> r1 の順番で配信が停止していきます

  • [ADD] 実験的機能として rid をリクエストできる RequestRtpStream API を追加しました

  • [ADD] 実験的機能として rid をリセットできる ResetRtpStream API を追加しました

  • [FIX] 視聴者が受信するストリームの rid 変更後に配信側を再接続した場合に状態が不整合になる問題を修正しました

    • マルチストリームが無効な状態でのみ発生していた問題です

サイマルキャストエンコーディング設定のカスタマイズ機能

  • [ADD] sora.confsimulcast_encodings_file を追加しました

    • simulcast_encodings_file = etc/simulcast_encodings.json といったかたちで JSON ファイルを指定可能になります

    • 詳細は 映像のエンコーディングパラメータのカスタマイズ をご確認ください

  • [ADD] 認証成功時の払い出しに simulcast_encodings を追加しました

サイマルキャスト録画機能

  • [ADD] サイマルキャストで録画機能が利用可能になりました

    • 配信されている 優先度が一番低い映像 を録画します

      • r0 / r1 / r2 の 3 本が配信されていれば r2 が録画されます

      • 優先度が低い映像については 映像の優先度 をご確認ください

サイマルキャスト転送機能

  • [ADD] サイマルキャストで転送機能が利用可能になりました

  • [ADD] sora.confforwarding_simulcast を追加しました

    • allsingle が指定できます

      • all は配信されているすべてのストリームが転送されます

      • single は配信されている優先度が低いストリームが転送されます

スポットライト機能

  • [FIX] 認証ウェブフック通知に spotlight / spotlight_number を追加しました

    • sora.conf にて spotlight_legacy = false の場合に含まれます

スポットライトのサイマルキャストエンコーディング設定カスタマイズ機能

  • [ADD] sora.confspotlight_encodings_file を追加しました

    • spotlight_encodings_file = etc/spotlight_encodings.json といったかたちで JSON ファイルを指定可能になります

    • 設定方法は simulcast_encodings_file と同様ですが spotlight 時のみ利用されます

    • 詳細は スポットライト利用時の映像のエンコーディングパラメータのカスタマイズ をご確認ください

  • [ADD] 認証成功時の払い出しに spotlight_encodings を追加しました

ウェブフックベーシック認証機能

ウェブフックを通知する際にベーシック認証を利用できるようになりました。

  • [ADD] sora.conf にウェブフックのベーシック認証を有効にする webhook_basic_authn を追加しました

    • デフォルトは false です

  • [ADD] sora.conf にウェブフックのベーシック認証に利用するユーザー ID を指定する webhook_basic_authn_user_id を追加しました

  • [ADD] sora.conf にウェブフックのベーシック認証に利用するパスワードを指定する webhook_basic_authn_password を追加しました

ウェブフックを安全でない通信でも利用できる機能

ウェブフックを HTTPS で利用する際に証明書のチェックを行わなくできます。自己署名証明書などが利用できるようになりました。

  • [ADD] sora.conf にウェブフックの安全でない通信を許可する webhook_insecure を追加しました

    • デフォルトは false です

認証ウェブフック機能

  • [CHANGE] sora.confallow_client_id_assignmenttrue にした際、クライアントが client_id を指定しない場合、認証ウェブフックに client_id を含まないよう変更しました

    • いままでは client_idnull が入っていました

イベントウェブフック機能

  • [CHANGE] イベントウェブフック connection.*channel_upstream_connections を非推奨にしました

    • 2021 年 6 月廃止予定です

  • [CHANGE] イベントウェブフック connection.*channel_downstream_connections を非推奨にしました

    • 2021 年 6 月廃止予定です

  • [ADD] イベントウェブフック connection.*simulcast: booleanspotlight: boolean の項目を追加しました

    • spotlight_legacy は非対応です

  • [ADD] 実験的機能としてイベントウェブフック connection.*channel_sendrecv_connections を追加しました

    • 送受信している接続数

  • [ADD] 実験的機能としてイベントウェブフック connection.*channel_sendonly_connections を追加しました

    • 送信のみしている接続数

  • [ADD] 実験的機能としてイベントウェブフック connection.*channel_recvonly_connections を追加しました

    • 受信のみしている接続数

  • [FIX] WebRTC が確立していなくてもイベントウェブフック connection.updated が発火してしまう問題を修正

    • sora.confconnection_created_timeout を 60 秒以上にしており、パケロスがひどい場合のみ発生していました

  • [FIX] イベントウェブフック connection.destroyedreasonDisconnect API で指定した値以外が入ってくるのを修正しました

録画機能

  • [FIX] 録画機能利用時に WebM ヘッダーとイベントウェブフック通知に含まれる解像度が最大解像度にならない問題を修正しました

  • [FIX] 録画メタデータファイルのタイムスタンプが WebM の最初および最後のフレームの時刻とずれていた問題を修正しました

録画ディレクトリ構成とファイル名の変更

  • [CHANGE] レコーディング ID 単位でディレクトリを生成しその下に録画ファイル、録画メタデータファイル、録画レポートファイルを生成するように変更しました

    • レコーディング ID とは StartRecording API の戻り値に入っている recording_id です

  • [CHANGE] 録画ファイルの名前を archive-<connection_id>.webm に変更しました

  • [CHANGE] 録画メタデータファイルの名前を archive-<connection_id>.json に変更しました

  • [CHANGE] 録画レポートファイルの名前を report-<recording_id>.json に変更しました

録画ファイル分割出力機能

実験的機能

  • [ADD] StartRecording に分割録画間隔を指定する split_duration を追加しました

    • 指定は秒で行い、最大 86400 秒 (24 時間) まで指定できます

      • 3600 秒を指定する例

      • {"split_duration": 3600}

    • split_duration を指定すると今までの録画終了時に出力されるファイルとは別に指定した時間間隔で録画ファイルを出力します

    • ファイルは archive-<Connection-ID>_0001.webm として出力されます

    • メタデータファイルは archive-<Connection-ID>_0001.json として出力されます

    • 連番は 0001 開始で 9999 までいったら 10000 となりそのあとは 10001 と続きます

  • [ADD] StartRecording に分割録画のみを行う split_only を追加しました

    • この指定をする場合はかならず split_duration を指定し、 expire_time0 に指定する必要があります

      • {"split_duration": 180, "split_only": true, "expire_time": 0}

    • この指定を有効にした場合はイベントウェブフックの recording.report を通知しません

    • この指定を有効にした場合は録画終了時にファイル出力を行いません

  • [ADD] 録画ファイル分割出力用の archive.split イベントウェブフックを追加しました

    • このウェブフックは分割録画がファイルが出力された際に通知します

    • 詳細は archive.split をご確認ください

  • [ADD] 録画ファイル分割出力用の archive.end イベントウェブフックを追加しました

    • このウェブフックは分割録画が終了した際に通知します

    • 詳細は archive.end をご確認ください

レコーディング ID の明示化

  • [CHANGE] StartRecording API の戻り値の idrecording_id に変更しました

  • [CHANGE] recording.report イベントウェブフックの data の中の id を削除しました

  • [CHANGE] recording.report イベントウェブフックの data の中に recording_id を追加しました

  • [CHANGE] archive.available イベントウェブフックの data の中の id を削除しました

  • [ADD] archive.available イベントウェブフックの data の中に recording_id を追加しました

  • [ADD] archive.failed イベントウェブフックの data の中に recording_id を追加しました

デモ機能

  • [UPDATE] 組み込みのデモ機能のバージョンを 2020.4.0 にアップデートしました

sora.conf 設定

  • [CHANGE] sora.confallow_client_id_assignment をデフォルト true に変更しました

  • [CHANGE] sora.confgeneric_nack_cache_size_msec を廃止しました

    • 内部的な設定のため非公開設定としました

  • [CHANGE] sora.confspotlight_legacy のデフォルトを false にしました

    • スポットライトレガシーを利用したい場合は sora.conf にて spotlight_legacy = true を設定してください

  • [CHANGE] sora.conf から turn_fqdn の記載を削除しました

    • 設定が非推奨のため削除しました。設定自体はできます

  • [CHANGE] 時間を指定する設定項目の単位を明示的に指定するようにしました

    • 単位が必要な値を指定する場合は 30 s2000 ms といった単位を指定する必要があります

    • 数値と単位の間にはスペースを入れてください

    • 単位指定が必要になった設定項目

      • webhook_response_timeout

      • connection_created_wait_timeout

      • default_forwarding_pli_interval

    • 詳細は 単位指定 をご確認ください

DTLS 再送制御

  • [UPDATE] DTLS パケットをしつこく再送するようにしました

    • hello ハンドシェイクはハンドシェイクパケットとタイマーをトリガーにしてしつこく再送します

    • cipher ハンドシェイクはハンドシェイクパケットをトリガーにしつこく再送します

スポットライトレガシー機能

  • [FIX] スポットライトレガシー利用時に音声のみを指定した場合に受信も音声のみになってしまう問題を修正

E2EE (End to End Encryption) 機能

実験的機能

  • [ADD] シグナリングに E2EE 用のメッセージングルーティング機能を追加しました

  • [ADD] 認証ウェブフック時に通知する項目として e2ee を追加しました

    • 型は boolean となります

  • [ADD] sora.conf に E2EE を利用可能にするかどうかの e2ee = true を追加しました

    • 詳細は e2ee_true をご確認ください

シグナリング通知メタデータ

  • [ADD] 接続時に送られてきた signaling_notify_metadatametadata 以外に authn_metadata としてシグナリング通知時に含めるようにしました

  • [ADD] 認証成功時に払い出した signaling_notify_metadatametadata 以外に authz_metadata としてシグナリング通知時に含めるようにしました

  • [ADD] 接続時に送る signaling_notify_metadata の最大サイズを指定できる sora.confsignaling_notify_authn_metadata_max_size を追加しました

    • デフォルトは 64512 で、 64 KiB です

    • 0..1048576 (1 MiB) の範囲で指定できます

シグナリング通知メタデータ拡張機能

実験的機能

  • [ADD] sora.conf にシグナリング通知メタデータ拡張を有効にする signaling_notify_metadata_ext を追加しました

    • デフォルトは false です

    • この設定を有効にした場合、接続時に送った signaling_notify_metadataauthn_metadata となります

      • metadata は初期値 {} となります

    • この設定を有効にした場合、認証成功時に払い出した signaling_notify_metadataauthz_metadata となります

      • metadata は初期値 {} となります

  • [ADD] 指定したチャネルのシグナリング通知メタデータ一覧を取得する ListSignalingNotifyMetadata API を追加しました

  • [ADD] 指定した接続の metadata を取得する GetSignalingNotifyMetadata API を追加しました

  • [ADD] 指定した接続の metadata を追加する PutSignalingNotifyMetadata API を追加しました

  • [ADD] 指定した接続の metadata を削除する DeleteSignalingNotifyMetadata API を追加しました

  • [ADD] 指定した接続の metadata のアイテムを追加する PutSignalingNotifyMetadataItem API を追加しました

  • [ADD] 指定した接続の metadata のアイテムを削除する DeleteSignalingNotifyMetadataItem API を追加しました

認証ウェブフックログ機能

実験的機能

認証ウェブフックのログを出力するように変更しました。リクエストとレスポンスを一つの JSON としてログに書き込みます。

  • [ADD] 認証イベントウェブフックのリクエストとレスポンスを log/auth_webhook.log として出力するようにしました

  • [ADD] sora.conf に認証イベントフェブフックのログ出力するかどうかの auth_webhook_log を追加しました

    • デフォルトで有効です

認証成功時での H.264 プロファイルレベルの指定機能

実験的機能

H.264 利用時にプロファイル ID を認証成功時の払い出しに指定可能にしました。

  • [ADD] 認証払い出し時の h264_profile_level_id を指定可能にしました

    • 文字列で指定することで SDP の払い出しが可能になります

    • この払い出しは sora.conf の設定を上書きします

廃止機能

  • [CHANGE] bin/sora start を廃止しました、今後は bin/sora daemon をお使いください

新規 API

新しく API を追加しました。既存 API のアップデート版となります。

  • [ADD] 新しく ListConnections API を追加しました

    • すべての接続リストが返ってきます

    • 詳しくは ListConnections API をご確認ください

  • [ADD] 新しく ListChannelConnections API を追加しました

    • 指定したチャネルの接続リストが返ってきます

    • 詳しくは ListChannelConnections API をご確認ください

実験的 API

実験的機能

  • [CHANGE] 実験的機能として提供している PauseRtpStream APIResumeRtpStream API のパラメータを変更しました

    • connection_idrecv_connection_id に変更しました

    • stream_idsend_connection_id に変更しました

  • [ADD] 実験的機能として ListChannels API を追加しました

    • すべてのチャネルリストが返ってきます

    • 詳しくは ListChannels API をご確認ください

  • [ADD] 実験的機能として DisconnectChannelByRole API を追加しました

    • 指定したチャネルの指定したロールの接続をすべて切断します

  • [ADD] 実験的機能として PushChannelByRole API を追加しました

    • 指定したチャネルの指定したロールの接続にプッシュ通知を送ります

  • [FIX] 実験的機能として提供している ChangeUpstreamVideoBitRate API の利用時に新規接続が走るとビットレートが戻ってしまう問題を修正しました

非推奨 API

  • [CHANGE] 切断用の DisconnectChannelUpstream API を非推奨 API としました

    • 実験的機能として提供している DisconnectChannelByRole API を利用してください

    • 2021 年 6 月廃止します

  • [CHANGE] 切断用の DisconnectChannelDownstream API を非推奨 API としました

    • 実験的機能として提供している DisconnectChannelByRole API を利用してください

    • 2021 年 6 月廃止します

  • [CHANGE] プッシュ用の PushUpstream API を非推奨 API としました

    • 実験的機能として提供している PushChannelByRole API を利用してください

    • 2021 年 6 月廃止します

  • [CHANGE] プッシュ用の PushDownstream API を非推奨 API としました

    • 実験的機能として提供している PushChannelByRole API を利用してください

    • 2021 年 6 月廃止します

  • [CHANGE] 実験的機能として提供していたサイマルキャスト用の ChangeSimulcastQuality API を非推奨 API としました

    • 実験的機能として提供している RequestRtpStream API を利用してください

    • 2021 年 6 月廃止します

  • [CHANGE] 実験的機能として提供していたスポットライトレガシー用の CastAlwaysSpotlight API を非推奨 API としました

    • 2021 年 12 月廃止します

  • [CHANGE] 実験的機能として提供していたスポットライトレガシー用の CancelSpotlight API を非推奨 API としました

    • 2021 年 12 月廃止します

  • [CHANGE] 実験的機能として提供していたスポットライトレガシー用の CastSpotlight API を非推奨 API としました

    • 2021 年 12 月廃止します

  • [CHANGE] 実験的機能として提供していたスポットライトレガシー用の DowngradeSpotlightBitRate API を非推奨 API としました

    • 2021 年 12 月廃止します

  • [CHANGE] 実験的機能として提供していたスポットライトレガシー用の ResetSpotlightBitRate API を非推奨 API としました

    • 2021 年 12 月廃止します

廃止 API

  • [CHANGE] 実験的機能として提供していた RequestSpotlightQuality API を廃止しました

    • 実験的機能として提供している RequestRtpStream API を利用してください

  • [CHANGE] 実験的機能として提供していた ResetSpotlightQuality API を廃止しました

    • 実験的機能として提供している ResetRtpStream API を利用してください

2020.2.2

リリース:

2020-10-07

対応 Chrome:

M86

対応 Firefox:

81

対応 Safari:

14.0

対応 Edge:

86

変更履歴

  • [FIX] Disconnect API や {"type": "disconnect"} を利用して切断した際に SIGNALING-INTERNAL-ERROR がクライアントに返される問題を修正しました

  • [FIX] WebSocket ping フレームが internal.log に出力されてしまう問題を修正しました

2020.2.1

リリース:

2020-09-23

対応 Chrome:

M85

対応 Firefox:

80

対応 Safari:

14.0

対応 Edge:

85

変更履歴

  • [FIX] デモ機能が有効にならない不具合を修正しました

2020.2

リリース:

2020-09-23

対応 Chrome:

M85

対応 Firefox:

80

対応 Safari:

14.0

対応 Edge:

85

互換なしの変更情報

  • 今までのスポットライト機能の呼び名がスポットライトレガシー機能に変更しました

    • ignore_spotlight_changed_webhookignore_spotlight_legacy_changed_webhook に変更しました

    • spotlight_auto_downgrade_bit_ratespotlight_legacy_auto_downgrade_bit_rate に変更しました

    • spotlight_auto_sharing_video_bit_ratespotlight_legacy_auto_sharing_video_bit_rate に変更しました

    • スポットライトレガシー機能は 2021 年 12 月まで利用できます

ハイライト

変更履歴

  • [FIX] connection.logremote_stats が出力されない問題を修正しました

新しいデモ機能

デモ機能を TypeScript / React / Redux を利用して書き直しました。 また、ソースコードを Apache License 2.0 でオープンソースとして公開しました。

https://github.com/shiguredo/sora-devtools

  • [CHANGE] 今までのスポットライト機能はスポットライトレガシーに変更しました

    • 今までの spotlight_sendrecvspotlight_legacy_sendrecv に変更しました

    • 今までの spotlight_sendonlyspotlight_legacy_sendonly に変更しました

    • 今までの spotlight_recvonlyspotlight_legacy_recvonly に変更しました

  • [CHANGE] ログとシグナリング通知の項目を別タブに変更しました

  • [ADD] 新しいスポットライト機能のデモを追加しました

    • spotlight_sendrecv を追加しました

    • spotlight_sendonly を追加しました

    • spotlight_recvonly を追加しました

    • sora.conf にて spotlight_legacy = false にしたときのみ利用できます

      • デフォルトは true です

  • [ADD] マイクのミュート機能を追加しました

  • [ADD] ビデオのミュート機能を追加しました

  • [ADD] フェイク機能を追加しました

    • Chrome / Edge / Firefox / Safari で利用できます

  • [ADD] autoGainContraol の設定を追加しました

  • [ADD] noiseSuppression の設定を追加しました

  • [ADD] echoCancellation の設定を追加しました

  • [ADD] echoCancellationType の設定を追加しました

    • browser と system が指定できます

  • [ADD] オーディオボリュームメータを追加しました

  • [ADD] コピーURL 機能を追加しました

    • 現在の設定を URL パラメータに反映した URL をクリップボードに保存します

  • [ADD] マルチサイマルキャストでストリーム個別の画質変更ボタンを追加しました

  • [ADD] クライアント側の情報を JSON 形式でダウンロードできるボタンを追加しました

  • [ADD] デバッグ機能を有効にすることでログ、通知、統計を確認できるようになりました

新しいスポットライト機能

実験的機能

今までのスポットライト機能の課題を解決した、 新しいスポットライト機能を実験的機能として追加しました。

  • [ADD] sora.confspotlight_legacy を追加しました

    • 新しいスポットライト機能を使う場合は sora.conf にて spotlight_legacy = false にする必要があります

  • [ADD] type: connect 時に multistream: true / simulcast: true / spotlight: true を指定すると新しいスポットライト機能が利用できます

  • [ADD] サイマルキャストを利用し 2 つの画質を配信するようにしました

    • 1/1 解像度の 30 FPS

    • 1/4 解像度の 1 FPS

  • [ADD] 直近で発話したクライアントのストリームは 1/1 解像度 30 FPS で、音声ありを受信します

  • [ADD] 直近で発話していないクライアントのストリームは 1/4 解像度 1 FPS で、音声なしを受信します

  • [ADD] 直近で発話したクライアントのストリームは最大 8 まで受信可能にしました

  • [ADD] 指定したストリームにフォーカスを当て続ける FocusSpotlightFixed API 追加しました

  • [ADD] 指定したストリームにフォーカスを当てる FocusSpotlight API を追加しました

  • [ADD] 指定したストリームをフォーカスから外す UnfocusSpotlight API を追加しました

  • [ADD] 指定したチャネルのスポットライト数を変更する ChangeSpotlightNumber API を追加しました

  • [ADD] 指定したストリームの画質を変更要求する RequestSpotlightQuality API を追加しました

    • 現時点では low / middle しか要求できません

  • [ADD] 指定したストリームの画質をリセットする ResetSpotlightQuality API を追加しました

  • [ADD] フォーカスが当たった場合 type: spotlight.focused が発火します

    • 固定されたかどうかが fixed の項目で true/false が入ります

    • signaling_notify 経由で参加者全員に通知されます

    • ignore_spotlight_changed_webhookfalse にしていた場合は Webhook が通知されます

  • [ADD] フォーカスが外れた場合 type: spotlight.unfocused が発火します

    • signaling_notify 経由で参加者全員に通知されます

    • ignore_spotlight_changed_webhookfalse にしていた場合は Webhook が通知されます

  • [ADD] sora.confdefault_spotlight_number を追加しました

古いスポットライト機能

実験的機能

今までのスポットライト機能を spotlight_legacy に変更しました。

  • [CHANGE] ignore_spotlight_changed_webhookignore_spotlight_legacy_changed_webhook に変更しました

  • [CHANGE] spotlight_auto_downgrade_bit_ratespotlight_legacy_auto_downgrade_bit_rate に変更しました

  • [CHANGE] spotlight_auto_sharing_video_bit_ratespotlight_legacy_auto_sharing_video_bit_rate に変更しました

  • [ADD] sora.confspotlight_legacy を追加しました

    • デフォルトは true です

H.264 プロファイルレベルの指定機能

実験的機能

H.264 利用時にプロファイル ID が今まは固定でしたが、自由に設定できるようにしました。

  • [ADD] sora.conf に default_h264_profile_level_id を追加可能にしました

統計レポート API

実験的機能

  • [ADD] GetStatsReport API に total_connection_created の項目を追加しました

  • [ADD] GetStatsReport API に total_connection_updated の項目を追加しました

  • [ADD] GetStatsReport API に total_connection_destroyed の項目を追加しました

  • [FIX] GetStatsReport API の total_turn_udp_connections の値が反映されない問題を修正しました

  • [FIX] GetStatsReport API の total_turn_tcp_connections の値が反映されない問題を修正しました

2020.1.1

リリース:

2020-08-18

対応 Chrome:

M84

対応 Firefox:

79

対応 Safari:

13.1.1

対応 Edge:

84

互換なしの変更情報

特にありません。

変更履歴

  • [CHANGE] DTLS 証明書を 1 日 1 回から 1 時間に 1 回更新するようにしました

  • [FIX] DTLS に利用する証明書を接続単位で保持するように修正しました

  • [FIX] サポート用のログ connection.log の書き込みを非同期に修正しました

    • ログの書き込みが 5 秒以上かかった場合、 connection.log が書き込まれない問題を解決します

  • [FIX] DTLS 証明書の再発行後のタイミングにマルチストリームの再ハンドシェイクが発生した場合、そのチャネルの接続がすべて切断してしまう問題を修正しました

    • 再発行した証明書の fingerprint をクライアントに送ってしまい、クライアント側が DTLS Alert close_notify を送ってきてしまうため切断されてしまう問題を解決します

2020.1

リリース:

2020-06-24

対応 Chrome:

M83

対応 Firefox:

77

対応 Safari:

13.1.1

対応 Edge:

83

重要なお知らせ

  • Ubuntu 20.04 版を提供開始しました

  • Ubuntu 16.04 版は 2021 年 4 月でパッケージ、サポートの提供を終了します

  • bin/sora start から bin/sora daemon に今後切り替わります

  • ロールの upstream / downstream は 2021 年 6 月リリース予定の Sora で利用ができなくなります

    • 今回追加された新しいロール sendrecv / sendonly / recvonly へ置き換えをお願いします

    • 最新の SDK を利用いただければ特に問題はでません

互換なしの変更情報

  • バージョン表記を変更しました

  • 設定ファイルの形式を変更しました

  • コネクション ID のエンコード方式を Hex から Crockford's Base32 に変更しました

  • PCMU のサポートを廃止しました

  • デモ機能のファイル名を変更しました

  • サイマルキャストで利用する際のロールを sendrecv / sendonly / recvonly のみ利用可能にしました

ハイライト

  • Ubuntu 20.04 に対応しました

  • 録画機能を改善しました

  • 録画機能を RTCP Sender Report によるリップシンクに対応しました

  • 録画の処理を非同期にしました

  • ロールに sendrecv / sendonly / recvonly を追加しました

  • 切断時に、接続ごとのクライアントとサーバーの統計情報を connection.log に出力するようにしました

  • 実験的機能として、クライアント側の統計情報を API 経由で確認できるようにしました

  • 実験的機能として、Sora からの映像配信を停止/再開する API を追加しました

  • 実験的機能として、サイマルキャストの画質をストリーム別に指定できる API を追加しました

  • 実験的機能として、AV1 や H.265 に対応しました

変更履歴

  • [CHANGE] PCMU のサポートを廃止しました

  • [CHANGE] 配信側への SDP での SSRC 指定を行わないように変更しました

    • Chrome の仕様に合わせました

  • [CHANGE] UUIDv4 の値を Hex から Base32 に変更しました

  • [ADD] ロールに sendrecv / sendonly / recvonly を追加しました

    • 今後はこちらのロールをご利用ください

    • sendrecv は送受信

    • sendonly は送信のみ

    • recvonly は受信のみ

  • [ADD] RTP 拡張 Generic Frame Descriptor v00 に対応しました

  • [ADD] 音声の RTP に対して RTCP-SR/RTCP-RR を対応しました

  • [ADD] RTCP-RR の送信間隔を audio と video で独立させました

  • [ADD] DTLS アラートのログを sora.log で出力するようにしました

    • DTLS アラート close notify のログは出力されません

  • [FIX] 音声のみの場合は PLI を送信しないようにしました

設定ファイル

  • [ADD] 設定ファイルに signaling_loopback_address_only を追加しました

    • この設定を有効にすることでシグナリングに接続できるのが 127.0.0.1 からのみになります

  • [CHANGE] 設定ファイルを etc/sora.conf に変更しました

  • [CHANGE] 設定ファイルの必須設定をなくしました

    • license_fileetc/license.json がデフォルト値になりました

    • signaling_port5000 がデフォルト値になりました

    • api_port3000 がデフォルト値になりました

ウェブフック

  • [UPDATE] イベントウェブフックのワーカー選択のキーを connection_id から channel_id に変更しました

  • [ADD] 認証ウェブフックに simulcast フラグを追加しました

ログ

  • [ADD] サポート向けに接続の統計情報を出力する connection.log を追加しました

    • リモート統計情報とローカル統計情報を出力します

  • [CHANGE] sora.log の時刻が UTC で出力されるようになりました

  • [CHANGE] warning.log / error.log を統一し sora.log に変更しました

TURN

  • [ADD] TURN-TCP のみを利用するように指定できる turn_tcp_only の設定を追加しました

  • [ADD] TURN-TLS のみを利用するように指定できる turn_tls_only の設定を追加しました

  • [ADD] turn_tcp_onlyturn_tls_only を有効にした場合は接続ごとに sora.log にログを出力するようにしました

  • [CHANGE] TURN-TCP のデフォルト値を true に変更しました

  • [CHANGE] type: offer 時の iceTrasnports: relay を削除しました

    • chrome が iceTransportPolicy へ対応したためです

RTP 転送

  • [ADD] RTP 転送 API 実行時に api.log を出力するようにしました

  • [FIX] StopForwardingRtp API で connection_id が見つからない場合のエラーを修正しました

録画機能

  • [UPDATE] RTCP-SR を利用したリップシンク機能を追加しました

  • [ADD] 録画完了時の統計機能項目を追加しました

    • video_reset_no_video_timeout

    • video_reset_pli

    • video_reset_other

    • extract_queue_trimmed

    • final_extract_limit

    • total_video_chunk_postponed_partial

    • total_video_chunk_postponed_queued

    • total_video_chunk_postponed_undefined

    • total_video_force_forward

    • total_audio_sender_report

    • total_video_sender_report

    • total_audio_lip_sync_mode_recv_time

    • total_audio_lip_sync_mode_rtcp_sr

    • total_video_lip_sync_mode_recv_time

    • total_video_lip_sync_mode_rtcp_sr

  • [CHANGE] 録画一時ファイルの作成を非同期にしました

  • [CHANGE] 録画ファイルが空の場合のログを削除するようにしました

  • [FIX] スポットライト機能利用時に録画開始が利用できないよう修正しました

デモ機能

  • [UPDATE] デモ機能で利用している sora-js-sdk のバージョンを 2020.1 に上げました

  • [ADD] デモ機能のページすべてに <meta name="robots" content="noindex"> を追加しました

  • [ADD] デモ機能に AV1 と H.265 を追加しました

    • クライアントが非対応の場合は動作しません

  • [ADD] multi_simulcast_sendonly.html を追加しました

  • [CHANGE] pub.htmlsendonly.html に変更しました

  • [CHANGE] sub.htmlrecvonly.html に変更しました

  • [CHANGE] multi_pubsub.htmlmulti_sendrecv.html に変更しました

  • [CHANGE] multi_pub.htmlmulti_sendonly.html に変更しました

  • [CHANGE] multi_sub.htmlmulti_recvonly.html に変更しました

  • [CHANGE] spotlight_pubsub.htmlspotlight_sendrecv.html に変更しました

  • [CHANGE] spotlight_sub.htmlsupotlight_recvonly.html に変更しました

  • [CHANGE] simulcast_pub.htmlsimulcast_sendonly.html に変更しました

  • [CHANGE] simulcast_sub.htmlsimulcast_recvonly.html に変更しました

  • [CHANGE] multi_simulcast_pubsub.htmlmulti_simulcast_sendrecv.html に変更しました

  • [CHANGE] multi_simulcast_sub.htmlmulti_simulcast_recvonly.html に変更しました

統計機能

  • [ADD] GetStatsReport に sora_client の項目を追加しました

  • [ADD] 統計 API に TURN 失敗の値を追加しました

    • total_received_turn_unknown_stun

    • total_received_turn_invalid_stun

    • total_received_unknown_channel_number

    • total_received_expired_channel_number

実験的機能

実験的機能を利用する場合はかならずサポートまでご連絡ください。

H.265 に対応しました

実験的機能

  • [ADD] H.265 を利用可能にする設定 h265sora.conf に追加しました

    • デフォルトは false です

  • [ADD] type: connect 時の video: {video_codec: "H265"} を指定可能にしました

  • [ADD] H.265 のキーフレーム判定に対応しました

AV1 に対応しました

実験的機能

  • [ADD] AV1 を利用可能にする設定 av1sora.conf に追加しました

    • デフォルトは false です

  • [ADD] type: connect 時の video: {video_codec: "AV1"} を指定可能にしました

  • [ADD] AV1 のキーフレーム判定に対応しました

  • [ADD] AV1 の解像度取得に対応対応しました

サマルキャストで受信しているストリーム単位で画質を変更する仕組みを追加しました

実験的機能

この機能はサイマルキャストでのみ利用できます。

  • [ADD] ChangeSimulcastQuality API で特定のストリームの画質の変更を可能にしました

    • stream_id にストリームを配信している接続の connection_id を指定します

指定したストリームの映像を停止/再開する API を追加しました

実験的機能

この機能はマルチストリームでのみ利用できます。

  • [ADD] signaling_notify_rtp_streamsora.conf に追加しました

    • true の場合は Rtp Stream Pause/Resume API 実行時に pause/resume 通知が飛びます

    • 受信を停止/再開した接続、された接続の両方に飛びます

  • [ADD] PauseRtpStream API 追加しました

    • 指定した接続のストリームを停止します

    • connection_id にストリームの受信を再開する connection_id を指定します

    • stream_id にストリームの受信を再開したいストリームを配信している接続の connection_id を指定します

  • [ADD] ResumeRtpStream API 追加しました

    • 指定した接続のストリームを再開します

    • connection_id にストリームの受信を再開する connection_id を指定します

    • stream_id にストリームの受信を再開したいストリームを配信している接続の connection_id を指定します

  • [ADD] ListPauseRtpStreams API 追加しました

    • 指定したチャネルの停止しているストリーム一覧を返します

リモート統計情報を取得する API を追加しました

実験的機能

この機能はクライアント側でのみ取得できる統計情報をサーバー経由で取得可能にする仕組みです。

  • [ADD] sora.confremote_stats: true を追加

    • type: ping 時に stats: true を有効にします

  • [ADD] 認証成功時の払い出しに remote_stats: boolean を追加しました

  • [ADD] GetAllRemoteStats API を追加しました

    • すべての接続のリモート統計情報を取得します

  • [ADD] GetChannelRemoteStats API を追加しました

    • 指定したチャネル ID すべての接続のリモート統計情報を取得します

  • [ADD] GetConnectionRemoteStats API を追加しました

    • 指定した接続のリモート統計情報を取得します

19.10.9

リリース:

2020-04-20

対応 Chrome:

M81

対応 Firefox:

75

対応 Safari:

13.1

対応 Edge:

81

互換なしの変更情報

特にありません

変更履歴

  • [FIX] 配信が非常に不安定な場合、録画の処理でメモリを多量に消費してしまう問題

19.10.8

リリース:

2020-02-07

対応 Chrome:

M80

対応 Firefox:

72

対応 Safari:

13

対応 Edge:

79

互換なしの変更情報

特にありません

変更履歴

  • [FIX] Firefox と特定のネットワークで正常につながらない問題を修正しました

    • Firefox 側の問題への対応です

  • [FIX] Chrome M80 で H.264 の仕組みが変わったことにより録画が正常に動作しない問題を修正しました

    • Chrome 側の挙動変更への対応です

  • [FIX] スポットライトで長時間インアクティブだった場合、再開時にスポットライト枠に表示されない問題を修正しました

  • [FIX] マルチストリーム利用時に視聴側から送られてきた I フレーム要求を正常に処理できていない問題を修正しました

  • [FIX] 録画機能利用時に録画ファイルの中で約 22 分に一度音声が最大 20 秒空白になる問題を修正しました

19.10.4

リリース:

2020-01-28

対応 Chrome:

M79

対応 Firefox:

72

対応 Safari:

13

対応 Edge:

79

互換なしの変更情報

特にありません

変更履歴

  • [FIX] SDP の RTP 拡張から mid を削除しました

    • ブラウザ側のバグに対応したものです

  • [FIX] イベントウェブフックのタイムスタンプの取得タイミングを修正しました

  • [FIX] 接続失敗イベントウェブフックでクラッシュしていた問題を修正しました

  • [FIX] マルチストリームで sendonly を利用した際の SDP 関連の処理を修正しました

19.10.3

リリース:

2019-12-11

対応 Chrome:

M79

対応 Firefox:

71

対応 Safari:

13

対応 Edge Beta:

79

互換なしの変更情報

特にありません

ハイライト

  • HTTP API への接続をループバックのみに限定する api_loopback_address_only を sys.config の設定に追加しました

変更履歴

  • [ADD] HTTP API への接続をループバックのみに限定する api_loopback_address_only を sys.config の設定に追加しました

    • この設定を有効にすることで HTTP API を叩けるのが 127.0.0.1 からのみになります

  • [ADD] 録画失敗時のウェブフックに以下に以下の項目を追加しました

    • audio

    • video

    • start_time

    • stop_time

    • file_path

      • ファイル自体は生成されません

    • filename

      • ファイル自体は生成されません

  • [ADD] シグナリングログに type: disconnect を追加しました

    • クライアント側から type: disconnect が送られてきた場合に出力します

  • [ADD] シグナリングログに type: close ログを追加しました

    • close ログはクライアント側から切断された場合に出力します

  • [ADD] シグナリングログに type: closed ログを追加しました

    • closed ログはサーバー側から切断された場合に出力します

  • [ADD] シグナリングログに type: error-closed ログを追加しました

    • error-closed ログはクライアントが想定外の切断をした場合に出力します

  • [ADD] 実験的機能として認証成功時の戻り値で simulcast と simulcast_quality を指定可能にしました

    • この機能を利用される場合は必ず事前にサポートまでご連絡ください

  • [ADD] 実験的機能として ListConnections と ListAllConnections API に multistream / simulcast / spotlight のフラグを追加しました

    • この機能を利用される場合は必ず事前にサポートまでご連絡ください

  • [ADD] 実験的機能としてマルチストリームに配信のみで参加できる仕組みを追加しました

    • この機能を利用される場合は必ず事前にサポートまでご連絡ください

  • [ADD] 実験的機能としてイベントウェブフック通知の HTTP ヘッダーに X-SORA-EVENT-WEBHOOK-TYPE を追加しました

    • この機能を利用される場合は必ず事前にサポートまでご連絡ください

  • [ADD] 実験的機能として Opus パラメータに ptime を追加しました

    • この機能を利用される場合は必ず事前にサポートまでご連絡ください

  • [FIX] Android のサイマルキャスト配信時に正常に動作しない問題を修正しました

  • [FIX] デモ機能のマルチストリームサイマルキャスト視聴のみで初期の画質指定が抜けていたのを追加しました

  • [FIX] 録画時に接続の切断と録画終了 API がほぼ同時に実行されるとアーカイブが recording.report に入らない問題を修正しました

  • [FIX] 認証成功時に払い出す ipv4_addressipv6_address が正常に動作しない問題を修正しました

19.10.1

リリース:

2019-11-06

対応 Chrome:

M78

対応 Firefox:

70

対応 Safari:

13

対応 Edge Beta:

79

互換なしの変更情報

特にありません

ハイライト

  • TURN の UDP または TCP のどちらを利用しているかがシグナリング通知、およびイベントウェブフックで取得できるようになりました

  • マルチストリームの「視聴のみ」で、配信者が存在しない場合でも接続できるようになりました

  • マルチストリームの「視聴のみ」で、配信者が存在しなくなった場合でも接続を維持するようになりました

変更履歴

  • [ADD] シグナリング通知の connection.created / connection.updated / connection.destroyed に turn_transport_type を追加しました

    • "udp" または "tcp" の文字列が入ります

  • [ADD] イベントウェブフックの connection.created / connection.updated / connection.destroyed に turn_transport_type を追加しました

    • "udp" または "tcp" の文字列が入ります

  • [CHANGE] マルチストリームの視聴のみで今までは配信がある必要がありましたが、配信がない場合でも Sora に接続することが可能になりました

  • [CHANGE] マルチストリームの視聴のみで配信者が 0 になっても切断しないようにしました

  • [FIX] サイマルキャスト対応と非対応のマルチストリームが同じチャネルに参加した際にクラッシュする問題を修正しました

  • [FIX] サイマルキャストの視聴時に配信側が通常の配信に切り替わった場合、クラッシュする問題を修正しました

  • [FIX] ネットワークの不安定レベル通知機能が音声のみの配信の場合、常に unstable_level 3 を配信するようになっていた問題を修正しました

19.10.0

リリース:

2019-10-16

対応 Chrome:

M77

対応 Firefox:

69

対応 Safari:

13

対応 Edge Dev:

79

互換なしの変更情報

  • PlanB への対応を廃止しました

  • サイマルキャスト (Google 独自) への対応を廃止しました

ハイライト

  • CentOS 8.0 に対応しました

  • 実験的機能として マルチストリームでサイマルキャスト機能が利用可能になりました

変更履歴

  • [UPDATE] ChangeSimulcastQuality API をマルチストリームに対応しました

  • [UPDATE] ChangeUpstreamVideoBitRate API をマルチストリームに対応しました

  • [UPDATE] サイマルキャストを利用した配信者はビットレートシェアリング機能は無効にしました

  • [UPDATE] 録画機能で Opus ステレオ音声の録音に対応しました

  • [ADD] CentOS 8.0 に対応しました

  • [ADD] GetStatsConnection API に視聴側の再送キャッシュヒット率を追加しました

    • total_generic_nack_cache_hit

      • 再送要求に正しく応答した回数

    • total_generic_nack_cache_miss

      • 再送要求に応答できなかった回数

  • [ADD] GetStatsConnection API に配信側が不安定になった際、 I フレーム要求(PLI)を送った回数を追加しました

    • total_pli_trigger

      • 再送要求に限界がきて I フレーム要求を送った回数

  • [ADD] GetStatsConnection API に RTP パケロスシミュレーターの統計情報を追加しました

    • total_dropped_received_rtp

      • 受信した RTP パケットをパケロスシミュレータで落とした回数

    • total_dropped_sent_rtp

      • 送信した RTP パケットをパケロスシミュレータで落とした回数

  • [ADD] GetStatsConnection API に network_status の unstable_level の値を追加しました

    • unstable_level

    • 0-3 の値が入ります

  • [ADD] 新規接続時に送る PLI の頻度を抑える仕組みを追加しました

  • [ADD] 実験的機能としてマルチストリーム機能でサイマルキャスト機能が利用可能になりました

    • 現時点でサイマルキャスト機能は Chrome でのみ利用できます

    • 詳細は マルチストリームでサイマルキャスト をご確認ください

  • [ADD] 設定 default_simulcast_quality を追加しました

    • sys.config にて指定できます

    • サイマルキャストで simulcast: true を選んだときの視聴する画質のデフォルトを指定します

    • デフォルトは "low" です

    • "low" 、 "middle" 、 "high" を指定できます

  • [ADD] デモ機能に multi_simulcast_pubsub.html と multi_simulcast_sub.html を追加しました

  • [ADD] シグナリング Offer 時に Sora のバージョンを追加しました

    • "version": "19.10.0" の形式です

    • hide_origin_username が有効な場合はバージョン情報は送りません

  • [ADD] 実験的機能として Opus パラメータをシグナリングで指定できるようになりました

    • これらの機能を利用される場合は必ず事前にサポートまでご連絡ください

    • {"audio": {"opus_params": {"stereo": false, "useinbandfec": false}}}

    • clock_rate

    • channels

    • maxplaybackrate

    • stereo

    • sprop_stereo

    • minptime

    • useinbandfec

    • usedtx

  • [ADD] 実験的機能として Opus パラメータのデフォルト値を sys.config で指定できるようになりました

    • これらの機能を利用される場合は必ず事前にサポートまでご連絡ください

    • opus_param_clock_rate

    • opus_param_channels

    • opus_param_maxplaybackrate

    • opus_param_stereo

    • opus_param_sprop_stereo

    • opus_param_minptime

    • opus_param_useinbandfec

    • opus_param_usedtx

  • [ADD] イベントウェブフックのワーカー数を指定可能にしました

    • デフォルトは 5 です

    • sys.config にて {event_webhook_worker_number, 5} のように指定します

    • 5-5000 の範囲で指定できます

  • [ADD] ウェブフックのレスポンスタイムアウトを指定可能にしました

    • デフォルトは 5 秒です

    • sys.config にて {webhook_response_timeout, 5} のように指定します

    • 1-600 秒の範囲で指定できます

  • [ADD] 録画ファイル生成時のウェブフックに client_idconnection_id をトップレベルに含むようにしました

  • [ADD] 録画ファイル生成時のウェブフック archive.available に統計情報を追加しました

    • total_filled_audio_packet

      • 穴埋めした音声パケットのトータル

    • total_discard_audio_packet

      • 破棄した音声パケットのトータル

    • min_audio_level

      • RTP 拡張 audio level の最小値(音声出力の最大値)のトータル

    • total_discarded_audio_packet

      • 調整のために捨てた音声パケットのトータル

    • total_stored_video_keyframe_head

      • 映像キーフレームの先頭パケットのトータル

    • total_stored_audio_packet

      • 録画に利用した音声パケットのトータル

    • total_stored_video_packet

      • 録画に利用した映像パケットのトータル

    • total_discarded_unknown_packet

      • 録画に利用せず破棄した不明パケットのトータル

    • total_pli_trigger

      • 再送要求に限界がきて I フレーム要求 (PLI) を送ったトータル

  • [CHANGE] すべてのブラウザの最新版が Unified Plan になったため SDP の Plan B タイプへの対応を削除しました

    • plan_b: boolean を削除しました

  • [CHANGE] サイマルキャスト機能から Google 独自の SDP 書き換え方式への対応を削除しました

    • simulcast_rid: boolean を削除しました

    • simulcast: true は常に rid ベースのサイマルキャストが利用されます

    • rid ベースのサイマルキャストは Chrome と Edge Dev でのみ利用できます

  • [FIX] 録画ファイルのメタデータに音声のビットレートが含まれていなかったのを修正しました

  • [FIX] サイマルキャスト機能利用時に視聴側を先に繋ぐと音声が配信されない問題を修正しました

  • [FIX] サイマルキャストのエンコーディング指定を role: upstream 時のみに修正しました

  • [FIX] 録画時に recording.report に録画ファイルが含まれない問題を修正しました

  • [FIX] Generic Nack の再送が rtp_packet_loss_simulator_outgoing の対象になっていなかったのを修正しました

  • [FIX] マルチストリームの Answer が遅延した場合でも正常に映像が表示されるよう修正しました

19.04.9

リリース:

2019-07-22

対応 Chrome:

M75

対応 Firefox:

68

対応 Safari:

12.1.1

対応 Edge Dev:

77

互換なしの変更情報

特にありません

変更履歴

  • [CHANGE] Opus の DTX 機能を無効化しました

    • Chrome と Firefox の WebM 再生機能が Opus の DTX 機能に非対応であり、音ずれが発生するため

19.04.8

リリース:

2019-07-17

対応 Chrome:

M75

対応 Firefox:

68

対応 Safari:

12.1.1

対応 Edge Dev:

77

互換なしの変更情報

特にありません

変更履歴

  • [FIX] 前回、Firefox で正常に動作するようバージョンアップを行ったことにより、別のネットワーク環境で正常に繋がらなくなった問題を修正しました

19.04.7

リリース:

2019-07-12

対応 Chrome:

M75

対応 Firefox:

67

対応 Safari:

12.1.1

対応 Edge Dev:

77

互換なしの変更情報

特にありません

変更履歴

  • [UPDATE] デモ機能が利用している sora-js-sdk を 1.14.0 にアップデートしました

  • [UPDATE] 接続に失敗した際ログの config に以下を追加しました

    • turn_fqdn

    • rtx

    • ulpfec

  • [UPDATE] 統計情報出力に以下の値を追加しました

    • dtls

    • received_turn_binding_request

    • received_turn_binding_error

    • received_turn_binding_success

    • sent_turn_binding_request

    • sent_turn_binding_error

    • sent_turn_binding_success

  • [CHANGE] デモ機能のスポットライトの最大数を 8 に変更しました

  • [CHANGE] スポットライトの最大数を 8 に変更しました

  • [ADD] api_log の対象に以下の API を追加しました

    • DowngradeSpotlightBitRate

    • ResetSpotlightBitRate

    • StartRecording

    • StopRecording

  • [FIX] シグナリングで type: candidatesdp に空文字が含まれても問題ないような処理を追加しました

  • [FIX] Firefox が特定のネットワークで接続できない問題を修正しました

  • [FIX] デモ機能の rid ベースのサイマルキャスト配信機能で音声が配信されていなかった問題を修正しました

  • [FIX] 録画機能利用時に StopRecording API を実行中にクライアントの切断が発生した場合起きる問題を修正しました

  • [FIX] mDNS の値が UUID 以外の値が入ってくると正常に処理されない問題を修正しました

  • [FIX] Chrome で映像で指定しているビットレートが音声と共有されてしまう問題を修正しました

19.04.4

リリース:

2019-06-10

対応 Chrome:

M75

対応 Firefox:

67

対応 Safari:

12.1.1

対応 Edge Dev:

76

互換なしの変更情報

サポート向けに出力している sdp.log を signaling.log に名前を変更しました。ログローテーションの変更をお願いします。

変更履歴

  • [ADD] 実験的機能として rid ベースのサイマルキャストに対応しました

  • [ADD] 統計 API に RTX / RED / RED-RTX の統計情報を追加しました

  • [CHANGE] デモ機能の simulcast_pub.html はデフォルトで rid ベースのサイマルキャストを利用するように変更しました

  • [UPDATE] ULPFEC で確保している RTP キャッシュにサイズ上限を追加しました

  • [UPDATE] ULPFEC で正常処理ができていない部分を修正しました

  • [CHANGE] サポート向けの sdp.log を signaling.log に変更しました

    • サポート時の対応を迅速にするために、出力するログ内容を変更しました

    • そのため sdp ではなく signaling が主となったためファイル名を変更しました

  • [CHANGE] ULPFEC をデフォルトで無効にしました

    • パケロスが多い場合、 ULPFEC を無効にしている場合より不安定になるためデフォルトで無効にしました

  • [FIX] 認証成功時の払い出しで audio と video が false の場合にエラーになるように修正しました

  • [FIX] 認証成功時の払い出しで audio や video が false の場合に上書きすると正常に動作しない問題を修正しました

  • [FIX] マルチストリーム機能で同時接続でまれに相手が見えなくなる問題を修正しました

  • [FIX] TURN-UDP で複数の Allocate-Request が送られてきた場合に正常動作しない問題を修正しました

19.04.1

リリース:

2019-05-23

対応 Chrome:

M74

対応 Firefox:

67

対応 Safari:

12.1.1

対応 Edge (Chromium ベース):

76

廃止情報

特にありません

互換なしの変更情報

今回の変更で不明な点はサポートまでお問い合わせください

metadata_list の戻り値を list に変更し、 signaling_notify_client_idsignaling_notify_connection_id の設定が反映されるようにしました。

今までは {"connection_id0": "metadata0", "connection_id1": "metadata1"} という形式でした、 ただし signaling_notify_connection_idfalse にしていたとしても connection_id が共有されてしまう問題がありました。 また client_id が含まれていないという問題もあり、抜本的な変更を行いました。

詳細は シグナリング通知 の signaling_notify_metadata をご確認ください

変更履歴

  • [CHANGE] metadata_list の戻り値を変更しました

  • [FIX] 録画で音声が途中で途切れる可能性がある問題を修正しました

  • [FIX] スポットライト機能利用時の統計情報が一部取得できていなかった問題を修正しました

  • [FIX] ULPFEC が特定環境で正常に動作しない問題を修正しました

  • [FIX] 回線が不安定な場合に Firefox で SRTP/AES-GCM を利用した際、正常に動作しない問題を修正しました

  • [FIX] 特定環境で確保したにもかかわらず利用されていない TURN-TCP が放置されてタイムアウトが発生してしまう問題を修正しました

19.04.0

リリース:

2019-04-17

対応 Chrome:

M73

対応 Firefox:

66

対応 Safari:

12.1

対応 Edge (Chromium ベース):

74

廃止情報

特にありません

互換なしの変更情報

プレビュー版の機能に対して後方互換性を維持しない変更を行っています

  • スポットライト機能 CastAlwaysSpotlight API

    • client_idconnection_id に変更しました

  • スポットライト機能 CastSpotlight API

    • client_idconnection_id に変更しました

  • スポットライト機能 CancelSpotlight API

    • client_idconnection_id に変更しました

  • スポットライト機能のシグナリング

    • type: connect 時に spotlight を指定した場合、 audiofalse にするとエラーになるように変更しました

  • スポットライト機能のシグナリング通知 spotlight.changed

    • channel_id を削除しました

  • サイマルキャスト機能 ChangeSimulcastQuality API

    • client_idconnection_id に変更しました

ハイライト

  • Safari に正式対応しました

  • スポットライト機能が Safari に対応しました

  • 1 接続ごとにユニークなコネクション ID を払い出すようになりました

  • クライアント ID を指定可能にする設定を追加しました

  • クライアント ID の重複が可能になりました

  • クライアントにネットワーク不安定レベルを通知する機能を追加しました

  • イベントウェブフックがエラーになった場合、 event_webhook_error.log にもログが記録されるようになりました

  • イベントウェブフックの connection.updated の通知を無効にできる設定を追加しました

  • 映像の前方誤り訂正機能がマルチストリームでも利用可能になりました

  • デモ機能に getDisplayMedia の機能を追加しました

  • スポットライト機能に自動で映像のビットレートをシェアする機能を追加しました

  • チャネルの接続を、配信者や視聴者単位で切断できる API を追加しました

  • Edge の対応を終了し Edge (Chromium ベース) への対応を開始しました

変更履歴

  • [UPDATE] Safari 12.1 にて Safari に正式に対応しました

    • 実験的機能としての Unified Plan はまだ動作が未確定なため、プレビュー版としての対応です

  • [UPDATE] デモ機能が利用している sora-js-sdk を 1.12.0 にアップデートしました

    • Safari 12.1 に対応しました

    • Safari 12.0 にも対応しています

  • [UPDATE] デモ機能で Safari のデフォルト映像コーデックを H.264 から VP8 に変更しました

    • Safari 12.1 で VP8 に対応しました

    • Safari 12.0 で VP8 は利用できません

  • [UPDATE] デモ機能 multi_pubsub と spotlight_pubsub のデフォルトビットレートを 500kbs から 1000kbps に変更しました

    • 自動で映像のビットレートをシェアする機能を追加したためです

  • [UPDATE] スポットライト機能が Safari に対応しました

    • Safari が VP8 に対応し、動作が安定したため対応しました

  • [ADD] 1 接続ごとにユニークな コネクション ID を払い出すようになりました

  • [ADD] クライアント ID を重複させることが可能になりました

    • これはプレビュー版の機能です

  • [ADD] シグナリング接続時、または認証成功の戻り値にクライアント ID を指定可能にする設定を追加しました

    • これはプレビュー版の機能です

    • デフォルトでは無効に設定されています

    • sys.configallow_client_id_assignmenttrue に指定することで有効にできます

    • 設定を有効にした場合で、 client_id を指定しない場合、認証ウェブフックでで通知される client_idnull になります

    • クライアント ID が指定可能な場合、コネクション ID を判定に使うことが必須になり、後方互換性が失われますので注意してください

  • [ADD] デモ機能の pub.html, multi_pubsub.html が getDisplayMedia に対応しました

    • 最新版の Chrome と Firefox で有効です

    • Safari では利用できません

  • [ADD] ブラウザへの追従のため RTP 拡張対応の extmap_allow_mixed を追加しました

    • 有効にした場合 Safari 12.0 が繋がらなくなります

    • デフォルトでは無効になっています

      • sys.configextmap_allow_mixedtrue に指定することで有効にできます

  • [ADD] イベントウェブフック通知がエラーになった場合は event_webhook_error.log にもログが記載されるようになりました

    • event_webhook.log にはすべてのログが記録されます

    • event_webhook_error.log にはエラーになったイベントウェブフックのログが記録されます

  • [ADD] イベントウェブフックの connection.updated の通知を無効にできる設定を追加しました

    • デフォルトでは通知されます

    • sys.configignore_connection_updated_webhooktrue に指定することで通知を無効にできます

  • [ADD] シグナリング通知でネットワークの状態を通知する機能を追加しました

    • デフォルトで有効になっています

      • sys.configsignaling_notify_networkfalse に指定することで無効にできます

    • ネットワークの不安定レベル (unstable_level) を通知します

      • 不安定レベルは 0 から 3 まで 4 段階あり、 0 が一番安定、 3 が一番不安定です

      • 映像を配信している人のみに有効です

    • 送信間隔は 10 秒で固定しています

      • Sora 19.10 にて送信間隔を変更できるようにする予定です

  • [ADD] マルチストリーム配信側の ULPFEC (前方誤り訂正) に対応しました

  • [ADD] 片方向配信やマルチストリームにて、映像ビットレートを動的に変更できる ChangeUpstreamVideoBitRate API を追加しました

    • 詳細は ChangeUpstreamVideoBitRate API をご確認ください

    • この API を利用することで、再接続することなく映像ビットレートを変更できるようになります

    • マルチストリームでは、分割されたビットレート以上にビットレートを上げることができません

      • 例えば 1000kbps で指定し、 2 名がそのチャネルに参加している場合には、指定可能な最大ビットレートは 500kbps となります

  • [ADD] 指定したチャネルすべての配信者を切断する DisconnectChannelUpstream API を追加しました

    • 詳細は 指定したチャネルすべての配信者の接続を切断する をご確認ください

    • この API は片方向配信、マルチストリーム、スポットライトすべてで利用できます

  • [ADD] 指定したチャネルすべての視聴者を切断する DisconnectChannelDownstream API を追加しました

    • 詳細は 指定したチャネルすべての視聴者の接続を切断する をご確認ください

    • この API は片方向配信、マルチストリーム、スポットライトすべてで利用できます

  • [ADD] マルチストリームのビットレートシェアリング機能を指定可能にしました

  • [ADD] スポットライト機能に、自動で映像ビットレートをシェアする機能を追加しました

    • 詳細は スポットライトにおける映像ビットレート自動シェアリング機能 をご確認ください

    • この機能は配信者の人数またはスポットライトの数で映像のビットレートを分割する機能です

    • デフォルトで有効になっています

      • sys.configspotlight_auto_sharing_video_bit_ratefalse に指定することで無効にできます

  • [ADD] ログ出力に api.log を追加しました

    • 一部の API 操作に関するログを出力します

    • ログローテーションされませんので、ログローテーションをお願いします

  • [ADD] クライアント切断 DisconnectClient API を追加しました

    • Disconnect API に ClientId を渡した場合と同じ動作をします

  • [ADD] 認証の戻り値で client_id がバリデーションでエラーになった際、 warning ログが出力されるようになりました

  • [ADD] デモ機能のデバッグ情報に PUSH API からの通知を表示するようにしました

  • [ADD] Edge (Chromium ベース) への対応を開始しました

  • [CHANGE] ULPFEC (前方誤り訂正) をデフォルトで有効にしました

    • 片方向配信とマルチストリームでの配信が対象です

    • sys.configulpfec を false に指定することで無効にできます

  • [CHANGE] スポットライト機能のシグナリング接続時に audiofalse にするとエラーになるよう変更しました

  • [CHANGE] スポットライト機能向け CastAlwaysSpotlight API の client_idconnection_id に変更しました

  • [CHANGE] スポットライト機能向け CastSpotlight API の client_idconnection_id に変更しました

  • [CHANGE] スポットライト機能向け CancelSpotlight API の client_idconnection_id に変更しました

  • [CHANGE] サイマルキャスト機能向け ChangeSimulcastQuality API の client_idconnection_id に変更しました

  • [CHANGE] スポットライト機能のシグナリング通知 spotlight.changed から channel_id を削除しました

  • [CHANGE] スポットライト機能のデモでクライアント ID を表示していた部分をコネクション ID を表示するように変更しました

  • [CHANGE] GetStats API は allow_client_id_assignmenttrue にした場合は利用できなくなりました

    • クライアント ID が重複可能になるため、既存の API の仕組みでは対応できないためです

    • 代わりに GetStatsClient または GetStatsConnection API を利用してください

  • [CHANGE] Disocnnect API は allow_client_id_assignmenttrue にした場合は利用できなくなりました

    • クライアント ID が重複可能になるため、既存の API の仕組みでは対応できないためです

    • 代わりに DisconnectClient または DisconnectConnection API を利用してください

  • [FIX] スポットライト機能でスポットライトがあたっている参加者が接続を切断した場合、シグナリング通知で client_id=null を送るように修正しました

  • [FIX] TURN-TCP 利用時に、特定環境で TCP の接続が残ったままになる問題を修正しました

18.10.5

リリース:

2019-01-21

対応 Chrome:

M71

対応 Firefox:

64

対応 Edge:

44

対応 Safari:

12.0

廃止情報

特にありません

互換なしの変更情報

GetStats API の項目を一部変更しました。

  • total_received_bytestotal_received_byte_size に変更しました

  • total_sent_bytestotal_sent_byte_size に変更しました

  • total_received_packetstotal_received に変更しました

  • total_sent_packetstotal_sent に変更しました

ハイライト

  • ジッターやパケロスが多い、不安定な回線でも録画が行えるように改善しました

アップグレード時の注意

互換なしの変更情報を確認してください。

変更履歴

  • [UPDATE] デモ機能が利用している sora-js-sdk を 1.10.2 にアップデートしました

  • [CHANGE] GetStats API の項目を一部変更しました。

    • total_received_bytestotal_received_byte_size に変更しました

    • total_sent_bytestotal_sent_byte_size に変更しました

    • total_received_packetstotal_received に変更しました

    • total_sent_packetstotal_sent に変更しました

  • [FIX] 録画機能で、ジッターやパケロスが多い場合でも正常に録画できるよう改善しました

  • [FIX] turn_tls_fqdnturn_fqdn が認証時に動作しない問題を修正しました

  • [FIX] 録画機能の PCMU がいくつかの条件で正常に動作しない問題を修正しました

  • [FIX] マルチストリームのキャッシュテーブルが初期化されていなかった問題を修正しました

18.10.2

リリース:

2018-12-04

対応 Chrome:

M70

対応 Firefox:

63

対応 Edge:

44

対応 Safari:

12.1 (Safari TP 70)

廃止情報

  • generic_nack_cache_size が廃止されました

    • generic_nack_cache_size_msec を利用指定ください

互換なしの変更情報

  • generic_nack_cache_size が廃止されました

    • generic_nack_cache_size_msec を利用指定ください

ハイライト

  • 高ビットレートでの再送制御の効率化を行いました

  • サポート対象の映像ビットレートを 5Mbps から 15Mbps に変更しました

アップグレード時の注意

  • generic_nack_cache_size を廃止し、 generic_nack_cache_size_msec を追加しました

    • generic_nack_cache_size の設定を削除してください

変更履歴

  • [UPDATE] デモ機能の simulcast_pub/simulcast_sub の H.264 を有効にしました

    • Safari TP 70 にて動作を確認しています

  • [UPDATE] デモ機能の up.html の映像ビットレートに 50Mbps を追加しました

    • サポート対象は 15Mbps が最大になります

  • [UPDATE] サポート対象の映像ビットレートを 5Mbps から 15Mbps に引き上げました

  • [UPDATE] RTP パケロスシミュレータをマルチストリームとスポットライトに対応しました

  • [UPDATE] H.264 のキーフレーム判定をより正確に判定するようにしました

  • [UPDATE] 視聴者側の Generic NACK キャッシュサイズをビットレートによって変更する仕組みに変更しました

    • これにより高ビットレートでも再送制御が機能するようになりました

  • [ADD] generic_nack_cache_size_msec を追加しました

    • デフォルト値以外の値を設定を検討している場合はサポートまでお問い合わせください

  • [CHANGE] generic_nack_cache_size を廃止しました

  • [FIX] サイマルキャスト利用時でない場合でも視聴側がサイマルキャストを利用していた問題を修正しました

  • [FIX] サイマルキャスト配信側が不安定から復旧した際に視聴側が期待している画質が配信されない問題を修正しました

  • [FIX] 配信側の Generic NACK 送信の無駄を減らしました

  • [FIX] Plan B で映像のみの配信者しかいない場合、音声が有効の視聴者が接続できない問題を修正しました

  • [FIX] 回線が不安定な際、正常に録画ができず録画に失敗する問題を修正しました

18.10.0

リリース:

2018-10-30

対応 Chrome:

M70

対応 Firefox:

63

対応 Edge:

42

対応 Safari:

12.1 (Safari TP 68)

廃止情報

特にありません

互換なしの変更情報

特にありません

ハイライト

  • 1 つのチャネルで、同じ映像を複数のビットレートで送信できるサイマルキャスト機能を、プレビュー版として追加しました

  • スポットライト機能利用時のクライアントやサーバーの負荷を改善する API や機能を追加しました

  • I フレームの欠損時に再送なしで回復できる前方誤り訂正機能(FEC)の一つである ULPFEC に対応しました

アップグレード時の注意

特にありません

変更履歴

  • [UPDATE] デモ機能の Sora JS SDK を 1.10.0 に上げる

  • [UPDATE] スポットライト関連のデモ機能のコーデックを VP9 に変更しました

  • [ADD] スポットライトで利用するビットレートを一時的に下げる DowngradeSpotlightChannelBitRate API を追加しました

    • スポットライトを利用している指定したチャネルのビットレートを一時的に半分に下げます

  • [ADD] スポットライトで利用するビットレートをリセットする ResetSpotlightChannelBitRate API を追加しました

    • DowngradeSpotlightChannelBitRate API で下げたビットレートをもとに戻します

  • [ADD] DisconnectChannel API と Disconnect API にオプションとして reason を指定できるようにしました

    • reason をした場合イベントウェブフックの connection.destroyed にて指定した reason が追加されるようになります

    • 切断理由を明確にしたい場合ご利用ください

  • [ADD] スポットライトで配信されていないクライアントのビットレートを自動的に下げる設定を追加しました

    • デフォルトでは無効になっています

    • 有効にする場合は sys.config で {spotlight_auto_downgrade_bit_rate, false} を true にしてください

  • [ADD] イベントウェブフックの connection.destroyed に reason を追加しました

    • DisconnectChannel API と Disconnect API の reason に指定された文字が入ります

    • 指定しない、またはそれ以外で切断された場合は null が入ります

  • [ADD] プレビュー機能としてサイマルキャストを追加しました

    • Chrome または Safari TP の最新版が利用できます

    • VP8 でのみ利用できます

    • 片方向配信でのみ利用できます

    • マルチストリームやスポットライトでは利用できません

    • 配信側はシグナリングの type: connect にて {"simulcast": true} を指定してください

    • 視聴側はシグナリングの type: connect にて simulcast: true | {quality: low | middle | high} を指定してください

      • quality を指定しない場合は low がデフォルトで選択されます

  • [ADD] サイマルキャスト向けの ChangeSimulcastQuality API を追加しました

    • ChannelId と ClientId と Quality を指定することで指定した Quality の映像を受信するようになります

  • [ADD] デモ機能にサイマルキャスト機能を追加しました

    • simulcast_pub.html

    • simulcast_sub.html

  • [ADD] ULPFEC を片方向配信にてデフォルトで適用するようにした

    • sys.config にて ulpfec が有効になっています

    • ULPFEC は I フレーム(全画面フレーム)が欠損した場合に再送無しで欠損を回復する仕組みです

18.04.12

リリース:

2018-09-21

対応 Chrome:

M69

対応 Firefox:

62

対応 Edge:

42

対応 Safari:

12.0

廃止情報

特にありません

互換なしの変更情報

特にありません

アップグレード時の注意

sys.config の cert_file と cert_key_file が不要になりました。

もし設定ファイルを使いまわしている方は設定を削除する必要はありませんが、できるだけ新しい設定ファイルを利用してください。

cert_file と cert_key_file が不要になったことで sys.config の最後の項目が connection_created_wait_timeout に変更されています。

18.04.11 までの設定ファイルの末尾:

 %% SDP の offer 時に払い出される origin の username を隠蔽するかどうかを指定してください
 %% true の場合は origin の username が "-" として払い出されます
 %% {hide_origin_username, true},

 %% WebRTC の接続が確立するまでの許容時間を秒で指定してください
 %% {connection_created_wait_timeout, 30}

 %% WebRTC に使用する証明書を指定してください ECDSA 形式のみ対応しています
 {cert_file, "etc/certs/ecdsa_server_cert.pem"},

 %% WebRTC に使用する証明書の秘密鍵を指定してください ECDSA 形式のみ対応しています
 {cert_key_file, "etc/certs/ecdsa_server_key.pem"}
]

18.04.12 の設定ファイルの末尾:

 %% SDP の offer 時に払い出される origin の username を隠蔽するかどうかを指定してください
 %% true の場合は origin の username が "-" として払い出されます
 %% {hide_origin_username, true},

 %% WebRTC の接続が確立するまでの許容時間を秒で指定してください
 {connection_created_wait_timeout, 30}
]

変更履歴

注意

今回 etc ディレクトリが含まれなくなっております。次回からは etc ディレクトリを含んでおくようにしますので、今回はお手数をおかけしますが作成をお願いいたします

  • [CHANGE] WebRTC の DTLS に利用している証明書を Sora が動的に生成する仕組みを追加しました

  • [CHANGE] sys.config の cert_file と cert_key_file を削除しました

    • 証明書は Sora が動的に生成する仕組みになりました

  • [UPDATE] Safari 12.0 に対応しました

    • ただし High Sierra の場合 Safari で Firefox への配信が正常に行われません、これは Safari 側の問題です

    • 対応は Safari のアップデートを待ちになります

  • [UPDATE] 映像コーデックに指定可能なビットレートの最大値を 5Mbps から 30Mbps に変更しました

    • ネットワーク条件がかなり限定されることもあり、現時点では 5Mbps より大きい値はサポート外とさせていただきます

    • 今後対応できるように検証、改善を進めてまいります

  • [UPDATE] デモ機能で利用している Sora JavaScript SDK を 1.9.2 に上げました

  • [UPDATE] シグナリングの type: "ping" の Sora 側での判断を変更しました

    • 今までは type: "ping" を送って 30 秒反応がない場合は切断するという方式でしたが、もう少し許容できるように、 5 秒ごとに ping を送り、 60 秒間隔で pong が一度でも送られて来ているかどうかという判断をする仕組みに変更しました

  • [FIX] 録画時に、 0 バイトのペイロードの RTP RTX を受け取ると録画ファイルが途中から再生できなる問題を修正しました

  • [FIX] PCMU が片方向と双方向で正常に動作しなくなっていた問題を修正しました

  • [FIX] 録画時に映像コーデックに H.264 を利用した場合に正常に録画されない問題を修正しました

18.04.11

リリース:

2018-08-08

対応 Chrome:

M68

対応 Firefox:

61

対応 Edge:

42

対応 Safari:

11.1

廃止情報

特にありません

互換なしの変更情報

特にありません

アップグレード時の注意

Sora がデフォルトで利用している証明書を更新しました。

証明書を自前で発行して設定していない方は 必ず 更新をお願いします。

変更履歴

  • [UPDATE] 片方向配信の映像に特定の RTP 拡張が入っている場合 Chrome Canary M70 で動作しないため、RTP 拡張を最低限にまで落としました

  • [UPDATE] Sora がデフォルトで利用している証明書を更新しました

    • 証明書の設定を自前で行っていない方は 必ず 更新をお願いします

  • [ADD] プレビュー機能として RTP パケロスシミュレータを追加しました

    • この機能を使った場合クライアント接続ごとに warning ログが発生しますので注意してください

    • sys.config にて {rtp_packet_loss_simulator_incoming, 2} を設定すると Sora が受信する 2% のパケットをドロップします

    • sys.config にて {rtp_packet_loss_simulator_outgoing, 1} を設定すると 1% Sora が送信するパケットをドロップします

  • [FIX] シグナリングで音声と映像を有効にして録画する際、クライアント側で音声のみを送信した場合に録画が正常に行われない問題を修正しました

  • [FIX] 録画のときに、映像、音声どちらかが大きく遅れた場合に録画がずれる問題を修正しました

18.04.10

リリース:

2018-07-24

対応 Chrome:

M68

対応 Firefox:

61

対応 Edge:

42

対応 Safari:

11.1

廃止情報

特にありません

互換なしの変更情報

特にありません

アップグレード時の注意

特にありません

変更履歴

  • [UPDATE] ICE 周りで Chrome M68 で変更箇所に対応しました

  • [UPDATE] TURN-TCP のパケット処理をより厳密にするようにしました

  • [UPDATE] スポットライト固定 API (CastAlwaysSpotlight) で spotlight_id をオプションに変更しました

    • spotlight_id を指定しない場合は、空いているスポットライトが利用されます

  • [FIX] クライアントが複数 IP アドレスを保持している場合にたまに繋がらなくなる問題を修正しました

  • [FIX] ローカルネットワーク上でまれに TURN-UDP が有効にもかかわらず TURN-TCP が選択されてしまう問題を修正しました

  • [FIX] スポットライトのシグナリング通知で connection.created の前に spotligh.changed が通知される問題を修正しました

18.04.9

リリース:

2018-06-29

対応 Chrome:

M67

対応 Firefox:

61

対応 Edge:

42

対応 Safari:

11.1

廃止情報

特にありません

互換なしの変更情報

特にありません

アップグレード時の注意

{turn_fqdn, "sora.example.com"} を廃止することを取りやめました

変更履歴

  • [UPDATE] スポットライト機能のデモのデフォルトで利用するコーデックを VP9 から VP8 に変更しました

    • Chrome M67-M69 では VP9 で映像を切り替えた際にうまく映像が切り替わらないバグが存在するためです

  • [UPDATE] スポットライト機能のデモで映像が切り替わった際にクライアント ID を切り替えるようにしました

    • この機能は signaling_notify が有効になっている必要があります

  • [UPDATE] {turn_fqdn, "sora.example.com"} を廃止することを取りやめました

    • iOS の審査通過条件である NAT64/DNS64 下で動作するには TURN の URL が FQDN である必要があるためです

    • 以前新しく追加した turn_tls_fqdnturn_fqdn の設定を上書きします、そのため TURN-TCP/UDP と TURN-TLS で別の FQDN を指定することが可能になりました

  • [FIX] スポットライト機能で配信されなくなるクライアントが出てしまう問題を修正しました

18.04.6

リリース:

2018-06-18

対応 Chrome:

M67

対応 Firefox:

60

対応 Edge:

42

対応 Safari:

11.1

廃止情報

特にありません

互換なしの変更情報

特にありません

アップグレード時の注意

特にありません

変更履歴

  • [FIX] Firefox 利用時にマルチストリームで複数クライアントが接続した際、クライアント側のイベントが正常に発火しない問題を修正しました

  • [FIX] デモ機能で Firefox を利用した際に、正常に disconnect が利用できない問題を修正しました

  • [FIX] デモ機能で Chrome を利用した際に、 onremovetrack と onremovestream 両方が発火する場合の動作を修正しました

18.04.5

リリース:

2018-06-14

対応 Chrome:

M67

対応 Firefox:

60

対応 Edge:

42

対応 Safari:

11.1

廃止情報

特にありません

互換なしの変更情報

特にありません

ハイライト

  • マルチストリームで同一のチャネル ID にほぼ同時に複数クライアントが接続した際、正常につながらない問題を修正しました

アップグレード時の注意

特にありません

変更履歴

  • [UPDATE] デモ機能が利用している sora-js-sdk を 1.9.1 にアップデートしました

  • [FIX] マルチストリームで同一のチャネル ID にほぼ同時に複数クライアントが接続した際、正常につながらない問題を修正しました

  • [FIX] ウェブフック機能の HTTP Proxy が正常に動作しない問題を修正しました

18.04.3

リリース:

2018-05-30

対応 Chrome:

M67

対応 Firefox:

60

対応 Edge:

42

対応 Safari:

11.1

廃止情報

  • スナップショット機能を廃止しました

  • Ubuntu 14.04 版の新規提供を終了しました

互換なしの変更情報

  • スナップショット機能を廃止しました

ハイライト

  • Ubuntu 18.04 版のパッケージ提供を開始しました

  • ウェブフックが HTTP Proxy に対応しました

  • 視聴のみの参加者がいる配信で、スポットライト機能が使えるようになりました

  • スポットライト機能向けのシグナリング通知を追加しました

アップグレード時の注意

特にありません

変更履歴

  • [ADD] Ubuntu 18.04 版のパッケージ提供を開始しました

  • [ADD] ウェブフックの HTTP Proxy 対応を追加しました

    • sys.config に以下の設定を追加しました

    • webhook_proxy_url

    • webhook_proxy_auth_user

    • webhook_proxy_auth_password

  • [ADD] GetStatsReport API に total_turn_udp_connections と total_turn_tcp_connections を追加しました

  • [ADD] デモ機能で Chrome Canary M68 以降でマルチストリームを利用した際は Unified Plan を利用するように修正しました

  • [ADD] 視聴のみの参加者がいる配信で、スポットライト機能が使えるようになりました

  • [ADD] スポットライト機能向けのシグナリング通知を追加しました

  • [ADD] デモ機能にスポットライト機能視聴のみの spotlight_sub.html を追加しました

  • [ADD] turn_tcp_listen_port を追加しました

    • TURN-TCP の待受ポートを指定します

    • turn_tcp_port は URL 払い出しでの利用になりました

  • [ADD] turn_tls_fqdn を追加しました

    • turn_fqdn が TURN-TLS でしか利用しない変更をいれたため名前を変更しました

    • turn_fqdn は次のリリースで廃止します

  • [UPDATE] デモ機能 spotlight_pubsub.html で音量バーを表示するようにしました

  • [CHANGE] スナップショット機能を削除しました

  • [CHANGE] turn_tcp_port は払い出し URL に利用されるポート番号の設定に変更しました

  • [CHANGE] Ubuntu 14.04 版のパッケージ新規提供を終了しました

  • [FIX] TURN-UDP/TCP の場合は FQDN は利用しないように修正しました

    • Safari 11.1 では FQDN の場合 TURN が正常に動作しないため

18.04.1

リリース:

2018-05-02

対応 Chrome:

M66

対応 Firefox:

59

対応 Edge:

42

対応 Safari:

11.1

廃止情報

  • スナップショット機能を廃止予定のため、現在利用されているお客様がいらっしゃいましたらご連絡ください

    • スナップショット機能は VP8 でしか利用できないこと、さらには RTP 転送機能を利用すれば似たようなことが実現できることもあり、廃止する予定です

    • もし利用されているお客様がいない場合は次のリリースにて廃止します

互換なしの変更情報

特にありません

ハイライト

  • シグナリング通知のフォーマットが仕様と異なっている問題を修正しました

アップグレード時の注意

特にありません

変更履歴

  • [UPDATE] Edge 42 で動作確認を行いました

    • 現時点でもかなり不安定ですので Edge での利用はお勧めしません

    • TURN-TLS が設定されていると動作しません

    • TURN IPv6 が設定されていると動作しません

    • VP9 コーデックには非対応です

    • マルチストリームは利用できません

  • [FIX] シグナリング通知時の connection.destroyed と connection.created のフォーマットが仕様と異なっている問題を修正しました

  • [ADD] スポットライト機能で映像コーデックに VP8 や H.264 が利用可能になりました

18.04.0

リリース:

2018-04-27

対応 Chrome:

M66

対応 Firefox:

59

対応 Edge:

41

対応 Safari:

11.1

廃止情報

  • スナップショット機能を廃止予定のため、現在利用されているお客様がいらっしゃいましたらご連絡ください

    • スナップショット機能は VP8 でしか利用できないこと、さらには RTP 転送機能を利用すれば似たようなことが実現できることもあり、廃止する予定です

    • もし利用されているお客様がいない場合は次のリリースにて廃止します

互換なしの変更情報

特にありません

ハイライト

  • プレビュー版のスポットライト機能 (旧「音声検出による映像の動的切り替え機能」) に対して大幅なアップデートを行いました

  • シグナリング通知に対して大幅なアップデートを行いました

  • クライアントが Sora と WebRTC による接続ができなかった場合に、クライアント単位の詳細なログを出力する機能をプレビュー版として追加しました

アップグレード時の注意

特にありません

変更履歴

  • [UPDATE] デモ機能が利用している sora-js-sdk を 1.8.2 にアップデートしました

  • [FIX] Android Chrome でデモ機能を利用した際に相手の映像と音声が視聴できない問題を修正しました

  • [CHANGE] デモ機能の Canvas 合成配信を削除しました

    • Sora の機能とは関係ないため、今後 GitHub にて公開予定です

  • [CHANGE] 「音声検出による映像の動的切替機能」から「スポットライト機能」に名前を変更しました

  • [CHANGE] スポットライト機能のデモを vad.html から spotlight_pubsub.html に変更しました

    • スポットライトの数を 2 で固定していたのを 1-5 の範囲で指定できるようにしました

  • [CHANGE] スポットライト機能のフェイクデモを vad_fake.html から spotlight_fake.html に変更しました

    • スポットライトの数を 2 で固定していたのを 1-5 の範囲で指定できるようにしました

  • [CHANGE] スポットライト機能で、参加者や視聴者が表示されるストリームにばらつきが出ないようにしました

  • [ADD] スポットライト機能で、アクティブな話者 (配信されている話者) の数を認証ウェブフックの戻り値で指定できるようになりました

  • [ADD] スポットライト機能で、アクティブな話者 (配信されている話者) が切り替わった場合に "spotlight.changed" でウェブフックを飛ばす機能を追加しました

    • 詳細は spotlight.changed をご確認ください

    • デフォルトでは無効になっています、有効にする場合は ignore_spotlight_changed_webhookfalse にしてください

  • [ADD] スポットライト機能で、指定した参加者を強制的に画面に表示する API を追加しました

    • 詳細は 指定した参加者を強制的に画面に表示する をご確認ください

  • [ADD] スポットライト機能で、指定した参加者を常に画面に表示する API を追加しました

    • 詳細は 指定した参加者を常に画面に表示する をご確認ください

  • [ADD] スポットライト機能で、指定した参加者を常に画面に表示するのを解除する API を追加しました

    • 詳細は 指定した参加者を常に画面に表示する状態を解除する をご確認ください

  • [ADD] 正常に接続できなかった場合にエラーを log/connection-created-timeout-error ディレクトリ以下に出力する機能をプレビュー版として追加しました

    • ログのファイル名形式は <unix_time_sec>_<client_id>.json になります

    • 内部のデータは弊社にて解析するためのログを出力しておりますので加工せずにそのままお送りください

  • [CHANGE] シグナリング通知機能をデフォルトで有効にしました

  • [ADD] シグナリング通知の際、クライアント ID を含めるようにしました

    • sys.config{signaling_notify_client_id, false} でクライアント ID を含めなくなります

  • [ADD] シグナリング通知の際、音声と映像が有効かどうかを含めるようにしました

    • sys.config{signaling_notify_media, false} で音声と映像が有効かどうかを含めなくなります

  • [ADD] シグナリング通知の際、メタデータを含めるようにしました

    • シグナリング通知に使われるメタデータは type: connect 時の signaling_notify_metadata で指定できます

    • シグナリング通知に使われるメタデータは認証ウェブフックの戻り値で signaling_notify_metadata で上書きできます

    • sys.config{signaling_notify_metadata, false} でメタデータを含めなくなります

18.02.2

リリース:

2018-03-23

対応 Chrome:

M65

対応 Firefox:

59

対応 Edge:

41

対応 Safari:

11.0

廃止情報

こちら現在検討中ですので急いで対応して頂く必要はありません

  • ListConnections API を廃止予定です

    • 今後は ListChannelClients API を利用して下さい

互換なしの変更情報

18.04 で互換なしの変更を予定しておりましたが、取り下げます

ハイライト

  • Safari 11.0.3 でマルチストリーム利用時に音声のみでの配信が正常に動作しない問題を修正しました

アップグレード時の注意

特にありません

変更履歴

  • [FIX] デモ機能でエラーが起きた時うまく表示ができなかった問題を修正しました

  • [FIX] Safari 11.0.3 でマルチストリーム利用時に音声のみでの配信が正常に動作しない問題を修正しました

18.02.1

リリース:

2018-03-16

対応 Chrome:

M65

対応 Firefox:

59

対応 Edge:

41

対応 Safari:

11.0

廃止情報

こちら現在検討中ですので急いで対応して頂く必要はありません

  • ListConnections API を廃止予定です

    • 今後は ListChannelClients API を利用して下さい

互換なしの変更情報

18.04 で互換なしの変更を予定しておりましたが、取り下げます

ハイライト

  • Firefox 59 で onremovetrack が発火しなくなっている問題を修正しました

アップグレード時の注意

特にありません

変更履歴

  • [UPDATE] デモ機能が利用している sora-js-sdk を 1.8.1 にアップデートしました

  • [ADD] 音声検出による映像の動的表示機能を Firefox に対応しました

  • [CHANGE] エラーに出力されるログ UNKNOWN-TYPEINVALID-SIGNALING-TYPE に変更しました

  • [FIX] BUNDLE にすべての m= line の mid を列挙するよう修正しました

    • この修正で Firefox 59 で onremovetrack が発火しない問題が解決します

18.02.0

リリース:

2018-02-28

対応 Chrome:

M64

対応 Firefox:

58

対応 Edge:

41

対応 Safari:

11.0

ハイライト

  • 音声検出による映像の動的切替機能を追加しました

アップグレード時の注意

特にありません

変更履歴

  • [ADD] プレビュー機能として音声検出による映像の動的表示機能を追加しました

  • [ADD] デモ機能に音声検出による映像の動的表示機能を利用した vad.html と vad_fake.html を追加しました

  • [ADD] デモ機能に音声入力/音声出力/映像入力それぞれのデバイスを切り替える機能を追加しました

  • [ADD] RTCP-XR に対応しました

  • [FIX] マルチストリーム利用時に終了処理時にビットレート判定の部分で配信者数が 0 になる問題を修正しました

  • [FIX] マルチストリーム利用時に音声のみを指定しているにも関わらず映像が配信されてしまう問題を修正しました

  • [FIX] マルチストリーム利用時にクライアントが createAnswer に失敗した際に、接続が残った状態になるのを修正しました

  • [FIX] TURN-TCP を利用した際にシグナリングが接続確立する前に切断したときの問題を修正しました

18.01.1

リリース:

2018-01-24

対応 Chrome:

M63

対応 Firefox:

58

対応 Edge:

41

対応 Safari:

11

廃止情報

こちら現在検討中ですので急いで対応して頂く必要はありません

  • ListConnections API を廃止予定です

    • 今後は ListChannelClients API を利用して下さい

互換なしの変更情報

18.04 にて次の互換なしの変更を予定しておりましたが、取り下げます

  • type: connect 時にクライアントから SDP を送るのを必須に変更します

  • role: upstream を role: pub に変更します

  • role: downstream を role: sub に変更します

  • マルチストリーム利用時の role: upstream を role: pubsub に変更します

  • マルチストリーム利用時の role: downstream を role: sub に変更します

  • マルチストリーム利用時の plan_b を廃止します

    • 今後は type: connect 時に送る SDP にてサーバー側で自動で判断します

ハイライト

  • Firefox 58 で配信を行おうとすると Firefox がクラッシュする問題を修正しました

アップグレード時の注意

特にありません

変更履歴

  • [FIX] Firefox 58 で配信を行おうとすると Firefox がクラッシュする問題を修正しました

18.01.0

リリース:

2018-01-15

対応 Chrome:

M63

対応 Firefox:

57

対応 Edge:

41

対応 Safari:

11

廃止情報

こちら現在検討中ですので急いで対応して頂く必要はありません

  • ListConnections API を廃止予定です

    • 今後は ListChannelClients API を利用して下さい

互換なしの変更情報

18.04 にて次の互換なしの変更を予定しておりましたが、取り下げます

  • type: connect 時にクライアントから SDP を送るのを必須に変更します

  • role: upstream を role: pub に変更します

  • role: downstream を role: sub に変更します

  • マルチストリーム利用時の role: upstream を role: pubsub に変更します

  • マルチストリーム利用時の role: downstream を role: sub に変更します

  • マルチストリーム利用時の plan_b を廃止します

    • 今後は type: connect 時に送る SDP にてサーバー側で自動で判断します

ハイライト

  • ライセンスファイル更新時にサーバーを落とさなくても良くなりました

アップグレード時の注意

特にありません

変更履歴

  • [UPDATE] デモ機能でクライアント ID を表示するようにしました

  • [UPDATE] デモ機能が利用している sora-js-sdk を 1.7.7 にアップデートしました

  • [ADD] RTP 拡張 video-content-type に対応しました

  • [ADD] RTP 拡張 video-timing に対応しました

  • [ADD] プレビュー機能としてライセンス更新 API を追加しました

    • 詳細は UpdateLicense API をご確認ください

  • [ADD] プレビュー機能としてライセンス情報取得 API を追加しました

    • 詳細は GetLicense API をご確認ください

  • [ADD] プレビュー機能として RTP 転送 API 利用時の PLI をクライアントに送る間隔を sys.config で指定できるようにしました

    • 配信側への I フレーム要求の間隔を指定できるようになりました

    • 指定する場合は sys.config にて default_forwarding_pli_interval を指定して下さい

  • [FIX] TURN-TCP 利用時にうまく終了処理ができていなかったのを修正しました

  • [FIX] 録画 API 利用時に終了処理が正常に動作していなかったのを修正しました

  • [FIX] 録画終了時の負荷が高くなった際に録画が正常に終了しない問題を修正しました

  • [FIX] デモ機能で multi_sub が Firefox や Safari で正常に動作していなかったのを修正しました

  • [FIX] マルチストリームの downstream 利用時に配信側が存在しなくなった場合の動作がおかしくなる問題を修正しました

  • [FIX] マルチストリームの downstream 利用時に配信側が存在しない場合に新規で接続した場合のエラーを修正しました

17.10.5

リリース:

2017-12-20

対応 Chrome:

M63

対応 Firefox:

57

対応 Edge:

41

対応 Safari:

11

廃止情報

  • 18.01 で ListConnections API を廃止します

    • 今後は ListChannelClients API を利用して下さい

互換なしの変更情報

18.04 にて次の互換なしの変更を予定しておりましたが、取り下げます

  • type: connect 時にクライアントから SDP を送るのを必須に変更します

  • role: upstream を role: pub に変更します

  • role: downstream を role: sub に変更します

  • マルチストリーム利用時の role: upstream を role: pubsub に変更します

  • マルチストリーム利用時の role: downstream を role: sub に変更します

  • マルチストリーム利用時の plan_b を廃止します

    • 今後は type: connect 時に送る SDP にてサーバー側で自動で判断します

ハイライト

特にありません

アップグレード時の注意

特にありません

変更履歴

  • [UPDATE] デモ機能の Sora JavaScript SDK を 1.7.4 にアップデートしました

  • [ADD] シグナリングの type: connect と type: update の sdp を sdp.log に出力するようにしました

  • [ADD] シグナリングでクライアントが投げてきた JSON が間違っていた場合に INVALID-JSON エラー返すようにしました

  • [CHANGE] シグナリング時にチャネル ID で undefined を利用可能にしました

    • それに伴い NOT-USE-CHANNEL-ID エラーを削除しました

  • [FIX] 録画機能の WebM 作成時に録画するデータが届く前に録画終了した場合の問題を修正しました

  • [FIX] 録画機能の録画予約終了と録画開始が重なった場合の問題を修正しました

  • [FIX] 録画機能で録画が終了してるタイミングで録画停止 API が呼び出された場合の問題を修正しました

  • [FIX] TURN 機能の TURN-UDP と TURN-TCP で ChannelNumber が期限が切れるまで保持するように修正しました

  • [FIX] スナップショット機能と録画機能を同時に利用した際の問題を修正しました

  • [FIX] RTP 転送機能と録画機能を同時に利用した際の問題を修正しました

17.10.2

リリース:

2017-11-15

対応 Chrome:

M62

対応 Firefox:

57

対応 Edge:

41

対応 Safari:

11

廃止情報

  • 18.01 で ListConnections API を廃止します

    • 今後は ListChannelClients API を利用して下さい

互換なしの変更情報

18.04 にて次の互換なしの変更を予定しておりましたが、取り下げます

  • type: connect 時にクライアントから SDP を送るのを必須に変更します

  • role: upstream を role: pub に変更します

  • role: downstream を role: sub に変更します

  • マルチストリーム利用時の role: upstream を role: pubsub に変更します

  • マルチストリーム利用時の role: downstream を role: sub に変更します

  • マルチストリーム利用時の plan_b を廃止します

    • 今後は type: connect 時に送る SDP にてサーバー側で自動で判断します

ハイライト

  • デモ機能にデバッグモードを追加しました

  • プレビュー版の機能をいくつか追加しました

アップグレード時の注意

特にありません

変更履歴

  • [ADD] デモ機能にデバッグモードを追加しました

  • [ADD] GetStatsAllConnections API を追加

    • GetStats API で個別に取得していた統計情報を取得する機能です

  • [ADD] 片方向配信時に視聴側の帯域情報を配信側に伝えることで配信側のビットレートを自動で変更する機能を追加しました

    • これはプレビュー版の機能です

    • この機能を利用する場合は必ずサポートまでご連絡ください、ドキュメントには反映していません

    • sys.config に設定が必要です

      • {report_sub_remb, true}

  • [ADD] StartForwardingRtp API 戻り値の SDP に SSRC を追加しました

    • これはプレビュー版の機能です

    • この機能を利用する場合は必ずサポートまでご連絡ください、ドキュメントには反映していません

  • [ADD] StartForwardingRtp API 戻り値の SDP の t= の start_time に API 開始時間を追加しました

    • これはプレビュー版の機能です

    • この機能を利用する場合は必ずサポートまでご連絡ください、ドキュメントには反映していません

  • [ADD] StartForwardingRtp API の引数にオプションとして rtcp_port を追加しました

    • これはプレビュー版の機能です

    • この機能を利用する場合は必ずサポートまでご連絡ください、ドキュメントには反映していません

    • 現在はすべての RTCP リストを送信しています

  • [ADD] GetStatsReport API に erlang_vm と browser と error の統計情報を追加しました

    • これはプレビュー版の機能です

    • この機能を利用する場合は必ずサポートまでご連絡ください、ドキュメントには反映していません

    • sys.config に設定が必要です

      • {stats_report_erlang_vm, true}

        • ErlangVM の統計情報が取得できるようになります

      • {stats_report_browser, true}

        • シグナリング接続の成功と失敗がブラウザごとにカウントされるようになります

      • {stats_report_error, true}

        • シグナリングの失敗と SDP 生成の失敗がカウントされるようになります

  • [FIX] TURN-TCP が採用されないタイミングでクラッシュしていた問題を修正しました

  • [FIX] Edge で一部の SDP が処理できなかった問題を修正しました

  • [FIX] デモ機能のビットレート指定が反映されていなかった問題を修正しました

  • [FIX] RTP 拡張 abs-send-time の処理を修正しました

  • [FIX] 認証ウェブフックの戻り値の処理を修正しました

17.10.0

リリース:

2017-10-25

対応 Chrome:

M62

対応 Firefox:

56

対応 Edge:

41

対応 Safari:

11

廃止情報

  • 17.12 で ListConnections API を廃止します

    • 今後は ListChannelClients API を利用して下さい

互換なしの変更情報

18.04 にて次の互換なしの変更を予定しておりましたが、取り下げます

  • type: connect 時にクライアントから SDP を送るのを必須に変更します

  • role: upstream を role: pub に変更します

  • role: downstream を role: sub に変更します

  • マルチストリーム利用時の role: upstream を role: pubsub に変更します

  • マルチストリーム利用時の role: downstream を role: sub に変更します

  • マルチストリーム利用時の plan_b を廃止します

    • 今後は type: connect 時に送る SDP にてサーバー側で自動で判断します

ハイライト

  • 映像の再送制御機能について最適化を行い、より安定した配信が可能になりました

  • イベントウェブフック機能について並列化を行い、イベント通知がより安定して処理できるようになりました

  • デモ機能を、 Sora JavaScript SDK を利用したものに置き換えました

アップグレード時の注意

特にありません

変更履歴

  • [UPDATE] Chrome M62 での動作を確認しました

  • [UPDATE] 映像の再送制御機能を最適化を行い、より安定した配信が可能になりました

    • Generic NACK の仕組みを 1 から書き換えました

  • [UPDATE] イベントウェブフック機能を並列化を行い、イベント通知をより安定して処理できるようになりました

    • この対応を入れた後でも connection.created と connection.destroyed の順番は保証されます

  • [ADD] サーバー起動時に sysctl -a と ulimint -n のログを取得する仕組みを追加しました

    • log 以下に sysctl.log と ulimit.log が生成されます

  • [ADD] サーバーの状態を取得できる GetStatsReport API を追加しました

    • 以下の値が取得できます

    • 現在接続している数

    • 現在までの接続が成功した数

    • 現在までの接続が失敗した数

    • 現在までの合計接続時間 (秒)

    • 平均接続時間 (秒)

    • 平均セットアップ時間 (ミリ秒)

      • シグナリングを開始してから接続するまでにかかった時間の平均

  • [CHANGE] デモ機能を一新しました

    • Sora JavaScript SDK を利用したデモとなっています

    • ファイル名が一部変更になりました

    • QueryString を利用して指定が可能になりました

      • 詳細はデモ機能の QueryString をご確認下さい

    • up.html -> pub.html

    • down.html -> sub.html

    • multistream.html -> multi_pubsub.html

    • multistream_down.html -> multi_sub.html

  • [CHANGE] プレビュー版だったストリーミング機能を削除しました

    • ストリーミング機能はまだ安定的に動作しないこともあり、一度削除しました

    • もしストリーミング機能が使いたい場合は StartForwardingRtp/StopForwardingRtp API と FFmpeg を利用してください

  • [FIX] 片方向配信時の視聴側の RTCP が一部正常に処理できていない問題を修正しました

17.08.3

リリース:

2017-10-13

対応 Chrome:

M61

対応 Firefox:

56

対応 Edge:

40.15063

対応 Safari:

11

廃止情報

  • 17.12 で ListConnections API を廃止します

    • 今後は ListChannelClients API を利用して下さい

変更履歴

  • [FIX] マルチストリームの録画終了時に正常終了しない問題を修正しました

  • [FIX] マルチストリームの録画終了時に PLI の定期送信が正常に終了しない問題を修正しました

  • [FIX] マルチストリームで音声のみを配信している状態に、音声と映像で参加すると、VP9 しか受け付けない問題を修正しました

17.08.2

リリース:

2017-09-27

対応 Chrome:

M61

対応 Firefox:

55

対応 Edge:

40.15063

対応 Safari:

11

廃止情報

  • 17.12 で ListConnections API を廃止します

    • 今後は ListChannelClients API を利用して下さい

ハイライト

  • プレビュー機能として Safari 11 に対応しました

  • プレビュー機能として Opus のビットレートを指定できるようになりました

  • CentOS 7.4 に対応しました

アップグレード時の注意

  • sys.config の application_specific_maximum を default_video_bit_rate に変更しました

変更履歴

  • [UPDATE] Chrome M61 での動作を確認しました

  • [UPDATE] プレビュー機能として Safari 11 に対応しました

  • [UPDATE] デモ機能の multistream_down.html で音声をデフォルトで有効にしました

  • [UPDATE] CentOS 7.4 に対応しました

  • [ADD] プレビュー機能として音声コーデックに Opus 利用した際にビットレートが指定できるようになりました

    • Chrome と Safari でのみ有効になります、 Firefox や Edge では有効になりません

  • [CHANGE] sys.config の application_specific_maximum を default_video_bit_rate に変更しました

  • [FIX] デモ機能の multistream_down.html で音声が正常に動作していなかったのを修正しました

  • [FIX] snapshot を利用した際に特定の条件で正常に動作しない問題を修正しました

  • [FIX] マルチストリーム時に downstream に対して RTCP-BYE を送らないよう修正しました

  • [FIX] DTLS が完了していないタイミングで SRTP や SRTCP が送られてきた場合うまく動作しない問題を修正しました

17.08.0

リリース:

2017-08-30

対応 Chrome:

M60

対応 Firefox:

55

対応 Edge:

40.15063

対応 Safari:

Technology Preview 38

廃止情報

  • 17.12 で ListConnections API を廃止します

    • 今後は ListChannelClients API を利用して下さい

ハイライト

  • 音声や映像の転送処理の高速化を行いました

  • TURN-TCP 周りの動作を安定させました

  • OpenSSL ライブラリのインストールが不要になりました

  • StartForwardingRtp の戻り値に FFmpeg 連携用の SDP 追加しました

  • StartForwardingRtp/StopForwardingRtp API がマルチストリームに対応しました

  • チャネルごとのユーザー接続情報を取得できる ListChannelClients API を追加しました

アップグレード時の注意

  • イベントフックで送られてくる event_metadata の項目を metadata から event_metadata に変更しました

  • StartForwardingRtp API の戻り値が FFmpeg で利用可能な sdp のみになりました

変更履歴

  • [UPDATE] TURN-TLS URL 払い出し機能が正式版になりました

  • [UPDATE] GetStats API が正式版になりました

  • [UPDATE] Chrome M60 での動作を確認しました

  • [UPDATE] Firefox 55 での動作を確認しました

  • [UPDATE] Safari TP 38 での動作を確認しました

  • [ADD] シグナリングで type: disconnect 送った際の終了処理を追加しました

  • [ADD] 録画 API 終了時に生成されるメタデータファイルにアーカイブそれぞれの metadata_file_path と metadta_filename を追加しました

  • [ADD] イベントフック connection.created/updated/destroyed に audio/video の項目を追加しました

  • [ADD] クライアント統計情報に transport_cc を追加しました

  • [ADD] ListChannelClients API を追加しました

    • 指定したチャネル ID のクライアント情報を取得できます

  • [ADD] デモ機能の multistream.html に cpuOveruseDetection を追加しました

  • [ADD] マルチストリームの SDP に AS/TIAS 追加しました

  • [ADD] 片方向配信の SDP に AS/TIAS 追加しました

  • [ADD] RTP が転送機能をマルチストリームに対応しました

    • StartForwardingRtp/StopForwardingRtp 時に client_id を指定することで RTP 転送が可能になります

  • [CHANGE] 3gpp:video-orientation を無効にしました

  • [CHANGE] OpenSSL のインストールが不要になりました

  • [CHANGE] イベントフックで connection.created/updated/destroyed に入ってくる event_metadata を metadata から event_metadta に変更しました

  • [CHANGE] goog-remb オプションを sys.config から削除しました

  • [CHANGE] transport-wide オプションを sys.config から削除しました

  • [CHANGE] StartForwardingRtp API の戻り値が SDP を返すようにしました

    • FFmpeg との連携を簡単にするための SDP を生成するようにしました

  • [CHANGE] StartForwardingRtp API を実行したタイミングで PLI を 20 秒で送るようにしました

  • [FIX] デモ機能で音声のみの受信が Firefox で正常に動作しなかった問題を修正しました

  • [FIX] クライアント統計情報に TURN-TCP が反映されるようにしました

  • [FIX] TURN-TCP 利用時にうまくアドレスが取得できない場合、正常に動作しなかった問題を修正しました

  • [FIX] TURN-TCP 利用時に不必要に出ていたログを削除しました

  • [FIX] マルチストリーム利用時に RTCP-RR の値の一部が指定されていなかった問題を修正しました

  • [FIX] マルチストリーム利用時にクライアント側のエンコードビットレートが不安定になる問題を修正しました

17.06.2

リリース:

2017-07-05

対応 Chrome:

M59

対応 Firefox:

54

対応 Edge:

40.15063

対応 Safari:

Technology Preview 34

変更履歴

  • [UPDATE] 配信機能のパフォーマンス向上を行いました

    • より遅延が少なくなりました

  • [UPDATE] マルチストリーム使用時の Generic NACK の動作を安定化させました

  • [ADD] DTLS-SRTP の AES-GCM に対応しました

    • 現時点では Chrome で chrome://flags で有効にした場合のみ使用できます

  • [CHANGE] デモ機能のデフォルトビデオコーデックを VP9 に変更しました

    • up.html

    • down.html

    • canvas.html

    • multistream.html

    • multistream_down.html

  • [CHANGE] 配信と視聴のデモ機能が Edge と Safari Technology Preview 34 に対応しました

    • Safari が対応しているコーデックは H.264 のみであることに注意してください

    • Edge は VP9 のコーデックに対応していないため注意してください

  • [CHANGE] マルチストリームのデモ機能が Safari Technology Preview 34 に対応しました

    • Safari が対応しているコーデックは H.264 のみであることに注意してください

  • [FIX] 無駄に出力されていた TURN-TCP-CLOSED メッセージの表示を停止しました

  • [FIX] MESSAGE-OVERFLOWED の通知のみに変更しました

  • [FIX] TURN-TCP で意図しない問題が起きた場合のエラーメッセージを追加しました

17.06.0

リリース:

2017-06-09

対応 Chrome:

M59

対応 Firefox:

53

対応 Edge:

40.15063

対応 Safari:

Technology Preview 32

ハイライト

  • 多くの機能がプレビュー版を卒業し、正式版になりました

  • Safari Technology Preview 32 での動作を確認しました

  • RTX 機能に対応しました

  • クライアントの統計機能を取得する GetStats API を追加しました

アップグレード

特に注意する点はありません

変更履歴

  • [UPDATE] Chrome M59 に対応しました

  • [UPDATE] マルチストリーム機能が正式版になりました

  • [UPDATE] IPv6 対応が正式版になりました

  • [UPDATE] TURN IPv6 が正式版になりました

  • [UPDATE] TURN-TCP が正式版になりました

  • [UPDATE] hide_origin_username 機能が正式版になりました

  • [UPDATE] RTX 機能が正式版になりました

  • [UPDATE] label 機能が正式版になりました

  • [FIX] 壊れた STUN パケットが送られてきたときは破棄するようにしました

  • [FIX] マルチストリーム配信中に通常配信が接続できてしまう問題を修正しました

  • [FIX] 通常視聴接続中にマルチストリームが繋げてしまう問題を修正しました

  • [FIX] 録画 API が正常に動作しない問題を修正しました

  • [FIX] RTX を Chrome と Edge の両環境で正常に動作するようになりました

    • 今回のリリースで RTX デフォルトで有効にしてあります

    • 17.08 にて RTX を正式リリース予定です

  • [CHANGE] StartForwardingRtp API を音声と映像の出力を分割するようにしました

    • port がなくなり audio_port と video_port の引数が追加しました

  • [CHANGE] プレビュー機能の UI 機能を廃止しました

  • [CHANGE] プレビュー機能の Upgrade / Downgrade API を廃止しました

  • [UPDATE] Generic NACK の仕組みを改善しました

  • [ADD] Safari Technology Preview 32 に対応しました

    • この機能はレビュー版です、 Safari 11 が出るタイミングで正式対応する予定です

    • デモ機能に確認用の up_safari.html と down_safari.html を用意しました

  • [ADD] プレビュー機能としてクライアントの統計情報を取得する GetStats API を追加しました

  • [ADD] 3gpp:video-orientation 拡張に対応しました

    • Chrome のみで使用できます

  • [ADD] goog-remb オプションを sys.config に追加しました

  • [ADD] transport-wide オプションを sys.config に追加しました

後方互換性のない変更

特にありません

17.04.6

リリース:

2017-05-23

対応 Chrome:

M58

対応 Firefox:

53

変更履歴

  • [FIX] マルチストリーム使用で音声のみが使用できなくなっている問題を修正しました

17.04.5

リリース:

2017-05-16

対応 Chrome:

M58

対応 Firefox:

53

変更履歴

  • [FIX] マルチストリーム使用時に Generic NACK が正常に動作しない問題を修正しました

  • [FIX] マルチストリーム使用時に録画が正常に行われない問題を修正しました

  • [FIX] 異常な STUN パケットが送られてきた場合に無視するように修正しました

  • [FIX] StopForwardingRtp API が正常に動作しない問題を修正しました

17.04.1

リリース:

2017-05-08

対応 Chrome:

M58

対応 Firefox:

53

変更履歴

  • [FIX] StopRecording API 実行時に録画中の配信が archives に含まれない問題を修正しました

17.04.0

リリース:

2017-04-28

対応 Chrome:

M58

対応 Firefox:

53

注意

Firefox 53 でマルチストリーム使用時に SDP レベルでのビットレートコントロールがおかしくなる問題が入っています

そのため現時点での Firefox ではマルチストリームを使用しないことをお勧めします。 今後、 Sora は RTCP レイヤーでのビットレートコントロールに対応していく予定です。

ハイライト

  • Windows 10 Creators Update の Edge に対応しました

    • Edge 側の制限と Sora が未対応な部分でいくつかの機能は使用できません

  • アドレスの自動収集に対応しました

    • sys.config で明示的にアドレスを指定しなくても動作します

  • IPv6 アドレスに対応しました

    • シグナリングや API では IPv6 を使用できません

  • マルチストリームで視聴のみができるようになりました

  • マルチストリームでビットレートが配信者の人数で分割することで 1 チャネルで最大 12 人までの配信が可能になりました

  • ARM64 向けのパッケージの提供を開始しました

変更履歴

  • [FIX] マルチストリームで VP9 を指定したとしても VP8 になっていたのを修正しました

  • [FIX] TURN-TCP 使用時に UDP と TCP 両方にパケットを送信していたのを修正しました

  • [CHANGE] ライセンスで接続数が越えた場合は EXCEED-MAX-CONNECTIONS がクライアントに送られるようになりました

  • [CHANGE] 改善に向けて RTX 機能を一時的に無効にしました

  • [CHANGE] 設定ファイルの allow_anonymous を廃止しました

    • auth_webhook_url を有効にしないかぎり、すべての接続が成功するようになりました

  • [CHANGE] 設定ファイルの ip_address を廃止しました

    • 新しく追加された ipv4_address を使用してください

  • [CHANGE] シグリングで使用していた access_token を廃止しました

    • 17.02 で入った metadata を使用してください

  • [CHANGE] 20151104 の StartRecording / StopRecording / ListRecording API を廃止しました

    • 今までは 400 が返っていましたが、今後は 404 が返ります

  • [ADD] マイクロソフト Edge に対応しました

    • Edge 側の制限で動作させるためには多くの制限があります

    • マルチストリームは使用できません

    • Certificate Management API は使用できません

    • IPv6 アドレスは使用できません

    • IPv6 対応 TURN サーバーは使用できません

    • STUN サーバーは使用できません

    • 接続できない TURN サーバーは iceServers の urls に指定できません

      • そのため ipv4_address にはクライアントが接続可能な IPv4 アドレスを指定してください

    • Sora は今回のリリースで RTX を一時的に無効にしたため Generic NACK が使用できません

  • [ADD] 使用可能な IP アドレスを自動で収集するようになりました

    • IP アドレスを設定ファイルに設定する必要がなくなりました

  • [ADD] 設定ファイルに ipv4_address を追加しました

  • [ADD] 設定ファイルに ipv6 を追加しました

    • シグナリングや API では IPv6 を使用できません

    • IPv6 を使用する場合は有効にしてください

    • デフォルトでは無効になっています

  • [ADD] 設定ファイルに ipv6_address を追加しました

    • この機能を使用するには ipv6true にする必要があります

  • [ADD] TURN 機能が IPv6 アドレスに対応しました

    • 設定ファイルで ipv6 を有効にして、さらに IPv6 アドレスが指定または収集された場合に払い出されます

  • [ADD] 認証の戻り値で candidate や TURN の url に使用する IP アドレスが指定可能になりました

    • ipv4_address と ipv6_address が指定できます

    • 設定ファイルの値を上書きします

  • [ADD] Chrome でのマルチストリームで視聴のみを可能にする

    • マルチストリーム使用時に role: downstream を使用することで、視聴で専用のみが実現できます

  • [ADD] マルチストリームで使用されるビットレートが配信者の人数分で分割されるようになりました

    • この機能を導入することで最大 12 人での同時配信が可能になりました

  • [ADD] Chrome でのマルチストリームでビデオコーデックが指定できるようになりました

  • [ADD] マルチストリームで Generic NACK の有無が有効になりました

  • [ADD] ARM64 向けのパッケージを提供開始しました

    • 対応 OS は Ubuntu 16.04 のみです

  • [ADD] 設定ファイルに label を追加しました

    • この機能はプレビュー機能です

    • 認証やイベントウェブフック通知時に含まれるサーバー固有の値を指定できます

  • [ADD] 設定ファイルに hide_origin_username を追加しました

    • この機能はプレビュー機能です

    • SDP の offer 時に払い出される origin の username を "-" にすることができます

  • [ADD] TURN の URL 払い出しに使用する FQDN を指定可能になりました

    • FQDN が優先されます

  • [ADD] TURN-TLS の URL 払い出しに対応しました

    • TURN-TLS の TLS 部分の処理は nginx などで終端して貰う前提の機能です

後方互換性のない変更

  • allow_anonymous を廃止しました

    • 認証を使用したい場合は auth_webhook_url を有効にしてください

  • Sora 自身の IP アドレスをする ip_address を廃止しました

    • ipv4_address を使用してください

  • シグナリングで使用していた access_token を廃止しました

    • metadata を使用していください

  • 録画用の古い API の戻り値を 400 から 404 に変更しました

17.02.14

リリース:

2017-03-17

対応 Chrome:

M57

対応 Firefox:

52

  • [FIX] connection.updated の signaling_notify の判定が間違っていたのを修正しました

  • [FIX] snapshot のタイマーが固定されないのを修正しました

  • [CHANGE] connection_created_wait_timeout のデフォルト値を 30 秒に変更しました

  • [CHANGE] connection_created_wait_timeout の最大値を 600 秒に変更しました

  • [CHANGE] snapshot の最大時間を 10 秒に変更しました

  • [ADD] 不安定な回線でも最初のキーフレームを受け取る可能性を上げる仕組みを追加しました

  • [ADD] event_metadata を追加しました

    • 認証成功時の戻り値に event_metadata を含むことでイベントウェブフック通知時に含まれる metadata を指定できるようになりました

  • [UPDATE] Chrome M57 に対応しました

  • [UPDATE] Firefox 52 に対応しました

17.02.8

リリース:

2017-02-27

対応 Chrome:

M56

対応 Firefox:

51

  • [FIX] 音声のみの録音で生成される WebM が一部期待通りに生成されない問題を修正しました

  • [FIX] Fingerpirnt のチェックを非同期で行うように修正しました

    • Answer が送られてくるのが遅くなった場合に証明書エラーになっていた問題に対応しました

  • [CHANGE] デモ機能は Chrome の場合 M56 以上が必須になりました

  • [UPDATE] Chrome M56 に対応しました

  • [UPDATE] マルチストリームの性能を向上させました

  • [UPDATE] シグナリング経由での通知機能を、認証ウェブフックの戻り値によりクライアント単位で有効/無効にできるようになりました

  • [UPDATE] TURN-TCP の動作を安定化させました

    • Firefox での TURN-TCP も問題なく動作するようになりました

  • [CHANGE] シグナリングの connect 時の access_token を 17.04 にて廃止します

  • [ADD] Answer が 30 秒以内に送られてこない場合はエラーとする仕組みを追加しました

    • 今後 30 秒という値は sys.config の設定にて変更できるようになる予定です

  • [ADD] シグナリングの connect 時の access_token の代わりに metadata を追加しました

    • access_token はオプション扱いで値が入ってこない場合、認証サーバーには null が入っていましたが、 metadata は入力しなければ項目自体が入ってきません

    • それ以外は特に変更は無く、 access_token 同様、どんな値でも入れることができます

  • [ADD] H.264/Opus の WebM 形式での録画に対応しました

  • [ADD] H.264 のみの WebM 形式での録画に対応しました

  • [ADD] プレビュー機能として指定したチャネル ID の RTP を転送する API を追加しました

    • StartForwardingRtp/StopForwardingRtp API を追加し、指定した IP アドレスとポート番号に対して配信されてくる RTP をそのまま転送します

    • DTLS-SRTP の中身 (RTP) をそのまま送ります

    • RTCP は送信しません

  • [ADD] プレビュー機能として RTX へ対応しました

    • デフォルトでは無効になっており、有効にするには sys.config にて {rtx, true} にする必要があります

    • RTX は RFC4588 で定義されている機能で、再送制御機能です

17.01.5

リリース:

2017-02-07

対応 Chrome:

M56

対応 Firefox:

51

  • [FIX] イベントウェブフックの通知の一部が間違っていたのを修正しました

17.01.4

リリース:

2017-02-02

対応 Chrome:

M56

対応 Firefox:

51

  • [UPDATE] Chrome M56 に対応しました

  • [FIX] 切断のウェブフックの通知タイプのスペルが間違っていたのを修正しました

  • [FIX] マルチストリームの RTCP が正常にハンドリングするように修正しました

17.01.2

リリース:

2017-01-25

対応 Chrome:

M55

対応 Firefox:

51

2017 年のリリースからバージョン番号を変更しました

  • [UPDATE] Firefox 51 に対応しました

  • [FIX] generic_nack を false にした場合はキャッシュを行わない用に修正しました

  • [FIX] 接続判定に誤りがありライセンスの接続数よりも 1 本多く接続できるようになっていたのを修正しました

  • [CHANGE] log/warning.log には warning のみを出力するようにしました

  • [CHANGE] log/error.log には error のみを出力するようにしました

  • [CHANGE] 認証ウェブフックの upstream_connections を channel_upstream_connections に変更しました

  • [CHANGE] 認証ウェブフックの downstream_connections を channel_downstream_connections に変更しました

  • [CHANGE] イベントウェブフックの upstream_connections を channel_upstream_connections に変更しました

  • [CHANGE] イベントウェブフックの downstream_connections を channel_downstream_connections に変更しました

  • [ADD] canvas を使用してカメラ映像とペイントを合成し配信する機能のデモを追加しました

  • [ADD] イベントウェブフックに送受信の流量情報を追加しました

    • total_sent_bytes

      • そのクライアントが今までに送信したパケット(バイト)量です

    • total_received_bytes

      • そのクライアントが今までに受信したパケット(バイト)量です

  • [ADD] プレビュー版 としてTURN-TCP 機能を 追加しました

    • この機能は sys.config にて {turn_tcp, true} を指定することで有効になります

      • デフォルトは {turn_tcp, false} です

    • TURN-TCP で使用するポート番号は {turn_tcp_port, 3478} のように指定してください

      • デフォルトは 3478 ポートを使用します

  • [ADD] プレビュー版 としてシグナリング経由でのサーバー情報の通知機能を追加しました

    • この機能は sys.config にて {signaling_notify, true} を指定することで有効になります

  • [UPDATE] RFC7983 に対応しました

3.4.5

リリース:

2016-12-20

対応 Chrome:

M55

対応 Firefox:

50

  • [FIX] Chrome Canary M57 にて正常に通信ができない問題を修正しました

  • [FIX] 接続数が多くなった場合、性能劣化が起きる問題を修正しました

  • [UPDATE] CentOS 7.3 向けパッケージの提供を開始しました

3.4.1

リリース:

2016-11-30

対応 Chrome:

M55

対応 Firefox:

50

  • [UPDATE] Firefox 50 での動作を確認しました

  • [UPDATE] Chrome M55 での動作を確認しました

  • [ADD] 実験的にマルチストリームでの録画に対応しました

    • 一つのチャネルで複数の映像が流れた場合の録画にも対応しました

  • [ADD] 認証レスポンスでオーディオとビデオのパラメータの上書きを可能にしました

    • allowed だけでなく audio や video を返せるようになりました

    • サーバー側でこのクライアントは VP9 コーデックで、ビットレートは 500 を指定するといったことが可能になります

  • [ADD] 録画成功時、録画ファイルとは別に録画ファイルのメタ情報を JSON 形式で出力するようになりました

    • 録画ファイル名.json という形で出力されます

  • [CHANGE] 録画機能 API が非同期になり、エラーメッセージが変更になりました

    • いくつかの録画機能向けの API が追加されました

  • [CHANGE] 録画機能が StopRecording API を実行するか、有効期限が切れるまではそのチャネルで録画をするようになりました

    • このタイミングで recording.report を通知するようになりました、これはその間に録画されたファイルの情報を通知します

  • [CHANGE] 録画機能のイベントウェブフック archive.finished が archive.available に変更しました

    • ファイルへの変換が終了したタイミングで今までは archive.finished を通知しておりましたが、今後は archive.available を通知します

  • [CHANGE] archive.available の通知内容に情報を追加、変更しました

    • filepath を file_path に変更しました

    • 録画ファイル生成時間 created_at を ISO8601 から UNIX Time に変更しました

    • 録画開始時間 start_time (UNIX Time) を追加しました

    • 録画終了時間 stop_time (UNIX Time) を追加しました

    • メタデータファイルパス metadta_file_path を追加しました

    • メタデータファイル名 metadta_filename を追加しました

    • コーデック情報だけでなくビットレートや解像度なども出力するようにしました

  • [CHANGE] イベントウェブフックの中に入ってくる時間の項目を created_at から timestmap に変更しました

  • [FIX] TURN 機能が正常に動かない不具合があったのを修正しました

  • [FIX] 映像保存時にパケロスが長期的に発生した場合に正常に映像が保存されない問題を修正しました

  • [FIX] マルチストリームでビットレートやコーデックを指定できるよう修正しました

    • ただし PlanB の場合はコーデック指定は行えず、 VP8 のみ限定

  • [FIX] UpgradeRole / DowngradeRole API のエラー処理を修正しました

3.3.4

リリース:

2016-10-28

対応 Chrome:

M54

対応 Firefox:

49

  • [ADD] デモ機能の有効無効を選択できる機能を追加しました

    • いままでデフォルトで有効であった、いろいろな機能を試すためのデモ機能を無効にできる仕組みを追加しました

    • sys.config で {demo, true} とすることで有効にすることができます

  • [ADD] Generic NACK を有効かどうかを指定できる設定を追加しました

    • sys.config の generic_nack 項目にて指定できます。デフォルトで有効になっています。

  • [ADD] 録画できる解像度の制限をなくしました

    • 解像度が HD や QVGA でも録画を可能にしました

  • [UPDATE] Chrome M54 での動作を確認しました

  • [UPDATE] 認証処理時にクライアントが指定した音声・映像・マルチストリームの情報を認証サーバーへ送るようにしました

    • 映像のビットレートやコーデックなどを認証条件に含めることができるようになりました

  • [CHANGE] シグナリング時のエラー戻り値を JSON から文字列に変更しました

    • WebSocket の制限でエラー理由のメッセージサイズに制限があるため文字列へ変更しました

  • [CHANGE] 認証ウェブフックの Reason がクライアントに送られる Reason に置き換わりました

    • エラー理由が JSON から文字列に切り替わったため認証サーバーから送った Reason がクライアントに送られます

  • [CHANGE] 認証ウェブフックで認証失敗時に metadata を送れなくなりました

    • エラー理由が JSON から文字列に切り替わったため metadata を失敗時に送れなくなりました

  • [CHANGE] 認証ウェブフックで認証失敗時の reason のサイズが最大で 100 バイトまでになりました

    • WebSocket の仕様に準拠するための制限です

  • [CHANGE] マルチストリームのチャネル空間が通常と共有されるようになりました

    • multistream: false と multistream: true でのチャネル ID 空間が共有されます

    • multistream: false で使用しているチャネル ID は multistream: ture 使用できなくなりました

  • [FIX] マルチストリームで PLI が一定状況で想定外の動作をする問題を修正しました

  • [FIX] マルチストリームの Plan B で映像のみ、音声のみの順番で繋ぐと例外が発生する問題を修正しました

    • こちらは現時点で正常な動作は行えず、既知のバグとして問題解決に取り組んでおります

  • [FIX] イベントフック通知の戻りのステータスコードが 200 を要求していたのを 200 番台で問題ないように修正しました

  • [FIX] TURN 機能使用時の Nonce の動作を RFC 準拠に修正しました

  • [FIX] TURN 機能使用時に CreatePermission が送られてきていない状態で Binding-Request を受け取った場合例外が発生する問題を修正しました

3.2.1

リリース:

2016-10-11

対応 Chrome:

M53

対応 Firefox:

49

  • [UPDATE] Firefox 49 での動作を確認しました

    • Firefox でも application_specific_maximum が使用できるようになりました

  • [UPDATE] マルチストリーム(Unified Plan) で audio のみの配信に対応しました

  • [UPDATE] マルチストリーム(Plan B) で audio のみの配信に対応しました

  • [UPDATE] 組み込み UI を改善しました

    • クライアント単位の情報が見やすくなりました

    • TURN 関連の統計情報を追加しました

  • [UPDATE] ストリーミング配信の安定性を向上させました

    • MPD を WebRTC 向けに調整することで、長時間の安定的な配信が可能になりました

  • [UPDATE] 配信先を変更した場合の安定性を向上させました

    • 配信者を切り替えた場合に視聴者側の映像が不安定になりにくくなりました

  • [UPDATE] WebRTC の接続が確立するまでのデフォルト許容時間を 10 秒に変更しました

  • [UPDATE] パケット再送信用のキャッシュサイズを指定可能になりました

    • sys.config の generic_nack_cache_size にて指定できます

  • [UPDATE] マルチストリームのサンプルファイルを統合しました

    • Chrome でも Firefox でも multistream.html にてご使用いただけます

3.1.0

リリース:

2016-09-14

対応 Chrome:

M53

対応 Firefox:

48

  • [UPDATE] Chrome M53 での動作を確認しました

  • [CHANGE] "undefined" という channel_id は使用できなくなりました

    • undefined は channel_id が設定されずにエラーが発生した場合のログなどに使用されます

  • [CHANGE] sys.config の認証 URL を auth_url から auth_webhook_url に変更しました

  • [CHANGE] sys.config のウェブフック URL を webhook_url から event_webhook_url に変更しました

  • [CHANGE] ウェブフックのログファイルを webhook.log から event_webhook_log に変更しました

  • [CHANGE] 認証の判断を HTTP ステータスコードから戻りの JSON に変更しました

    • 今までは HTTP ステータスコード 200 を認証成功、それ以外を認証失敗としていましたが戻りの JSON で判断するように変更しました

    • ステータスコードは成功でも失敗でも 200 番台系である必要があります

    • 認証成功の場合は {"allowed": true} 認証失敗の場合は {"allowed": false, "reason": "failure reason"} を戻す必要があります

  • [CHANGE] metadata の取り扱いを変更しました

    • auth_response_with_metadata という設定は削除されました

    • アプリケーション側が認証成功時の戻り JSON に {"metadata": "<JSON>"} を戻すことで metadata がクライアントまで送られるようになりました

    • "metadata" はそのままクライアントに "meatadata": "<JSON>" として送られるようになります

  • [CHANGE] signaling.* という通知はなくなり connection.* という通知に変更しました

    • より扱いやすいタイミングへの通知に変更しました

    • 名前が変わっただけでなくタイミングも変わりました

  • [UPDATE] イベントウェブフックで送られる値に access_token を含むようにしました

  • [UPDATE] シグナリングのエラー通知を増やしました

  • [CHANGE] type: notification を type: notify に変更しました

    • 実験的機能として提供中

  • [FIX] シグナリング失敗時に role と channel_id が入らない問題を修正しました

  • [UPDATE] PCMU 録音時にメモリを使用せず、一時的にディスクに書き込む仕組みを追加しました。

    • この機能により長時間の録音でもメモリを消費することがなくなりました

  • [ADD] 組み込み UI を追加しました

    • 実験的機能として提供中

    • 各クライアントの統計情報を確認できるようになりました

3.0.2

リリース:

2016-09-06

対応 Chrome:

M52

対応 Firefox:

48

  • [FIX] 2016 年 9 月 6 日付の Chrome Canary M55 では、WebRTC 暗号部分が Google 独自の方式に非対応だったために Sora が動作しない問題を修正しました

3.0.0

リリース:

2016-08-31

対応 Chrome:

M52

対応 Firefox:

48

  • [CHANGE] WebRTC の通信が確立したタイミングのフック名を signaling.compileted に変更しました

    • transport.encrypted から singnaling.completed に変更しました

  • [ADD] スナップショット機能を追加しました

    • 映像を受け取らず音声だけの場合に、映像のスナップショットをシグナリング経由で受け取る機能です

    • WebP という画像フォーマット形式で出力しています

    • 映像から無変換で画像を切り出しているため、映像コーデックが VP8 で Chrome でのみ表示できます

  • [ADD] WebM-DASH ライブストリーミング機能を追加しました

    • この機能は実験的機能で 3.x で正式版をリリース予定です

    • WebRTC 経由で送られてきた映像を MPEG-DASH 形式に無変換でファイルを生成する仕組みです

    • この技術で CDN を使うことができるようになるため、 WebRTC では限界のあった配信数を大幅に増やすことができます

    • 遅延が 1 分以上発生します

  • [ADD] 録画機能で音声だけの録音に対応しました

    • 今までは映像または映像と音声の組み合わせのみでしたが、今後は音声のみでも録音できるようになりました

  • [ADD] 音声コーデックに PCMU を選択できるようになりました

  • [ADD] PCMU を録音できるようになりました

    • wav ファイルを出力します

    • 現時点ではオンメモリでの保存のため、メモリを消費します

    • 3.x でディスク書き込みに対応予定です

  • [ADD] 配信者が映像で使用可能な最大ビットレートを指定できるようになりました

    • リリース時点では Chrome のみで、Firefox では 2016 年 9 月にリリース予定の Firefox 49 から使用できます

  • [ADD] Chrome でマルチストリーム機能が使用可能になりました

    • この機能は実験的機能で 3.x で正式版をリリース予定です

  • [FIX] Firefox で Generic NACK が有効になっていなかったのを修正しました

  • [FIX] 音声と映像が出力されない場合のエラーを修正しました

2.6.0

リリース:

2016-07-15

対応 Chrome:

M51

対応 Firefox:

47

  • [UPDATE] TURN の NONCE が古い場合は 438 を返すように変更しました

  • [FIX] TURN 機能がマルチストリーム使用時にも使えるようになりました

  • [ADD] Push API を追加しました

    • PushChannel API

      • 特定のチャネル全員にメッセージを配信します

    • PushClient API

      • 特定のクライアントにメッセージを配信します

    • PushUpstream API

      • 配信者に対してメッセージを配信します

    • PushDownstream API

      • 視聴者全員に対してメッセージを配信します

2.5.0

リリース:

2016-07-06

対応 Chrome:

M51

対応 Firefox:

47

  • [UPDATE] VP8/VP9 においてキーフレームからの開始を強制するようにしました

  • [UPDATE] SDP の情報が不足していた場合にシグナリング経由でエラーを通知するた機能を追加しました

  • [ADD] ベータ機能として type: notification を追加しました

  • [ADD] 視聴者側からの RTCP-RR における RTPFB の TMMBN に対応しました

  • [FIX] たまに視聴者に接続開始から数十秒配信がされなくなる問題を修正しました

  • [ADD] シグナリングを使ってチャネル接続クライアントにメッセージを送る type: broadcast を追加しました

2.4.0

日時:

2016-06-24

対応 Chrome:

M51

対応 Firefox:

47

CPU リソースの消費を抑えるなど全体的なパフォーマンスが向上しました

  • [CHANGE] api_port の sys.config に設定されている初期の値を 6000 から 3000 に変更しました

  • [ADD] ブラウザからクロスドメインでの HTTP API が使えるようになる api_cors_origin という設定を追加しました

  • [ADD] 視聴者参加時に視聴者を配信者から視聴者へ戻す API を追加しました

    • DowngradeRole API を使うことで配信者を視聴者に戻すことができるようになります

  • [ADD] 組み込み TURN 機能を追加しました

  • [ADD] ベータ機能としてネットワークライセンス認証の仕組みを追加しました

  • [FIX] 配信者側のカメラ切り替えをしたとしても視聴者側が停止しない仕組みを追加しました

2.3.0

日時:

2016-06-08

対応 Chrome:

M51

対応 Firefox:

47

  • [ADD] 録画時に一時ファイルを作成して録画するように変更しました

    • 録画ファイルの一時的置き場を指定する archive_tmp_dir 設定が追加されました

    • ディスク容量のあくかぎり、長時間の録画が可能になりました

  • [CHANGE] 録画ディレクトリ指定の設定名が archive_filepath から archive_dir に変更しました

    • 設定ファイルの互換性が無くなりました

  • [UPDATE] RTCP-RR で戻す統計情報が RFC に準拠しました

  • [ADD] 実験的機能としてマルチストリームを使った視聴者参加機能を追加しました

    • 視聴者に対して API 経由で配信者に切り替えを行えます

2.2.0

日時:

2016-05-30

対応 Chrome:

M51

対応 Firefox:

46

  • [ADD] ビデオコーデックで VP9 形式の録画機能を追加しました

  • [CHANGE] archive.finished フック内のパラメータを codec_type から codec_name に変更しました

  • [CHANGE] ListRecording API 内のパラメータを codec_type から codec_name に変更しました

  • [UPDATE] 視聴者が指定したメディアのみを受け取れるようになりました

2.1.0

日時:

2016-05-18

対応 Chrome:

M50

対応 Firefox:

46

  • [ADD] 録画失敗時のフック archive.failed を追加しました

  • [CHANGE] マルチストリーム周りの動作を変更しました

    • すべてをマルチストリームベースにするための仕組みを少しずついれています詳細についてはお問い合わせください

2.0.0

日時:

2016-05-02

対応 Chrome:

M50

対応 Firefox:

46

既存の API との互換性が無くなりました

  • [CHANGE] Stream API が無くなり Webhook に変更しました

  • [CHANGE] Action API が通常の API に名前を変更しました

  • [CHANGE] すべての JSON のキーに使用する形式を camelCase から snake_case に変更しました

  • [ADD] 配信側のコーデックを指定できるようにしました

  • [ADD] 無変換での VP8 コーデックと Opus に対応した録画機能を追加しました

1.2.0

日時:

2016-03-16

対応 Chrome:

M49

対応 Firefox:

45

  • [FIX] 視聴時に UDP で異常が発生した場合、シグナリング部分を正常終了するようにしました

  • [ADD] 認証成功時と失敗時にあいてから送られてきた JSON を metadata: として戻す機能を追加しました

  • [ADD] Generic NACK に対応しました

  • [BETA] 実験的に配信側のコーデックを指定できるようにしました

  • [BETA] 実験的に VP8 コーデックに対応した録画機能を追加しました

1.1.4

日時:

2016-03-14

対応 Chrome:

M49

対応 Firefox:

45

  • [FIX] candidate が Answer 到着前に来た場合、保留しておいて Answer 到着時に最優先で返す対応を追加しました

  • [FIX] Event API で渡す JSON が sanke_case になっているのを camelCase に修正しました

1.1.0

日時:

2016-02-09

対応 Chrome:

M48

対応 Firefox:

44

  • [BETA] 実験的に Firefox 44 以降の Multistream 対応に対応しました

  • [ADD] RTCP-RR の動的処理を行うように変更しました

  • [UPDATE] CentOS 7.1 へのパッケージを提供開始しました

  • [CHANGE] DTLS 1.2 のみの対応に変更しました

    • Chrome は M48 から DTLS 1.2 に対応しました

  • [CHANGE] 使用する暗号方式を ECDHE-ECDSA-AES-GCM のみの対応に変更しました

1.0.1

日時:

2015-12-16

対応 Chrome:

M47

対応 Firefox:

43

  • [FIX] connect upstream 時の Offer SDP ログを保存し忘れていたのを修正しました

  • [FIX] elasped time を 30 秒から 60 秒に変更しました

1.0.0

対応 Chrome:

M47

対応 Firefox:

43

© Copyright 2024, Shiguredo Inc Created using Sphinx 8.1.3