🎥 TC02 · ขั้นกลาง

Reframe + Chroma
ซูม 7 มุม × ตัดจอเขียว

จากวิดีโอ 1 คลิป ทำเป็น 21 วิดีโอใหม่ — คนละมุมกล้อง คนละ composition เหมาะกับ TikTok/Reels ที่ต้องการหลายมุม

⏱ 20 นาที 📖 9 sections 🧠 3 quiz 🎯 21 outputs

🔄 ทบทวน TC01

TC01 = 1 product + 1 background → 1 output (ตัดจอเขียวอย่างเดียว)

TC02 = TC01 + "ซูมเข้า-ออก" — ขั้นต่อไปที่ใหญ่ที่สุด

🎬 Reframe คืออะไร?

คือการ "ครอป + ซูม" วิดีโอให้เข้ากับขนาดใหม่ โดยไม่ทำให้ภาพเสีย

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

ถ่ายวิดีโอแนวนอน 16:9 แต่อยากเอาไปลง TikTok/Reels ที่เป็น 9:16 — ปัญหาคือ ถ้าครอปธรรมดา จะเห็นแค่กลางจอ คน/ของที่อยู่ข้างๆ หายไป

Reframe คือการ "เลื่อนกล้อง" ฉลาดๆ เพื่อให้คน/ของสำคัญอยู่ในเฟรมเสมอ

7 lens ที่ V3 ใช้

แทนที่จะซูมแค่ 1 ระดับ V3 จะสร้าง 7 มุม (เลนส์) ให้เลือก — เหมือนถ่ายด้วยกล้อง 7 ตัวพร้อมกัน

16mm
Ultra-wide
เห็นภาพกว้างมาก เน้นบรรยากาศ
24mm
Wide
เห็นกว้าง เน้นฉาก
35mm
Standard
มาตรฐาน เห็นทั้งคนและฉาก
50mm
Normal
เหมือนตาเปล่า เน้นคน
85mm
Portrait
ซูมเฉพาะหน้า/ตัวแบบ
135mm
Telephoto
ซูมใกล้มาก เบลอฉากหลัง
200mm
Super-tele
ซูมสุดๆ เห็นแค่รายละเอียด

🎯 3 Composition (ตำแหน่งวางคน)

นอกจากเลือก lens แล้ว ยังเลือกได้ว่าจะให้ "คน/ของ" อยู่ตรงไหนในเฟรม

🎯 center

คน/ของอยู่กลางเฟรม — มาตรฐาน ดูสบายตา

เหมาะ: ทั่วไป, presentation

👈 left

คน/ของอยู่ซ้าย เหลือพื้นที่ขวา — ใส่ข้อความ/ลูกศรได้

เหมาะ: TikTok with text overlay

👉 right

คน/ของอยู่ขวา เหลือพื้นที่ซ้าย — ใส่ข้อความ/ลูกศรได้

เหมาะ: Reels with CTA on left

💡 คณิตศาสตร์ของ TC02 7 lens × 3 composition = 21 outputs ต่อ 1 product — เอาไปเลือกใช้ทีหลัง หรือทำเป็น "storyboard" ก็ได้

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

TC02 = 2 ขั้นตอนหลัก (อัตโนมัติทั้งคู่)

1

Reframe — ซูม 7 lens × 3 composition = 21 คลิป

เอา product มาตัด/ซูม 21 แบบ บันทึกเป็นไฟล์ชั่วคราว (intermediate) — แต่ละไฟล์ยังมีจอเขียวอยู่

⏱ ใช้เวลา: ~3-5 วินาที ต่อ 1 วินาทีของ product (รวม 21 outputs)
2

Chroma — เอา 21 outputs ไปตัดจอเขียวใส่ background

แต่ละ output ถูกนำไปผ่าน TC01 process เดียวกัน ได้ผลลัพธ์เป็น 21 MP4 ที่ตัดจอเขียวเรียบร้อย + มี background ใหม่

⏱ ใช้เวลา: ~10-30 วินาที รวม (parallel ffmpeg 3-5 ตัว)
3

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

แต่ละ output ถูก encode เป็น H.264 MP4 คุณภาพสูง พร้อมอัปโหลด

⏱ ใช้เวลา: รวมอยู่ในขั้น 2 แล้ว
Input 📦 product (จอเขียว) 🏖️ bg (ฉากหลัง) TC02 21 outputs ... 7 lens × 3 = 21

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

เลือกให้เหมาะกับงาน

🟢 TC01

  • 📦 1 product
  • 🏖️ 1 background
  • ⚙️ ตั้งค่า chroma
  • ✨ 1 output
  • ⏱ ~2-5 วินาที
  • 💾 ไฟล์เดียว

🟣 TC02

  • 📦 1 product
  • 🏖️ 1 background
  • ⚙️ + 7 lens + 3 composition
  • ✨ 21 outputs
  • ⏱ ~30-90 วินาที
  • 💾 21 ไฟล์ (≈ 50-200MB รวม)
🤔 เมื่อไหร่ใช้ TC02?
  • วิดีโอต้นฉบับเป็นแนวนอน แต่อยากลง TikTok/Reels (แนวตั้ง) → TC02 เหมาะสุด
  • อยากได้หลายมุม ให้เลือกเวลา post (เช่น ทำ storyboard 9 ช่อง) → TC02
  • อยากทำ content เดียวกัน แต่หลาย platform (9:16 + 1:1 + 16:9) → TC02 + crop_diff

📁 ไฟล์ที่ต้องมี

เหมือน TC01 + ตั้งค่า reframe เพิ่ม

📦 Product

เหมือน TC01 — วิดีโอหน้าจอเขียว MP4/MOV/MKV/AVI

ขนาดแนะนำ: แนวนอน 16:9 (1920×1080) จะได้ผลดีสุด เพราะมีพื้นที่ให้ crop ได้ทุก lens

⚠️ สำคัญ: ถ้า product เป็นแนวตั้งอยู่แล้ว (9:16) → reframe ไม่ค่อยเห็นผล ใช้ TC01 จะดีกว่า

🏖️ Background

เหมือน TC01 — ภาพหรือวิดีโอฉากหลัง

ความยาว: ≥ product (ถ้าสั้นจะ loop)

Aspect ratio: ตรงกับ output (เช่น 9:16 สำหรับ TikTok)

ตั้งค่า reframe เพิ่ม

ตั้งค่า ค่าแนะนำ ความหมาย
reframe_lens_count 7 (เต็ม) จำนวน lens 1-7 — 7 = ได้ครบทุกมุม 3 = แค่ wide/standard/portrait
reframe_compositions center,left,right ตำแหน่งคน/ของในเฟรม — เลือกได้ 1-3 ตัว
reframe_short_side 720 (default) ขนาด intermediate — เล็ก = เร็ว ใหญ่ = คมชัดกว่า

💻 ลองเรียก API

ตัวอย่าง Python — TC02 เต็มรูปแบบ

python
# tc02_render.py — เรียก V3 API แบบ TC02 (reframe + chroma)
import requests, time

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

# 1. Submit TC02
files = {
    "product": ("interview.mp4", open("interview.mp4", "rb"), "video/mp4"),
    "background": ("studio.mp4", open("studio.mp4", "rb"), "video/mp4"),
}
data = {
    # Chroma settings (เหมือน TC01)
    "width": "1080", "height": "1920",
    "preset": "fast", "key_color": "#00FF00",
    "similarity": "0.32", "blend": "0.06", "despill": "0.35",
    # TC02 extras: reframe settings
    "reframe_lens_count": "7",
    "reframe_compositions": "center,left,right",
}
r = requests.post(f"{BASE}/api/render/tc02", files=files, data=data, headers=H, timeout=300)
job = r.json()
print("queued:", job["job_id"])

# 2. Poll (TC02 ใช้เวลานานกว่า TC01)
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(3)

# 3. Download ทั้ง 21 ไฟล์
if j["status"] == "succeeded":
    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 {fn} ({len(out.content)} bytes)")

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

❓ 1. TC02 ได้ outputs กี่ไฟล์ (ถ้าตั้งค่าเต็ม)?

  • 7 ไฟล์ (1 lens × 7 composition)
  • ✅ 21 ไฟล์ (7 lens × 3 composition)
  • 3 ไฟล์ (1 lens × 3 composition)
  • 49 ไฟล์ (7 lens × 7 composition)

❓ 2. ถ้า product เป็นวิดีโอ 16:9 อยากลง TikTok (9:16) — เลือก mode ไหน?

  • TC01 เพราะเร็วกว่า
  • TC03 เพราะตัดเป็นหลาย segment
  • ✅ TC02 เพราะ reframe จากแนวนอน→แนวตั้งได้พอดี
  • TC06 เพราะมี audio master

❓ 3. reframe_lens_count=3 หมายถึงอะไร?

  • ใช้ lens 3 ตัว (3 cameras)
  • crop 3 ครั้ง
  • ลดขนาดลง 3 เท่า
  • ✅ เลือก 3 ระดับซูม (เช่น wide + standard + portrait) ไม่ใช่ 7 เต็ม

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

🎯 เลือก lens น้อย เพื่อเร็ว

ถ้าไม่อยากได้ 21 ไฟล์ → ตั้ง reframe_lens_count=3 จะได้ 9 ไฟล์ (3 lens × 3 composition) เร็วขึ้น 3 เท่า

📐 Output เป็น 9:16 หรือ 1:1?

TC02 จะใช้ aspect ratio จาก width + height — ถ้าใส่ 1080×1920 = 9:16 (TikTok) แต่ถ้าใส่ 1080×1080 = 1:1 (Instagram square)

💾 เก็บไฟล์ยังไง

21 ไฟล์ = 50-200MB รวม — ใช้ zip download หรือเก็บแยก folder ตาม lens

🔄 ทำเป็น storyboard

21 outputs สามารถเอาไปทำ Instagram carousel (3x7 grid) หรือ 9-grid post ได้

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

❌ ผิด: ใช้ product แนวตั้งอยู่แล้ว

TC02 reframe จากแนวนอน→แนวตั้ง ถ้า product เป็นแนวตั้งอยู่แล้วจะ crop แค่เล็กน้อย ไม่ค่อยเห็นความต่าง — ใช้ TC01 จะคุ้มกว่า

❌ ผิด: ใส่ lens เยอะเกินไป

ถ้าไม่อยากได้ 21 ไฟล์ → ตั้ง lens_count=1 (เฉพาะ center) ใช้เวลาเท่า TC01 แต่ได้ chroma 1 ไฟล์ (ไม่ใช่ TC02)

❌ ผิด: ลืมใส่ background

TC02 ต้องการ background เพื่อเอาไป composit กับ reframe outputs ถ้าไม่ใส่จะ fail

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

  1. TC03 (Batch + Chroma) — ตัดวิดีโอยาวเป็นชิ้นๆ เหมาะทำ shorts จาก vlog
  2. Python สำหรับเรียก API — เรียนเขียน script เรียก V3 API แบบนี้แต่ batch 100+ jobs
  3. คำนวณต้นทุน — 21 outputs/render × 100 renders = 2,100 files = ค่าใช้จ่ายเท่าไหร่
← ก่อนหน้า
Chroma Key TC01