# CapCut Web Editor · v6.0 — Quick Install

ZIP นี้ประกอบด้วย 2 ส่วน:

```
capcut-web-v6.zip
├── code/              ← Source code (52 ไฟล์ + ffmpeg-core)
├── tutorial/          ← คู่มือ HTML + ภาพประกอบ (34 ภาพ + sample MP4)
└── INSTALL.md         ← ไฟล์นี้
```

## 🚀 ติดตั้ง + รัน (3 ขั้น)

```bash
# 1. Extract
unzip capcut-web-v6.zip
cd code

# 2. Install + Stub
npm install --no-audit --no-fund
cat > node_modules/onnxruntime-node/dist/binding.js << 'EOF'
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.binding=void 0;exports.binding={};
EOF
if [ -d node_modules/@xenova/transformers/node_modules/onnxruntime-node ]; then
  cp node_modules/onnxruntime-node/dist/binding.js node_modules/@xenova/transformers/node_modules/onnxruntime-node/dist/binding.js
fi

# 3. Build + Run
./node_modules/.bin/next build
./node_modules/.bin/next start -p 3000 -H 0.0.0.0
```

เปิด `http://localhost:3000` — เสร็จ!

## 📖 อ่านคู่มือ

เปิด `tutorial/index.html` ใน browser (double-click) — เล่า Journey ทั้ง 6 phases + ภาพประกอบครบ

## 🎬 ดู Demo

`code/public/test-media/` มีไฟล์ตัวอย่าง (mp4/wav/srt) — กด **"✨ โหลดตัวอย่าง 1 คลิก"** ใน editor เพื่อ load อัตโนมัติ

`code/public/ffmpeg/` มี ffmpeg-core (~32 MB) — required สำหรับ export

## 🛠️ Deploy บน VPS

```bash
# Upload code/ ไปยัง server
scp -r code/ user@server:/opt/capcut-web/

# On server
cd /opt/capcut-web
npm install --no-audit --no-fund
# (run stub commands above)
./node_modules/.bin/next build

# systemd service
sudo tee /etc/systemd/system/capcut-web.service << 'EOF'
[Unit]
Description=CapCut Web Editor
After=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/opt/capcut-web
ExecStart=/usr/bin/npx next start -p 3000 -H 0.0.0.0
Restart=always
Environment=NODE_ENV=production
[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable --now capcut-web.service
sudo ufw allow 3000/tcp
```

## 📊 ขนาด

| Item | Size |
|------|------|
| Source code | ~500 KB (52 ไฟล์) |
| node_modules (หลัง install) | ~250 MB |
| ffmpeg-core (ใน zip) | 32 MB |
| Tutorial + images | 1.6 MB |
| **Total zip** | **~44 MB** |
| **Total หลัง npm install** | **~290 MB** |

## 🆘 Troubleshooting

**Error: "Cannot find module 'onnxruntime-node'"**
→ ลืม stub — รัน `cat > node_modules/onnxruntime-node/dist/binding.js << 'EOF'...` ตามขั้นตอน

**Export ค้างที่ 0%**
→ เช็คว่า `/public/ffmpeg/ffmpeg-core.js`, `ffmpeg-core.wasm`, `ffmpeg-core.worker.js` มีครบ

**Whisper ไม่ทำงาน / "Browser cache not available"**
→ เราใช้ IndexedDB cache แทน — ลอง clear browser data แล้วลองใหม่

**Subtitle ภาษาไทยไม่แม่น**
→ Whisper-tiny จำกัด — ใช้ Whisper-base (ใหญ่กว่า 2x) สำหรับความแม่นยำดีกว่า