2023.2.x から 2024.1.x への移行

概要

2023.2.x から 2024.1.x への移行について変更点や注意点をまとめています。

もし不明点がある場合はサポートまでお問い合わせください。

sora.conf の default_h264_profile_level_id を廃止しました

sora.conf の H.264 で利用するプロファイルレベル ID を文字列で指定する default_h264_profile_level_id を 2024 年 6 月リリースの Sora にて廃止しました。

代わりに default_h264_param_profile_level_id をご利用ください

h264_profile_level_id の払い出しの設定を廃止しました

認証成功時のタイミングで接続単位での h264_profile_level_id の値を認証サーバーから払い出す設定を 2024 年 6 月リリースの Sora にて廃止しました。

代わりに "video_h264_params": {"profile_level_id": "42e01f"} をご利用ください。

Lyra コーデックを廃止しました

Lyra コーデックへの対応は 2024 年 6 月リリースの Sora にて廃止しました。

  • Lyra のアップデートが 2 年ないこと

  • Lyra の商用環境での利用がないこと

  • Opus 1.5 で Lyra と同等のビットレートで同等の音質が得られること

Chrome/Edge の不具合による録画機能利用時の音ズレ問題について

Chrome/Edge の不具合により、音声トラックを削除し、その後音声トラックを追加した際に、 音声パケットやそれに関連するタイムスタンプが正しく処理されない場合があり、 これにより録画機能を利用する際に音ズレが発生する問題があります。

この Chrome/Edge の問題は残念ながら解決の見込みはありませんが、録画機能への影響があまりにも大きいため、 Sora 2024.1.0 でこの問題の改善を行いました。

しかし、この改善のための変更が Chrome の別の不具合の影響を受けて新たな問題が発生することが判明したため、本変更をデフォルトで無効にすることにしました。

この問題への改善は今後も継続していく予定です。

この問題に関して不明点がありましたら、サポートまでご連絡ください。

警告

Safari および Safari Technology Preview でも音ズレが発生する問題を確認しています。

Sora 2024.1.3 での変更点

Sora 2024.1.0 で rtp_hdrext_abs_capture_time のデフォルトを true へ変更し、 RTP ヘッダー拡張 abs-capture-time を利用することで録画機能利用時の音ズレを回避する仕組みを追加しました。

しかし、一部の端末では予期しない挙動が発生し、録画自体に問題が発生することが判明したため、 Sora 2024.1.3 で rtp_hdrext_abs_capture_time の デフォルトを false へ変更しました。

この設定を true にする場合は、事前にサポートまでご連絡ください。

connection.destroyed の reason に破壊的変更を行いました

Sora 2023.2.x まで connection.destroyedreason には、 disconnect_api_reason と同じ値が含まれており、 コネクション切断系 API で reason が指定されていない場合は null が含まれていました。

今回コネクションライフタイム機能の導入により、 reason には以下のような値が入る破壊的変更を行いました。

  • "normal" は通常のコネクション破棄

  • "disconnected_api" はコネクション切断系 API によるコネクション破棄

  • "session_destroyed" はセッションライフタイム期限切れ、または API によるセッション破棄によるコネクション破棄

  • "lifetime_expired" はライフタイム期限切れによるコネクション破棄

legacy_event_webhook_connection_destroyed_reason

破壊的変更に伴い、 Sora 2023.2.x までの挙動を維持する設定 legacy_event_webhook_connection_destroyed_reasonsora.conf に追加しています。

この設定はデフォルトで false のため、Sora 2023.2.x までの動作を維持するためには true に設定してください。

この設定は 2024 年 12 月リリース予定の Sora にて廃止されます。

TerminateSession API を非同期に変更しました

TerminateSession API を非同期に変更しました。

クラスター利用時にセッションを破棄する際、時間がかかる場合があり、 同期 API だとタイムアウトが発生する可能性があり、非同期 API に変更しました。

セッション破棄の完了は session.destroyed ウェブフックで確認してください。

ユーザーエージェント統計を非推奨にしました

ユーザーエージェント統計機能は 2025 年 6 月リリースの Sora にて廃止します。今後は RTC 統計を利用してください。

ユーザーエージェント統計 API を非推奨にしました

ユーザーエージェント統計 API は 2025 年 6 月リリースの Sora にて廃止します。

代わりに RTC 統計 API をご利用ください

統計エクスポーターを非推奨にしました

統計エクスポーター は 2025 年 6 月リリースの Sora にて廃止します。

代わりに 統計ウェブフック をご利用ください。

認証ウェブフック失敗時に auth_webhook_error.jsonl に出力するように変更しました

今まで認証ウェブフックが 200 番台を返さなかったり、 "allowed" 項目を含まなかったり、 "allowed": false なのに "reason" が含まれていなかったり、送信先から応答がなくタイムアウトしたなどで、 処理が正常に行えなかった場合は auth_webhook.jsonlres 項目なしで出力していました。

今後は auth_webhook_error.jsonlreason 項目を追加して出力するように変更しました。

Sora 2023.2.x までの auth_webhook.jsonl にのみログを出力する挙動を維持するためには、 sora.conflegacy_auth_webhook_logtrue に設定してください。

ウェブフックの確立までの時間を指定する webhook_connect_timeout を追加しました

sora.conf にウェブフックの接続確立タイムアウト時間を指定する webhook_connect_timeout を追加しました

今までは固定の 600 s となっていましたが、 あまりにも長かったため、今回の設定を追加するタイミングでデフォルトを 30 s としました。

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

クラスターのローリングアップデートについて

2023.2.x から 2024.1.x へのローリングアップデートができます。

1 台 1 台ローリングアップデートを行ってください。

2023.1.x から 2024.1.x へのローリングアップデートはできません、 かならず 2023.1.x からのアップデートを行う場合、 2023.2.x を経由してから 2024.1.x へアップデートを行っていください。

JoinCluster API を RegisterClusterNode API に変更しました

JoinCluster API は非推奨になり、 2024 年 12 月リリースの Sora にて廃止します。

ListClusterNodes API の include_all_known_nodes を非推奨にしました

ListClusterNodes API の include_all_known_nodes は 2024 年 12 月リリースの Sora にて廃止します。

廃止後は include_all_known_nodes が常に true になり、クラスターに登録されている全てのノード情報を返すようになります。

クラスター機能の cluster_auto_reconnect を廃止しました

2024 年 6 月リリースの Sora にて sora.confcluster_auto_reconnect を廃止しました。

自動での再接続は無効にする機会が無いと判断しました。

クラスター機能の contact_node_name_list を廃止しました

2023.2.0 までは sora.confcontact_node_name_list でクラスター構築時に接続するノードを指定できましたが、 2024 年 6 月リリースの Sora にて廃止しました。

今後はクラスターに登録する際は RegisterClusterNode API を利用してください。

経緯

もともとローリングアップデート時に、初期化されたノードがクラスターに参加している他のノードを認識するために、 contact_node_name_list を利用すると RegisterClusterNode API を叩く必要がないという便利設定でした。

しかし、Sora 2023.2.0 からローリングアップデート時にノードが初期化された場合でも contact_node_name_list への指定と、 RegisterClusterNode API の利用が不要になりました。

これは既存のクラスターに参加しているノードが初期化されたノードを認識するための仕組みが追加されたためです。

クラスターリレー機能を追加し、デフォルトで有効にしました

クラスターを構築している際、どのノードからも同一のチャネルへ参加できる、 クラスターリレー機能を追加しました。

クラスターリレー機能を利用することで同一チャネルでのスケールアウトができるようになりました。

クラスターリレー機能はデフォルトで有効になっています。 ただしクラスターリレー機能を有効にするには 最大ノード数ライセンス を利用する必要があります。

もし 最大ノード数ライセンス を利用していない場合は、 sora.conf にて cluster_relayfalse に設定してください。

詳細は リレー機能 をご確認ください。

アフィニティ機能

クラスターリレー機能を利用している場合、 どのノードからも同一チャネルに参加できるようになりますが、 できるだけ同一ノードに寄せた方が効率が良くなります。

そのため同一チャネルは同一ノードに寄せるアフィニティ機能を追加しデフォルトで有効にしました。

アフィニティ機能はコネクション単位で無効にすることができるため、 特定の接続だけ別ノードからアクセスさせることもできます。

詳細は アフィニティ機能 をご確認ください。

認証

リレー機能を有効にした場合、認証が 2 回発生する場合があります。

詳細は クラスターリレー機能利用時に認証が 2 回行われる場合がある をご確認ください。

ライセンスで決められた最大同時接続数の合計を維持する機能

クラスター機能で 最大ノード数ライセンス を利用している場合、 ノード障害が発生した場合、残りのノードで同時接続数できる数を一時的に増やす仕組みを追加しました。

100 同時接続で 3 ノードでクラスターを組んでいる場合、 今までは 1 ノードに障害が発生した場合は、そのクラスターの最大同時接続数は 200 になっていました。

今回のライセンスで決められた最大同時接続数の合計を維持する機能では、 残りのノードが障害があったノードの同時接続数を分配し、1 ノードが 150 同時接続まで接続できるようになります。

障害が発生したノードが復旧した場合、最大同時接続数は 100 に戻りますが、 既存の接続は維持され、切断することはありません。

詳細は ライセンスで決められた最大同時接続数の合計を維持する機能 をご確認ください。

スポットライト数のセッションウェブフック session.created での払い出しに対応しました

今までシグナリング接続時、または認証成功時に払い出している spotlight_numbersession.created ウェブフックで払い出せるようにしました。

セッションウェブフックで指定した spotlight_number がシグナリング接続時や認証成功時の spotlight_number と異なる場合、 エラーとなります。

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

配信ワーカー機能をメディア配信ワーカー機能に変更

配信ワーカー機能をメディア配信ワーカー機能と機能名前を変更しました。

機能名変更に伴い、 sora.confrtp_publish_worker_numbermedia_publish_worker_number に変更しました。

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

プレイアウト遅延機能

映像を受信するクライアントへ、 映像をレンダリングするかどうかを指定できるプレイアウト遅延機能を追加しました。

この値を設定することで、映像の遅延を調整することができます。

詳細は プレイアウト遅延機能 をご確認ください。

© Copyright 2024, Shiguredo Inc Created using Sphinx 8.1.3