# การอัปโหลดวิดีโอผ่าน API

ในการอัปโหลดวิดีโอผ่าน API คุณจำเป็นต้องส่ง Request อย่างน้อย 2 requests ตามลำดับดังนี้:

  1. ส่ง Request เพื่อร้องขอการสร้างวิดีโอ
  2. ใช้ Video keys ที่ได้จากขั้นตอนที่ 1 เพื่ออัปโหลดวิดีโอแต่ละวิดีโอ
  3. รอจนกระทั่งวิดีโออัปโหลดสำเร็จและพร้อมใช้งาน

# 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

# 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 - อัปโหลดไฟล์วิดีโอ

อัปโหลดไฟล์แต่ละไฟล์โดยใช้ 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