リリースノート

UPDATE

後方互換性がある変更

ADD

後方互換性がある追加

CHANGE

後方互換性のない変更

FIX

バグ修正

2020.1

リリース

2020-06-24

対応 Chrome

M83

対応 Firefox

77

対応 Safari

13.1.1

対応 Edge

83

重要なお知らせ

  • Ubuntu 20.04 版を提供開始しました

  • Ubuntu 16.04 版は 2021 年 4 月でパッケージ、サポートの提供を終了します

  • bin/sora start から bin/sora daemon に今後切り替わります

  • ロールの upstream / downstream は 2021 年 6 月リリース予定の Sora で利用ができなくなります

    • 今回追加された新しいロール sendrecv / sendonly / recvonly へ置き換えをお願いします

    • 最新の SDK を利用いただければ特に問題はでません

互換なしの変更情報

  • バージョン表記を変更しました

  • 設定ファイルの形式を変更しました

  • コネクション ID のエンコード方式を Hex から Crockford's Base32 に変更しました

  • PCMU のサポートを廃止しました

  • デモ機能のファイル名を変更しました

  • サイマルキャストで利用する際のロールを sendrecv / sendonly / recvonly のみ利用可能にしました

ハイライト

  • Ubuntu 20.04 に対応しました

  • 録画機能を改善しました

  • 録画機能を RTCP Sender Report によるリップシンクに対応しました

  • 録画の処理を非同期にしました

  • ロールに sendrecv / sendonly / recvonly を追加しました

  • 切断時に、接続ごとのクライアントとサーバの統計情報を connection.log に出力するようにしました

  • 実験的機能として、クライアント側の統計情報を API 経由で確認できるようにしました

  • 実験的機能として、Sora からの映像配信を停止/再開する API を追加しました

  • 実験的機能として、サイマルキャストの画質をストリーム別に指定できる API を追加しました

  • 実験的機能として、AV1 や H.265 に対応しました

変更履歴

  • [CHANGE] PCMU のサポートを廃止しました

  • [CHANGE] 配信側への SDP での SSRC 指定を行わないように変更しました

    • Chrome の仕様に合わせました

  • [CHANGE] UUIDv4 の値を Hex から Base32 に変更しました

  • [ADD] ロールに sendrecv / sendonly / recvonly を追加しました

    • 今後はこちらのロールをご利用ください

    • sendrecv は送受信

    • sendonly は送信のみ

    • recvonly は受信のみ

  • [ADD] RTP 拡張 Generic Frame Descriptor v00 に対応しました

  • [ADD] 音声の RTP に対して RTCP-SR/RTCP-RR を対応しました

  • [ADD] RTCP-RR の送信間隔を audio と video で独立させました

  • [ADD] DTLS アラートのログを sora.log で出力するようにしました

    • DTLS アラート close notify のログは出力されません

  • [FIX] 音声のみの場合は PLI を送信しないようにしました

設定ファイル

  • [ADD] 設定ファイルに signaling_loopback_address_only を追加しました

    • この設定を有効にすることでシグナリングに接続できるのが 127.0.0.1 からのみになります

  • [CHANGE] 設定ファイルを etc/sora.conf に変更しました

  • [CHANGE] 設定ファイルの必須設定をなくしました

    • license_fileetc/license.json がデフォルト値になりました

    • signaling_port5000 がデフォルト値になりました

    • api_port3000 がデフォルト値になりました

ウェブフック

  • [UPDATE] イベントウェブフックのワーカー選択のキーを connection_id から channel_id に変更しました

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

ログ

  • [ADD] サポート向けに接続の統計情報を出力する connection.log を追加しました

    • リモート統計情報とローカル統計情報を出力します

  • [CHANGE] sora.log の時刻が UTC で出力されるようになりました

  • [CHANGE] warning.log / error.log を統一し sora.log に変更しました

TURN

  • [ADD] TURN-TCP のみを利用するように指定できる turn_tcp_only の設定を追加しました

  • [ADD] TURN-TLS のみを利用するように指定できる turn_tls_only の設定を追加しました

  • [ADD] turn_tcp_onlyturn_tls_only を有効にした場合は接続ごとに sora.log にログを出力するようにしました

  • [CHANGE] TURN-TCP のデフォルト値を true に変更しました

  • [CHANGE] type: offer 時の iceTrasnports: relay を削除しました

    • chrome が iceTransportPolicy へ対応したためです

RTP 転送

  • [ADD] RTP 転送 API 実行時に api.log を出力するようにしました

  • [FIX] StopForwardingRtp API で connection_id が見つからない場合のエラーを修正しました

録画機能

  • [UPDATE] RTCP-SR を利用したリップシンク機能を追加しました

  • [ADD] 録画完了時の統計機能項目を追加しました

    • video_reset_no_video_timeout

    • video_reset_pli

    • video_reset_other

    • extract_queue_trimmed

    • final_extract_limit

    • total_video_chunk_postponed_partial

    • total_video_chunk_postponed_queued

    • total_video_chunk_postponed_undefined

    • total_video_force_forward

    • total_audio_sender_report

    • total_video_sender_report

    • total_audio_lip_sync_mode_recv_time

    • total_audio_lip_sync_mode_rtcp_sr

    • total_video_lip_sync_mode_recv_time

    • total_video_lip_sync_mode_rtcp_sr

  • [CHANGE] 録画一時ファイルの作成を非同期にしました

  • [CHANGE] 録画ファイルが空の場合のログを削除するようにしました

  • [FIX] スポットライト機能利用時に録画開始が利用できないよう修正しました

デモ機能

  • [UPDATE] デモ機能で利用している sora-js-sdk のバージョンを 2020.1 に上げました

  • [ADD] デモ機能のページ全てに <meta name="robots" content="noindex"> を追加しました

  • [ADD] デモ機能に AV1 と H.265 を追加しました

    • クライアントが非対応の場合は動作しません

  • [ADD] multi_simulcast_sendonly.html を追加しました

  • [CHANGE] pub.htmlsendonly.html に変更しました

  • [CHANGE] sub.htmlrecvonly.html に変更しました

  • [CHANGE] multi_pubsub.htmlmulti_sendrecv.html に変更しました

  • [CHANGE] multi_pub.htmlmulti_sendonly.html に変更しました

  • [CHANGE] multi_sub.htmlmulti_recvonly.html に変更しました

  • [CHANGE] spotlight_pubsub.htmlspotlight_sendrecv.html に変更しました

  • [CHANGE] spotlight_sub.htmlsupotlight_recvonly.html に変更しました

  • [CHANGE] simulcast_pub.htmlsimulcast_sendonly.html に変更しました

  • [CHANGE] simulcast_sub.htmlsimulcast_recvonly.html に変更しました

  • [CHANGE] multi_simulcast_pubsub.htmlmulti_simulcast_sendrecv.html に変更しました

  • [CHANGE] multi_simulcast_sub.htmlmulti_simulcast_recvonly.html に変更しました

統計機能

  • [ADD] GetStatsReport に sora_client の項目を追加しました

  • [ADD] 統計 API に TURN 失敗の値を追加しました

    • total_received_turn_unknown_stun

    • total_received_turn_invalid_stun

    • total_received_unknown_channel_number

    • total_received_expired_channel_number

実験的機能

実験的機能を利用する場合はかならずサポートまでご連絡ください。

H.265 に対応しました

実験的機能

  • [ADD] H.265 を利用可能にする設定 h265sora.conf に追加しました

    • デフォルトは false です

  • [ADD] type: connect 時の video: {video_codec: "H265"} を指定可能にしました

  • [ADD] H.265 のキーフレーム判定に対応しました

AV1 に対応しました

実験的機能

  • [ADD] AV1 を利用可能にする設定 av1sora.conf に追加しました

    • デフォルトは false です

  • [ADD] type: connect 時の video: {video_codec: "AV1"} を指定可能にしました

  • [ADD] AV1 のキーフレーム判定に対応しました

  • [ADD] AV1 の解像度取得に対応対応しました

サマルキャストで受信しているストリーム単位で画質を変更する仕組みを追加しました

実験的機能

この機能はサイマルキャストでのみ利用可能です。

  • [ADD] ChangeSimulcastQuality API で特定のストリームの画質の変更を可能にしました

    • stream_id にストリームを配信している接続の connection_id を指定します

指定したストリームの映像を停止/再開する API を追加しました

実験的機能

この機能はマルチストリームでのみ利用可能です。

  • [ADD] signaling_notify_rtp_streamsora.conf に追加しました

    • true の場合は Rtp Stream Pause/Resume API 実行時に pause/resume 通知が飛びます

    • 受信を停止/再開した接続、された接続の両方に飛びます

  • [ADD] PauseRtpStream API 追加しました

    • 指定した接続のストリームを停止します

    • connection_id にストリームの受信を再開する connection_id を指定します

    • stream_id にストリームの受信を再開したいストリームを配信している接続の connection_id を指定します

  • [ADD] ResumeRtpStream API 追加しました

    • 指定した接続のストリームを再開します

    • connection_id にストリームの受信を再開する connection_id を指定します

    • stream_id にストリームの受信を再開したいストリームを配信している接続の connection_id を指定します

  • [ADD] ListPauseRtpStreams API 追加しました

    • 指定したチャネルの停止しているストリーム一覧を返します

リモート統計情報を取得する API を追加しました

実験的機能

この機能はクライアント側でのみ取得できる統計情報をサーバ経由で取得可能にする仕組みです。

  • [ADD] sora.confremote_stats: true を追加

    • type: ping 時に stats: true を有効にします

  • [ADD] 認証成功時の払い出しに remote_stats: boolean を追加しました

  • [ADD] GetAllRemoteStats API を追加しました

    • 全ての接続のリモート統計情報を取得します

  • [ADD] GetChannelRemoteStats API を追加しました

    • 指定したチャネル ID 全ての接続のリモート統計情報を取得します

  • [ADD] GetConnectionRemoteStats API を追加しました

    • 指定した接続のリモート統計情報を取得します

19.10.9

リリース

2020-04-20

対応 Chrome

M81

対応 Firefox

75

対応 Safari

13.1

対応 Edge

81

互換なしの変更情報

特にありません

変更履歴

  • [FIX] 配信が非常に不安定な場合、録画の処理でメモリを多量に消費してしまう問題

19.10.8

リリース

2020-02-07

対応 Chrome

M80

対応 Firefox

72

対応 Safari

13

対応 Edge

79

互換なしの変更情報

特にありません

変更履歴

  • [FIX] Firefox と特定のネットワークで正常につながらない問題を修正しました

    • Firefox 側の問題への対応です

  • [FIX] Chrome M80 で H.264 の仕組みが変わったことにより録画が正常に動作しない問題を修正しました

    • Chrome 側の挙動変更への対応です

  • [FIX] スポットライトで長時間インアクティブだった場合、再開時にスポットライト枠に表示されない問題を修正しました

  • [FIX] マルチストリーム利用時に視聴側から送られてきた I フレーム要求を正常に処理できていない問題を修正しました

  • [FIX] 録画機能利用時に録画ファイルの中で約 22 分に一度音声が最大 20 秒空白になる問題を修正しました

19.10.4

リリース

2020-01-28

対応 Chrome

M79

対応 Firefox

72

対応 Safari

13

対応 Edge

79

互換なしの変更情報

特にありません

変更履歴

  • [FIX] SDP の RTP 拡張から mid を削除しました

    • ブラウザ側のバグに対応したものです

  • [FIX] イベントウェブフックのタイムスタンプの取得タイミングを修正しました

  • [FIX] 接続失敗イベントウェブフックでクラッシュしていた問題を修正しました

  • [FIX] マルチストリームで sendonly を利用した際の SDP 関連の処理を修正しました

19.10.3

リリース

2019-12-11

対応 Chrome

M79

対応 Firefox

71

対応 Safari

13

対応 Edge Beta

79

互換なしの変更情報

特にありません

ハイライト

  • HTTP API への接続をループバックのみに限定する api_loopback_address_only を sys.config の設定に追加しました

変更履歴

  • [ADD] HTTP API への接続をループバックのみに限定する api_loopback_address_only を sys.config の設定に追加しました

    • この設定を有効にすることで HTTP API を叩けるのが 127.0.0.1 からのみになります

  • [ADD] 録画失敗時のウェブフックに以下に以下の項目を追加しました

    • audio

    • video

    • start_time

    • stop_time

    • file_path

      • ファイル自体は生成されません

    • filename

      • ファイル自体は生成されません

  • [ADD] シグナリングログに type: disconnect を追加しました

    • クライアント側から type: disconnect が送られてきた場合に出力します

  • [ADD] シグナリングログに type: close ログを追加しました

    • close ログはクライアント側から切断された場合に出力します

  • [ADD] シグナリングログに type: closed ログを追加しました

    • closed ログはサーバ側から切断された場合に出力します

  • [ADD] シグナリングログに type: error-closed ログを追加しました

    • error-closed ログはクライアントが想定外の切断をした場合に出力します

  • [ADD] 実験的機能として認証成功時の戻り値で simulcast と simulcast_quality を指定可能にしました

    • この機能を利用される場合は必ず事前にサポートまでご連絡ください

  • [ADD] 実験的機能として ListConnections と ListAllConnections API に multistream / simulcast / spotlight のフラグを追加しました

    • この機能を利用される場合は必ず事前にサポートまでご連絡ください

  • [ADD] 実験的機能としてマルチストリームに配信のみで参加できる仕組みを追加しました

    • この機能を利用される場合は必ず事前にサポートまでご連絡ください

  • [ADD] 実験的機能としてイベントウェブフック通知の HTTP ヘッダーに X-SORA-EVENT-WEBHOOK-TYPE を追加しました

    • この機能を利用される場合は必ず事前にサポートまでご連絡ください

  • [ADD] 実験的機能として Opus パラメータに ptime を追加しました

    • この機能を利用される場合は必ず事前にサポートまでご連絡ください

  • [FIX] Android のサイマルキャスト配信時に正常に動作しない問題を修正しました

  • [FIX] デモ機能のマルチストリームサイマルキャスト視聴のみで初期の画質指定が抜けていたのを追加しました

  • [FIX] 録画時に接続の切断と録画終了 API がほぼ同時に実行されるとアーカイブが recording.report に入らない問題を修正しました

  • [FIX] 認証成功時に払い出す ipv4_addressipv6_address が正常に動作しない問題を修正しました

19.10.1

リリース

2019-11-06

対応 Chrome

M78

対応 Firefox

70

対応 Safari

13

対応 Edge Beta

79

互換なしの変更情報

特にありません

ハイライト

  • TURN の UDP または TCP のどちらを利用しているかがシグナリング通知、およびイベントウェブフックで取得できるようになりました

  • マルチストリームの「視聴のみ」で、配信者が存在しない場合でも接続できるようになりました

  • マルチストリームの「視聴のみ」で、配信者が存在しなくなった場合でも接続を維持するようになりました

変更履歴

  • [ADD] シグナリング通知の connection.created / connection.updated / connection.destroyed に turn_transport_type を追加しました

    • "udp" または "tcp" の文字列が入ります

  • [ADD] イベントウェブフックの connection.created / connection.updated / connection.destroyed に turn_transport_type を追加しました

    • "udp" または "tcp" の文字列が入ります

  • [CHANGE] マルチストリームの視聴のみで今までは配信がある必要がありましたが、配信がない場合でも Sora に接続することが可能になりました

  • [CHANGE] マルチストリームの視聴のみで配信者が 0 になっても切断しないようにしました

  • [FIX] サイマルキャスト対応と非対応のマルチストリームが同じチャネルに参加した際にクラッシュする問題を修正しました

  • [FIX] サイマルキャストの視聴時に配信側が通常の配信に切り替わった場合、クラッシュする問題を修正しました

  • [FIX] ネットワークの不安定レベル通知機能が音声のみの配信の場合、常に unstable_level 3 を配信するようになっていた問題を修正しました

19.10.0

リリース

2019-10-16

対応 Chrome

M77

対応 Firefox

69

対応 Safari

13

対応 Edge Dev

79

互換なしの変更情報

  • PlanB への対応を廃止しました

  • サイマルキャスト (Google 独自) への対応を廃止しました

ハイライト

  • CentOS 8.0 に対応しました

  • 実験的機能として マルチストリームでサイマルキャスト機能が利用可能になりました

変更履歴

  • [UPDATE] ChangeSimulcastQuality API をマルチストリームに対応しました

  • [UPDATE] ChangeUpstreamVideoBitRate API をマルチストリームに対応しました

  • [UPDATE] サイマルキャストを利用した配信者はビットレートシェアリング機能は無効にしました

  • [UPDATE] 録画機能で Opus ステレオ音声の録音に対応しました

  • [ADD] CentOS 8.0 に対応しました

  • [ADD] GetStatsConnection API に視聴側の再送キャッシュヒット率を追加しました

    • total_generic_nack_cache_hit

      • 再送要求に正しく応答した回数

    • total_generic_nack_cache_miss

      • 再送要求に応答できなかった回数

  • [ADD] GetStatsConnection API に配信側が不安定になった際、 I フレーム要求(PLI)を送った回数を追加しました

    • total_pli_trigger

      • 再送要求に限界がきて I フレーム要求を送った回数

  • [ADD] GetStatsConnection API に RTP パケロスシミュレーターの統計情報を追加しました

    • total_dropped_received_rtp

      • 受信した RTP パケットをパケロスシミュレータで落とした回数

    • total_dropped_sent_rtp

      • 送信した RTP パケットをパケロスシミュレータで落とした回数

  • [ADD] GetStatsConnection API に network_status の unstable_level の値を追加しました

    • unstable_level

    • 0-3 の値が入ります

  • [ADD] 新規接続時に送る PLI の頻度を抑える仕組みを追加しました

  • [ADD] 実験的機能としてマルチストリーム機能でサイマルキャスト機能が利用可能になりました

  • [ADD] 設定 default_simulcast_quality を追加しました

    • sys.config にて指定可能です

    • サイマルキャストで simulcast: true を選んだときの視聴する画質のデフォルトを指定します

    • デフォルトは "low" です

    • "low" 、 "middle" 、 "high" を指定可能です

  • [ADD] デモ機能に multi_simulcast_pubsub.html と multi_simulcast_sub.html を追加しました

  • [ADD] シグナリング Offer 時に Sora のバージョンを追加しました

    • "version": "19.10.0" の形式です

    • hide_origin_username が有効な場合はバージョン情報は送りません

  • [ADD] 実験的機能として Opus パラメータをシグナリングで指定できるようになりました

    • これらの機能を利用される場合は必ず事前にサポートまでご連絡ください

    • {"audio": {"opus_params": {"stereo": false, "useinbandfec": false}}}

    • clock_rate

    • channels

    • maxplaybackrate

    • stereo

    • sprop_stereo

    • minptime

    • useinbandfec

    • usedtx

  • [ADD] 実験的機能として Opus パラメータのデフォルト値を sys.config で指定できるようになりました

    • これらの機能を利用される場合は必ず事前にサポートまでご連絡ください

    • opus_param_clock_rate

    • opus_param_channels

    • opus_param_maxplaybackrate

    • opus_param_stereo

    • opus_param_sprop_stereo

    • opus_param_minptime

    • opus_param_useinbandfec

    • opus_param_usedtx

  • [ADD] イベントウェブフックのワーカー数を指定可能にしました

    • デフォルトは 5 です

    • sys.config にて {event_webhook_worker_number, 5} のように指定します

    • 5-5000 の範囲で指定可能です

  • [ADD] ウェブフックのレスポンスタイムアウトを指定可能にしました

    • デフォルトは 5 秒です

    • sys.config にて {webhook_response_timeout, 5} のように指定します

    • 1-600 秒の範囲で指定可能です

  • [ADD] 録画ファイル生成時のウェブフックに client_idconnection_id をトップレベルに含むようにしました

  • [ADD] 録画ファイル生成時のウェブフック archive.available に統計情報を追加しました

    • total_filled_audio_packet

      • 穴埋めした音声パケットのトータル

    • total_discard_audio_packet

      • 破棄した音声パケットのトータル

    • min_audio_level

      • RTP 拡張 audio level の最小値(音声出力の最大値)のトータル

    • total_discarded_audio_packet

      • 調整のために捨てた音声パケットのトータル

    • total_stored_video_keyframe_head

      • 映像キーフレームの先頭パケットのトータル

    • total_stored_audio_packet

      • 録画に利用した音声パケットのトータル

    • total_stored_video_packet

      • 録画に利用した映像パケットのトータル

    • total_discarded_unknown_packet

      • 録画に利用せず破棄した不明パケットのトータル

    • total_pli_trigger

      • 再送要求に限界がきて I フレーム要求 (PLI) を送ったトータル

  • [CHANGE] 全てのブラウザの最新版が Unified Plan になったため SDP の Plan B タイプへの対応を削除しました

    • plan_b: boolean を削除しました

  • [CHANGE] サイマルキャスト機能から Google 独自の SDP 書き換え方式への対応を削除しました

    • simulcast_rid: boolean を削除しました

    • simulcast: true は常に rid ベースのサイマルキャストが利用されます

    • rid ベースのサイマルキャストは Chrome と Edge Dev でのみ利用可能です

  • [FIX] 録画ファイルのメタデータに音声のビットレートが含まれていなかったのを修正しました

  • [FIX] サイマルキャスト機能利用時に視聴側を先に繋ぐと音声が配信されない問題を修正しました

  • [FIX] サイマルキャストのエンコーディング指定を role: upstream 時のみに修正しました

  • [FIX] 録画時に recording.report に録画ファイルが含まれない問題を修正しました

  • [FIX] Generic Nack の再送が rtp_packet_loss_simulator_outgoing の対象になっていなかったのを修正しました

  • [FIX] マルチストリームの Answer が遅延した場合でも正常に映像が表示されるよう修正しました

古いリリースノート

古いリリースノート