すべてのプロダクト
Search
ドキュメントセンター

:タイムシフトライブストリーミング

最終更新日:Jul 20, 2022

タイムシフトライブストリーミングの原理

タイムシフトライブストリーミングは、従来の HTTP ライブストリーミング (HLS) に基づいています。 ライブストリーミングでは、取り込みストリームは .ts ファイルにセグメント化され、HLS プロトコルを介して再生ユーザーに配信されます。 ユーザーがリクエストする .m3u8 プレイリストファイルには、常に更新される .ts ファイルアドレスが含まれています。 従来の HLS では、.ts ファイルのアドレスと対応する .ts ファイルは永続的に保存されないため、現在時刻より前のライブストリーミング動画のコンテンツにさかのぼることはできません。 対照的に、タイムシフト機能が有効な HLS では、.ts ファイルアドレスと対応する .ts ファイル は、データベースに永続的に保存され、OSS バケット単体には最大 15 日間保存され、 これにより、動画コンテンツを現在の時刻からライブストリーミングの開始時刻までさかのぼることができます。

タイムシフト設定

タイムシフト機能がオープンベータで利用可能になりました。 この機能を試すにはチケットを起票し、サポートセンターにお問い合わせください。

アイテム 説明
会社名 なし
ストリーミングドメイン 指定されたストリーミングドメインのすべてのライブストリームは、タイムシフトに対応しています。
タイムシフトコンテンツの保存期間 タイムシフトコンテンツはデフォルトで 7 日間保存されます。

タイムシフトのリクエストパラメーター

タイムシフトライブストリーミングを実装するには、従来の HLS URL に http://domain/app/stream.m3u8 などのタイムシフトパラメーターを追加する必要があります。

必須パラメーター

lhs_start=1

説明 CDN を介してタイムシフト操作を呼び出すには、このパラメーターを指定する必要があります。

時間関連パラメーター

キーの形式は lhs_{type}_{format}_{unit}_{zone} です。

説明 パラメーター名は、4 つの変数と固定プレフィックス lhs_ で構成されています。 変数はアンダースコア (_) で区切られます。 変数を以下に説明します。
  • type: 時刻のタイプ。 設定可能な値は次のとおりです。

    • start: ライブストリーミングの開始時間。

    • end: ライブストリーミングの終了時間。

    • vodend: ビデオオンデマンド (VOD) の終了時間。 この変数を vodend に設定すると、動画は VOD モードで再生されます。 この場合、指定された期間内のすべての .ts ファイルが、endlist タグを含めて一度に返されます。

    • offset: 前方オフセットタイム。

  • format: 時刻の形式。 設定可能な値は次のとおりです。

    • unix: UNIX タイムスタンプ。

    • human: 20170809230130 など、人間が解読可能な形式。

  • unit: 時間の単位。 設定可能な値は次のとおりです。

    • s: 秒

    • ms: ミリ秒

    • us: マイクロ秒

    • ns: ナノ秒

  • zone: タイムゾーン。

    • 有効値: 0 から 9 の任意の整数。 値は、指定されたタイムゾーンの標準時間を取得するために UTC に追加する時間数を示します。 値が 0 の場合は UTC 時間を示します。 値が 8 の場合は、中国標準時を示します。

  • lhs_start_unix_s_0=1502280113

  • lhs_offset_unix_ms_8=1502308959375

  • lhs_end_human_s_8=20170809200010

リクエストの例

http://xxx.com/live/channel1.m3u8?lhs_start=1&lhs_start_human_s_8=20171024160220&lhs_end_human_s_8=20171024160420"

タイムラインクエリ

指定したストリームのタイムラインに沿った過去の期間内でタイムシフトデータが含まれていた期間を照会できます。

  • URL: http://{$domain}/openapi/timeline/query

  • メソッド: GET

  • パラメーター:

    • app (必須): ライブストリーミングアプリケーションの名前。

    • stream (必須): ライブストリームの名前。

    • format (必須): 照会するタイムシフトデータの形式。.ts または .flv を指定します。

    • lhs_start_unix_s_0 (必須): 1970 年 1 月 1 日木曜日 00:00:00 から秒数で測定される開始タイムスタンプ。

    • lhs_end_unix_s_0 (必須): 1970 年 1 月 1 日木曜日 00:00:00 から秒数で測定される終了タイムスタンプ。

      説明 CDN 認証を有効にしている場合は、それに応じて認証パラメーターを追加する必要があります。

  • レスポンス (JSON形式):

    • current: プレーヤーの時刻を揃えるために使用する現在のシステム時刻。

    • timeline: 配列。 配列の各要素はマップと呼ばれ、有効なタイムシフト期間を示します。 各マップには次のフィールドが含まれます。

    • timeline[i].start: 1970 年 1 月 1 日木曜日 00:00:00 から秒数で測定される、有効な .ts ファイルの開始タイムスタンプ。

    • timeline[i].end : 1970 年 1 月 1 日木曜日 00:00:00 から秒数で測定される、有効な .ts ファイルの終了タイムスタンプ。

  • http://$host/openapi/timeline/query? app=bbb&domain=aaaa&format=ts&lhs_end_unix_s_0=1513334270&lhs_start_unix_s_0=1513334255&stream=cc
    

    レスポンス

    {"retCode":0,"description":"success","content":{"current":1514269063,"timeline":[{"start":1514269054,"end":1514269058},{"start":1514269058,"end":1514269062}]}}'