25P by GN⁺ 7일전 | ★ favorite | 댓글 2개
  • VERTWebAssembly 기반의 로컬 파일 변환 도구로, 클라우드 없이 브라우저에서 직접 파일을 변환함
  • 개인정보 보호 강화를 위해 파일이 사용자의 장치 내에서 처리되며, 영상 파일의 경우 선택적으로 서버 변환도 가능함
  • Svelte와 TypeScript로 개발되었으며, 빠르고 직관적인 UI를 제공함
  • 파일 크기 제한이 없고 다양한 포맷을 지원함
  • Docker 및 Bun을 활용한 손쉬운 배포 환경을 제공함

VERT: WebAssembly 기반 파일 변환 도구

VERT는 WebAssembly 기술을 활용하여 사용자의 브라우저 안에서 파일을 변환하는 도구임. 클라우드 업로드 없이 변환이 이뤄지므로 개인 정보 보호와 빠른 처리 속도가 장점임. 공식 데모는 vert.sh에서 확인 가능함.

주요 기능

  • WebAssembly를 사용한 로컬 파일 변환 기능
  • 파일 크기 제한 없음
  • 다양한 파일 형식 지원
  • Svelte 기반의 직관적인 사용자 인터페이스
  • 기본적으로 로컬에서 작동하지만, 비디오 파일은 서버 변환도 가능하며, 자체 호스팅을 통해 완전한 로컬 처리도 가능함

프로젝트 시작하기

사전 준비 사항

  • Bun 런타임 설치 필요

설치 과정

  • Git 저장소를 클론하고 bun i 명령어로 의존성 설치

로컬 서버 실행

프로덕션 빌드

  • .env 파일을 작성한 후 bun run build 명령어로 정적 사이트를 빌드함
  • 빌드 결과는 build 폴더에 생성되며, nginx와 같은 웹 서버를 통해 서비스 가능함
  • nginx.conf 예시 파일이 함께 제공됨
  • cross-origin isolation 설정 유지 필요

Docker 사용 시

  • 저장소 클론 후 Docker 이미지 빌드:
    • docker build -t VERT-sh/vert ...
  • Docker 컨테이너 실행:
    • docker run --restart unless-stopped -p 3000:3000 -d --name "vert" VERT-sh/vert
  • 또는 docker-compose.yml 파일을 이용하여:
    • docker compose up, docker compose down으로 관리
    • --build 옵션으로 이미지 재빌드 가능
    • -d 옵션으로 백그라운드 실행 가능

라이선스

  • AGPL-3.0 라이선스 하에 오픈소스로 배포됨

댓글을 처음 달아보네요. 앞으로 올라오는 소식들도 기대하겠습니다.
On device/Local로 작동한다는 점이 인상적인데, 인터페이스가 직관적이어서 좋네요 조금 써봐야겠습니다.

Hacker News 의견
  • ffmpeg은 인터넷에서 없어서는 안 될 훌륭한 소프트웨어임
  • "제품에 돈을 지불하지 않으면, 당신이 제품이다"라는 상식이 있음
    • 무료로 그래픽 카드 등을 사용하여 서버의 비디오 변환 부분을 호스팅하는 것이 이상하게 느껴짐
    • Plausible를 통해 데이터를 수집하는 것 외에 다른 방법이 없다면 장기적으로 지원하기 어려움
    • 이 상황을 설명할 수 있는 다른 점이 있는지 궁금함
  • 최근 "무료 파일 변환기" 웹사이트들이 악성코드를 삽입하는 사례가 발견됨
    • 가족을 위해 서버에 이런 것을 구축하고 싶었음
    • 이 프로젝트가 내가 찾던 것과 정확히 일치함
  • 소스 코드가 오픈되어 있고 사용 가능함
    • AGPL 라이선스가 이 제품에 적합함
    • AGPL은 네트워크 사용 조항이 있어, 소프트웨어를 네트워크를 통해 사용할 때 소스 코드를 공개해야 함
    • SaaS 제품을 사용할 때도 소스 코드를 공유해야 함
  • 프로젝트는 훌륭하고 유용하지만, 자동 참여 분석 정보는 메인 페이지에 있어야 함
    • Plausible를 사용하는 것은 좋지만, 설정 화면 하단에 숨기는 것은 신뢰를 떨어뜨림
    • 소스 코드를 감사할 수 있지만, 그게 핵심이 아님
    • 이 댓글을 제안/피드백으로 받아들이길 바람
  • 이 프로젝트는 다음을 사용함
    • libvips (wasm): 이미지 변환
    • ffmpeg (wasm): 오디오 변환
    • ffmpeg (remote, via vertd): 비디오 변환, 호스트가 wasm ffmpeg를 사용할 수 있는 옵션이 있음
    • GitHub를 보니, 누락된 형식은 보통 wasm libvps/ffmpeg에 라이브러리를 연결하는 데 어려움이 있음
  • ffmpeg에 대한 훌륭한 UI임
    • 랜딩 페이지에 이를 언급했으면 좋겠음
  • Vert는 <a href="https://ffmpeg-web.netlify.app/" rel="nofollow">https://ffmpeg-web.netlify.app/</a>의 단순화된 버전인가?
  • 이 프로젝트를 북마크에 추가할 것임
    • 비디오 변환이 작업 서버에 업로드를 요구하는 한, ffmpeg를 직접 호출하는 것이 더 나을 수 있음
    • 큰 파일의 업로드 및 다운로드 시간이 문제일 수 있음
    • 비디오 변환이 WASM에서 순수하게 실행될 수 있다면 문제가 최소화될 수 있음
  • 또 다른 프로젝트: ConvertX