tencent cloud

Cloud Object Storage

最新情報とお知らせ
製品アップデート情報
製品のお知らせ
製品概要
製品概要
機能概要
応用シナリオ
製品の優位性
基本概念
リージョンとアクセスドメイン名
仕様と制限
製品の課金
課金概要
課金方式
課金項目
無料利用枠
記帳例
請求書の確認とダウンロード
お支払い遅れについて
よくある質問
クイックスタート
コンソールクイックスタート
COSBrowserクイックスタート
ユーザーガイド
リクエストの作成
バケット
オブジェクト
データ管理
バッチ処理
グローバルアクセラレーション
監視とアラーム
運用管理センター
データ処理
インテリジェントツールボックス使用ガイド
データワークフロー
アプリ統合
ツールガイド
ツール概要
環境のインストールと設定
COSBrowserツール
COSCLIツール
COSCMDツール
COS Migrationツール
FTP Serverツール
Hadoopツール
COSDistCpツール
HDFS TO COSツール
オンラインツール (Onrain Tsūru)
セルフ診断ツール
実践チュートリアル
概要
アクセス制御と権限管理
パフォーマンスの最適化
AWS S3 SDKを使用したCOSアクセス
データディザスタリカバリバックアップ
ドメイン名管理の実践
画像処理の実践
COSオーディオビデオプレーヤーの実践
データセキュリティ
データ検証
COSコスト最適化ソリューション
サードパーティアプリケーションでのCOSの使用
移行ガイド
サードパーティクラウドストレージのデータをCOSへ移行
データレークストレージ
クラウドネイティブデータレイク
メタデータアクセラレーション
データアクセラレーター GooseFS
データ処理
データ処理概要
画像処理
メディア処理
コンテンツ審査
ファイル処理
ドキュメントプレビュー
トラブルシューティング
RequestId取得の操作ガイド
パブリックネットワーク経由でのCOSへのファイルアップロード速度の遅さ
COSへのアクセス時に403エラーコードが返される
リソースアクセス異常
POST Objectの一般的な異常
セキュリティとコンプライアンス
データ災害復帰
データセキュリティ
クラウドアクセスマネジメント
よくある質問
よくあるご質問
一般的な問題
従量課金に関するご質問
ドメインコンプライアンスに関するご質問
バケット設定に関する質問
ドメイン名とCDNに関するご質問
ファイル操作に関するご質問
権限管理に関するご質問
データ処理に関するご質問
データセキュリティに関するご質問
署名付きURLに関するご質問
SDKクラスに関するご質問
ツール類に関するご質問
APIクラスに関するご質問
Agreements
Service Level Agreement
プライバシーポリシー
データ処理とセキュリティ契約
連絡先
用語集

TcPlayerを使用したCOSビデオファイルの再生

PDF
フォーカスモード
フォントサイズ
最終更新日: 2024-06-26 10:42:27

概要

ここでは、オーディオビデオ端末SDK(Tencent Cloud View Cube)を統合したTCPlayerを使用し、Tencent Cloud Infinite(CI)の提供する豊富なオーディオビデオ機能と組み合わせて、WebブラウザでCOSビデオファイルを再生する方法についてご説明します。

統合ガイド

ステップ1:ページにプレーヤースタイルファイルとスクリプトファイルを導入する

<!--プレーヤースタイルファイル-->
<link href="https://web.sdk.qcloud.com/player/tcplayer/release/v4.2.1/tcplayer.min.css" rel="stylesheet">
<!--プレーヤースクリプトファイル-->
<script src="https://web.sdk.qcloud.com/player/tcplayer/release/v4.5.0/tcplayer.v4.5.0.min.js"></script>
説明:
Player SDKを正式に使用する際は、上記の関連静的リソースをご自身でデプロイすることをお勧めします。クリックしてプレーヤーリソースをダウンロードします。
デプロイし解凍した後のフォルダについては、リソースの相互引用の異常を回避するため、フォルダ内のディレクトリを調整することができません。

ステップ2:プレーヤーコンテナノードを設定する

プレーヤーを表示したいページ位置にプレーヤーコンテナを追加します。例えば、index.htmlに次のコードを追加します(コンテナIDおよび幅と高さはいずれもカスタマイズできます)。
<video id="player-container-id" width="414" height="270" preload="auto" playsinline webkit-playsinline>
</video>
説明:
プレーヤーコンテナは<video>タグである必要があります。
例中のplayer-container-idはプレーヤーコンテナのIDであり、自身で設定することができます。
プレーヤーコンテナ領域のサイズについては、CSSを介して設定することをお勧めします。CSS設定はプロパティ設定よりもフレキシブルで、フルスクリーンやコンテナ適応などの効果を実現することができます。
例中のpreload属性はページのロード後にビデオをロードするかどうかを指定します。通常、ビデオ再生を高速化するため、autoに設定しますが、その他のオプション値には、meta(ページロード後にメタデータのみをロード),none(ページロード後にビデオをロードしない)があります。モバイル端末ではシステムの制限のために自動的にビデオをロードすることができません。
playsinlinewebkit-playsinlineといったいくつかの属性は標準的なモバイル端末ブラウザがビデオ再生をハイジャックせずにインライン再生を実現するためのものです。ここでは例示するにとどめますが、必要に応じてご使用ください。
x5-playsinline属性をTBSカーネルに設定すると、X5UIのプレーヤーを使用できます。

ステップ3:ビデオファイルオブジェクトアドレスを取得する

1. バケットの作成を行います。
3. ビデオファイルのオブジェクトアドレスを取得します。形式はhttps://<BucketName-APPID>.cos.<Region>.myqcloud.com/xxx.<ビデオ形式>です。
説明:
クロスドメインの問題がある場合は、バケットのクロスドメインアクセスCORS設定を行う必要があります。詳細については、クロスドメインアクセスの設定をご参照ください。
バケットがプライベート読み取り/書き込みの場合、オブジェクトアドレスには署名が必要です。詳細については、リクエスト署名をご参照ください。

ステップ4:プレーヤーを初期化し、COSビデオファイルのオブジェクトアドレスURLを渡す

var player = TCPlayer("player-container-id", {}); // player-container-idはプレーヤーコンテナIDであり、htmlのIDと一致している必要があります
player.src("https://<BucketName-APPID>.cos.<Region>.myqcloud.com/xxx.mp4"); // COSビデオオブジェクトアドレス

機能ガイド



さまざまな形式のビデオファイルを再生する

1. COSバケット上のビデオファイルのオブジェクトアドレスを取得します。
説明:
トランスコードされていないソースビデオは再生の際に互換性の問題が生じる可能性があるため、トランスコード後のビデオで再生を行うことをお勧めします。Cloud Infiniteのオーディオビデオトランスコーディング処理により、さまざまな形式のビデオファイルを取得することができます。
2. さまざまなビデオ形式に対し、マルチブラウザでの互換性を保証するためには、対応する依存関係の導入が必要です。
MP4:他の依存関係を導入する必要はありません。
HLS:ChromeやFirefoxなどの最新ブラウザでH5を介してHLS形式のビデオを再生したい場合は、 tcplayer.min.js の前にhls.min.jsを導入する必要があります。
<script src="https://web.sdk.qcloud.com/player/tcplayer/release/v4.2.1/libs/hls.min.0.13.2m.js"></script>
FLV:ChromeやFirefoxなどの最新ブラウザでH5を介してFLV形式のビデオを再生したい場合は、 tcplayer.min.js の前にflv.min.jsを導入する必要があります。
<script src="https://web.sdk.qcloud.com/player/tcplayer/release/v4.5.2/libs/flv.min.1.6.2.js"></script>
DASH:DASHビデオにはdash.all.min.jsファイルのロードが必要です。
<script src="https://cos-video-1258344699.cos.ap-guangzhou.myqcloud.com/lib/dash.all.min.js"></script>
3. プレーヤーを初期化し、オブジェクトアドレスを渡します。
var player = TCPlayer("player-container-id", {}); // player-container-idはプレーヤーコンテナIDであり、htmlのIDと一致している必要があります
player.src("https://<BucketName-APPID>.cos.<Region>.myqcloud.com/xxx.mp4"); // COSビデオアドレス
サンプルコードを取得します。


PM3U8ビデオを再生する

PM3U8はプライベートM3U8ビデオファイルのことです。COSはプライベートM3U8 TSリソースの取得に用いるダウンロード権限承認APIを提供しています。プライベートM3U8インターフェースをご参照ください。
var player = TCPlayer("player-container-id", {
poster: "https://<BucketName-APPID>.cos.<Region>.myqcloud.com/xxx.m3u8?ci-process=pm3u8&expires=3600" // プライベートtsリソースurlのダウンロードクレデンシャルの相対有効期間は3600秒です
});
サンプルコードを取得します。


カバー画像を設定する

1. COSバケット上のカバー画像のオブジェクトアドレスを取得します。
注意:
Cloud Infiniteインテリジェントカバー機能により、最適なフレームを抽出してスクリーンキャプチャを生成し、それをカバーにすることでコンテンツの魅力をアップさせます。
2. カバー画像を設定します。
var player = TCPlayer("player-container-id", {
poster: "https://<BucketName-APPID>.cos.<Region>.myqcloud.com/xxx.png"
});
サンプルコードを取得します。


HLS暗号化ビデオを再生する

ビデオコンテンツの安全性を保障し、ビデオの違法なダウンロードと拡散を防止するため、Cloud InfiniteはHLSビデオコンテンツに対する暗号化機能を提供します。この機能はプライベート読み取りファイルよりさらに高いセキュリティレベルを有します。暗号化されたビデオは、アクセス権限のないユーザーの視聴用に配信できなくなります。ビデオがローカルにダウンロードされた場合でも、ビデオ自体が暗号化されているため、悪意ある二次配信が不可能であり、ビデオの著作権が違法に侵害されないよう保障することができます。
操作手順は次のとおりです。
1. HLS暗号化ビデオの再生のフローを参照し、暗号化したビデオを生成します。
2. プレーヤーを初期化し、ビデオオブジェクトアドレスを渡します。
var player = TCPlayer("player-container-id", {}); // player-container-idはプレーヤーコンテナIDであり、htmlのIDと一致している必要があります
player.src("https://<BucketName-APPID>.cos.<Region>.myqcloud.com/xxx.m3u8"); // hls暗号化ビデオアドレス
サンプルコードを取得します。


解像度を切り替える

Cloud Infiniteのアダプティブビットレートストリーミング機能は、ビデオファイルをトランスコードおよびパッケージ化し、アダプティブビットレートストリーミング出力ファイルを生成することで、ユーザーがさまざまなネットワーク状態の下でビデオコンテンツをスピーディーに配信できるようサポートするものです。プレーヤーも現在の帯域幅に応じて、最適なビットレートを動的に選択して再生できるようになります。 操作手順は次のとおりです。
1. Cloud Infiniteのアダプティブビットレートストリーミング機能により、マルチビットレートアダプティブなHLSまたはDASHターゲットファイルを生成します。
2. プレーヤーを初期化し、ビデオオブジェクトアドレスを渡します。
var player = TCPlayer("player-container-id", {}); // player-container-idはプレーヤーコンテナIDであり、htmlのIDと一致している必要があります
player.src("https://<BucketName-APPID>.cos.<Region>.myqcloud.com/xxx.m3u8"); // マルチビットレートビデオアドレス
サンプルコードを取得します。


動的ウォーターマークを設定する

プレーヤーはビデオに、位置と速度が変化するウォーターマークを追加することができます。動的ウォーターマーク機能を使用する際、プレーヤーによるオブジェクトの参照をグローバル環境に公開すると、動的ウォーターマークが簡単に除去できるため、公開してはなりません。Cloud Infiniteでは、クラウド側でのビデオに対する動的ウォーターマーク追加などの操作もサポートしています。詳細についてはウォーターマークテンプレートインターフェースをご参照ください。
var player = TCPlayer("player-container-id", {
plugins:{
DynamicWatermark: {
speed: 0.2, // 速度
content: "Tencent Cloud Infinite CI", // テキスト
opacity: 0.7 // 透明度
}
}
});
サンプルコードを取得します。


ロール画像広告を設定する

操作手順は次のとおりです。
1. ビデオ広告のカバー画像および広告リンクを準備します。
2. プレーヤーを初期化し、広告のカバー画像およびリンクを設定し、広告ノードを設定します。
var PosterImage = TCPlayer.getComponent('PosterImage');
PosterImage.prototype.handleClick = function () {
window.open('https://www.tencentcloud.com/products/ci'); // 広告リンクの設定
};

var player = TCPlayer('player-container-id', {
poster: 'https://<BucketName-APPID>.cos.<Region>.myqcloud.com/xxx..png', // 広告カバー画像
});
player.src('https://<BucketName-APPID>.cos.<Region>.myqcloud.com/xxx.mp4');

var adTextNode = document.createElement('span');
adTextNode.className = 'ad-text-node';
adTextNode.innerHTML = '広告';

var adCloseIconNode = document.createElement('i');
adCloseIconNode.className = 'ad-close-icon-node';
adCloseIconNode.onclick = function (e) {
e.stopPropagation();
player.posterImage.hide();
};

player.posterImage.el_.appendChild(adTextNode);
player.posterImage.el_.appendChild(adCloseIconNode);
サンプルコードを取得します。


ビデオ進捗画像を設定する

操作手順は次のとおりです。
1. Cloud Infiniteでビデオフレームキャプチャを行い、スプライトイメージを生成します。
2. ステップ1で生成したスプライトイメージとVTT(スプライトイメージの位置記述ファイル)のオブジェクトアドレスを取得します。
3. プレーヤーを初期化し、ビデオアドレスとVTTファイルを設定します。
var player = TCPlayer('player-container-id', {
plugins: {
VttThumbnail: {
vttUrl: 'https://<BucketName-APPID>.cos.<Region>.myqcloud.com/xxx.vtt' // 進捗画像VTTファイル
},
},
});
player.src('https://<BucketName-APPID>.cos.<Region>.myqcloud.com/xxx.mp4');
サンプルコードを取得します。


ビデオ字幕を設定する

操作手順は次のとおりです。
1. Cloud Infiniteによって音声認識を行い、字幕ファイルを生成します。
2. ステップ1で生成した字幕SRTファイルのオブジェクトアドレスを取得します。
3. プレーヤーを初期化し、ビデオアドレスと字幕SRTファイルを設定します。
var player = TCPlayer('player-container-id', {});
player.src('https://<BucketName-APPID>.cos.<Region>.myqcloud.com/xxx.mp4');
player.on('ready', function () {
// 字幕ファイルの追加
var subTrack = player.addRemoteTextTrack({
src: 'https://<BucketName-APPID>.cos.<Region>.myqcloud.com/xxx.srt', // 字幕ファイル
kind: 'subtitles',
srclang: 'zh-cn',
label: '中国語',
default: 'true',
}, true);
});
サンプルコードを取得します。


ビデオ多言語字幕を設定する

操作手順は次のとおりです。
1. Cloud Infiniteによって音声認識と字幕ファイル生成を行い、同時に多言語に翻訳します。
2. ステップ1で生成した多言語字幕SRTファイルのオブジェクトアドレスを取得します。
3. プレーヤーを初期化し、ビデオアドレスと多言語字幕SRTファイルを設定します。
var player = TCPlayer('player-container-id', {});
player.src('https://<BucketName-APPID>.cos.<Region>.myqcloud.com/xxx.mp4');
player.on('ready', function () {
// 中国語字幕の設定
var subTrack = player.addRemoteTextTrack({
src: 'https://<BucketName-APPID>.cos.<Region>.myqcloud.com/zh.srt', // 字幕ファイル
kind: 'subtitles',
srclang: 'zh-cn',
label: '中国語',
default: 'true',
}, true);
// 英語字幕の設定
var subTrack = player.addRemoteTextTrack({
src: 'https://<BucketName-APPID>.cos.<Region>.myqcloud.com/en.srt', // 字幕ファイル
kind: 'subtitles',
srclang: 'en',
label: '英語',
default: 'false',
}, true);
});
サンプルコードを取得します。

ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック