tencent cloud

フィードバック

レコーディングイベント通知

最終更新日:2022-12-30 17:01:47

    CSSレコーディングでは、プッシュドメイン名にバインドしたレコーディングテンプレートに基づきライブストリーミング画面をリアルタイムでレコーディングし、生成した対応するレコーディングファイルをVODの中に保存します。またレコーディングのコールバックを、レコーディングファイル情報をプッシュ送信するために利用し、これには主にレコーディングの開始時間、終了時間、生成したレコーディングファイルのID、レコーディングファイルサイズ、ファイルダウンロードアドレスが含まれます。お客様はコールバックテンプレートの中でレコーディングのコールバックメッセージを受信するサーバーアドレスを設定し、このテンプレートとプッシュドメイン名をバインドする必要があります。これにより、ライブストリーミングがレコーディングイベントをトリガーすると、Tencent Cloud CSSのバックエンドがレコーディングファイル情報をお客様の設定した受信サーバーにコールバックします。

    ここでは、主にレコーディングコールバックイベントがトリガーされた後、Tencent Cloudバックエンドがユーザーに送信するコールバックメッセージ通知のフィールドについてご説明します。

    注意事項

    • このドキュメントを読む前に、Tencent Cloud CSSによるコールバック機能の設定方法とコールバックメッセージの受信方法についてご理解いただければ幸いです。詳細については、イベント通知の受信方法をご参照ください。
    • レコーディングしたビデオファイルはデフォルトで VOD コンソールに保存されますので、オンデマンド業務が支払い延滞によりサービス停止にならないよう注意してください。
    • APIを介して レコーディングタスク作成 を実行する時は、レコーディングのコールバックはユーザーのプッシュURLに含まれる stream_param パラメータをリターンしません。その他のレコーディング方式ではリターンされます。
    • HLS連続レコーディング機能を設定すると、中間でプッシュが中断されてもコールバックしません。デフォルトではストリーミングを継続し、最終的なファイル生成のみコールバックします。

    レコーディングイベントパラメータの説明

    イベントタイプパラメータ

    イベントタイプ フィールド設定値の説明
    CSSレコーディング event_type = 100

    コールバック共通パラメータ

    フィールド名タイプ説明
    t int64 期限切れ時間、イベント通知サイン期限のUNIXタイムスタンプ。
    • Tencent Cloudからのメッセージ通知のデフォルトの期限切れ時間は10分です。メッセージ通知中の t 値が示す時間が期限に達した場合、この通知を無効と判断され、ネットワークのリプレイアタックを防止します。
    • t の形式は10進数UNIXタイムスタンプとなり、1970年1月1日(UTC/GMT 真夜中)から経過した秒数となります。
    sign string イベント通知セキュリティサイン sign = MD5(key + t)。
    説明:Tencent Cloudが、暗号化 key と t で文字列を結合した後、MD5でsignの値を算出し、それを通知メッセージに入れます。お客様のバックエンドサーバーは、通知メッセージの受信後、同じアルゴリズムに基づきsignが正確か確認し、さらにメッセージが確実にTencent Cloudバックエンドから来たものかを確認することができます。
    説明:

    keyは、**イベントセンター>CSSコールバック**の中のコールバックキーとなり、主に認証に使用します。お客様のデータ、情報のセキュリティ保護のため、入力することをお勧めします。

    コールバックメッセージのパラメータ

    フィールド名 タイプ 説明
    appid int ユーザー APPID
    app string プッシュドメイン名
    appname string プッシュパス
    stream_id string CSSストリーム名
    channel_id string CSSストリーム名と同じ
    file_id string VOD file ID、 VODプラットフォームで1つのVODビデオファイルを一意的に特定することができます
    record_file_id string VODファイルID
    file_format string FLV,HLS,MP4,AAC
    task_id string レコーディングタスクID。APIで作成したレコーディングタスクに対してのみ有効であり、すなわちCreateRecordTaskによって返されるタスクID
    start_time int64 レコーディングタスクによるファイル書き込み開始時間。この値をレコーディングコンテンツの開始時間にすることはできません。レコーディングコンテンツの開始時間 = end_time – duration
    end_time int64 レコーディングタスクによるファイル書き込み終了時刻
    start_time_usec int レコーディングタスクでファイルへの書き込みを開始する時間(マイクロ秒部分)
    end_time_usec int レコーディングタスクでファイルへの書き込みを終了する時間(マイクロ秒部分)
    duration int64 レコーディングファイルの長さ。単位:秒
    file_size uint64 レコーディングファイルサイズ。単位:byte
    stream_param string ユーザープッシュURLに付帯するパラメータ(カスタマイズ)
    video_url string レコーディングファイルのダウンロードURL
    media_start_time int レコーディングでプルを開始するときに受信した最初のフレームpts(必ずしもファイルの最初のフレームptsではありません)
    record_bps int レコーディングでトランスコードのプルから対応するビットレート(Kbps)
    callback_ext string、jsonオブジェクト文字列 jsonオブジェクトに複数のフィールドが含まれます。うち
    video_codecはプッシュビデオcodec名です
    resolutionはプッシュビデオの解像度です
    以上はいずれもレコーディング コールバック拡張フィールドであり、ビジネスの参考となります。ビジネスロジックがこれらのフィールドに強く依存することはお勧めしません。

    コールバックメッセージの例

    {
    "event_type": 100,

    "appid":12345678,

    "app": "yourapp",

    "callback_ext": "{\"video_codec\":\"h264\",\"resolution\":\"640x480\"}",

    "appname": "yourappname",

    "stream_id":"stream_test",

    "channel_id":"stream_test",

    "file_id":"1234567890",

    "record_file_id": "1234567890",

    "file_format":"hls",

    "task_id":"UpTbk5RSVhRQ********************0xTSlNTQltlRVRLU1JAWW9EUb",

    "start_time":1642089445,

    "end_time":1642089598,

    "start_time_usec": 316441,

    "end_time_usec": 618577,

    "duration":154,

    "file_size":277941079,

    "stream_param":"stream_param=test",

    "video_url":"http://12345678.vod2.myqcloud.com/xxxx/yyyy/zzzz.m3u8",

    "media_start_time": 135802,

    "record_bps": 0,

    "sign":"ca3e25e**********09a9ae7281e300d",

    "t":1545030873
    }
    お問い合わせ

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

    テクニカルサポート

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

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