25 คะแนน โดย GN⁺ 2025-04-13 | 3 ความคิดเห็น | แชร์ทาง WhatsApp
  • 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 ความคิดเห็น

 
laeyoung 2025-05-12

ดูดีนะ

 
lifelectronics 2025-04-13

นี่เป็นครั้งแรกที่ผมลองคอมเมนต์ครับ หวังว่าจะได้ติดตามข่าวที่จะลงต่อไปในอนาคตด้วย
สิ่งที่น่าประทับใจคือมันทำงานแบบ On device/Local ได้ และอินเทอร์เฟซก็ดูใช้งานง่ายดีครับ เดี๋ยวคงต้องลองใช้สักหน่อย

 
GN⁺ 2025-04-13
ความคิดเห็นจาก Hacker News
  • ffmpeg เป็นซอฟต์แวร์ชั้นยอดที่ขาดไม่ได้บนอินเทอร์เน็ต
  • มีแนวคิดพื้นฐานว่า "ถ้าคุณไม่ได้จ่ายเงินให้สินค้า คุณก็คือสินค้า"
    • การโฮสต์ส่วนแปลงวิดีโอของเซิร์ฟเวอร์ให้ฟรีโดยใช้การ์ดจอและทรัพยากรอื่น ๆ ดูรู้สึกแปลก ๆ
    • ถ้าไม่มีวิธีอื่นนอกจากเก็บข้อมูลผ่าน Plausible ก็อาจสนับสนุนได้ยากในระยะยาว
    • เลยสงสัยว่ามีจุดอื่นที่ใช้อธิบายสถานการณ์นี้ได้หรือไม่
  • ช่วงหลังพบกรณีเว็บไซต์ "ตัวแปลงไฟล์ฟรี" ฝังมัลแวร์
    • อยากติดตั้งอะไรแบบนี้บนเซิร์ฟเวอร์ไว้ให้ครอบครัวใช้
    • โปรเจ็กต์นี้ตรงกับสิ่งที่กำลังหาอยู่พอดี
  • ซอร์สโค้ดเปิดเผยและใช้งานได้
    • ไลเซนส์ AGPL เหมาะกับผลิตภัณฑ์นี้
    • AGPL มีเงื่อนไขการใช้งานผ่านเครือข่าย ดังนั้นเมื่อให้ใช้งานซอฟต์แวร์ผ่านเครือข่ายต้องเปิดเผยซอร์สโค้ดด้วย
    • แม้ใช้เป็นผลิตภัณฑ์แบบ SaaS ก็ต้องแชร์ซอร์สโค้ด
  • โปรเจ็กต์นี้ยอดเยี่ยมและมีประโยชน์ แต่ข้อมูลการวิเคราะห์แบบ opt-in อัตโนมัติควรอยู่บนหน้าแรก
    • การใช้ Plausible นั้นโอเค แต่การซ่อนไว้ด้านล่างของหน้าตั้งค่าทำให้ความน่าเชื่อถือลดลง
    • แม้จะตรวจสอบซอร์สโค้ดได้ แต่นั่นไม่ใช่ประเด็นสำคัญ
    • หวังว่าจะรับคอมเมนต์นี้เป็นข้อเสนอแนะ/ฟีดแบ็ก
  • โปรเจ็กต์นี้ใช้สิ่งต่อไปนี้
    • libvips (wasm): แปลงรูปภาพ
    • ffmpeg (wasm): แปลงเสียง
    • ffmpeg (remote, via vertd): แปลงวิดีโอ โดยโฮสต์มีตัวเลือกใช้ wasm ffmpeg ได้
    • จากที่ดูใน GitHub ฟอร์แมตที่ยังขาดมักเกิดจากความยากในการลิงก์ไลบรารีเข้ากับ wasm libvps/ffmpeg
  • เป็น UI ที่ยอดเยี่ยมสำหรับ ffmpeg
    • อยากให้พูดถึงเรื่องนี้บนหน้า landing page
  • Vert เป็นเวอร์ชันที่เรียบง่ายกว่าของ <a href="https://ffmpeg-web.netlify.app/" rel="nofollow">https://ffmpeg-web.netlify.app/</a>; หรือไม่?
  • จะเพิ่มโปรเจ็กต์นี้ไว้ในบุ๊กมาร์ก
    • ตราบใดที่การแปลงวิดีโอยังต้องอัปโหลดไปยังเซิร์ฟเวอร์ทำงาน การเรียก ffmpeg โดยตรงอาจดีกว่า
    • เวลาอัปโหลดและดาวน์โหลดไฟล์ขนาดใหญ่อาจเป็นปัญหา
    • ถ้าการแปลงวิดีโอรันแบบล้วน ๆ บน WASM ได้ ปัญหาก็น่าจะลดลงมาก
  • อีกโปรเจ็กต์หนึ่ง: ConvertX
    • <a href="https://github.com/C4illin/ConvertX">https://github.com/C4illin/ConvertX</a>;
    • สามารถแปลงรูปภาพ วิดีโอ เอกสาร และอื่น ๆ ได้