リリースノート

CHANGE

後方互換性のない変更

UPDATE

後方互換性がある変更

ADD

後方互換性がある追加

FIX

バグ修正

2023.1.6

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

リリース:

2024-03-08

変更履歴

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

2023.1.3

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

リリース:

2023-10-17

変更履歴

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

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

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

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

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

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

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

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

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

2023.1.2

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

リリース:

2023-08-10

変更履歴

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

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

2023.1.1

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

リリース:

2023-07-14

変更履歴

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2023.1.0

メジャーアップデート

リリース:

2023-06-28

サポート期間変更

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

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

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

ハイライト

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

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

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

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

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

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

互換なしの変更情報

廃止情報

変更履歴

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

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

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

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

    • これは移行用設定です

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

    • これは移行用設定です

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

    • これは移行用設定です

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

セッション終了 API

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

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

ヘルスチェック

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

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

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

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

シグナリング通知

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

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

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

    • デフォルトは true です

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

OBS (WHIP) 対応

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

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

    • デフォルトは false です

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Lyra 録音機能

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

詳細は Lyra コーデックの録画ファイル をご確認ください。

転送フィルター機能

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    • デフォルト は false です

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

    • デフォルト は true です

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

SDP 再利用機能

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

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

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

    • デフォルトは true です

音声ストリーミング機能

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

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

    • この機能はセッション開始時に指定可能です

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

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

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

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

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

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

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

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

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

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

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

    • デフォルトは 5 s です

    • 最小は 5 s です

    • 最大は 300 s です

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

    • デフォルトは 60 s です

    • 最小は 60 s です

    • 最大は 600 s です

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

    • デフォルトは 30 s です

    • 最小は 30 s です

    • 最大は 600 s です

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

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

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

2022.2.3

リリース:

2023-02-08

変更履歴

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

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

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

2022.1.4

リリース:

2023-02-08

変更履歴

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

2022.2.2

リリース:

2023-01-05

変更履歴

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

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

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

2022.2.1

リリース:

2022-12-21

変更履歴

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

2022.2.0

リリース:

2022-12-21

ハイライト

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

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

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

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

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

互換なしの変更情報

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

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

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

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

変更履歴

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

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

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

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

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

JSONL 形式でのログ出力

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

    • デフォルトは true です

    • これは移行用設定です

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

    • デフォルトは true です

    • これは移行用設定です

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

    • sora ログ

    • internal ログ

    • signaling ログ

    • api ログ

    • auth_webhook ログ

    • session_webhook ログ

    • session_webhook_error ログ

    • event_webhook ログ

    • event_webhook_error ログ

    • connection ログ

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

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

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

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

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

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

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

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

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

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

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

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

クラスター機能

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

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

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

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

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

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

    • node_in_chargenode_name に変更しました

    • node_in_charge_epochepoch に変更しました

    • node_in_charge_epoch_staleepoch_latest に変更しました

    • node_in_charge_connectedconnected に変更しました

Lyra コーデックへの対応

これは実験的機能です

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

    • デフォルトは false です

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

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

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

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

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

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

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

音声ストリーミング機能

これは実験的機能です

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

音声冗長化機能

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

センシティブデータ

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

    • デフォルトでは false です

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

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

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

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

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

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

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

    • デフォルトでは true です

    • これは移行用設定です

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

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

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

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

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

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

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

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

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

ウェブフック統計情報

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

    • total_auth_webhook_allowed

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

    • total_auth_webhook_denied

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

    • total_successful_auth_webhook

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

    • total_failed_auth_webhook

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

    • total_successful_session_webhook

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

    • total_failed_session_webhook

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

    • total_successful_event_webhook

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

    • total_failed_event_webhook

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

クラッシュログ出力 API

これは実験的機能です

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

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

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

2022.1.3

リリース:

2022-11-02

変更履歴

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

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

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

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

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

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

2022.1.1

リリース:

2022-07-12

変更履歴

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

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

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

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

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

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

2022.1.0

リリース:

2022-06-29

ハイライト

  • Ubuntu 22.04 に対応しました

  • RHEL 9 に対応しました

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

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

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

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

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

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

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

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

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

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

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

廃止情報

  • sora.confdemo を廃止しました

  • sora.confremote_stats を廃止しました

  • sora.confunuse_metadata_list を廃止しました

  • sora.confuse_re_offer を廃止しました

  • GetAllRemoteStats API を廃止しました

  • GetChannelRemoteStats API を廃止しました

  • GetConnectionRemoteStats API を廃止しました

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

互換なしの変更情報

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    • cluster_node_namenode_name へ変更しました

    • cluster_api_urlexternal_api_url へ変更しました

    • cluster_signaling_urlexternal_signaling_url へ変更しました

    • sora_versionversion に変更しました

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

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

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

変更履歴

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

bundle_id の追加

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

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

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

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

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

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

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

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

sora.log と internal.log の出力

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

    • Sora 2021.2.7 まで

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

    • Sora 2022.1.0 から

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

録画機能

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

クラスター機能

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

統計機能

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    • デフォルトでは true

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

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

    • デフォルトでは true

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

© Copyright 2023, Shiguredo Inc Created using Sphinx 6.2.1