✂️ TC03 · ขั้นกลาง

Batch + Chroma
ตัดวิดีโอยาวเป็นชิ้นสั้น

จาก vlog 5 นาที → 10 shorts 30 วินาที ใส่ฉากหลังใหม่อัตโนมัติ — เหมาะกับ content creator ที่อยากลง TikTok/Reels แบบไม่ต้องนั่งตัดเอง

⏱ 18 นาที 📖 9 sections 🧠 3 quiz ✂️ N outputs

🔄 ทบทวน TC01 + TC02

TC01 = 1 คลิป + 1 ฉาก = 1 output (ตัดจอเขียวอย่างเดียว)

TC02 = 1 คลิป + 1 ฉาก + 7 lens × 3 composition = 21 outputs (ซูมหลายมุม)

TC03 = 1 คลิปยาว + 1 ฉาก → ตัดเป็น N ชิ้น = N outputs (ตัดตามเวลา)

✂️ Batch คืออะไร?

คือการ "ตัดวิดีโอยาวเป็นหลายๆ ชิ้นสั้น" โดยใช้เวลาเป็นเกณฑ์

ตัวอย่างในชีวิตจริง

คุณถ่าย vlog ไปเที่ยวทะเล 5 นาที อยากตัดเป็น 10 shorts ลง TikTok (ชิ้นละ 30 วินาที) — ปัญหาคือ นั่งตัดเองใน CapCut/Premiere ใช้เวลาเป็นชั่วโมง

TC03 ทำให้อัตโนมัติ — บอกแค่ "ตัดทุก 30 วินาที" + ใส่ฉากหลัง → ได้ 10 คลิปพร้อมใช้

Visual: 5 นาที → 10 ชิ้น × 30 วินาที

Input: 5 นาที (300 วินาที) 📦 product.mp4 Output: 10 ชิ้น × 30 วินาที

🎯 เมื่อไหร่ใช้ TC03?

TC03 เหมาะกับงาน "1 คลิปยาว → หลาย short"

✅ เหมาะมาก

  • 🎥 Vlog 5-30 นาที → ตัดเป็น 30-60 shorts
  • 📺 รายการทีวี → ตัดเป็นไฮไลต์
  • 🎤 สัมภาษณ์ยาว → ตัดเป็น quote clips
  • 📚 คอร์สเรียน → ตัดเป็น short lessons
  • 🎮 Gameplay recording → ตัดเป็น highlight
  • 🎙️ Podcast → ตัดเป็น topic clips

❌ ไม่เหมาะ

  • ❌ คลิปสั้นอยู่แล้ว (< 1 นาที) → ใช้ TC01
  • ❌ อยากได้หลายมุม → ใช้ TC02
  • ❌ อยาก cut แบบ highlight เฉพาะจังหวะ → ต้องใช้ AI detect (ยังไม่มี)
  • ❌ อยากใส่ audio master → ใช้ TC06

⏱ segment_duration คือหัวใจของ TC03

ค่าเดียวที่ต้องเลือก — "แต่ละชิ้นยาวกี่วินาที"

สูตรคำนวณ

จำนวน outputs = ⌈ ความยาววิดีโอ ÷ segment_duration ⌉

เช่น vlog 5 นาที (300 วินาที) ÷ 30 วินาที = 10 outputs

เลือก segment_duration เท่าไหร่ดี?

⚡ 15-20 วินาที

TikTok / Reels สั้นๆ

เหมาะ: viral hook, teaser

📱 30-60 วินาที

TikTok / Reels ปกติ

เหมาะ: tutorial, vlog, story

🎬 90-180 วินาที

YouTube Shorts / IG Reels

เหมาะ: ละเอียด, highlight

⚠️ ข้อจำกัดของ TC03

TC03 ตัดตามเวลา แบบสม่ำเสมอ เท่านั้น ไม่ได้ "ฉลาด" — ไม่รู้ว่าตรงไหนคือ highlight ที่ดี

ถ้าต้องการ AI ตัดเฉพาะจังหวะสำคัญ ต้องใช้ workflow อื่น (เช่น Python script ที่วิเคราะห์ scene detection แล้วเลือก segment เอง)

⚖️ TC03 vs TC02 — ต่างกันยังไง?

🟣 TC02 Reframe

  • 🎯 เปลี่ยน "มุมกล้อง"
  • 📐 Output = 7 lens × 3 = 21
  • ⏱ ~30-90 วินาที
  • 🎬 ใช้กับ "คลิปสั้น" เป็นหลัก
  • 📐 Crop + zoom เท่านั้น ไม่ตัดเวลา

🔵 TC03 Batch

  • ✂️ เปลี่ยน "ความยาว"
  • 📐 Output = N (ตามความยาว)
  • ⏱ ~1-2 วินาที ต่อ segment
  • 🎬 ใช้กับ "vlog/รายการยาว" เป็นหลัก
  • ⏱ Split ตามเวลา ไม่ crop
💡 ใช้ด้วยกันได้!

TC04 = TC03 + TC02 (batch + reframe) → ตัดเป็นหลายชิ้น แต่ละชิ้นมี 21 มุม = 21×N outputs (จะเรียนในคอร์สถัดไป)

⚙️ TC03 ทำงานยังไง?

3 ขั้นตอนหลัก (อัตโนมัติทั้งหมด)

1

Split — ตัด product เป็น N segments

ใช้ ffmpeg segment filter แบ่ง product.mp4 ออกเป็น N ไฟล์ แต่ละไฟล์ยาว segment_duration วินาที (ไฟล์สุดท้ายอาจสั้นกว่าถ้าเหลือเศษ)

⏱ ใช้เวลา: < 1 วินาที ต่อ segment
2

Chroma — เอาแต่ละ segment ไปตัดจอเขียวใส่ background

แต่ละ segment ถูกเอาไปผ่าน TC01 process — scale → chroma → overlay → despill — ได้ผลลัพธ์เป็น N MP4 พร้อมฉากหลังใหม่

⏱ ใช้เวลา: ~1-2 วินาที ต่อ segment
3

Encode — บันทึกเป็น MP4

ทุก output ถูก encode เป็น H.264 MP4 แล้วอัปโหลดกลับมาให้ดาวน์โหลด

⏱ รวมอยู่ในขั้น 2 แล้ว

🎛️ ตั้งค่า

TC03 มี 2 กลุ่มตั้งค่า — chroma (เหมือน TC01) + batch (ใหม่)

1. Chroma settings (เหมือน TC01)

ตั้งค่า แนะนำ ความหมาย
width × height1080×1920ขนาด output แต่ละ segment
presetfastความเร็วในการ encode
key_color#00FF00สีที่จะลบ
similarity / blend / despill0.32 / 0.06 / 0.35ค่าปรับแต่ง chroma (ดูคอร์ส TC01)

2. Batch settings (ใหม่)

ตั้งค่า แนะนำ ความหมาย
segment_duration 30 (TikTok) / 60 (Reels) ความยาวแต่ละ segment (วินาที) · 0.5-600
match_count_mode product_count เลือก: ตัดตามจำนวน product หรือตาม segment count

💻 ตัวอย่าง Python

เรียก V3 API แบบ TC03

# tc03_render.py — เรียก V3 API แบบ TC03 (batch + chroma)
import requests, time

BASE = "https://green.cutdee.com/v3api"
API_KEY = "cutdee_vdo_..."  # เก็บใน env
H = {"Authorization": f"Bearer {API_KEY}"}

# 1. Submit TC03 — vlog 5 นาที → 10 segments × 30 วินาที
files = {
    "product": ("vlog5min.mp4", open("vlog5min.mp4", "rb"), "video/mp4"),
    "background": ("studio.mp4", open("studio.mp4", "rb"), "video/mp4"),
}
data = {
    # Chroma (เหมือน TC01)
    "width": "1080", "height": "1920",
    "preset": "fast", "key_color": "#00FF00",
    "similarity": "0.32", "blend": "0.06", "despill": "0.35",
    # TC03 ใหม่: segment duration
    "segment_duration": "30",  # วินาที
}
r = requests.post(f"{BASE}/api/render/tc03", files=files, data=data, headers=H, timeout=300)
job = r.json()
print("queued:", job["job_id"])

# 2. Poll
while True:
    j = requests.get(f"{BASE}/api/job/{job['job_id']}", headers=H).json()
    print(f"  {j['status']:12s} progress={j.get('progress', 0)}% outputs={len(j.get('output_files', []))}")
    if j["status"] in ("succeeded", "failed"):
        break
    time.sleep(2)

# 3. Download ทั้งหมด
if j["status"] == "succeeded":
    import os
    os.makedirs("results", exist_ok=True)
    for fn in j["output_files"]:
        out = requests.get(
            f"{BASE}/api/v1/jobs/{job['job_id']}/download/{fn}", headers=H)
        open(f"results/{fn}", "wb").write(out.content)
    print(f"saved {len(j['output_files'])} files")

🧠 ทดสอบความเข้าใจ

❓ 1. vlog 3 นาที ใช้ segment_duration=30 วินาที จะได้กี่ outputs?

  • 3 outputs
  • 5 outputs
  • ✅ 6 outputs (3 นาที = 180 วินาที ÷ 30 = 6)
  • 10 outputs

❓ 2. TC03 ต่างจาก TC02 อย่างไร?

  • ✅ TC03 ตัดตามเวลา / TC02 ตัดตามมุม
  • TC03 เร็วกว่า TC02 เสมอ
  • TC03 ใช้ GPU / TC02 ใช้ CPU
  • TC03 ทำได้แค่ vlog

❓ 3. ถ้าอยากให้ AI เลือก segment ที่น่าสนใจเอง (ไม่ใช่ตัดเท่าๆ กัน) ต้องทำยังไง?

  • TC03 รองรับอยู่แล้ว ใส่ flag smart=true
  • ✅ ต้องใช้ Python script ที่รัน scene detection เอง แล้วเลือก segment ที่ดี
  • ใช้ TC04 แทน — TC04 ฉลาดกว่า
  • TC03 ตัดได้แค่ 30 วินาทีเท่านั้น

💡 เคล็ดลับใช้งาน

🎯 segment_duration ที่นิยม

  • 15s — TikTok viral hook
  • 30s — TikTok ปกติ (แนะนำ)
  • 60s — IG Reels, YouTube Shorts
  • 90s — Long Reels

📂 ตั้งชื่อไฟล์ segment

ชื่อจะเป็น batch_<timestamp>_NNN_<product_id>_<lens>.mp4 — ใช้ sort ตาม NNN เพื่อเรียงตามลำดับเวลา

⏱ จัดการ quota

vlog 5 นาที ÷ 30s = 10 outputs = 1 render (นับเป็น 1 quota ไม่ใช่ 10)

🔗 Chain กับ TC02/04

ถ้าอยากทั้ง batch + reframe → ใช้ TC04 (จะเรียนในคอร์สถัดไป)

⚠️ ข้อผิดพลาดที่พบบ่อย

❌ ใส่ segment_duration น้อยเกิน (0.5 วินาที)

TC03 จะสร้าง output เป็นพันไฟล์ใน 1 วิดีโอ 5 นาที → quota หมดเร็ว + server ช้า — ใช้ 15s+ เป็นค่าขั้นต่ำจริงๆ

❌ ใส่ segment_duration มากเกิน (600 วินาที)

ถ้า product 2 นาที ใส่ 600s = 1 output (เท่าเดิม) ไม่ได้ช่วยอะไร — ตั้งให้เหมาะกับ content

❌ ลืมว่า segment สุดท้ายอาจสั้น

ถ้า vlog 65 วินาที ÷ 30s = 2 segments (30s + 35s) — segment ที่ 2 จะสั้นกว่าที่ตั้ง

📚 เรียนอะไรต่อดี?

  1. TC04 (Reframe + Batch) — ซูมหลายมุม + ตัดหลายชิ้น = 21×N outputs
  2. Python สำหรับเรียก API — batch 100+ jobs, auto-retry, queue management
  3. คำนวณต้นทุน — 100 vlogs × 10 segments = 1000 outputs = เท่าไหร่
← ก่อนหน้า
Reframe + Chroma TC02