📋 สารบัญ
- Ai Autocut คืออะไร — ภาพรวมระบบ
- 📹 VDO 4 แบบ + 🔊 เสียง 3 แบบ (ภาษาชาวบ้าน)
- 🎙 TTS สร้างเสียง AI — เครื่องมือ + ตัวอย่างบท
- 🔀 Decision Tree — เลือก Mode ไหนดี?
- Mode 1 — AI Only (vdo_ai ล้วน)
- Mode 2 — AI + Long + เสียงจริง
- Mode 3 — AI + Long + Audio แยก
- Mode 4 — Long + Audio (ไม่มี AI)
- Mode 5 — Long + เสียงจริง (ไม่มี AI)
- Mode 6 — Skip (ข้ามไม่ประมวลผล)
- Segment Economy — หัวใจของระบบ
- Voice Mode & Sequential Mode (โหมดพิเศษ)
- Processing Pipeline — 12 ขั้นตอนจริง
- ตารางเปรียบเทียบทุก Mode + Checklist
- ปัญหาบ่อย & วิธีแก้
🔍 Ai Autocut คืออะไร
Ai Autocut คือ engine ตัดต่อ VDO อัตโนมัติในโปรแกรม SJ88 TiktokAI — ใช้ระบบ "Schema-First" ตรวจจับโหมดจากไฟล์ที่มีในโฟลเดอร์
📁 Schema-First
วางไฟล์ตามโครงสร้าง → ระบบตรวจจับ Mode อัตโนมัติ ไม่ต้องเลือกเอง
♻️ Segment Economy
Split → ใช้ → ลบ segment ที่ใช้แล้ว ทำให้ทุก output ไม่ซ้ำกัน
🔊 Strict Audio
แต่ละ Mode มีเสียงเฉพาะ ไม่มี fallback ข้ามประเภท เพื่อความสม่ำเสมอ
ดูจากจำนวนไฟล์ใน 3 โฟลเดอร์: vdo_ai/, vdo_long/, audio/ — ถ้าเข้าเงื่อนไข Mode ไหนก่อน จะใช้ Mode นั้น
📂 โครงสร้างที่ต้องเตรียม
📦 product_folder/ ├── vdo_ai/ ← คลิป AI สั้น (≤ 8 วิ, มีเสียง) ├── vdo_ai_soundless/ ← คลิป AI ไม่มีเสียง (B-roll) ├── vdo_long/ ← Footage ยาวจากกล้อง ├── vdo_long_sound/ ← คลิปยาว + เสียงบรรยาย (Voice Mode) ├── audio/ ← ไฟล์เสียง TTS / พากษ์ └── output/ ← ผลลัพธ์ VDO ที่ตัดเสร็จ
📹 VDO 4 แบบ + 🔊 เสียง 3 แบบ (ภาษาชาวบ้าน)
อธิบายแบบภาษาง่ายๆ ว่าแต่ละอย่างคืออะไร ใช้ตอนไหน วางไว้ที่ไหน
| ประเภท VDO | โฟลเดอร์ | คืออะไร (ง่ายๆ) | ตัวอย่าง |
|---|---|---|---|
| 🤖 VDO AI (มีเสียง) | vdo_ai/ | คลิปสั้นที่ AI สร้างให้ มีเสียงติดมา ใช้เป็น Hook เปิดเรื่อง | คลิป 5 วิ จาก Google Flow แมวน่ารักวิ่ง |
| 🎭 VDO AI (ไม่มีเสียง) | vdo_ai_soundless/ | คลิป AI เหมือนกัน แต่ ไม่มีเสียง ใช้เป็นภาพ B-roll แทรก | คลิป AI ฉายสินค้าหมุนรอบตัว |
| 📹 VDO Long (ถ่ายจริง) | vdo_long/ | คลิปยาวถ่ายจริง จากกล้อง/หน้าจอ ระบบจะ ซอยเป็นท่อนสั้นๆ 3-5 วินาที แล้วเอามาต่อกัน | ถ่ายสินค้ามุมหน้า, ข้าง, บน 10-30 วิ |
| 🗣️ VDO Long Sound | vdo_long_sound/ | คลิปยาวที่ มีคนพูด/บรรยายในคลิป ระบบจะแยกเสียงออก + สลับภาพ broll | คลิปรีวิวสินค้าหน้ากล้อง 1 นาที |
ระบบเอาไป "ซอย" เป็นท่อนๆ แล้วสุ่มประกอบร่างใหม่ ทำให้ได้ VDO หลายชิ้นที่ไม่ซ้ำกัน!
| ประเภทเสียง | มาจากไหน | คืออะไร (ง่ายๆ) | ใช้กับ Mode |
|---|---|---|---|
| 🎤 Audio แยกไฟล์ | โฟลเดอร์ audio/ | เสียง TTS ที่ AI พูด หรือเสียงพากษ์ที่อัดมาแยก | Mode 3, 4 |
| 🔊 Real Sound (เสียงจริง) | ดึงจากคลิป vdo_long/ | เสียงบรรยากาศ เสียงสินค้า ที่ติดมากับคลิปยาว | Mode 2, 5 |
| 🗣️ Voice Sound | ดึงจากคลิป vdo_long_sound/ | เสียงคนพูดรีวิว/บรรยายที่อยู่ในคลิป | Voice Mode |
💡 สรุปง่ายสุด
VDO 4 แบบ: 🤖 AI มีเสียง / 🎭 AI ไม่มีเสียง / 📹 ถ่ายจริง (ซอยได้) / 🗣️ ถ่ายจริง+คนพูด
เสียง 3 แบบ: 🎤 ไฟล์แยก (TTS) / 🔊 เสียงจริงจากคลิป / 🗣️ เสียงคนพูดในคลิป
🎙 TTS สร้างเสียง AI — เครื่องมือ + ตัวอย่างบท
เสียงในโฟลเดอร์ audio/ มาจากไหน? สร้างง่ายๆ ด้วย TTS (Text-to-Speech) — 📚 ดูบทเรียนเสียง AI เพิ่มเติม ➜
🎙 เครื่องมือ TTS ที่ใช้ได้
| เครื่องมือ | จุดเด่น | ราคา |
|---|---|---|
| tts.lnwsj.com | เว็บไทย แนบรูป → AI คิดบท → สร้างเสียง | ฟรี |
| gTTS | Python library, หลายภาษา, คุณภาพ OK | ฟรี 100% |
| ElevenLabs | เสียงเหมือนจริงมาก, clone เสียงตัวเองได้ | มี Free tier |
| CapCut TTS | อยู่ในแอป, เอาเข้า timeline ได้เลย | ฟรี |
🗣 เลือกเสียง + Tone ยังไง
- เสียงชาย — น่าเชื่อถือ รีวิวสินค้า IT/รถ
- เสียงหญิง — เป็นมิตร สินค้าแฟชั่น/บิวตี้
- เสียงเด็ก — น่ารัก สินค้าเด็ก/ของเล่น
- Tone ตื่นเต้น — ขายของ, โปรโมชัน
- Tone จริงจัง — รีวิว, ข่าว, สาระ
- Tone อบอุ่น — เล่าเรื่อง, Storytelling
📝 ตัวอย่างบทพากษ์ TTS (สูตร: Hook → เนื้อหา → CTA)
⏱️ บท 15 วิ (~40 คำ):
"สิ่งนี้เปลี่ยนชีวิตฉันไปเลย! กระเป๋าใบนี้ทั้งเบา ทั้งจุ ใส่ได้ทั้งโน้ตบุ๊ก แท็บเล็ต ของจุกจิก สั่งเลย ลิงก์อยู่ตะกร้า!"
⏱️ บท 30 วิ (~80 คำ):
"ใครหาเครื่องฟอกอากาศอยู่ ดูตัวนี้ก่อน! ตัวนี้กรองได้ถึง PM 2.5 เลยนะ เสียงเงียบมาก เปิดนอนได้สบาย ใช้ไฟน้อย ค่าไฟไม่กระโดด แถมเปลี่ยนไส้กรองง่ายมาก ราคาพันกว่าบาทเอง คุ้มแน่! กดตะกร้าสั่งได้เลยจ้า"
🎵 เพลง + Sound Effect (ใส่ตอน Overlay)
- ระดับเสียง: Voice TTS = 100% · เพลง BG = 20-30% · SFX = 50-70%
- SFX ยอดนิยม: whoosh, pop, ding, dramatic, cash register
- เสียง ASMR: กระแสแรง — rain, keyboard, cooking, crinkle
- เพลง BG: เลือกจาก TikTok Library (ฟรี + ไม่ถูกลบ)
🔀 Decision Tree — เลือก Mode ไหนดี?
ตอบคำถาม 3 ข้อ → รู้ทันทีว่าต้องใช้ Mode ไหน
vdo_ai/)เริ่มจาก Mode 3 ก่อน (AI + footage + เสียง TTS) = ครบทุกองค์ประกอบ ผลลัพธ์หลากหลายสุด!
💡 มี vdo_long_sound/?
ถ้ามีไฟล์ใน vdo_long_sound/ → ระบบจะ override เข้า Voice Mode อัตโนมัติ ไม่ว่าจะเข้า Mode ไหน!
Mode 1 — AI Only (vdo_ai ล้วน)
ใช้คลิป AI ทั้งหมด ไม่ต้องมี footage จริง
📜 เงื่อนไข:
vdo_ai ≥ 2ไฟล์vdo_long = 0(ไม่มี footage)audio = 0(ไม่ต้องมี TTS)
🔊 แหล่งเสียง:
- ใช้เสียง original จากคลิป AI โดยตรง
- ไม่ fallback ไป audio/ หรือ vdo_long/
- Strict: เสียง AI เท่านั้น
⚙️ Pipeline:
- เลือก AI clips จาก
vdo_ai/(รองรับ subfolder) - Move ไป
tmp_ai/ - Normalize ขนาด + codec ให้เท่ากัน
- Concat ต่อกัน → เป็น output
✅ เหมาะกับ: คลิปที่ AI สร้างทั้งหมด ไม่มีวิดีโอจากกล้องจริง
Mode 2 — AI + Long + เสียงจริง (Real Sound)
ใช้คลิป AI เป็น Hook + Footage จริงเป็นเนื้อหา + เสียงจากคลิปยาว
📜 เงื่อนไข:
vdo_ai > 0(มีอย่างน้อย 1)vdo_long > 3(Footage ≥ 4 ตัว)audio = 0(ห้ามมีไฟล์เสียงแยก)
🔊 แหล่งเสียง:
- ดึงเสียงจากคลิป
vdo_long/โดยตรง strict_real_sound = True- ไม่ fallback ไป
audio/
⚙️ Pipeline:
- Split
vdo_long/→ segments 3-5 วินาที - เลือก segments พอความยาวเสียง
- Concat segments + เสียงจาก vdo_long
- Prepend AI Intro (ถ้าเปิด) → output
✅ เหมาะกับ: มีคลิปถ่ายจริง + อยากใช้เสียงในคลิป ไม่ต้องพากษ์เสียงแยก
Mode 3 — AI + Long + Audio แยก
ผสมทุกอย่าง: AI Hook + Footage + เสียง TTS/พากษ์แยก
📜 เงื่อนไข:
vdo_ai > 0vdo_long > 3audio > 0(ต้องมีเสียง TTS)
🔊 แหล่งเสียง:
- ใช้จาก
audio/folder strict_audio_folder = True- ไม่ fallback ไปดึงเสียงจาก vdo_long
⚙️ Pipeline:
- เลือก audio 1 ไฟล์จาก
audio/(สุ่ม/ลำดับ) - Split
vdo_long/→ segments ให้พอความยาวเสียง - Concat segments + overlay เสียง TTS
- Prepend AI Intro → output
✅ เหมาะกับ: ทำ VDO สินค้า — ถ่ายหลายมุม + พากษ์เสียง AI/คน + ใส่ Hook AI
💡 Mode 3 ใช้บ่อยที่สุด
เพราะได้ผลลัพธ์ที่หลากหลายสุด: AI เปิดเรื่อง, footage หลากหลาย, เสียงพากษ์คุณภาพจาก TTS ทุก output จะไม่ซ้ำกันเพราะ Segment Economy
Mode 4 — Long + Audio (ไม่มี AI)
ใช้ Footage จริง + เสียง TTS โดยไม่มีคลิป AI เลย
📜 เงื่อนไข:
vdo_ai = 0(ห้ามมีคลิป AI)vdo_long > 3audio > 0
🔊 แหล่งเสียง:
- ใช้จาก
audio/folder strict_audio_folder = True- ไม่ fallback ไป vdo_long
⚙️ Pipeline:
- เลือก audio → Split vdo_long → เลือก segments
- Concat + overlay เสียง → output โดยตรง
- ไม่มี AI Intro / ไม่มี prepend
✅ เหมาะกับ: มีคลิปจริงเยอะ + เสียงพากษ์ดี ไม่อยากใส่ AI
Mode 5 — Long + เสียงจริง (ไม่มี AI, ไม่มี TTS)
ใช้ Footage จริง + เสียงจากคลิปยาวโดยตรง ไม่พึ่ง AI หรือ TTS
📜 เงื่อนไข:
vdo_ai = 0vdo_long > 0(มีอย่างน้อย 1)audio = 0(ห้ามมี TTS)
🔊 แหล่งเสียง:
- ดึงจาก
vdo_long/โดยตรง strict_real_sound = True- ใช้เสียง original ในคลิปยาว
✅ เหมาะกับ: คลิปที่มีเสียงบรรยากาศ/เสียงพูดอยู่แล้วในวิดีโอ ไม่ต้องพากษ์เสียงเพิ่ม
Mode 6 — Skip (ข้าม ไม่ประมวลผล)
ไฟล์ไม่ครบเงื่อนไข Mode 1-5 → ข้ามโฟลเดอร์นี้ ไม่ตัดต่อ
❌ สาเหตุบ่อย:
vdo_ai = 1(น้อยกว่า 2) + ไม่มี vdo_longvdo_long ≤ 3ในโหมดที่ต้องการ > 3- มีแค่
audio/ไม่มีคลิปใดๆ - โฟลเดอร์ว่าง
🔧 วิธีแก้:
- เพิ่มจำนวนไฟล์ให้ถึง threshold
- ตรวจว่าไฟล์อยู่ถูกโฟลเดอร์
- ถ้ามี AI 1 ตัว → เพิ่มอีก 1 เป็น ≥ 2
- ดู RunLog ว่า skip เพราะอะไร
♻️ Segment Economy — หัวใจของระบบ
ทำให้ทุก output ไม่ซ้ำกัน — Split คลิปยาว → ใช้ → ลบ segment ที่ใช้แล้ว → วนจนหมด
1
Move vdo_long → tmp/
2
Split → segments (3-5 วิ)
3
เลือก segments พอเสียง
4
Concat → output
5
ลบ segments ที่ใช้แล้ว
🔧 Split Algorithm
- Probe ความยาวด้วย ffprobe
- ถ้าสั้น ≤ 0.3 วิ → ลบทิ้งทันที
- สุ่ม
seg_lenในช่วง [min_sec, max_sec] - ตัดด้วย ffmpeg (
-ss, -t, -an) - ได้:
stem_seg0001.mp4, stem_seg0002.mp4... - ถ้า split สำเร็จ → ลบ source
- ถ้า fail → คงไว้ไม่ลบ
📊 Segment Selection Policy
- random — สุ่มเลือก
- no_repeat — ไม่ซ้ำมุมกล้องติดกัน
- pattern — ตาม pattern ที่ตั้ง
- weighted — ถ่วงน้ำหนัก/ให้สิทธิ์
- base_priority — ใช้ base ก่อน fallback
เลือก segments ให้ครอบความยาวเสียงพอดี
ทำให้สร้าง output 10-20 ชิ้นจาก footage ชุดเดียว โดยแต่ละชิ้นจะมี segment ต่างกัน — TikTok ไม่ reject เพราะไม่ซ้ำ!
🎤 Voice Mode & Sequential Mode
2 โหมดพิเศษที่ override Mode 1-5 ปกติ เมื่อตรงเงื่อนไข
🎤 Voice Mode (vdo_long_sound)
ถ้ามีไฟล์ใน vdo_long_sound/ ระบบจะ override เป็นโหมดนี้ทันที
- 1. สุ่ม 1 ไฟล์จาก vdo_long_sound/
- 2. Move → tmp_vdo_long_sound/
- 3. Extract audio เป็น MP3
- 4. Split voice video → voice segments
- 5. สลับ [voice][broll][voice][broll]
- 6. ถ้า VDO สั้นกว่าเสียง → เติม broll เพิ่ม
- 7. Concat + audio → output
🎯 เหมาะกับ: รีวิวสินค้า/หน้ากล้องสลับ B-roll
📐 Sequential Mode
ถ้ามีโฟลเดอร์ long_001/ หรือ footage_001/ ระบบจะเข้า Mode นี้
- seq_long: มี long_001 พร้อมไฟล์ → split ตามลำดับ
- seq_footage: มี footage_001+ ≥ 3 โฟลเดอร์
- สร้าง footage_XXX/ → split → move segment เข้า tmp_seg/001/
- เลือก segment ด้วย
choose_segments_sequential()
🎯 เหมาะกับ: จัดมุมกล้องเป็นลำดับ เช่น หน้า/ข้าง/หลัง
⚠️ ลำดับ Priority ที่สำคัญ
- 1) ตรวจ Sequential ก่อน (long_001/footage_00x)
- 2) ตรวจ Voice Mode (vdo_long_sound/ มีไฟล์ → override)
- 3) ตรวจ AI Mode (vdo_ai → ai / vdo_ai_soundless → ai_soundless)
- 4) ถ้าไม่เข้าอะไรเลย → Mode ปกติ (1-6)
🔄 Processing Pipeline — 12 ขั้นตอนจริง
ทุกครั้งที่กด START ใน UI ระบบจะทำขั้นตอนเหล่านี้ต่อ 1 product folder
| # | ขั้นตอน | ทำอะไร | ที่มา |
|---|---|---|---|
| 1 | Sync Config | อ่านค่าจาก UI ลง config | ProcessTab |
| 2 | Spawn Thread | สร้าง VideoProcessor + Thread | ProcessingThread |
| 3 | Detect Mode | ตรวจ Sequential → Voice → AI → Normal | VideoProcessor |
| 4 | Create RunLog | สร้าง run ด้วยสถานะ RUNNING | RunLog V2 |
| 5 | Check Quota | ตรวจ quota/exhaust rules | VideoProcessor |
| 6 | Cleanup Temp | ลบ tmp_ai, tmp, tmp_vdo_long_sound เก่า | VideoProcessor |
| 7 | Prep Audio | เลือก audio จาก audio/ หรือ extract จาก voice | voice_engine |
| 8 | Split Segments | Move vdo_long → tmp/ → split เป็น segments | long_engine |
| 9 | Select + Concat | เลือก segments + concat เป็น temp_output | long_engine |
| 10 | AI Integration | Prepend AI Intro / แทรก AI Soundless | ai_engine |
| 11 | Overlay + Export | ใส่ text overlay → export ไป output_root | VideoProcessor |
| 12 | Consume + Cleanup | ลบ segments ที่ใช้ + ลบ temp + log สรุป | VideoProcessor |
📊 ตารางเปรียบเทียบทุก Mode
สรุปเงื่อนไข, แหล่งเสียง, AI, และเหมาะกับอะไรของแต่ละ Mode
| Mode | ชื่อ | vdo_ai | vdo_long | audio | แหล่งเสียง | เหมาะกับ |
|---|---|---|---|---|---|---|
| 1 | AI Only | ≥ 2 | 0 | 0 | vdo_ai (original) | คลิป AI ล้วน |
| 2 | AI+Long+Real | > 0 | > 3 | 0 | vdo_long (real) | AI Hook + footage จริง |
| 3 | AI+Long+Audio | > 0 | > 3 | > 0 | audio/ folder | สารพัดประสงค์ ⭐ |
| 4 | Long+Audio | 0 | > 3 | > 0 | audio/ folder | ไม่ต้องมี AI |
| 5 | Long+Real | 0 | > 0 | 0 | vdo_long (real) | เสียงจากคลิปยาว |
| 6 | Skip | ไม่เข้าเงื่อนไขใด → ข้ามไม่ประมวลผล | ||||
| ค่า Config | Default | อธิบาย |
|---|---|---|
| min_sec | 3.0 วิ | ความยาวขั้นต่ำ segment |
| max_sec | 5.0 วิ | ความยาวสูงสุด segment |
| audio_mode | random | เลือกเสียงแบบสุ่ม |
| lens_sequence | no_repeat | ไม่ซ้ำมุมกล้องติดกัน |
| delete_used | True | ลบ segment ที่ใช้แล้ว |
| exhaust_segments | True | ทำจนไม่เหลือแล้วหยุด |
| exhaust_min_types | 3 | ต้องเหลือ ≥ 3 ประเภท |
🛠️ ปัญหาบ่อย & วิธีแก้
ปัญหาที่พบบ่อยเรียงตามความถี่ และวิธีแก้ไข
⚠️ ปัญหาที่พบบ่อย
- เข้า Mode 6 (skip) ทุกที — ไฟล์ไม่ครบ threshold
- Output ได้ 0 ชิ้น — vdo_long ≤ 3 ในโหมดที่ต้อง > 3
- เสียงผิด — วางไฟล์เสียงผิดโฟลเดอร์ (ต้อง audio/ ไม่ใช่ vdo_long/)
- AI ไม่ถูกใส่ — vdo_ai < 2 ใน Mode 1 หรือ = 0 ใน Mode 2-3
- Segment ซ้ำ — ปิด delete_used_segments อยู่ ต้องเปิด
- Output สั้นเกินไป — เสียงใน audio/ สั้น → ใช้ไฟล์เสียงยาวกว่า
✅ เคล็ดลับ
- ยิ่ง vdo_long เยอะ → output เยอะ (Segment Economy)
- ถ่ายหลายมุม (base/lens) → no_repeat ทำงานได้ดี
- เริ่มจาก Mode 3 ก่อน → ครบทุกองค์ประกอบ
- ใช้ Explorer Tab สร้างโฟลเดอร์ ไม่ต้องจำ schema
- ดู History Tab ตรวจ RunLog ทุกครั้ง
- ถ้าต้องการ Voice: ใส่ไว้ใน
vdo_long_sound/