レガシー録画機能から新しい録画機能 (セッション単位) への移行¶
重要
レガシー録画機能は 2025 年 12 月リリースの Sora にて廃止します。
Sora 2023.2.0 から新しくセッション単位の録画機能を追加し、既存の録画機能をレガシー録画機能としました。
レガシー録画機能ではできて、新しい録画機能ではできないこと¶
セッションが存在しない状態では録画の開始ができなくなった¶
レガシー録画機能では 20161101.StartRecording API
を利用することで、セッションが存在しない状態でも録画を開始することができました。
新しい録画機能ではセッションが生成される前に録画を開始することはできません。
代わりにセッションが生成されたタイミングで、
セッションウェブフック session.created
の戻り値に "recording": true
を指定することで、
セッション生成と同時に録画を開始することができます。
セッションをまたいだ録画ができなくなった¶
レガシー録画機能では、一度録画を開始したら録画の期限が来るか、 StopRecording
API を実行するまでは録画が続いてしまい、
録画したままという状態が残ってしまうことがありました。
新しい録画機能では、セッションが破棄されたタイミングで録画も終了するため、誰もそのチャネルに接続していないにもかかわらず、 録画したままという状態はなくなります。
変更点¶
API の変更¶
レガシー録画で利用していた
20161101.StartRecording
API と20161101.StopRecording
API はバージョンを20231220
に変更してくださいレガシー録画で利用していた StartRecording API は StartRecording API を利用してください
レガシー録画で利用していた StopRecording API は StopRecording API を利用してください
レガシー録画で利用していた GetStartedRecording API は GetSession API を利用してください
レガシー録画で利用していた ListStartedRecording API は ListSessions API を利用してください
レガシー録画で利用していた ListArchiving API には代わりの API がありません、今後 GetSessionRecordingState API を提供予定です
API の変更についてのご質問がある場合はサポートまでご連絡ください
セッション生成時の録画開始¶
セッションが存在しないタイミングでの録画開始はできなくなりました。
代わりにセッションが生成されたタイミングで、
セッションウェブフック session.created
の戻り値に "recording": true
を指定することで、
セッション生成と同時に録画を開始することができます。
録画を開始するための API を実行する必要はありません。
セッション破棄時の録画終了¶
セッション破棄時に録画を終了するようになりました。
録画を終了するための API を実行する必要はありません。
expire_time
で指定した時間よりも先にセッションが破棄された場合は、その時点で録画を終了します。
expire_time のオプション化¶
レガシー録画では StartRecording
API の expire_time
は必須でしたが、
新しい録画では expire_time
はオプションに変更しています。
expire_time
を指定しない場合は未定義になります。ウェブフックなどでは項目が含まれなくなりますレガシー録画では
expire_time
未定義の場合は0
が入っていました
expire_time
が未指定の場合は、expired_at
も項目として含まれなくなりますexpire_time
に0
は指定できなくなり、0
より大きい値のみ指定可能になりました分割録画ファイルのみ出力を行う場合でも
expire_time
が指定できるようになりました
セッションウェブフック recording.started
と recording.report
への切り替え¶
今まで録画開始/終了のウェブフックはイベントウェブフックで送信していましたが、 新しい録画機能ではセッションウェブフックを利用します。
録画開始 recording.started
と録画レポート recording.report
ウェブフックの中身は以下が異なります。
session_id
を追加していますsession_metadata
を追加しています録画メタデータが指定された場合、
recording_metadata
を追加していますmetadata
をrecording_metadata
に変更しています
イベントウェブフック固有の
log_written
を削除しています
それ以外は同じです。
接続単位の録画ファイルに関してのイベントウェブフック archive.*
については、変更はありません。
report-<recording_id>.json
ファイルの metadata
を recording_metadata
に変更¶
録画メタデータが指定された場合の項目を metadata
から recording_metadata
に変更しています。
接続単位の録画ブロック機能¶
今までの録画機能では接続単位での録画ブロックができませんでしたが、
新しい録画機能では認証成功時に "recording_block": true
を払い出すことで、
その接続の録画をブロックし、録画ファイルを出力しなくなります。
この機能は新しい録画機能だけで利用できます。
レガシー録画機能と新しい録画機能の同時利用¶
レガシー録画機能と新しい録画機能 (セッション単位) は、異なるチャネルであれば同時に利用できます。 例えば、channel_id a ではレガシー録画機能、channel_id b では新しい録画機能(セッション単位)といった利用が可能です。
レガシー録画の無効化¶
sora.conf
にて legacy_recording を false
にすることでレガシー録画機能を無効にできます。