リリースノート¶
- CHANGE
後方互換性のない変更
- UPDATE
後方互換性がある変更
- ADD
後方互換性がある追加
- FIX
バグ修正
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 以降
変更履歴¶
[UPDATE] 開発ツールで利用している sora-devtools を 2021.2.5 にアップデートしました
[FIX] Disconnect 系 API を実行した場合に終了までに時間がかかってしまう問題を修正しました
[FIX] イベントウェブフック
connection.created
が通知されたタイミングでPauseRtpStream
API を実行した際に正常に動作しない場合がある問題を修正しました[FIX] 録画ファイル分割出力のみの場合でも、一時ファイルが録画終了時まで削除されずに残っていたのを修正しました
2021.2.1¶
- リリース
2021-12-20
- 対応 Chrome
M97 以降
- 対応 Firefox
95 以降
- 対応 Safari
15.1 以降
- 対応 Edge
97 以降
変更履歴¶
[FIX] 録画機能利用時に
sora.conf
の archive_tmp_dir と archive_dir で指定される 2 つのディレクトリが異なるファイルシステムにある場合に、録画ファイルの生成に失敗する問題を修正しました
2021.2.0¶
- リリース
2021-12-15
- 対応 Chrome
M97 以降
- 対応 Firefox
95 以降
- 対応 Safari
15.1 以降
- 対応 Edge
97 以降
ハイライト¶
クラスター機能を追加しました
DataChannel を利用したメッセージング機能を追加しました
統計エクスポーター機能を追加しました
スポットライト機能のフォーカス/アンフォーカスを変更する API を追加しました
ICE コネクションステート機能を追加しました
シグナリング通知に録画開始/終了の通知を追加しました
セッションウェブフックを追加しました
音声冗長化機能に対応しました
AV1 コーデック利用時の録画に対応しました
廃止情報¶
CentOS 8 への対応を終了しました
詳細は CentOS 8 対応 をご確認ください
スポットライトレガシー機能を廃止しました
詳細は スポットライトレガシー機能の廃止 をご確認ください
統計機能の
rtp
にあるrtcp
を廃止しました詳細は rtp にある RTCP 関連統計情報を廃止 をご確認ください
sora.conf
のextmap_allow_mixed
設定を廃止しました詳細は extmap_allow_mixed 設定のデフォルト有効化と廃止 をご確認ください
sora.conf
のdcsctp_association_max_retrans
設定を廃止しました詳細は sora.conf の dcsctp_association_max_retrans を廃止 をご確認ください
実験的機能である
sora.conf
のopus_param_clock_rate
設定を廃止しましたListAllConnections API を廃止しました
今後は ListConnections API をご利用ください。
ListChannelClients API を廃止しました
今後は ListChannelConnections API をご利用ください
互換性なしの変更情報¶
変更点の不明点についてはサポートまでお問い合わせください
猶予期間を儲けない変更となっておりますのでご注意ください
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.conf
の use_re_offer がtrue
の場合type: update
を Sora に送るとエラーになるよう変更しました[CHANGE]
sora.conf
の use_re_offer のデフォルト値をtrue
に変更しましたこの設定は 2022 年 6 月リリース予定の Sora にて廃止します
[CHANGE]
sora.conf
の unuse_metadata_list のデフォルト値をtrue
に変更しましたこの設定は 2022 年 6 月リリース予定の Sora にて廃止します
開発ツール¶
[CHANGE] デモ機能を 開発ツール と名前を変更しました
[CHANGE]
sora.conf
のdemo
をtrue
にした場合 devtools が有効になるように変更しましたsora.conf
のdemo
は 2022 年 6 月のリリースにて廃止します詳細は sora.conf の demo の廃止 をご確認ください
[ADD]
sora.conf
に devtools を追加しましたデフォルトは
false
です
ウェブフック¶
[ADD] 認証ウェブフックに
node_name
を追加しました[ADD] イベントウェブフックに
node_name
を追加しました[ADD] イベントウェブフックの
recording.report
にfilename
とfile_path
を追加しましたmetadata_filename
とmetadata_file_path
は 2022 年 12 月リリース予定の Sora で廃止します廃止対象は JSON 内の
"data"
直下のフィールドのみで、"archives"
以下にあるmetadata_filename
とmetadata_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.conf
にsession.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_port と cluster_listen_max_port の設定を追加しました
デフォルトは cluster_listen_min_port が
49010
で、 cluster_listen_max_port が49020
です
[ADD] クラスターに参加するための JoinCluster API を追加しました
クラスターからの離脱は
bin/sora stop
で可能です
[ADD] クラスターに参加しているノード一覧を取得するための ListClusterNodes API を追加しました
[ADD] クラスターに割り当てられているチャネル ID 一覧を取得するための ListClusterChannels API を追加しました
音声冗長化機能¶
この機能は Chrome 96 以降で利用可能です
[ADD]
sora.conf
に 音声冗長化機能を有効にするaudio_red
を追加しました。デフォルトは
false
です音声冗長化についての詳細は PSA: opus+red enabled by default in M96 を参照ください
[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.conf
に stats_exporter_tls_fullchain_file を追加しました[ADD]
sora.conf
に stats_exporter_tls_privkey_file を追加しました[ADD]
sora.conf
に stats_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.conf
に ice_connection_state_disconnected_timeout を追加しましたデフォルトは
5 s
です
[ADD]
sora.conf
に ice_connection_state_failed_timeout を追加しましたデフォルトは
10 s
です
[ADD]
sora.log
に warning でICE-CONNECTION-DISCONNECTED
が出力されるようになりました1000 ms
間隔で 5 秒間STUN Binding-Request
を送っても 1 度もSTUN Binding-Success
が返ってこない場合に出力されます1000 ms
はsora.conf
の ice_connection_state_disconnected_timeout にて変更可能です
[ADD]
sora.log
にerror
でICE-CONNECTION-FAILED
が出力されるようになりましたこの場合 Sora は接続を切断します
50 ms
間隔で 10 秒間STUN Binding-Request
を送っても 1 度もSTUN Binding-Success
が返ってこない場合に出力されます50 ms
はsora.conf
の ice_connection_state_failed_timeout にて変更可能です
DataChannel 機能¶
[CHANGE] 利用しない DataChannel を作成しない仕組みを追加しました
sora.conf
の signaling_notify が無効の場合はlabel: notify
の DataChannel は作成しませんsora.conf
の e2ee が無効の場合はlabel: e2ee
の DataChannel は作成しませんsora.conf
の user_agent_stats が無効の場合はlabel: stats
の DataChannel は作成しません
[CHANGE]
dcsctp_association_max_retrans
を廃止しました切断判定には ICE コネクションステート機能が利用されます
メッセージング機能¶
詳細は メッセージング機能 をご確認ください。
DataChannel を利用したメッセージをユーザが提起して自由に送る事ができる機能です。ラベルは #
から始まる必要があります。
[ADD]
type: connect
にdata_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.conf
に data_channel_messaging を追加しましたデフォルトは
false
です
[ADD] 認証成功時の払い出しで
data_channels
を指定できるようにしました"type": "connect"
時に、指定されたdata_channels
を上書きできます
[ADD]
sora.conf
に data_channel_messaging_only を追加しましたデフォルトは
false
です
ユーザーエージェント統計 API¶
リモート統計情報 API の名前を変更し整理した API です。
リモート統計情報 API は 2022 年 6 月リリースの Sora にて廃止しますので、 ユーザーエージェント統計情報 API に切り替えをお願いします。
[CHANGE]
remote_stats
をデフォルトfalse
にしました[ADD]
sora.conf
にuser_agent_stats
を追加しましたデフォルトは
true
ですremote_stats
は 2022 年 6 月にて廃止されます
[ADD] ListUserAgentStats API を追加しました
GetAllRemoteStats の代替 API です
[ADD] ListChannelUserAgentStats API を追加しました
GetChannelRemoteStats の代替 API です
[ADD] GetUserAgentStats API を追加しました
GetConnectionRemoteStats の代替 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.destroyed
にdisconnect_api_reason
として含まれるようになりました今まで
reason
として入ってきていたのと同じ値が入ります
[ADD]
"type": "disconnect"
にreason
を指定した場合に、指定したreason
が、イベントウェブフックconnection.destroyed
にtype_disconnect_reason
として含まれるようになりました[ADD] イベントウェブフック
connection.*
のdata
に"created_time": "connection.created 時の UNIX 時刻"
を追加しました[ADD]
sora.conf
にスポットライトでフォーカスされた後、一定時間追い出されなくなる default_spotlight_focus_min_interval を追加しましたデフォルトは
2000 ms
です
[FIX] スポットライト機能で複数人が音を出し続けていると頻繁にフォーカスが入れ替わる問題を修正しました
アンフォーカス後のフォーカスは、最低でも default_spotlight_delayed_focus_interval だけ待つようになりました
[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 を廃止¶
role
の upstream
と downstream
を廃止しました。
詳細は role の upstream と downstream を廃止 をご確認ください。
allow_client_id_assignment 設定を廃止¶
接続時や認証成功時に、常に client_id を指定できるようになり、
sora.conf
の allow_client_id_assignment
を廃止しました。
詳細は client_id を指定する設定の廃止 をご確認ください。
旧サイマルキャスト API を廃止¶
Sora_20180820.ChangeSimulcastQuality
API を廃止しました。
詳細は 旧サイマルキャスト画質変更 API の廃止 をご確認ください。
互換なしの変更情報¶
廃止以外の互換性がない機能変更はありません。
実験的機能から正式機能へ昇格¶
Sora_20201120.PushChannelByRole
APISora_20201120.DisconnectChannelByRole
API
ハイライト¶
スポットライト機能に rid 指定機能を追加しました
スポットライト機能に遅延フォーカス機能を追加しました
スポットライト機能に自動アンフォーカス機能を追加しました
スポットライト機能にフォーカスなしの音声配信機能を追加しました
シグナリングを WebSocket から DataChannel へ切り替える機能を追加しました
DataChannel 経由のシグナリング利用時に WebSocket の切断を無視する機能を追加しました
より少ない CPU リソースでより多くの接続を処理できるようになりました
変更履歴¶
[UPDATE] デモ機能で利用している sora-demo を 2021.1 にアップデートしました
[UPDATE] より少ない CPU リソースで多くの接続を処理できるようになりました
[ADD] TURN-TCP 利用時の Proxy Protocol v1 へ対応しました
これに伴い TURN-TLS、TURN-TCP、シグナリングで 443 番ポートを使用する の内容が Sora 2021.1 向けに変更されています
nginx の変更はしなくても動作しますが、変更をお勧めします
[ADD] シグナリング
"type": "offer"
時に配信で有効になっているaudio
またはvideo
のmid
を含めるようにしました例:
"type": "offer", "mid": {"audio": "audio_lFaJYL", "video": "video_lMjsoq"}
[ADD]
"type": "udpate"
の代わりに"type": "re-offer"
を送れるように、sora.conf
に use_re_offer を追加しましたデフォルトは
false
ですこの設定は 2021 年 12 月リリースの Sora にてデフォルト
true
に変更されますこの設定は 2022 年 6 月リリースの Sora にて廃止され、常に
"type": "re-offer"
が送られるようになります
[ADD] シグナリング通知メタデータの利用時に、
metadata_list
の代わりにdata
を送れるように、sora.conf
に unuse_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] デフォルトの
r0
のmaxFramerate
を1.0
から5.0
に変更しました
スポットライト機能: rid 指定¶
実験的機能
スポットライト利用時にフォーカス、アンフォーカスそれぞれで受信する映像を接続毎に指定できるようになりました。 これによりモバイル端末や回線が不安定な場合は映像を一切受信しないなどの設定ができます。
[ADD] アンフォーカス時に受信する rid を指定できるように、
sora.conf
に default_spotlight_unfocus_rid を追加しましたデフォルトは
r0
none
,r0
,r1
,r2
を指定可能
[ADD] フォーカス時に受信する rid を指定できるように、
sora.conf
に default_spotlight_focus_rid を追加しましたデフォルトは
r1
none
,r0
,r1
,r2
を指定可能
[ADD] アンフォーカス時に受信する rid を指定できるように、シグナリング
"type": "connect"
にspotlight_unfocus_rid
を追加しましたデフォルトは
sora.conf
の default_spotlight_unfocus_rid の値が採用されますnone
,r0
,r1
,r2
を指定可能
[ADD] フォーカス時に受信する rid を指定できるように、シグナリング
"type": "connect"
にspotlight_focus_rid
を追加しましたデフォルトは
sora.conf
の default_spotlight_focus_rid の値が採用されますnone
,r0
,r1
,r2
を指定可能
[ADD] アンフォーカス時に受信する rid を指定できるように、認証成功時の払い出しに、
spotlight_unfocus_rid
を追加しましたデフォルトは
sora.conf
の default_spotlight_unfocus_rid の値が採用されます"type": "connect"
時に、指定されたspotlight_unfocus_rid
を上書きできますnone
,r0
,r1
,r2
を指定可能
[ADD] フォーカス時に受信する rid を指定できるように、認証成功時の払い出しに
spotlight_focus_rid
を追加しましたデフォルトは
sora.conf
の default_spotlight_focus_rid の値が採用されます"type": "connect"
時に、指定されたspotlight_focus_rid
を上書きできますnone
,r0
,r1
,r2
を指定可能
スポットライト機能: 遅延フォーカス¶
実験的機能
スポットライト利用時に、ちょっとした物音やあいづちではすぐにフォーカスされないように、フォーカスを遅延させる機能を追加しました。 この機能によりサーバーからクライアントへのパケット流量を減らすことができるようになりました。
[ADD] アンフォーカス時にフォーカスを遅延させるかどうかを指定できるように、
sora.conf
に default_spotlight_delayed_focus を追加しましたデフォルトは
true
[ADD] アンフォーカス時にフォーカスを遅延させる時間を指定できるように、
sora.conf
に default_spotlight_delayed_focus_interval を追加しましたデフォルトは
2000 ms
スポットライト機能: フォーカスなしの音声配信¶
実験的機能
スポットライト利用時に、他の人にフォーカスが移った場合でも音声を配信し続ける機能を追加しました。 この機能によりスポットライトの数が少ない場合でも、他の人がフォーカスされたことにより音声が送られなくなる、といった事がなくなりました。
[ADD] フォーカスなしでも音声を配信するかどうかを指定できるように、
sora.conf
に default_spotlight_unfocus_audio を追加しましたデフォルトは
true
[ADD] フォーカスなしでも音声を配信する上限レートを指定できるように、
sora.conf
に default_spotlight_unfocus_audio_rate_limit を追加しましたデフォルトは
2
単位は
1 音声ストリーム = 50 packets / s
です
スポットライト機能: 自動アンフォーカス機能¶
実験的機能
スポットライト利用時に、一定時間音声が配信されていない場合はアンフォーカスする機能を追加しました。 この機能によりサーバーからクライアントへのパケット流量を減らすことができるようになりました。
[ADD] 音がない場合に自動でアンフォーカスするかどうかを指定できるように、
sora.conf
に default_spotlight_auto_unfocus を追加しましたデフォルトは
true
[ADD] 自動でアンフォーカスする無音時間を指定できるように、
sora.conf
に default_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.conf
に default_data_channel_signaling を追加しましたデフォルトは
false
です
[ADD] シグナリング
"type": "connect"
でdata_channel_signaling: boolean
を指定できるようにしましたデフォルトは
sora.conf
の default_data_channel_signaling に設定された値です
[ADD] 認証成功時の払い出しで
data_channel_signaling: boolean
を指定できるようにしましたデフォルトは
sora.conf
の default_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 の
label
はsignaling
です以下が利用できるメッセージタイプです
"type": "re-offer"
"type": "re-answer"
"type": "disconnect"
シグナリング通知
DataChannel の
label
はnotify
です以下が利用できるメッセージタイプです
"type": "notify"
プッシュ通知
DataChannel の
label
はpush
です以下が利用できるメッセージタイプです
"type": "push"
E2EE
DataChannel の
label
はe2ee
です
統計情報
DataChannel の
label
はstats
です以下が利用できるメッセージタイプです
"type": "req-stats"
"type": "stats"
DataChannel 機能: WebSocket の切断を無視する機能¶
実験的機能
重要
WebSocket の切断を切断判定に利用しない場合、 DataChannel におけるエンドポイント障害検出が切断の判断に利用されます。
この判断は sora.conf
の dcsctp_association_max_retrans
の値に依存します。
[ADD]
sora.conf
に default_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_signaling
がtrue
の場合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
キーは含まれませんcompress
がtrue
の場合、 DataChannel 経由でのメッセージをzlib/deflate
で圧縮/展開する必要があります
DataChannel 機能: クライアント統計情報の要求¶
実験的機能
DataChannel 経由でのシグナリングが有効になると、統計情報を "type": "pong"
に入れて返すのではなく、
サーバーから "type": "req-stats"
が送られてきたら、 "type": "stats", "reports": [...]
で送るという仕組みに切り替わります。
[ADD] DataChannel 経由でのシグナリング利用時に
label
のstats
から"type": "req-stats"
が送られてきます送られてくる間隔は
sora.conf
の data_channel_stats_timer_interval で指定できます
[ADD]
sora.conf
に data_channel_stats_timer_interval を追加しましたデフォルトは
5 s
です最小は
5 s
で最大は300 s
です
DataChannel 機能: サーバー統計情報¶
実験的機能
GetStats* 系 API に DataChannel 関連の Sora 統計情報を追加しました。
[ADD]
total_dropped_received_data_channel
を追加sora.conf
にて data_channel_packet_loss_simulator_incoming を0
ではない値を指定した際に破棄されたパケットの合計数です
[ADD]
total_dropped_sent_data_channel
を追加sora.conf
にて data_channel_packet_loss_simulator_outgoing を0
ではない値を指定した際に破棄されたパケットの合計数です
[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.conf
にdcsctp_association_max_retrans
を追加しましたDataChannel で利用している SCTP プロトコルのエンドポイント障害検出の最大再送値です
デフォルトは
10
です最小は
1
で最大は128
です
[ADD]
sora.conf
に dcsctp_heartbeat_interval を追加しましたDataChannel で利用している SCTP プロトコルのハートビートを送る間隔です
デフォルトは
30 s
です最小は
0 s
で最大は120 s
です0 s
に設定した場合は SCTP レイヤーでのハートビートを送りません
[ADD]
sora.conf
に data_channel_packet_loss_simulator_incoming を追加しましたデフォルトは
0
で無効ですSora が受信する DataChannel のメッセージを、指定した割合で破棄します
[ADD]
sora.conf
に data_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.focused
とspotlight.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_id
とsend_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 の戻り値の
id
をrecording_id
に変更しましたrecording.report イベントウェブフックの
id
をrecording_id
に変更しましたarchive.available イベントウェブフックの
data
の中にrecording_id
を追加しました
sora.conf
にて時間を指定する設定項目で単位指定を必須にしました単位が必要な値を指定する場合は
30 s
や2000 ms
といった単位を指定する必要があります数値と単位の間にはスペースを入れてください
例:
webhook_response_timeout = 5 s
例:
default_forwarding_pli_interval = 30000 ms
例:
connection_created_wait_timeout = 30 s
サイマルキャスト機能の
quality
指定を全てrid
に変更しましたsora.conf
のallow_client_id_assignment
をデフォルトtrue
に変更しましたsora.conf
のallow_client_id_assignment
をtrue
にした際にクライアントがclient_id
を含めない場合、認証ウェブフックにclient_id
が含まれないよう変更しましたいままでは
client_id
にnull
が入っていました
sora.conf
のspotlight_legacy
をデフォルトfalse
にしましたスポットライトレガシーを利用したい場合は
sora.conf
にてspotlight_legacy = true
を設定してください
実験的機能として提供していた
ChangeSimulcastQuality API
を非推奨にしましたRequestRtpStream API
を利用してください
実験的機能として提供していた
RequestSpotlightQuality API
を廃止しましたRequestRtpStream API
を利用してください
実験的機能として提供していた
ResetSpotlightQuality API
を廃止しましたResetRtpStream API
を利用してください
sora.conf
のgeneric_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.conf
にsimulcast_encodings_file
を追加しましたsimulcast_encodings_file = etc/simulcast_encodings.json
といったかたちで JSON ファイルを指定可能になります詳細は 映像のエンコーディングパラメータのカスタマイズ をご確認ください
[ADD] 認証成功時の払い出しに
simulcast_encodings
を追加しました詳細は simulcast_encodings の払い出し をご確認ください
サイマルキャスト録画機能¶
[ADD] サイマルキャストで録画機能が利用可能になりました
配信されている 優先度が一番低い映像 を録画します
r0 / r1 / r2 の 3 本が配信されていれば r2 が録画されます
優先度が低い映像については 映像の優先度 をご確認ください
サイマルキャスト転送機能¶
[ADD] サイマルキャストで転送機能が利用可能になりました
[ADD]
sora.conf
にforwarding_simulcast
を追加しましたall
とsingle
が指定可能ですall
は配信されている全てのストリームが転送されますsingle
は配信されている優先度が低いストリームが転送されます優先度が低い映像については 映像の優先度 をご確認ください
スポットライト機能¶
[FIX] 認証ウェブフック通知に spotlight / spotlight_number を追加しました
sora.conf
にてspotlight_legacy = false
の場合に含まれます
スポットライトのサイマルキャストエンコーディング設定カスタマイズ機能¶
[ADD]
sora.conf
にspotlight_encodings_file
を追加しましたspotlight_encodings_file = etc/spotlight_encodings.json
といったかたちで JSON ファイルを指定可能になります設定方法は
simulcast_encodings_file
と同様ですがspotlight
時のみ利用されます詳細は スポットライト利用時の映像のエンコーディングパラメータのカスタマイズ をご確認ください
[ADD] 認証成功時の払い出しに
spotlight_encodings
を追加しました詳細は 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.conf
のallow_client_id_assignment
をtrue
にした際、クライアントがclient_id
を指定しない場合、認証ウェブフックにclient_id
を含まないよう変更しましたいままでは
client_id
にnull
が入っていました
イベントウェブフック機能¶
[CHANGE] イベントウェブフック
connection.*
のchannel_upstream_connections
を非推奨にしました2021 年 6 月廃止予定です
[CHANGE] イベントウェブフック
connection.*
のchannel_downstream_connections
を非推奨にしました2021 年 6 月廃止予定です
[ADD] イベントウェブフック
connection.*
にsimulcast: boolean
とspotlight: boolean
の項目を追加しましたspotlight_legacy
は非対応です
[ADD] 実験的機能としてイベントウェブフック
connection.*
にchannel_sendrecv_connections
を追加しました送受信している接続数
[ADD] 実験的機能としてイベントウェブフック
connection.*
にchannel_sendonly_connections
を追加しました送信のみしている接続数
[ADD] 実験的機能としてイベントウェブフック
connection.*
にchannel_recvonly_connections
を追加しました受信のみしている接続数
[FIX] WebRTC が確立していなくてもイベントウェブフック connection.updated が発火してしまう問題を修正
sora.conf
とconnection_created_timeout
を 60 秒以上にしており、パケロスがひどい場合のみ発生していました
[FIX] イベントウェブフック
connection.destroyed
のreason
にDisconnect 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_time
を0
に指定する必要があります{"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
の戻り値のid
をrecording_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.conf
のallow_client_id_assignment
をデフォルトtrue
に変更しました[CHANGE]
sora.conf
のgeneric_nack_cache_size_msec
を廃止しました内部的な設定のため非公開設定としました
[CHANGE]
sora.conf
のspotlight_legacy
のデフォルトをfalse
にしましたスポットライトレガシーを利用したい場合は
sora.conf
にてspotlight_legacy = true
を設定してください
[CHANGE]
sora.conf
からturn_fqdn
の記載を削除しました設定が非推奨のため削除しました。設定自体は可能です。
[CHANGE] 時間を指定する設定項目の単位を明示的に指定するようにしました
単位が必要な値を指定する場合は
30 s
や2000 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 設定の有効化 をご確認ください
シグナリング通知メタデータ¶
[ADD] 接続時に送られてきた
signaling_notify_metadata
はmetadata
以外にauthn_metadata
としてシグナリング通知時に含めるようにしました[ADD] 認証成功時に払い出した
signaling_notify_metadata
はmetadata
以外にauthz_metadata
としてシグナリング通知時に含めるようにしました[ADD] 接続時に送る
signaling_notify_metadata
の最大サイズを指定できるsora.conf
にsignaling_notify_authn_metadata_max_size
を追加しましたデフォルトは 64512 で、 64 KiB です
0 ~ 1048576 (1 MiB) の範囲で指定可能です
シグナリング通知メタデータ拡張機能¶
実験的機能
[ADD]
sora.conf
にシグナリング通知メタデータ拡張を有効にするsignaling_notify_metadata_ext
を追加しましたデフォルトは
false
ですこの設定を有効にした場合、接続時に送った
signaling_notify_metadata
はauthn_metadata
となりますmetadata
は初期値{}
となります
この設定を有効にした場合、認証成功時に払い出した
signaling_notify_metadata
はauthz_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 API
とResumeRtpStream API
のパラメータを変更しましたconnection_id
をrecv_connection_id
に変更しましたstream_id
をsend_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
を利用してください