tencent cloud

Video on Demand

릴리스 노트 및 공지 사항
릴리스 노트
제품 소개
제품 개요
Product Features
제품 기능
제품 장점
시나리오
솔루션
구매 가이드
과금 개요
과금 방식
구매 가이드
청구서 조회
연장 안내
연체 안내
환불 안내
시작하기
콘솔 가이드
콘솔 소개
서비스 개요
애플리케이션 관리
미디어 관리
리소스 패키지 관리
License Management
사례 튜토리얼
미디어 업로드
VOD 미디어 파일을 스마트 콜드 스토리지하는 방법
비디오 처리
배포 및 재생
이벤트 알림 수신 방법
원본 서버 마이그레이션 방법
라이브 방송 녹화
사용자 지정 Origin-pull을 수행하는 방법
라이브 방송 하이라이트 클리핑을 VOD에 통합하기 위한 가이드
EdgeOne을 사용하여 VOD 콘텐츠 배포하는 방법
개발 가이드
미디어 업로드
미디어 처리
비디오 AI
이벤트 알림
비디오 재생
미디어 파일 다운로드
서브 애플리케이션 시스템
오류 코드
플레이어 SDK 문서
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
FAQs
모바일 재생
요금
비디오 업로드
비디오 배포
비디오 재생
Web 재생
전체 화면 재생
데이터 통계
액세스 관리
미디어 자산 콜드 스토리지
Agreements
Service Level Agreement
VOD 정책
개인 정보 보호 정책
데이터 처리 및 보안 계약
문의하기
용어집

Player 서명 예시

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 // 암호화되지 않은 어댑티브 비트레이트 템플릿 ID 허용
imageSpriteDefinition := 10 // 진행률 표시줄 미리보기 생성에 사용되는 이미지 스프라이트 템플릿 ID
currentTime := time.Now().Unix()
psignExpire := currentTime + 3600 // 필요에 따라 만료 시간을 설정합니다(예시: 1h).
urlTimeExpire := strconv.FormatInt(psignExpire, 16) // 필요에 따라 만료 시간을 16진수 문자열로 설정합니다(예시: 1h).
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; // 암호화되지 않은 어댑티브 비트레이트 템플릿 ID 허용
var imageSpriteDefinition = 10; // 진행률 표시줄 미리보기 생성에 사용되는 이미지 스프라이트 템플릿 ID
var currentTime = DateTimeOffset.UtcNow.ToUnixTimeSeconds();
var psignExpire = currentTime + 3600; // 필요에 따라 만료 시간을 설정합니다(예시: 1h).
var urlTimeExpire = psignExpire.ToString("X4"); // 필요에 따라 만료 시간을 16진수 값으로 설정합니다(예시: 1h).
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; // 암호화되지 않은 어댑티브 비트레이트 템플릿 ID 허용
$imageSpriteDefinition = 10; // 진행률 표시줄 미리보기 생성에 사용되는 이미지 스프라이트 템플릿 ID
$currentTime = time();
$psignExpire = $currentTime + 3600; // 필요에 따라 만료 시간을 설정합니다(예시: 1h).
$urlTimeExpire = dechex($psignExpire); // 필요에 따라 만료 시간을 16진수 문자열로 설정합니다(예시: 1h).
$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 // 암호화되지 않은 어댑티브 비트레이트 템플릿 ID 허용
var imageSpriteDefinition = 10 // 진행률 표시줄 미리보기 생성에 사용되는 이미지 스프라이트 템플릿 ID
var currentTime = Math.floor(Date.now()/1000)
var psignExpire = currentTime + 3600 // 필요에 따라 만료 시간을 설정합니다(예시: 1h).
var urlTimeExpire = psignExpire.toString(16) // 필요에 따라 만료 시간을 16진수 문자열로 설정합니다(예시: 1h).
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);

도움말 및 지원

문제 해결에 도움이 되었나요?

피드백