WebRTC SFU Sora ドキュメント¶
製品のお問い合わせなどは sora at shiguredo.jp までお願いいたします。 (このメールアドレスへの特定電子メールの送信を拒否いたします)
重要なお知らせ¶
署名アルゴリズムに SHA-1 が利用されている中間証明書をご利用されているお客様へ¶
Sora 2023.2.0 から 2024.1.0 までは署名アルゴリズムが SHA-1 の中間証明書を利用した場合、 Bad Certificate エラーとして接続が拒否されます。
影響のある機能は下記の機能です。
ウェブフック機能
音声ストリーミング機能
統計エクスポーター機能
もし、このエラーがログに出力された場合、 Sora 2024.1.3 をご利用ください。
Sora RHEL 版の追加料金について¶
RHEL 9 のフルサポートが終了する 2027 年 6 月 1 日より、Sora RHEL 版をご利用のお客様については、 サポート費用としてライセンス料金に 10% (ただし最大で 10 万円) の料金を上乗せさせていただきます。
料金例¶
ライセンス料金が 60 万円の場合は 6 万円
ライセンス料金が 84 万円の場合は 8.4 万円
ライセンス料金が 120 万円の場合は 10 万円
ライセンス料金が 252 万円の場合は 10 万円
RHEL の場合、Ubuntu と比べて維持や Sora の動作検証コストが大きいためで、 ご理解いただきますようお願いいたします。
レガシー録画機能の廃止について¶
2023 年 12 月リリースの Sora 2023.2.0 で新しい録画機能を追加しました。 今までの録画機能はレガシー録画機能と名前を変更しました。 2025 年 12 月リリース予定の Sora でレガシー録画機能を廃止します。
移行については レガシー録画機能から新しい録画機能への移行 をご確認ください。
廃止については レガシー録画機能の廃止 をご確認ください。
レガシー録画機能をご利用のお客様は、新しい録画機能へ移行をご検討ください。
機能や移行に関してのご不明点などがあれば、サポートまでお問い合わせください。
レガシーストリーム(非マルチストリーム)機能の廃止について¶
2024 年 6 月リリースの Sora 2024.1.0 でレガシーストリーム機能をデフォルトで無効にしました。
2025 年 6 月リリース予定の Sora でレガシーストリーム機能を廃止します。
移行については レガシーストリーム(非マルチストリーム)機能からマルチストリームへの移行 をご確認ください。
廃止については レガシーストリーム(非マルチストリーム)機能の廃止 をご確認ください。
レガシーストリーム機能をご利用のお客様は、マルチストリーム機能へ移行をご検討ください。
機能や移行に関してのご不明点などがあれば、サポートまでお問い合わせください。
Ubuntu 24.04 版の提供開始について¶
Sora 2024.1.0 から Ubuntu 24.04 版の提供を開始しました。
Ubuntu 24.04 版への切り替えをご希望のお客様はサポートまでご連絡ください。
Ubuntu 20.04 版の提供終了について¶
Ubuntu 20.04 は 2025 年 4 月末でサポートが終了となるのに合わせて、Sora の Ubuntu 20.04 版については以下のとおりとなります。
- パッケージの提供
2024 年 6 月のリリースの 2024.1.0、およびその後リリースされる可能性のある 2024.1.x の提供をもって終了
- サポートの終了
2024.1.0 およびおよびその後リリースされる可能性のある 2024.1.x に対しては 2025 年 6 月末で終了
Ubuntu 20.04 版をご利用のお客様は、早めに OS の変更をご検討の上、移行先の OS をサポートまでご連絡下さい。
CentOS 7 版の提供終了について¶
CentOS 7 は 2024 年 6 月末でサポートが終了となるのに合わせて、Sora の CentOS 7 版については以下のとおりとなります。
- パッケージの提供
2023 年 12 月にリリースの 2023.2.0、およびその後リリースされる可能性のある 2023.2.x の提供をもって終了
- サポートの終了
2023.2.0 およびおよびその後リリースされる可能性のある 2023.2.x に対しては 2024 年 12 月末で終了
CentOS 7 版をご利用のお客様は、早めに OS の変更をご検討の上、移行先の OS をサポートまでご連絡下さい。
古いドキュメントについて¶
古いドキュメント をご確認ください。
このドキュメントについて¶
このドキュメントは WebRTC SFU Sora 2024.1.3 に対応しています。
- 2023.2.x から 2024.1.x への移行
- 概要
- sora.conf の default_h264_profile_level_id を廃止しました
- h264_profile_level_id の払い出しの設定を廃止しました
- Lyra コーデックを廃止しました
- Chrome/Edge の不具合による録画機能利用時の音ズレ問題について
- connection.destroyed の reason に破壊的変更を行いました
- TerminateSession API を非同期に変更しました
- ユーザーエージェント統計を非推奨にしました
- ユーザーエージェント統計 API を非推奨にしました
- 統計エクスポーターを非推奨にしました
- 認証ウェブフック失敗時に
auth_webhook_error.jsonl
に出力するように変更しました - ウェブフックの確立までの時間を指定する
webhook_connect_timeout
を追加しました - クラスターのローリングアップデートについて
- JoinCluster API を RegisterClusterNode API に変更しました
- ListClusterNodes API の include_all_known_nodes を非推奨にしました
- クラスター機能の
cluster_auto_reconnect
を廃止しました - クラスター機能の
contact_node_name_list
を廃止しました - クラスターリレー機能を追加し、デフォルトで有効にしました
- ライセンスで決められた最大同時接続数の合計を維持する機能
- スポットライト数のセッションウェブフック
session.created
での払い出しに対応しました - 配信ワーカー機能をメディア配信ワーカー機能に変更
- プレイアウト遅延機能
- レガシー録画機能から新しい録画機能 (セッション単位) への移行
- レガシーストリーム(非マルチストリーム)機能からマルチストリーム機能への移行
- リリースノート
- 用語集
- 既知の問題
- 実験的機能
- 非推奨機能
- CentOS 7 対応
- Ubuntu 20.04 対応
- レガシー録画機能の廃止
- レガシーストリーム(非マルチストリーム)機能の廃止
- 統計エクスポーター機能の廃止
- セッションの同時説速数が
0
の際にmultistream
とspotlight
が異なる新規接続のが来た場合の挙動の変更 - ユーザーエージェント統計の廃止
- JoinCluster API
- ListClusterNodes API の include_all_known_nodes の廃止
- sora.conf の legacy_event_webhook_connection_destroyed_reason の廃止
- sora.conf の legacy_auth_webhook_log の廃止
- スポットライト機能
spotlight_number
項目の認証成功時の払い出しの非推奨化 - ウェブフックと統計エクスポーターの HTTP ヘッダー
x-sora
prefix の非推奨化 - API
- 廃止機能
- 概要
- 認証成功時の払い出し h264_profile_level_id の廃止
- sora.conf の default_h264_profile_level_id の廃止
- Lyra コーデック対応の廃止
- sora.conf の legacy_log_format の廃止
- sora.conf の legacy_log_extension の廃止
- sora.conf の legacy_webhook_audio_video_json_structure の廃止
- DataChannel で利用している SCTP 関連の実験的な設定の廃止
- Ubuntu 18.04 サポートの終了
- sora.conf の split_archive_legacy_prefix の廃止
- sora.conf の default_multistream の廃止
- redact_archive_metadata_sensitive_data と redact_api_sensitive_data の廃止
- recording.report の metadata_filename と metadata_file_path の廃止
- シグナリング通知メタデータ metadata_list の廃止
"type": "update"
の廃止- sora.conf の demo の廃止
- sora.conf の remote_stats の廃止
- StopRecording API の redirect の配信
- CentOS 8 対応
- extmap_allow_mixed 設定のデフォルト有効化と廃止
- スポットライトレガシー機能の廃止
rtp
にある RTCP 関連統計情報を廃止sora.conf
のopus_param_clock_rate
を廃止sora.conf
のdcsctp_association_max_retrans
を廃止- role の upstream と downstream を廃止
- client_id を指定する設定の廃止
- 旧サイマルキャスト画質変更 API の廃止
- bin/sora start の廃止
- Ubuntu 16.04 サポートの終了
- チュートリアル
- 本番稼働に向けて
- IPv4 アドレスの固定
- IPv6 アドレスの利用について
- sora.conf の turn_fqdn を設定する
- ウェブフックなどで利用する CA 証明書のインストール
- HTTP API のループバックアドレスからのみのアクセス
- シグナリングのループバックアドレスからのみのアクセス
- ファイルディスクリプタ数の設定
- systemd の適用
- TURN-TLS、TURN-TCP、シグナリングで 443 番ポートを使用する
- カーネルパラメーターの適用
- コンテナ環境での利用する場合
- SDK の利用
- やりたいことが 1:1 の双方向配信の場合
- やりたいことが複数人での双方向配信の場合
- やりたいことが 1:多 の双方向配信の場合
- やりたいことが 1:多 の片方向配信で、大規模の場合
- やりたいことが OBS からの配信の場合
- やりたいことが OBS での取り込みの場合
- Edge が機能要件に含まれている場合
- Firefox が機能要件に含まれている場合
- 認証を外部の指定した HTTP サーバーで判断したい場合
- 接続、切断の検知を外部の指定した HTTP サーバーで利用したい場合
- 配信されている音声や映像を記録したい場合
- クライアント側で参加してきたユーザーの情報を通知したい場合
- ライセンス
- ログファイル
- sora.conf リファレンス
- 単位指定
- 範囲表記
- license_file
- label
- ipv4_address
- ipv6
- ipv6_address
- ipv6_only
- devtools
- media_publish_worker_number
- auth_webhook_url
- auth_webhook_log
- session_webhook_url
- session_webhook_worker_number
- session_created_timeout
- session_destroyed_timeout
- session_updated_webhook_interval
- session_created_response_validate_warning_as_error
- event_webhook_url
- event_webhook_worker_number
- stats_webhook_url
- stats_webhook_log
- stats_webhook_worker_number
- webhook_ipv6
- webhook_connect_timeout
- webhook_response_timeout
- connection_updated_webhook_interval
- webhook_insecure
- webhook_basic_authn
- webhook_basic_authn_user_id
- webhook_basic_authn_password
- webhook_proxy_url
- webhook_proxy_auth_user
- webhook_proxy_auth_password
- webhook_tls_fullchain_file
- webhook_tls_privkey_file
- webhook_tls_verify_cacert_file
- ignore_connection_updated_webhook
- ignore_connection_failed_webhook
- ignore_session_updated_webhook
- ignore_session_vanished_webhook
- ignore_audio_streaming_webhook
- ignore_audio_streaming_failed_webhook
- ignore_spotlight_changed_webhook
- ignore_recording_started_webhook
- ignore_archive_started_webhook
- ignore_split_archive_available_webhook
- ignore_connection_rtc_webhook
- archive_dir
- archive_tmp_dir
- recording_max_expire_time
- recording_max_split_duration
- recording_expire_time_required
- recording_dual_output
- signaling_port
- signaling_loopback_address_only
- signaling_notify
- signaling_notify_session_id
- signaling_notify_client_id
- signaling_notify_bundle_id
- signaling_notify_connection_id
- signaling_notify_connection_created_timestamp
- signaling_notify_media
- signaling_notify_metadata
- signaling_notify_metadata_ext
- signaling_notify_authn_metadata_max_size
- signaling_notify_network
- signaling_notify_rtp_stream
- signaling_notify_recording
- signaling_notify_forwarding_filter
- signaling_notify_audio_streaming_failed
- signaling_vp9_params
- signaling_av1_params
- signaling_h264_params
- signaling_h265_params
- signaling_bundle_id
- copy_websocket_signaling_header_names
- websocket_signaling_ping_interval
- websocket_signaling_pong_timeout
- websocket_stats_timer_interval
- default_data_channel_signaling
- default_ignore_disconnect_websocket
- data_channel_messaging
- data_channel_messaging_only
- data_channel_stats_timer_interval
- data_channel_stats_max_retransmits
- whip
- whip_bearer_token_metadata_key
- whip_turn
- whep
- whep_bearer_token_metadata_key
- whep_turn
- api_port
- api_loopback_address_only
- api_cors_origin
- turn
- turn_realm
- turn_fqdn
- turn_tls_fqdn
- turn_tcp
- turn_tcp_allocate_success_delay_time
- turn_tcp_listen_port
- turn_tcp_port
- turn_tcp_only
- turn_tls
- turn_tls_port
- turn_tls_only
- rtx
- ulpfec
- audio_red
- generic_nack
- default_audio_bit_rate
- default_video_bit_rate
- default_vp9_param_profile_id
- default_av1_param_profile
- default_h264_param_profile_level_id
- default_h265_param_level_id
- default_simulcast_rid
- simulcast_encodings_file
- simulcast_multicodec
- simulcast_codecs_file
- default_forwarding_pli_interval
- forwarding_simulcast
- signaling_forwarding_filter
- audio_streaming_url
- default_audio_streaming_result_push
- default_audio_streaming_language_code
- audio_streaming_max_retries
- audio_streaming_retry_interval
- audio_streaming_tls_fullchain_file
- audio_streaming_tls_privkey_file
- audio_streaming_tls_verify_cacert_file
- recycle_media_section
- hide_origin_username
- connection_created_wait_timeout
- default_spotlight_focus_rid
- default_spotlight_unfocus_rid
- default_spotlight_unfocus_audio
- default_spotlight_unfocus_audio_rate_limit
- default_spotlight_delayed_focus
- default_spotlight_delayed_focus_interval
- default_spotlight_auto_unfocus
- default_spotlight_auto_unfocus_interval
- default_spotlight_focus_min_interval
- default_spotlight_number
- spotlight_encodings_file
- multistream_auto_sharing_video_bit_rate
- default_rtc_stats
- rtc_stats_log
- user_agent_stats
- ice_connection_state_disconnected_timeout
- ice_connection_state_failed_timeout
- skip_redact_sensitive_data
- e2ee
- stats_collector_url
- default_stats_exporter
- stats_exporter_number
- stats_exporter_tls_fullchain_file
- stats_exporter_tls_privkey_file
- stats_exporter_tls_verify_cacert_file
- node_name
- cluster
- cluster_temporary_node
- cluster_relay
- default_cluster_affinity
- cluster_affinity_threshold
- external_signaling_url
- external_api_url
- cluster_listen_min_port
- cluster_listen_max_port
- data_dir
- av1
- h265
- h264_b_frame
- h265_b_frame
- legacy_auth_webhook_log
- legacy_recording
- legacy_stream
- legacy_event_webhook_connection_destroyed_reason
- rtp_hdrext_video_orientation
- rtp_hdrext_video_content_type
- rtp_hdrext_video_timing
- rtp_hdrext_playout_delay
- default_playout_delay_min_delay
- default_playout_delay_max_delay
- rtp_hdrext_color_space
- rtp_hdrext_sdes_mid
- rtp_hdrext_abs_capture_time
- rtp_hdrext_dependency_descriptor_vp9
- rtp_packet_loss_simulator_incoming
- rtp_packet_loss_simulator_outgoing
- data_channel_packet_loss_simulator_incoming
- data_channel_packet_loss_simulator_outgoing
- opus_param_channels
- opus_param_maxplaybackrate
- opus_param_stereo
- opus_param_sprop_stereo
- opus_param_ptime
- opus_param_minptime
- opus_param_useinbandfec
- opus_param_usedtx
- systemd
- Linux カーネルチューニング
- IPv6 での動作について
- メタデータ
- 概要
- 接続時の認証メタデータ指定
- 認証ウェブフック成功時のメタデータ払い出し
- 認証ウェブフック成功時のイベントメタデータ払い出し
- 接続時のシグナリング通知メタデータ指定
- 認証ウェブフック成功時のシグナリング通知メタデータ払い出し
- シグナリング通知メタデータ拡張
- セッション生成時のセッションメタデータ払い出し
- 一括録画ファイルメタデータ archive-<connection_id>.json
- 分割録画ファイルメタデータ split-archive-<connection_id>_<index>.json
- 録画(セッション単位) の StartRecording API で指定するメタデータ
- 録画(セッション単位) のセッションウェブフック
session.created
で指定するメタデータ - レガシー録画の StartRecording API で指定するメタデータ
- センシティブデータ
- ウェブフック
- 概要
- ウェブフックリクエスト
- ウェブフックの設定
- ウェブフックのタイムアウト時間の指定
- ウェブフックリクエストなどの送信先サーバー証明書の検証に利用する OS 組み込みのルート CA 証明書について
- ウェブフックリクエスト送信先のサーバーがベーシック認証を利用している場合
- ウェブフックリクエスト送信先のサーバーが自己発行証明書などを利用している場合
- ウェブフックリクエスト送信先のサーバーが mTLS を利用している場合
- ウェブフックリクエスト送信先が IPv6 アドレスのみ対応している場合
connection.updated
とsession.updated
ウェブフック- ウェブフックの順番保証
- ウェブフックの警告メッセージ
- 認証ウェブフック
- 認証ウェブフック成功時の払い出し
- 概要
- 範囲表記
- audio の払い出し
- video の払い出し
- client_id の払い出し
- bundle_id の払い出し
- simulcast / simulcast_rid の払い出し
- simulcast_encodings の払い出し
- simulcast_codecs の払い出し
- spotlight_encodings の払い出し
- spotlight の払い出し
- data_channel_signaling の払い出し
- ignore_disconnect_websocket の払い出し
- data_channels の払い出し
- metadata の払い出し
- event_metadata の払い出し
- シグナリング経由での通知機能の払い出し
- シグナリング通知メタデータ拡張機能の初期値払い出し
- 録画ブロック機能の払い出し
- cluster_affinity の払い出し
- connection_lifetime の払い出し
- playout_delay_min_delay と playout_delay_max_delay の払い出し
- ipv4_address と ipv6_address の払い出し
- turn_fqdn 払い出し
- turn_tls_fqdn の 払い出し
- rtc_stats の払い出し
- user_agent_stats の払い出し
- audio_streaming_language_code の払い出し
- stats_exporter の払い出し
- turn_tcp_only / turn_tls_only の払い出し
- rtp_packet_loss_simulator_incoming / rtp_packet_loss_simulator_outgoing の払い出し
- シーケンス図
- セッションウェブフック
- イベントウェブフック
- 統計ウェブフック
- ウェブフックの型定義
- クラスター機能
- クラスター機能チュートリアル
- クラスター機能運用
- クラスター利用時のファイル操作に問題が発生した場合
- クラスターのレギュラーノード数
- クラスターのテンポラリーノード数
- 最大ノード数
- クラスター利用時のライセンス
- ポートの開放
- ノード間通信
- ノード間通信の暗号化
- テンポラリーノード機能の利用
- クラスターからの一時的な離脱
- 一時的に離脱したノードを含めるクラスターノード一覧
- クラスターからレギュラーノード情報の完全消去
- クラスターのローリングアップデート
- クラスターのローリングアップデート中の挙動
- Sora のバージョンダウン
- Sora のローリングアップデート失敗
- クラスター破綻からの再構築手順
- ノード名変更手順
- ロードバランサーの導入
- ログの出力
- クラスター構成情報ファイル
- クラスターからのレギュラーノードの完全消去について
- PurgeClusterNode API で完全消去したレギュラーノードの再度の参加
- クラスターから消去されたレギュラーノードを別クラスターに参加させたい場合
- ネットワーク障害やノード障害
- クラスター機能録画
- クラスター API