SSAI 켜기
On this page
StreamPackage 엔드포인트에 SSAI를 붙이는 실제 절차입니다. 리전은 ap-seoul을 기준으로 구성합니다.
요청 예시
엔드포인트를 생성한 뒤 수정 API로 SSAI를 활성화합니다.
LANGUAGE
1. CreateStreamPackageChannelEndpoint 일반 엔드포인트 생성
2. ModifyStreamPackageChannelEndpoint SSAIEnable True
3. DescribeStreamPackageChannel 적용 확인1단계. 엔드포인트 생성
LANGUAGE
tccli mdp CreateStreamPackageChannelEndpoint --region ap-seoul \
--Id 6AA6****32BF \
--Name justinkim_ssai_hls \
--AuthInfo '{"WhiteIpList":[],"BlackIpList":[],"AuthKey":""}' \
--Protocol HLS \
--Manifest index엔드포인트를 생성한 뒤 수정 API로 SSAI를 활성화합니다.
생성 후 URL을 확인합니다.
LANGUAGE
tccli mdp DescribeStreamPackageChannel --region ap-seoul --Id 6AA6****32BF \
| python3 -c "
import sys,json
for e in json.load(sys.stdin)['Info']['Points']['Endpoints']:
print(e['Name'], e['Url'])
"2단계. SSAI 활성화
설정을 JSON 파일로 준비합니다.
LANGUAGE
cat > /tmp/ssai.json <<'EOF'
{
"AdsUrl": "https://ads.example.com/vast?cid=****",
"SlateAd": "https://cdn.example.com/slate.mp4",
"Threshold": 12,
"DashMPDLocation": true,
"AdMarkerPassthrough": false,
"SCTE35AdType": 1,
"AdTriggers": [1, 2, 4, 5],
"DeliveryRestrictions": 4
}
EOF수정 호출을 보냅니다.
LANGUAGE
tccli mdp ModifyStreamPackageChannelEndpoint --region ap-seoul \
--Id 6AA6****32BF \
--Url "https://13******46.ap-seoul.streampackage.srclivepull.myqcloud.com/v1/01a0****6005/01a0****86d9/index.m3u8" \
--Name justinkim_ssai_hls \
--AuthInfo '{"WhiteIpList":[],"BlackIpList":[],"AuthKey":""}' \
--Protocol HLS \
--SSAIEnable True \
--SSAIInfo "$(cat /tmp/ssai.json)"성공하면 RequestId만 반환됩니다.
LANGUAGE
{
"RequestId": "c77cc472-5db2-46b1-9df7-47a7c1a766dd"
}3단계. 적용 확인
수정 후 Describe API로 적용된 설정을 확인합니다.
LANGUAGE
tccli mdp DescribeStreamPackageChannel --region ap-seoul --Id 6AA6****32BF \
| python3 -c "
import sys,json
for e in json.load(sys.stdin)['Info']['Points']['Endpoints']:
print(e['Name'], 'SSAIEnable =', e.get('SSAIEnable'))
print(' ', json.dumps(e.get('SSAIInfo'), ensure_ascii=False))
"실제 적용 결과입니다.
LANGUAGE
justinkim_quickstart_hls SSAIEnable = False
justinkim_ssai_hls SSAIEnable = True
{"AdsUrl": "https://ads.example.com/vast?cid=****",
"SlateAd": "https://cdn.example.com/slate.mp4",
"Threshold": 12,
"DashMPDLocation": true,
"AdMarkerPassthrough": false,
"SCTE35AdType": 1,
"AdTriggers": [1, 2, 4, 5],
"DeliveryRestrictions": 4}필드 설명
| 필드 | 값 | 설명 |
|---|---|---|
AdsUrl |
URL | 광고 결정 서버. VAST로 응답해야 함 |
SlateAd |
MP4 URL | 광고가 안 채워졌을 때 틀 기본 영상 |
Threshold |
초 | 광고 응답을 몇 초까지 기다릴지. 넘으면 슬레이트 |
DashMPDLocation |
bool | DASH MPD location 사용 |
AdMarkerPassthrough |
bool | 마커를 그대로 통과시킬지 |
SCTE35AdType |
1 / 2 |
1 전체 처리, 2 enhanced(일부 타입만) |
AdTriggers |
[1,8] 배열 | 광고로 취급할 마커 타입 |
DeliveryRestrictions |
[1,4] | 배포 제한 조건 |
tccli 표기 안내
CLI 최상위 불린은 True / False, JSON 안의 불린은 true / false로 표기합니다.
ADS 파라미터 치환
ConfigAliases를 사용하면 ADS URL에 값을 동적으로 붙일 수 있습니다. 시청자 지역이나 디바이스별로 다른 광고를 요청할 때 사용합니다.
LANGUAGE
"ConfigAliases": [
{
"ParamName": "region",
"AliasValueList": [
{ "Alias": "seoul", "Value": "kr" },
{ "Alias": "tokyo", "Value": "jp" }
]
}
]