リリースノート

CHANGE

後方互換性のない変更

UPDATE

後方互換性がある変更

ADD

後方互換性がある追加

FIX

バグ修正

2023.2.7

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

リリース:

2024-04-24

  • [FIX] レガシー録画機能または録画機能(セッション単位)利用時の録画停止処理中に、新規コネクションが参加した際に、そのコネクションが切断されるまで、録画停止処理が完了しない問題を修正しました

  • [FIX] レガシー録画機能にて録画停止処理中に録画の開始および StopRecording API 実行した際 RECORDING-INTERNAL-ERROR が返されていたのを STOPPING-RECORDING を返すように修正しました

  • [FIX] クラスター有効時に、ごく稀にノード起動に失敗することがある問題を修正しました

2023.2.5

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

リリース:

2024-03-08

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

2023.2.4

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

重要

このリリースはクラスターをご利用いただいているお客様にのみ提供しております。

リリース:

2024-02-27

  • [FIX] クラスター利用時にでリーダーノードがダウンした場合に、他のノードのセッションも終了してしまう問題を修正しました

2023.2.3

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

リリース:

2024-02-07

  • [FIX] "multistream": false を指定して接続した場合に、配信/視聴ができない問題を修正しました

  • [FIX] セッションウェブフックが一部の HTTP サーバーで正常に処理できず、エラーになる問題を修正しました

  • [FIX] データチャネルの終了時にクライアント側でワーニングが出力される問題を修正しました

2023.2.2

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

リリース:

2024-01-04

変更履歴

  • [FIX] sora.confevent_webhook_url が未指定の状態で録画を開始した場合、セッションが破棄されない問題を修正しました

  • [FIX] ウェブフックで mTLS 利用時に、特定の条件下でクライアント証明書を送らなくなる問題を修正しました

    • ウェブフックで HTTPS を利用する場合は TLS 1.2 のみを利用するように変更しました

  • [FIX] ウェブフックで mTLS 利用時に、 CA 証明書が指定されていない場合に OS 組み込みの証明書を利用できない問題を修正しました

  • [FIX] 統計エクスポーターで mTLS 利用時に、 CA 証明書が指定されていない場合に OS 組み込みの証明書を利用できない問題を修正しました

  • [FIX] 音声ストリーミングで mTLS 利用時に、 CA 証明書が指定されていない場合に OS 組み込みの証明書を利用できない問題を修正しました

  • [FIX] API ログの書き込みに失敗した場合でも、 API の処理を中断しないように修正しました

  • [FIX] PurgeClusterNode API の API ログ操作名が LeaveCluster となっていたのを PurgeClusterNode に修正しました

  • [FIX] クラスターに参加済のノードが、別クラスターに対する JoinCluster API を受け入れてしまう問題を修正しました

  • [FIX] 録画機能で大幅にパケットの到着が遅れている場合、分割録画に失敗することがある問題を修正しました

2023.2.0

メジャーアップデート

リリース:

2023-12-20

ハイライト

  • セッション単位で録画する新しい録画機能を追加しました

    • 今までの録画機能は レガシー録画機能 と名前を変更しました

    • レガシー録画機能と新しい録画機能は別チャネルであれば同時に利用することができます

    • レガシー録画機能は 2025 年 12 月リリース予定の Sora にて廃止されます

    • 詳細は 録画機能 (セッション単位) をご確認ください

  • 接続単位で録画をブロックできる機能を追加しました

    • 今まではチャネルに参加している全ての接続が録画されていましたが、新しい録画機能では接続単位で録画をブロックできるようになりました

    • 新しい録画機能でのみ利用できます

  • より大規模な配信を可能にする配信ワーカー機能を追加しました

    • 今まで音声や映像をクライアントに配信するワーカーは 1 つでしたが、配信するワーカーを複数にすることで、より多くのユーザーに配信することができるようになりました

  • データチャネルの負荷を下げるために SCTP パケットのチェックサム計算を省略する機能を追加しました

    • 利用するにはクライアント側もチェックサム計算を省略する機能に対応している必要があります

  • ウェブフックで IPv6 アドレスが利用できるようになりました

  • ウェブフックなどでルート CA 証明書に OS 組み込みのものを利用するようにしました

正式版

廃止情報

破壊的変更

変更履歴

  • [CHANGE] ウェブフックなどで利用するルート CA 証明書に OS 組み込みのものを利用するように変更しました

  • [UPDATE] DataChannel を利用したメッセージングのみで接続する場合に rolesendrecv 以外でも接続ができるようになりました

  • [ADD] シグナリング "type": "offer"channel_idsession_id を追加しました

  • [ADD] connection.jsonlice_connection_state に ICE コネクションステート checkingdisconnected だった時間を追加しました

  • [ADD] Sora が利用している Erlang VM の設定を追加できる環境変数 SORA_ADDITIONAL_ERL_ARGS を追加しました

  • [ADD] 認証成功時の払い出しに検証用の RTP パケットロスシミュレーターの設定値、 rtp_packet_loss_simulator_incomingrtp_packet_loss_simulator_outgoing が指定できるようになりました

  • [ADD] sora.jsonlinternal.jsonl に UUIDv4 を Base32 でエンコードしたユニークな ID を含めるようにしました

    • "id": "base32(uuidv4)"

  • [FIX] データチャネルで利用する SCTP のストリーム ID 採番を RFC 8832 に準拠させました

  • [FIX] 録画機能で H.264 利用時に送られてくる分割ペイロードが壊れている場合は処理をスキップするように修正しました

OBS WHIP

これは実験的機能です

  • [ADD] OBS WHIP で User-Agent として送られてくる情報を sora_client としてウェブフックで送信するようにしました

    "sora_client": {
      "raw": "Mozilla/5.0 (OBS-Studio/30.0.0; Mac OS X; ja-JP)",
      "type": "OBS-Studio",
      "version": "30.0.0",
      "environment": "environment":"Mozilla/5.0 (OBS-Studio/30.0.0; Mac OS X; ja-JP)"
    },
    
  • [ADD] OBS WHIP で AV1 が動作するようにしました

    • OBS WHIP で AV1 を配信する仕組みは 2024 年 4 月 現在、 OBS には組み込まれていません

転送フィルター機能

これは実験的機能です

転送フィルターに versionmetadata が指定できるようになりました。

version を指定することで、転送フィルターの更新 API が並列で実行されても期待した値に変更することができるようになりました。

  • [ADD] 転送フィルターに version を設定できるようになりました

  • [ADD] 転送フィルターに metadata を設定できるようになりました

  • [ADD] 転送フィルター API CreateChannelForwardingFilterCreateConnectionForwardingFilterversion を指定できるようになりました

  • [ADD] 転送フィルター API CreateChannelForwardingFilterUpdateChannelForwardingFiltermetadata を指定できるようになりました

  • [ADD] 転送フィルター API CreateConnectionForwardingFilterUpdateConnectionForwardingFiltermetadata を指定できるようになりました

  • [ADD] 転送フィルター API UpdateChannelForwardingFilterUpdateConnectionForwardingFilter API に指定した expected_version が既存の version と一致していない場合は更新エラーになるようになりました

    • expected_version が既存のバージョンと一致した場合のみ desired_version で指定した値で version の値を更新します

  • [ADD] セッションウェブフックの戻り値に versionmetadata を指定できるようになりました

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

  • [ADD] シグナリング時に versionmetadata を指定できるようになりました

セッション API

  • [ADD] 指定したセッションを取得する GetSession API を追加しました

    • channel_id を指定してセッションを取得します

  • [ADD] セッション一覧を取得する ListSessions API を追加しました

    • 全てのセッション一覧を取得します

録画機能

  • [ADD] sora.conf に単一録画ファイルと分割録画ファイルの両方を出力する機能を有効にするかどうかを指定する recording_dual_output を追加しました

    • デフォルトは true です

    • false に指定した場合は 単一録画ファイルと分割録画ファイルの両方が出力 のパターンを指定できなくなります

  • [ADD] sora.conf に録画期限の最大値を指定する recording_max_expire_time を追加しました

    • デフォルトは 86400 s です

    • 設定できる最大値は 86400 s です

    • レガシー録画機能では一括録画と一括&分割録画で expire_time が指定できます

    • 新しい録画機能(セッション単位)では一括録画、分割録画、一括&分割録画で expire_time が指定できます

  • [ADD] sora.conf に分割録画時の分割時間の最大値を指定する recording_max_split_duration を追加しました

    • デフォルトは 86400 s です

    • 設定できる最大値は 86400 s です

  • [ADD] sora.conf に一括録画を含む場合に録画期限の設定を要求する recording_expire_time_required を追加しました

    • この設定は一括録画時に録画ファイルが大きくなりすぎるのを防ぐための設定です

    • デフォルトは false です

    • この設定を true にした場合、一括録画を含む場合に expire_time が必須になります

    • この設定を true にした場合、レガシー録画機能では expire_time0 以外の値を指定する必要があります

    • この設定を true にした場合、新しい録画機能(セッション単位)では expire_time の値を指定する必要があります

    • この設定を true にした場合でも分割録画のみの場合は expire_time は必須になりません

新しい録画機能 (セッション単位)

今までの録画機能は レガシー録画機能 と名前を変更しました。

レガシー録画機能と新しい録画機能は別チャネルであれば同時に利用することができます。

  • [ADD] sora.conf にレガシー録画を有効にするかどうか指定する legacy_recording を追加しました

    • デフォルトは true です

    • false にした場合、レガシー録画機能が利用できなくなります

    • この設定は移行用の設定で、 2025 年 12 月リリース予定の Sora にて廃止されます。

  • [ADD] セッションウェブフック session.created 時に "recording": true を指定することで録画を開始します

  • [ADD] セッションウェブフック session.created 時に "recording_expire_time" を指定することができるようになりました

    • セッション破棄時に録画は自動で終了します

    • セッション破棄前に期限が来た場合はそこで録画は終了します

  • [ADD] セッションウェブフック session.created 時に "recording_split_duration" を指定することができるようになりました

  • [ADD] セッションウェブフック session.created 時に "recording_split_only" を指定することができるようになりました

  • [ADD] セッションウェブフック session.created 時に "recording_metadata" を指定することができるようになりました

  • [ADD] セッションウェブフック recording.started を追加しました

  • [ADD] セッションウェブフック recording.report を追加しました

  • [ADD] 新しい録画用の StartRecording API を追加しました

    • セッション破棄時に自動で録画は終了します

    • expire_time がオプションになっています

    • expire_time デフォルトは未定義です

  • [ADD] 新しい録画用の StopRecording API を追加しました

詳細については 録画機能 (セッション単位) をご確認ください。

移行については レガシー録画機能から新しい録画機能 (セッション単位) への移行 をご確認ください。

新しい録画機能 (セッション単位) における接続単位の録画ブロック機能

これは実験的機能です

この機能は新しい録画機能 (セッション単位) でのみ利用できます。レガシー録画機能では利用できません

  • [ADD] 認証成功時に "recording_block": true を払い出すことで、その接続の録画をブロックし、録画ファイルの出力を拒否できるようになりました

    • これは録画が有効になっていない場合に払い出しても問題ありません

    • この値を途中で変更することはできません

  • [ADD] イベントウェブフック connection.{created, updated, destroyed}data"recording_block" の項目を追加しました

    • 認証成功時に "recording_block": true を払い出していれば true に、それ以外は false になります

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

sora.confsignaling_notify_metadatafalse にした際の挙動を変更しました。

外部への HTTP リクエストに HTTP ヘッダーを追加

ウェブフックや統計エクスポーター、音声ストリーミングを利用した際の外部への HTTP リクエストに、 x-sora- prefix とは別に sora- prefix の HTTP ヘッダーを追加しました。

これは RFC 6648 による x- prefix の非推奨化に準拠するためです。

今後 x-sora- prefix は非推奨になります。 現時点で具体的な時期は決まっていませんが、将来的に 1 年以上の移行期間を設けて廃止する予定です。

  • [ADD] セッションウェブフックに sora-session-webhook-type ヘッダーを追加しました

    • すでにある x-sora-session-webhook-type ヘッダーは将来的に廃止予定です

  • [ADD] イベントウェブフックに sora-event-webhook-type ヘッダーを追加しました

    • すでにある x-sora-event-webhook-type ヘッダーは将来的に廃止予定です

  • [ADD] 統計エクスポーターに sora-stats-exporter-type ヘッダーを追加しました

    • すでにある x-sora-stats-exporter-type ヘッダーは将来的に廃止予定です

  • [ADD] セッションウェブフックに sora-session-id ヘッダーを追加しました

  • [ADD] イベントウェブフックに sora-connection-id ヘッダーを追加しました

  • [ADD] イベントウェブフックに sora-session-id ヘッダーを追加しました

ウェブフック

  • [CHANGE] セッションウェブフック audio-streaming.startedmax_connectionstotal_connections が含まれなくなりました

  • [CHANGE] セッションウェブフック audio-streaming.stoppedmax_connectionstotal_connections が含まれなくなりました

  • [CHANGE] クラスター機能利用時のセッションウェブフック session.destroyedconnections が含まれなくなりました

  • [ADD] sora.conf にウェブフックで IPv6 利用する webhook_ipv6 を追加しました

    • デフォルトは false です

    • この設定を有効にしない限りウェブフックで IPv6 は利用できません

  • [ADD] sora.conf にイベントウェブフック connection.updated の送信間隔を変更する connection_updated_webhook_interval を追加しました

    • デフォルトは 1 min です

    • 最小は 1 min です

    • 最大は 10 min です

    • 時間単位は min のみが指定できます

  • [ADD] sora.conf に 録画イベントウェブフック split-archive.available を送信しないようにする ignore_split_archive_available_webhook を追加しました

    • デフォルトは false です

  • [ADD] 接続イベントウェブフック connection.{created, updated, destroyed} に ICE コネクションステートが checkingdisconnected だった時間の項目を追加しました

    • data.ice_connection_state.total_checking_duration_mschecking だった合計時間(ミリ秒)が入ります

    • data.ice_connection_state.total_disconnected_duration_msdisconnected だった合計時間(ミリ秒)が入ります

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

    • spotlighttrue の時だけ追加されます

  • [ADD] 接続イベントウェブフック connection.{created, updated, destroyed} に ICE コネクションステートの checkingdisconnected の時間を通知する項目を追加しました

    • ice_connection_state 項目を追加しました

    • ice_connection_statetotal_checking_duration_mschecking だった合計時間(ミリ秒)が入ります

    • ice_connection_statetotal_disconnected_duration_msdisconnected だった合計時間(ミリ秒)が入ります

    "data": {
      "ice_connection_state": {
        "total_checking_duration_ms": 0,
        "total-disconnected_duration_ms": 0
      }
    }
    
  • [ADD] セッションウェブフック session.updated を追加しました

    • クラスターが有効時には connections は含まれません

    • 録画機能 (セッション単位) 有効時に recording 項目が含まれます

  • [ADD] セッションウェブフック session.destroyedreason が含まれるようになりました

    • reason には以下が含まれます

      • normal

        • 正常終了

      • terminated_api

      • abort

        • 異常終了

  • [ADD] sora.conf にセッションウェブフック session.updated を送信しないようにする ignore_session_updated_webhook を追加しました

    • デフォルトは false です

  • [ADD] sora.conf にセッションウェブフック session.updated の送信間隔を変更する session_updated_webhook_interval を追加しました

    • デフォルトは 1 min です

    • 最小は 1 min です

    • 最大は 10 min です

    • 時間単位は min のみが指定できます

  • [FIX] 認証ウェブフックで simulcast_ridspotlighttrue の場合は追加しないようにしました

    • simulcasttrue かつ spotlightfalse の時だけ追加されます

データチャネル

  • [ADD] データチャネルの SCTP のパケットのチェックサム計算を省略する仕組みを追加しました

    • データチャネルは DTLS レイヤーでデータ保護が行われているため、 SCTP のチェックサムは追加の整合性を得ることができないため省略することができます

    • クライアント側もチェックサム計算を省略する機能に対応している必要があります

    • データチャネル利用時の CPU リソースがクライアント、SFU ともに節約されます

    • https://datatracker.ietf.org/doc/html/draft-ietf-tsvwg-sctp-zero-checksum

  • [ADD] SCTP のチェックサムを省略した回数の統計情報を追加しました

    • total_received_sctp_zero_checksum

    • total_sent_sctp_zero_checksum

クラスター機能

これは実験的機能です

Sora 2023.1.x で構築されているクラスターは Sora 2023.2.x へローリングアップデートで移行できます。

警告

2023.2.x から 2023.1.x へのローリングアップデートは行えません。クラスターを再構築する必要があります。

  • [CHANGE] クラスター関連のログは cluster.jsonl に出力するよう変更しました

  • [ADD] 最新のバージョンと 1 世代前のバージョンの Sora ノードが混在する状態でのクラスター運用ができるようになりました

    • 全てのクラスターに参加するノードが同じバージョンになるまでは 1 世代前のバージョンと混在できる仕組みを追加しました

    • Sora 2023.2.x2023.1.x で、特定のノードのアップデートが難しい場合でも、先に他のノードをアップデートすることができるようになります

    • クラスターに 1 世代前のバージョンのノードが混在している場合、新しい接続は全て古いバージョンのクラスターの仕組みを利用します

    • 全てのノードが新しいバージョンのクラスターになったタイミングで、新しいバージョンのクラスターの仕組みを利用しはじめます

詳細については クラスター機能 をご確認ください。

注釈

InitCluster API でクラスターを初期化する際には、新旧バージョンは混在させないでください。また Sora 2023.2.x で構成されたクラスターに JoinCluster API で Sora 2023.1.x のノードを参加させることはできません。

配信ワーカー機能

これは実験的機能です

配信ワーカー機能は音声や映像を配信するワーカーを複数用意することで、 1 チャネルで高ビットレートの映像をより多くのクライアントに配信することができるようになります。

  • [ADD] sora.conf に音声や映像の 1 配信に利用する配信ワーカー数を指定する rtp_publish_worker_number を追加しました

    • デフォルトの配信ワーカー数は 1 です

    • 同時に 100 クライアント以上へ配信する場合はまず 10 を設定することを推奨します

    • ワーカー数が 10 であれば 1 チャネル 1000 クライアント以上の配信ができるようになります

    • 最小は 1 で、最大は 500 です

ワーカー数の設定を 10 以上で検討している場合はまずサポートにご相談ください。

詳細については 配信ワーカー機能 をご確認ください。

シグナリング通知メタデータ拡張機能

これは実験的機能です

  • [ADD] 認証成功時に、シグナリング通知メタデータ拡張の初期値を払い出す signaling_notify_metadata_ext を追加しました。

統計エクスポーター

これは実験的機能です

  • [ADD] sora.conf に統計エクスポーターをデフォルトで有効にするかどうかの default_stats_exporter を追加しました

    • デフォルトは true です

  • [ADD] 認証成功時の払い出しで接続単位で統計エクスポーターを有効にするかどうかを指定する stats_exporter を追加しました

    • false を設定した場合は stats_collector_url が指定されていたとしても統計情報がエクスポートされません

H.265

これは実験的機能です

2024 年 4 月 現在、WebRTC H.265 のプロファイルに対応している WebRTC ライブラリはありません。 現在 仕様策定中 です。

  • [ADD] H.265 サイマルキャストに対応しました

  • [ADD] sora.conf に H.265 のデフォルトレベル ID を指定する default_h265_param_level_id を追加しました

    • デフォルトは 93 (3.1) です

  • [ADD] 認証払い出し時に H.265 のデフォルトレベル ID を指定する video_h265_params を追加しました

    • "video_h265_params": {"level_id": 93} のように指定できます

    • level_id の値は 0 から 255 の間である必要があります

  • [ADD] シグナリング時に H.265 のデフォルトレベル ID を指定する h265_params を追加しました

    • "video": {"codec_type": "H265", "h265_params": {"level_id": 93}} のように指定できます

    • level_id の値は 0 から 255 の間である必要があります

  • [ADD] sora.conf に、シグナリング時に H.265 のパラメータ指定を許可するかどうか設定する signaling_h265_params を追加しました

    • デフォルトは false です

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 項目のレガシーな入れ子構造を利用する sora_conf-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 が含まれます

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    • この設定を利用する場合 sora_conf-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 モードへ遷移する機能を追加しました

© Copyright 2024, Shiguredo Inc Created using Sphinx 7.3.7