tencent cloud

Video on Demand

動向とお知らせ
製品アップデート情報
製品紹介
製品概要
Product Features
製品の機能
製品の強み
ユースケース
ソリューション
購入ガイド
課金概要
課金方式
購入ガイドライン
請求書の照会
支払い更新の説明
支払い延滞の説明
返金説明
クイックスタート
コンソールガイド
コンソールの説明
サービスの概要
アプリケーション管理
メディア管理
リソースパック管理
License Management
プラクティスチュートリアル
メディアのアップロード
オンデマンドメディアファイルのインテリジェントコールド化方法
ビデオ処理
配信と再生
イベント通知の受信方法
オリジンサーバーのマイグレーションツール
Live Recording
カスタムオリジンサーバーback-to-originの方法
ライブストリーミングハイライトクリップを VOD に永続化するためのガイド
EdgeOne を使用して VOD コンテンツを配信する方法
開発ガイド
メディアアップロード
メディア加工処理
ビデオAI
イベント通知
ビデオ再生
メディアファイルのダウンロード
サブアプリケーションシステム
エラーコード
Player+ドキュメント
Overview
Basic Concepts
Features
Free Demo
Free Trial License
Purchase Guide
SDK Download
Licenses
Player Guide
Integration (UI Included)
Integration (No UI)
Advanced Features
API Documentation
Player Adapter
Player SDK Policy
よくあるご質問
モバイル端末再生に関するご質問
料金
ビデオのアップロード
ビデオの公開
ビデオの再生
Web側の再生
全画面表示再生
データ統計
CAM関連
メディア資産冷却に関する質問
Agreements
Service Level Agreement
VOD ポリシー
プライバシーポリシー
データ処理とセキュリティ契約
お問い合わせ
用語集

プレーヤーの署名例

PDF
フォーカスモード
フォントサイズ
最終更新日: 2023-10-26 17:39:31

Python署名の例

pyjwt ライブラリを使用して署名を計算します。pip install pyjwtを使用してインストールしてください。
#!/usr/bin/python
#coding=utf-8

import jwt

AppId = 1255566655
FileId = "4564972818519602447"
AudioVideoType = "RawAdaptive"
RawAdaptiveDefinition = 10
ImageSpriteDefinition = 10
CurrentTime = 1546340400
PsignExpire = 1546344000
UrlTimeExpire = "5c2b5640"
PlayKey = "TxtyhLlgo7J3iOADIron"

Original = {
"appId": AppId,
"fileId": FileId,
"contentInfo": {
"audioVideoType": AudioVideoType,
"rawAdaptiveDefinition": RawAdaptiveDefinition,
"imageSpriteDefinition": ImageSpriteDefinition
},
"currentTimeStamp": CurrentTime,
"expireTimeStamp": PsignExpire,
"urlAccessInfo": {
"t": UrlTimeExpire
}
}

Signature = jwt.encode(Original, PlayKey, algorithm='HS256')

print("Original: ", Original)
print("Signature: ", Signature)

Java署名の例

java-jwt ライブラリを使用して署名を計算します。
import java.util.*;
import com.auth0.jwt.algorithms.Algorithm;
import com.auth0.jwt.exceptions.JWTCreationException;
import com.auth0.jwt.JWT;

class Main {
public static void main(String[] args) {
Integer AppId = 1255566655;
String FileId = "4564972818519602447";
String AudioVideoType = "RawAdaptive";
Integer RawAdaptiveDefinition = 10;
Integer ImageSpriteDefinition = 10;
Integer CurrentTime = 1589448067;
Integer PsignExpire = 1589548067;
String UrlTimeExpire = "5ebe9423‬";
String PlayKey = "TxtyhLlgo7J3iOADIron";
HashMap<String, Object> urlAccessInfo = new HashMap<String, Object>();
urlAccessInfo.put("t", UrlTimeExpire);
HashMap<String, Object> contentInfo = new HashMap<String, Object>();
contentInfo.put("audioVideoType", AudioVideoType);
contentInfo.put("rawAdaptiveDefinition", RawAdaptiveDefinition);
contentInfo.put("imageSpriteDefinition", ImageSpriteDefinition);

try {
Algorithm algorithm = Algorithm.HMAC256(PlayKey);
String token = JWT.create().withClaim("appId", AppId).withClaim("fileId", FileId)
.withClaim("contentInfo", contentInfo)
.withClaim("currentTimeStamp", CurrentTime).withClaim("expireTimeStamp", PsignExpire)
.withClaim("urlAccessInfo", urlAccessInfo).sign(algorithm);
System.out.println("token:" + token);
} catch (JWTCreationException exception) {
// Invalid Signing configuration / Couldn't convert Claims.
}
}
}

Go署名の例

jwt-go ライブラリを使用して署名を計算します。コマンドgo get github.com/dgrijalva/jwt-go`を使用してインストールしてください。

package main

import (
"fmt"
"time"
"strconv"
"github.com/dgrijalva/jwt-go"
)

func main(){
appId := 1255566655 // ユーザー appid
fileId := "4564972818519602447" // ターゲット FileId
audioVideoType := "RawAdaptive" // 再生するオーディオビデオのタイプ
rawAdaptiveDefinition := 10 // 出力が許可される、暗号化されていないABSテンプレートID
imageSpriteDefinition := 10 // プログレスバープレビュー用のスプライトイメージテンプレートID
currentTime := time.Now().Unix()
psignExpire := currentTime + 3600 // 有効期限は、1hなど任意に設定できます
urlTimeExpire := strconv.FormatInt(psignExpire, 16) // 有効期限は、1hなどの16進文字列で任意に設定できます
playKey := []byte("TxtyhLlgo7J3iOADIron")

// Create a new token object, specifying signing method and the claims
// you would like it to contain.
token := jwt.NewWithClaims(jwt.SigningMethodHS256, jwt.MapClaims{
"appId": appId,
"fileId": fileId,
"contentInfo": {
"audioVideoType": audioVideoType,
"rawAdaptiveDefinition": rawAdaptiveDefinition,
"imageSpriteDefinition": imageSpriteDefinition,
},
"currentTimeStamp": currentTime,
"expireTimeStamp": psignExpire,
"urlAccessInfo": map[string]string{
"t": urlTimeExpire,
},
})

// Sign and get the complete encoded token as a string using the secret
tokenString, err := token.SignedString(playKey)

fmt.Println(tokenString, err)
}

C# 署名の例

jose-jwt を使用して署名を計算します。NuGetコマンドInstall-Package jose-jwtを使用してインストールしてください。
using System;
using System.Text;
using System.Collections.Generic;
using Jose;

public class Program
{
public static void Main()
{
var appId = 1255566655; // ユーザー appid
var fileId = "4564972818519602447"; // ターゲット FileId
var audioVideoType = "RawAdaptive"; // 再生するオーディオビデオのタイプ
var rawAdaptiveDefinition = 10; // 出力が許可される、暗号化されていないABSテンプレートID
var imageSpriteDefinition = 10; // プログレスバープレビュー用のスプライトイメージテンプレートID
var currentTime = DateTimeOffset.UtcNow.ToUnixTimeSeconds();
var psignExpire = currentTime + 3600; // 有効期限は、1hなど任意に設定できます
var urlTimeExpire = psignExpire.ToString("X4"); // 有効期限は、1hなどの16進文字列で任意に設定できます
var playKey = "TxtyhLlgo7J3iOADIron";
var playKeyBytes = Encoding.ASCII.GetBytes(playKey);
var payload = new Dictionary<string, object>()
{
{"appId", appId},
{"fileId", fileId},
{"contentInfo": new Dictionary<string, object>()
{
{"audioVideoType": audioVideoType},
{"rawAdaptiveDefinition": rawAdaptiveDefinition},
{"imageSpriteDefinition": imageSpriteDefinition}
}
},
{"currentTimeStamp", currentTime},
{"expireTimeStamp", psignExpire},
{"urlAccessInfo", new Dictionary<string, object>()
{
{"t", urlTimeExpire}
}
}
};
string token = Jose.JWT.Encode(payload, playKeyBytes, JwsAlgorithm.HS256);
Console.WriteLine(token);
}
}

PHP署名の例

php-jwt を使用して署名を計算します。コマンドcomposer require firebase/php-jwtを使用してインストールしてください。
<?php
require 'vendor/autoload.php';
use \\Firebase\\JWT\\JWT;

$appId = 1255566655; // ユーザー appid
$fileId = "4564972818519602447"; // ターゲット FileId
$audioVideoType = "RawAdaptive"; // 再生するオーディオビデオのタイプ
$rawAdaptiveDefinition = 10; // 出力が許可される、暗号化されていないABSテンプレートID
$imageSpriteDefinition = 10; // プログレスバープレビュー用のスプライトイメージテンプレートID
$currentTime = time();
$psignExpire = $currentTime + 3600; // 有効期限は、1hなど任意に設定できます
$urlTimeExpire = dechex($psignExpire); // 有効期限は、1hなどの16進文字列で任意に設定できます
$playKey = "TxtyhLlgo7J3iOADIron";

$payload = array(
"appId" => $appId,
"fileId" => $fileId,
"contentInfo" => array(
"audioVideoType"=> $audioVideoType,
"rawAdaptiveDefinition"=> $rawAdaptiveDefinition,
"imageSpriteDefinition"=> $imageSpriteDefinition
),
"currentTimeStamp" => $currentTime,
"expireTimeStamp" => $psignExpire,
"urlAccessInfo" => array(
"t" => $urlTimeExpire
)
);

$jwt = JWT::encode($payload, $playKey, 'HS256');
print_r($jwt);
?>

Node.js署名の例

jsonwebtoken を使用して署名を計算します。コマンドnpm install jsonwebtokenを使用してインストールしてください。
var jwt = require('jsonwebtoken');

var appId = 1255566655 // ユーザー appid
var fileId = "4564972818519602447" // ターゲット FileId
var audioVideoType = "RawAdaptive" // 再生するオーディオビデオのタイプ
var rawAdaptiveDefinition = 10 // 出力が許可される、暗号化されていないABSテンプレートID
var imageSpriteDefinition = 10 // プログレスバープレビュー用のスプライトイメージテンプレートID
var currentTime = Math.floor(Date.now()/1000)
var psignExpire = currentTime + 3600 // 有効期限は、1hなど任意に設定できます
var urlTimeExpire = psignExpire.toString(16) // 有効期限は、1hなどの16進文字列で任意に設定できます
var playKey = 'TxtyhLlgo7J3iOADIron'

var payload = {
appId: appId,
fileId: fileId,
contentInfo: {
audioVideoType: audioVideoType,
rawAdaptiveDefinition: rawAdaptiveDefinition,
imageSpriteDefinition: imageSpriteDefinition
},
currentTimeStamp: currentTime,
expireTimeStamp: psignExpire,
urlAccessInfo: {
t: urlTimeExpire
}
}
var token = jwt.sign(payload, playKey);
console.log(token);

ヘルプとサポート

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

フィードバック