# การอัปโหลดวิดีโอผ่าน API
ในการอัปโหลดวิดีโอผ่าน API คุณจำเป็นต้องส่ง Request อย่างน้อย 2 requests ตามลำดับดังนี้:
- ส่ง Request เพื่อร้องขอการสร้างวิดีโอ
- ใช้ Video keys ที่ได้จากขั้นตอนที่ 1 เพื่ออัปโหลดวิดีโอแต่ละวิดีโอ
- รอจนกระทั่งวิดีโออัปโหลดสำเร็จและพร้อมใช้งาน
# Authorization
ทั้งสอง API ที่กล่าวมาข้างต้นต้องส่ง HTTP Authorization Header ดังต่อไปนี้
Authorization: Bearer <personal_access_token_here>
1
คุณสามารถดูวิธีการนำ Personal Access Token มาใช้ได้จาก ที่นี่
# ขั้นตอนที่ 1 - ส่ง Request เพื่อร้องขอการสร้างวิดีโอ
เริ่มต้นด้วยการส่ง HTTP Request แบบ POST พร้อมกับชื่อวิดีโอ
Response จะตอบ video key ที่จำเป็นต้องใช้ในการอัปโหลดไฟล์วิดีโอพร้อมกับ streaming URLs ที่ใช้สำหรับเล่นวิดีโอในภายหลัง
# Request Endpoint
POST https://stream.byteark.com/api/v1/videos
1
# Request Parameters
Parameter | Type | Required | Description |
---|---|---|---|
projectKey | String | Required | Key ของโปรเจกต์ที่จะอัปโหลดวิดีโอเข้าไป |
videos | []Object | Required | ข้อมูลวิดีโอที่จะสร้าง โดยสามารถสร้างหลายๆ วิดีโอพร้อมๆ กันได้ |
videos.*.title | String | Required | ชื่อวิดีโอ |
videos.*.tags | []String | - | แท็กของวิดีโอที่จะสร้างใหม่ |
presetId | String | - | ID ของพรีเซตที่ต้องการใช้สำหรับวิดีโอที่สร้างใหม่ สามารถเว้นว่างได้เพื่อใช้พรีเซตตั้งต้นของโปรเจกต์นั้นๆ |
คุณสามารถดูวิธีการนำ projectKey มาใช้ได้จาก ที่นี่
# Sample Request Parameters
{
"projectKey": "your-project-key-here",
"videos": [
{
"title": "Video 1 title here",
"tags": ["tag1", "tag2"]
},
{
"title": "Video 2 title here",
"tags": ["tag3", "tag4"]
}
]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
# Sample Response
[
{
"key": "RuguHtZPJYm4",
"title": "Video 1 title here",
"primaryPlaybackUrl": {
name: "playback",
hls: {
name: "Adaptive Bitrate",
url: "https://your-playback-domain/streams/VideoKey/playlist.m3u8"
}
}
},
{
"key": "RuguHtZPJYm5",
"title": "Video 2 title here",
"primaryPlaybackUrl": {
name: "playback",
hls: {
name: "Adaptive Bitrate",
url: "https://your-playback-domain/streams/VideoKey/playlist.m3u8"
}
}
}
]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# ขั้นตอนที่ 2 - อัปโหลดไฟล์วิดีโอ
อัปโหลดไฟล์แต่ละไฟล์โดยใช้ multipart/form-data request ด้่วยฟิลด์ file
# ตัวอย่าง Request Parameters
POST /api/upload/v1/form-data/videos/{videoKey}
1
# Request Parameters
Parameter | Type | Required | Description |
---|---|---|---|
file | Binary | Required | Video source file binary content. |
# ขั้นตอนที่ 3 - รอจนกระทั่งวิดีโอพร้อมใช้งาน
วิดีโอจะถูกประมวลผล คุณอาจจะรอให้วิดีโอพร้อมใช้งานโดย Pool Video API หรือใช้ Webhook