リリースノート

CHANGE

後方互換性のない変更

UPDATE

後方互換性がある変更

ADD

後方互換性がある追加

FIX

バグ修正

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-20

対応 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 は RTP Stream ID の略とされています

    • rid は r0 / r1 / r2 があります

    • rid には優先度があり、数値が少ないほど優先されて配信されます

    • r0 は必ず配信されますが、回線が不安定になったりした場合は r2 -> r1 の順番で配信が停止していきます

  • [ADD] 実験的機能として rid をリクエストできる RequestRtpStream API を追加しました

  • [ADD] 実験的機能として rid をリセットできる ResetRtpStream API を追加しました

  • [FIX] 視聴者が受信するストリームの rid 変更後に配信側を再接続した場合に状態が不整合になる問題を修正しました

    • マルチストリームが無効な状態でのみ発生していた問題です

サイマルキャストエンコーディング設定のカスタマイズ機能

サイマルキャスト録画機能

  • [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.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 を追加しました

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

  • [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 のアップデート版となります。

実験的 API

実験的機能

  • [CHANGE] 実験的機能として提供している PauseRtpStream APIResumeRtpStream API のパラメータを変更しました

    • connection_idrecv_connection_id に変更しました

    • stream_idsend_connection_id に変更しました

  • [ADD] 実験的機能として ListChannels API を追加しました

  • [ADD] 実験的機能として DisconnectChannelByRole API を追加しました

    • 指定したチャネルの指定したロールの接続を全て切断します

  • [ADD] 実験的機能として PushChannelByRole API を追加しました

    • 指定したチャネルの指定したロールの接続にプッシュ通知を送ります

  • [FIX] 実験的機能として提供している ChangeUpstreamBitRate 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-demo

  • [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_destoryed の項目を追加しました

  • [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 を追加しました

    • 指定した接続のリモート統計情報を取得します