リリースノート

CHANGE

後方互換性のない変更

UPDATE

後方互換性がある変更

ADD

後方互換性がある追加

FIX

バグ修正

2022.1.0-canary

リリース予定:

2022-06-15

ハイライト

  • RHEL 9 に対応しました

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

  • クラスター利用時に同一ライセンスを利用可能な最大ノード数ライセンスに対応しました

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

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

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

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

  • 特定の接続からのストリームを受信しなくすることが可能な bundle_id を追加しました

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

廃止情報

  • sora.confdemo を廃止しました

  • sora.confremote_stats を廃止しました

  • sora.confunuse_metadata_list を廃止しました

  • sora.confuse_re_offer を廃止しました

  • GetAllRemoteStats API を廃止しました

  • GetChannelRemoteStats API を廃止しました

  • GetConnectionRemoteStats API を廃止しました

互換なしの変更情報

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

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

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

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

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

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

  • [CHANGE] sora.loginternal.log の時刻が RFC3339 準拠に変更しました

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

    • cluster_node_namenode_name へ変更しました

    • cluster_api_urlexternal_api_url へ変更しました

    • cluster_signaling_urlexternal_signaling_url へ変更しました

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

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

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

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

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

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

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

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

bundle_id の追加

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

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

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

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

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

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

  • [ADD] "type": "conenct"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

  • [ADD] sora.confsora.log を json で出力する sora_log_output_json を追加しました

    • デフォルトでは true になっています

  • [ADD] sora.confinternal.log を json で出力する internal_log_output_json を追加しました

    • デフォルトでは true になっています

録画機能

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

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

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

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

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

    • デフォルトは false ですa

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

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

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

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

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

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

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

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

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

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

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

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

スポットライト機能利用時の負荷削減

  • [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] クラスター参加したタイミングで自動で normal モードに切り替わるように変更しました

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

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

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

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

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

  • [ADD] スプリットブレイン発生時に自動で復旧を試みる仕組みを追加しました

  • [ADD] スプリットブレイン発生時に 1:1 や 3:3 と 2 つの分割されたクラスターが同一になった際に復旧可能にするタイブレーク処理を追加しました

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

統計機能

  • [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] データチャネルの破棄やリトライの回数をラベル毎に取得できるようになりました

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

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

  • [CHANGE] auth_webhook.log に含まれる event_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 の中身を "REDACT" という文字列に置き換えます

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

    • デフォルトでは true

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

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] クラスターに参加するための 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.confe2ee が無効の場合は 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] サイマルキャストで録画機能が利用可能になりました

    • 配信されている 優先度が一番低い映像 を録画します

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

  • [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 を利用してください

© Copyright 2022, Shiguredo Inc Created using Sphinx 5.0.0b1