tencent cloud

フィードバック

カスタムレコーディング

最終更新日:2024-01-18 15:47:47
    本書では、カスタムレコーディングでGMEサーバー側のレコーディング機能にアクセスする方法を説明します。

    運用シーン

    GMEはリアルタイム音声ストリーム向けのサーバー側のレコーディング機能を提供し、開発者がコンテンツの保存/管理/二次創作などのシーンを実装することに役立ちます。フルレコーディング:アプリケーションにおけるすべての音声ルームに対して、ルームによるミックスストリーミングとユーザーによるシングルストリーミングをレコーディングすることをサポートします。カスタムレコーディング:ユーザーが指定したルームに対して、ルームによるミックスストリーミングとユーザーによるシングルストリーミングをレコーディングすることをサポートします。レコーディングしたオーディオファイルは、ご利用のアカウント配下のCOSサービスに保存されます。
    本書では、カスタムレコーディングの開発・アクセス方法のみを説明します。アプリケーションに対して、フルレコーディングを有効にするには、開発ガイド-フルレコーディングをご参照ください。
    ご注意:
    GMEサーバー側のレコーディング機能を使用すると、レコーディング中にGMEでレコーディングサービスの使用料金が発生します。GME国際サイトのレコーディングサービスは、2023年4月1日より正式に課金を開始いたします。詳細な料金情報については、GME購入ガイドをご参照ください。
    レコーディングしたファイルは、ご利用のTencent Cloudアカウント配下のCOSサービスに保存されます。COS請求書は、実際のストレージ使用量、保存期間、アクセス頻度などに応じて作成されます。料金情報の詳細については、COS料金説明をご参照ください。

    前提条件

    リアルタイム音声サービスが有効になっていることサービス有効化ガイドをご参照ください。
    サーバー側のレコーディングサービスが有効になっていること:現在、サーバー側のレコーディングサービスは、ホワイトリストユーザーだけに提供しています。ホワイトリストを有効化するには、こちらに連絡してください。
    GME SDK導入済み:コアインターフェースとリアルタイム音声インターフェースの導入を含みます。詳細については、Native SDKクイックスタートUnity SDKクイックスタートUnreal SDKクイックスタートをご参照ください。

    サービスアーキテクチャ

    
    
    

    機能説明

    1.レコーディング範囲

    サーバー側のインターフェースで、レコーディングするルームIDのミックスストリーミングまたはルーム内ユーザーのシングルストリーミングを指定できます。 レコーディングを指定したルームIDに対して、サーバー側のインターフェースで、レコーディングするプレイヤーホワイトリストまたはレコーディングしないプレイヤーブラックリストを指定できます。

    2.関連インターフェース

    StartRecord()レコーディング起動
    このインターフェースのパラメータで、シングルストリーミングまたはミックスストリーミングのレコーディング、レコーディングするRoomID、サブスクリプションのホワイトリストユーザーIDまたはブラックリストユーザーIDを指定できます。
    StopRecord()レコーディング停止
    このインターフェースを使用し、指定したtaskidのレコーディングを停止できます。taskidを記録しなかった場合、DescribeTaskInfo()を呼び出して、指定したルームで実行しているレコーディングタスクのtaskidを取得する必要があります。
    ModifyRecordInfo()レコーディング情報の更新
    このインターフェースを使用し、指定したtaskidのレコーディング情報を更新できます。具体的には、レコーディングタイプ、サブスクリプションのホワイトリストユーザーIDまたはブラックリストユーザーIDを更新できます。taskidを記録しなかった場合、DescribeTaskInfo()を呼び出して、指定したルームで実行しているレコーディングタスクのtaskidを取得する必要があります。
    DescribeTaskInfo()ルームのレコーディング情報の確認
    このインターフェースを使用し、指定したルームのレコーディング情報を確認できます。具体的には、実行中のレコーディングタスクのtaskid、サブスクリプションのホワイトリストユーザーIDまたはブラックリストユーザーIDを確認できます。
    DescribeRecordInfo()レコーディングタスク情報の確認
    このインターフェースを使用し、指定したtaskidのタスク情報を確認できます。具体的には、レコーディングタイプ、レコーディングしたルームID、レコーディングしたユーザーID、レコーディングファイルの情報を確認できます

    3.レコーディングメカニズム

    レコーディングタスクの起動メカニズム

    StartRecord()インターフェースを呼び出すと、指定したルームのレコーディングタスクが起動します。

    レコーディングタスクの停止メカニズム

    StopRecord()インターフェースを呼び出すと、指定したルームのレコーディングタスクが停止します。

    録音ファイルの作成タイミング

    ルームミックスストリーミングの録音ファイル:ルームのレコーディングタスクが起動した後、ルームにユーザーがすでに存在している場合、ミックスストリーミングオーディオファイルが直ちに作成されます。ルームにユーザーが存在しない場合、最初のユーザーがルームに入った直後に、ミックスストリーミングオーディオファイルが作成されます。
    ユーザーシングルミックスストリーミングの録音ファイル:ルームのレコーディングタスクが起動した後、レコーディング範囲内のユーザーがルームに入ると、このユーザーのシングルストリーミングオーディオファイルが作成されます。

    レコーディングタスクのマルチパートメカニズム

    単一オーディオファイルの長さが2時間になると、オーディオファイルを自動的にマルチパートに分割します
    ユーザーがマイクの接続を切断すると、ユーザーシングルストリーミングレコーディングオーディオを自動的にマルチパートに分割します。ユーザーがマイクの接続を確立すると、新しいマルチパートが作成されます
    レコーディング中のタスクが異常で中断した場合、タスクが自動的に再接続すると、新しいマルチパートが作成されます

    レコーディングタスクのイベント通知メカニズム

    レコーディングタスクのイベントは、コールバックメカニズムにより、設定されたコールバックアドレスに通知されます。レコーディング開始レコーディング停止レコーディングファイルアップロード完了、これらのイベントが発生した場合、コールバック通知を受信します
    コールバック情報の詳細については、レコーディングコールバックの説明をご参照ください

    4.保存先

    GMEサーバー側のレコーディングが完了した後、レコーディングしたオーディオファイルは、ご利用のアカウント配下のCOSサービスの指定されたバケットに保存されます。バケットのリージョンは指定する必要があります。指定可能なリージョンのリストについては、COSリージョンの説明をご参照ください。

    5.レコーディングファイルのフォーマット

    .mp3

    6.レコーディングファイルの命名規則

    ユーザーシングルレコーティングファイル:bizid_roomid_userid/${タスクの開始時間}_${id}_audio.mp3
    ルームミックスストリーミングレコーティングファイル:bizid_roomid/${taskid}${タスクの開始時間}${id}_audio.mp3
    bizid: GMEアプリケーションID。GMEコンソールから取得できます roomid: 音声ルームID。リアルタイム音声サービスを使用する時に定義してGME SDKに渡します userid: プレイヤーID。リアルタイム音声サービスを使用する時に定義してGME SDKに渡します taskid: レコーティングタスクID。GMEレコーティングサービスにより生成されます。レコーティングタスクを正常に呼び出すたびに、1つ特殊なタスクIDが生成されます id: レコーティングタスクのマルチパートのシリアル番号。シリアル番号は0から始まります

    アクセス手順

    ステップ1:コンソールでのレコーティングサービスの設定

    GMEコンソールにログインし、サービス管理メニューを開き、レコーディングサービスを有効にするアプリケーションの設定をクリックし、アプリケーションの詳細ページに進みます。

    レコーディングサービスの有効化/無効化

    
    
    
    ページで音声レコーティングサービス変更をクリックし、レコーディングスイッチを有効に設定します。
    レコーディングサービスを初めて有効にした場合、GMEはご利用のCOSサービスにアクセスする許可を要求します。ポップアップしたダイアログで許可すると、サーバー側のレコーディングサービスが有効になります。
    
    
    

    レコーディングファイルのストレージ設定

    レコーディングファイルのバケットバインディングをクリックします。 バケットのバインディングダイアログで、既存COSバケット(既存バケットはCOSコンソールで事前に作成する必要がある)のバインディングまたはバケットの新規作成ができます。
    
    
    

    レコーディングイベントのコールバック設定(オプション)

    レコーディングサービスのイベントコールバックを受信するには、コールバックアドレスを設定する必要があります。操作パス:アプリケーションの詳細ページで、音声レコーティングサービス変更をクリックし、コールバックアドレス変更をクリックし、ポップアップしたダイアログにコールバックを受信するurlアドレスを入力します。現在、レコーディングタスクの完了状態のみに対して、イベントコールバックのメッセージをプッシュします。
    
    
    

    レコーディング範囲の設定

    レコーディング範囲は、カスタムレコーディングとフルレコーディングを選択できます。この場合、カスタムレコーディングを選択してください。そうしないと、サーバー側に関連するインターフェースの呼出しに失敗します。
    上記のように設定し、保存をクリックすると、レコーディングサービスが有効になります。レコーディングサービスを使用する必要があ➁場合、予定外の費用の発生を防ぐために、コンソールでレコーディングサービスのスイッチを無効にしてください。

    ステップ2:レコーティングタスクのコールバック受信(オプション)

    ステップ1でコールバックアドレスを設定すれば、レコーディングタスクのイベントコールバックを受信できます。

    ステップ3:サーバー側のインターフェースの呼出しによるレコーティング範囲の定義

    業務シーンの必要性に応じて、インターフェースを呼び出してください。呼出し順とプロセスの設計において、以下の点に注意してください:
    (1)既存のRoomIdに対するレコーディング開始リクエストのみをサポートします。RoomIdが存在しなければ、レコーディングタスクの作成に失敗します
    (2)自発的に呼び出してレコーディングを停止しなければ、ルームにユーザーがいる限り、レコーディングプロセスはずっと実行します。ルーム内のユーザーが全部退出した後、元のレコーディングタスクのプロセスは12時間保持されます。保持中に、ユーザーが改めてルームに入れば、レコーディングが自動的に開始します。レコーディングプロセスの保持時間が過ぎた後、ユーザーがルームに入っても、レコーディングは自動的に開始しません。

    ステップ4:レコーティングファイルの確認/管理

    完全なオーディオファイルはレコーディングタスクが終了して数分以内に作成できます。ご利用のCOSコンソールで、レコーディングファイルを確認、管理できます。
    お問い合わせ

    カスタマーサービスをご提供できるため、ぜひお気軽にお問い合わせくださいませ。

    テクニカルサポート

    さらにサポートが必要な場合は、サポートチケットを送信して弊社サポートチームにお問い合わせください。24時間365日のサポートをご提供します。

    電話サポート(24 時間365日対応)