- VERT เป็นเครื่องมือแปลงไฟล์แบบโลคัลที่ทำงานบน WebAssembly ซึ่งแปลงไฟล์ได้โดยตรงในเบราว์เซอร์โดยไม่ต้องพึ่งคลาวด์
- เพื่อเสริมความเป็นส่วนตัว ไฟล์จะถูกประมวลผลบนอุปกรณ์ของผู้ใช้ และในกรณีของไฟล์วิดีโอสามารถเลือกแปลงผ่านเซิร์ฟเวอร์ได้
- พัฒนาด้วย Svelte และ TypeScript พร้อมมอบ UI ที่รวดเร็วและใช้งานเข้าใจง่าย
- ไม่มีข้อจำกัดขนาดไฟล์ และรองรับฟอร์แมตที่หลากหลาย
- มีสภาพแวดล้อมสำหรับดีพลอยที่ทำได้ง่ายด้วย Docker และ Bun
VERT: เครื่องมือแปลงไฟล์บน WebAssembly
VERT เป็นเครื่องมือที่ใช้เทคโนโลยี WebAssembly เพื่อแปลงไฟล์ภายในเบราว์เซอร์ของผู้ใช้ การแปลงเกิดขึ้นได้โดยไม่ต้องอัปโหลดขึ้นคลาวด์ จึงมีข้อดีทั้งด้านความเป็นส่วนตัวและความเร็วในการประมวลผล สามารถดูเดโมอย่างเป็นทางการได้ที่ vert.sh
ฟีเจอร์หลัก
- ความสามารถในการแปลงไฟล์แบบโลคัล โดยใช้ WebAssembly
- ไม่มีข้อจำกัดขนาดไฟล์
- รองรับไฟล์หลายรูปแบบ
- อินเทอร์เฟซผู้ใช้ที่เข้าใจง่าย บนพื้นฐาน Svelte
- ทำงานแบบโลคัลเป็นค่าเริ่มต้น แต่ไฟล์วิดีโอสามารถแปลงผ่านเซิร์ฟเวอร์ได้ และหากโฮสต์เองก็สามารถประมวลผลแบบโลคัลได้ทั้งหมด
เริ่มต้นใช้งานโปรเจกต์
สิ่งที่ต้องเตรียมล่วงหน้า
- ต้องติดตั้งรันไทม์ Bun
ขั้นตอนการติดตั้ง
- โคลน Git repository แล้วติดตั้ง dependency ด้วยคำสั่ง
bun i
การรันเซิร์ฟเวอร์แบบโลคัล
- รันคำสั่ง
bun devแล้วสามารถเข้าใช้งานได้ที่http://localhost:5173
โปรดักชันบิลด์
- สร้างไฟล์
.envจากนั้นบิลด์เว็บไซต์แบบสแตติกด้วยคำสั่งbun run build - ผลลัพธ์ของการบิลด์จะถูกสร้างไว้ในโฟลเดอร์
buildและสามารถนำไปให้บริการผ่านเว็บเซิร์ฟเวอร์อย่าง nginx ได้ - มีไฟล์ตัวอย่าง
nginx.confให้มาด้วย - จำเป็นต้องคงการตั้งค่า cross-origin isolation
เมื่อใช้งาน Docker
- หลังโคลน repository ให้บิลด์ Docker image:
docker build -t VERT-sh/vert ...
- รัน Docker container:
docker run --restart unless-stopped -p 3000:3000 -d --name "vert" VERT-sh/vert
- หรือใช้ไฟล์
docker-compose.yml:- จัดการด้วย
docker compose up,docker compose down - รีบิลด์ image ได้ด้วยออปชัน
--build - รันเบื้องหลังได้ด้วยออปชัน
-d
- จัดการด้วย
ไลเซนส์
- เผยแพร่เป็นโอเพนซอร์สภายใต้ไลเซนส์ AGPL-3.0
3 ความคิดเห็น
ดูดีนะ
นี่เป็นครั้งแรกที่ผมลองคอมเมนต์ครับ หวังว่าจะได้ติดตามข่าวที่จะลงต่อไปในอนาคตด้วย
สิ่งที่น่าประทับใจคือมันทำงานแบบ On device/Local ได้ และอินเทอร์เฟซก็ดูใช้งานง่ายดีครับ เดี๋ยวคงต้องลองใช้สักหน่อย
ความคิดเห็นจาก Hacker News