1P by GN⁺ 4시간전 | ★ favorite | 댓글 1개
  • 브라우저에서 파일 업로드 없이 처리되는 비디오 편집기로, 멀티트랙 편집과 프레임 단위 탐색, 소스 모니터 기능 제공
  • FFmpeg WASMWebCodecs 기반 구성으로 모든 처리가 브라우저 내부에서 이루어짐
  • 비디오 크기 조정, 스케일, 자르기, 컷 편집, 압축, 썸네일 생성, 워터마크 같은 핵심 비디오 도구 제공
  • 오디오 처리와 자막 및 텍스트 기능 지원, MP4·MOV·WebM·MKV·AVI 입력에서 MP3·WAV·AAC·M4A·FLAC 변환 기능 제공
  • Discord, Email, WhatsApp, Slack, Twitter용 압축 프리셋과 TikTok, Instagram Reels, YouTube Shorts용 크기 조정 프리셋을 함께 제공하는 웹 기반 편집 도구임

비디오 편집기

  • 멀티트랙 편집, WebCodecs 기반 처리, 프레임 단위 탐색, 소스 모니터 제공
  • New Project 생성 기능 포함
  • 브라우저 안에서 비디오 편집 기능 제공

주요 처리 방식

  • FFmpeg WASM 기반 구성
  • 모든 처리가 브라우저 내부에서 이루어짐

비디오 도구

  • Resize & Scale

    • 비디오 크기 조정 및 스케일 기능 제공
  • Trim & Cut

    • 비디오 자르기 및 컷 편집 기능 제공
  • Compress

    • 비디오 압축 기능 제공
  • Drop Zone

    • Drop Zone 도구 제공
  • Thumbnails

    • 썸네일 생성 기능 제공
  • Watermark

    • 워터마크 기능 제공

오디오 및 추가 기능

  • Audio Processing

    • 오디오 처리 기능 제공
  • Subtitles & Text

    • 자막 및 텍스트 기능 제공

플랫폼별 압축

  • Compress for Discord

    • Discord용 비디오 압축 기능 제공
  • Compress for Email

    • Email용 비디오 압축 기능 제공
  • Compress for WhatsApp

    • WhatsApp용 비디오 압축 기능 제공
  • Compress for iMessage

    • iMessage용 비디오 압축 기능 제공
  • Compress for Slack

    • Slack용 비디오 압축 기능 제공
  • Compress for Twitter

    • Twitter용 비디오 압축 기능 제공

플랫폼별 크기 조정

  • Resize for TikTok

    • TikTok용 비디오 크기 조정 기능 제공
  • Resize for Instagram Reels

    • Instagram Reels용 비디오 크기 조정 기능 제공
  • Resize for YouTube Shorts

    • YouTube Shorts용 비디오 크기 조정 기능 제공
  • Resize for Instagram Post

    • Instagram Post용 비디오 크기 조정 기능 제공
  • Resize for LinkedIn

    • LinkedIn용 비디오 크기 조정 기능 제공
  • Resize for Facebook

    • Facebook용 비디오 크기 조정 기능 제공
  • Resize for Twitter

    • Twitter용 비디오 크기 조정 기능 제공
  • Resize for Pinterest

    • Pinterest용 비디오 크기 조정 기능 제공

오디오 포맷 변환

  • MP4 to MP3

    • MP4를 MP3로 변환하는 기능 제공
  • MOV to MP3

    • MOV를 MP3로 변환하는 기능 제공
  • WebM to MP3

    • WebM을 MP3로 변환하는 기능 제공
  • MKV to MP3

    • MKV를 MP3로 변환하는 기능 제공
  • AVI to MP3

    • AVI를 MP3로 변환하는 기능 제공
  • MP4 to WAV

    • MP4를 WAV로 변환하는 기능 제공
  • MP4 to AAC

    • MP4를 AAC로 변환하는 기능 제공
  • MP4 to M4A

    • MP4를 M4A로 변환하는 기능 제공

비디오를 오디오로 변환

  • Video to MP3

    • 비디오를 MP3로 변환하는 기능 제공
  • Video to WAV

    • 비디오를 WAV로 변환하는 기능 제공
  • Video to FLAC

    • 비디오를 FLAC로 변환하는 기능 제공
  • Video to AAC

    • 비디오를 AAC로 변환하는 기능 제공
Hacker News 의견들
  • FFmpeg를 WebAssembly로 돌린다고 해도 라이선스 이슈는 그대로라고 봄. FFmpeg는 LGPL 2.1인데 VidStudio는 closed source처럼 보이고 자유 소프트웨어라는 안내도 못 찾았음. 클라이언트 브라우저에 배포하는 형태라면 LGPL 조건을 위반했을 가능성이 있어 보였고, FFmpeg legal 페이지도 참고해볼 만하다고 생각함

    • closed source 자체는 가능하지만 LGPL에서 추가로 요구하는 것들이 있다고 기억함. 예를 들면 사용한 FFmpeg 버전의 소스 링크를 제공해야 하고, 동적 링크라면 사용자가 자기 빌드로 라이브러리를 교체할 수 있어야 하며, 정적 링크라면 호환 빌드로 다시 링크할 수 있는 도구를 제공해야 한다고 이해하고 있음. 최근에 LGPL 리뷰를 해서 기억이 생생하지만 틀렸다면 정정 환영함
    • 지적해줘서 고맙고, 솔직히 말하면 처음엔 licensing을 깊게 생각하지 못했음. 원래는 로컬에서 돌리려고 만든 비디오 오디오 코덱 실험용 도구 모음이었는데, 나중에 보니 다른 사람도 쓸 만한 수준이어서 공개하게 됐음. 오늘 밤 안에 완전히 준수하도록 필요한 변경을 하겠음. 적어도 FFmpeg 철자를 제대로 쓴 건 맞았고, wasm 프로젝트 때문에 GPL과 LGPL 차이도 더 공부해야겠다고 느낌
    • 앱 전체 소스를 공개하지 않고도 LGPL 준수는 가능하다고 생각함. 예를 들면 애플리케이션과 ffmpeg를 서로 다른 isolate, 즉 wasm 프로세스로 분리해서 돌리거나, 사용자가 직접 컴파일한 FFmpeg wasm 빌드와 클로즈드 소스 앱 wasm 코드를 합칠 수 있는 방법을 제공하는 식이 가능해 보임. isolate 분리만으로 GPL까지 만족하는지는 FFmpeg를 커맨드라인 도구처럼 호출하는 경우와 비슷하게 볼 수도 있겠지만, 그 부분은 법적으로 다소 아슬아슬하다고 느낌
    • LGPL은 그 자체로는 비공개 소프트웨어에서 라이브러리 사용을 허용함
    • 다만 인기 있는 몇몇 코덱은 GPL이라서, 그 옵션을 켜면 나머지 코드도 같이 GPL로 배포해야 할 수 있음
  • 성능이 정말 인상적이었고, 상태 유지도 아주 자연스럽게 느껴졌음. 예전에 브라우저 기반 비디오 에디터를 써봤을 때는 금방 버벅였는데 이건 꽤 잘 버텨서 놀랐음. 다만 트랙 쪽은 잘 안 됐고, Firefox on Windows에서 드래그 앤 드롭으로 순서를 바꾸지 못했음. 서로 다른 화면비의 영상, 예를 들면 세로와 가로 영상을 맞추기 위한 위치 회전 크기 같은 transform 도구도 못 찾았음

    • 응원 고맙고, track 조작은 아직 완전히 해결하지 못했음. 그래서 아직은 클립을 트랙 사이로 옮길 수 없고 트랙 순서 변경도 미처 생각 못 했는데 살펴보겠음. transform은 클립을 트랙에 올린 뒤 클릭하면 프로그램 모니터 오른쪽에 패널이 보여야 하고, 옵션은 제한적이지만 어느 정도는 들어가 있음. 솔직히 LLM 도움을 받아 겨우 엮어낸 부분도 있다고 느낌
  • 위쪽에서 나온 hvc1과 10-bit 실패는 FFmpeg-wasm 폴백 문제가 아니라 WebCodecs의 브라우저 지원 격차라고 봄. Firefox의 HEVC 경로는 부분적이고 10-bit는 더 취약함. Chrome은 대체로 돌아가지만 Firefox는 iPhone이나 최신 Android가 기본으로 찍는 파일에서 정확히 실패함. 그래서 가져오기 테스트에서 이탈을 줄이려면 브라우저가 이 코덱을 못 푼다는 점과 Chrome을 써보라는 안내가 있으면 좋겠다고 생각함

    • 좋은 제안이라고 생각함. licensing 문제를 넘기고 나면 해결해야 할 에러가 산더미처럼 있어서, 그걸 처리하면 사용성이 꽤 좋아질 거라고 봄
  • 이게 https://omniclip.app/, https://tooscut.app, https://clipjs.mohy.dev/와 비교하면 어떤지 궁금함

    • 나도 https://pikimov.com과 비교가 궁금했음. 요즘 자주 보이는 또 다른 브라우저 기반 비디오 에디터라고 생각함
    • 솔직히 아직 모르겠고, 공유해준 서비스들은 처음 알게 됐음. 직접 써보면서 비교해보겠고 알려줘서 고마움
  • 예전엔 앱이 완전히 로컬 중심이었고 계정도 업로드도 없었는데, 이제 그런 점이 다시 가치 제안이 된다는 게 흥미로움

    • 이번에는 sandboxed 환경이라는 차이도 있고, greasemonkey 스크립트를 다룰 줄 알면 어느 정도 수정도 가능함. 게다가 앱 안의 텍스트가 전부 선택 가능하고 복사 붙여넣기도 되는 점이 좋다고 느낌
    • 나도 동의하지만, 소프트웨어 개발에 돈을 쓰는 쪽은 결국 수익화 방법을 찾아야 한다고 봄. 다만 그 방식이 너무 약탈적이지 않았으면 좋겠음. 요즘은 모든 게 구독제로 바뀌어서 매달 사용자 돈을 빼가는 느낌이 강함
    • 다만 예전 앱들과 달리 지금 이런 것들은 실제로 OS 네이티브 앱은 아니라는 차이가 있다고 봄
  • 출시 축하함. 나도 videotobe.com에서 같은 길을 가봤고, ffmpeg.wasm으로 완전 클라이언트 사이드 구성을 시도했지만 긴 영상에서는 무너졌음. 메모리 한계와 인코딩 시간 때문에 결국 클라우드 처리 파이프라인으로 갔음. 그런데 여기서는 WebCodecs, Pixi, ffmpeg.wasm을 나눈 구조로 두 문제를 다 잘 푼 것처럼 보였고, 실제로 3시간 넘는 미디어도 VidStudio에서 버텨서 인상적이었음

    • 이런 경험 공유가 정말 반갑고 고마움. 요즘 sentry에 쌓인 에러들 때문에 조금 의욕 저하가 있었는데 힘이 됐음. 나도 ffmpeg wasm을 끝까지 밀어봤고 worker fs로 메모리 문제까지 풀어보려 했지만, 노력 대비 이득이 크지 않다고 느꼈음. 비디오 코덱 자체는 대단하지만 ffmpeg가 디코드 변환 인코드 파이프라인을 얼마나 많이 떠안아주는지 내가 과소평가했음을 깨달음
  • 프라이버시가 기본이 아니라 기능처럼 취급되는 시대가 됐다는 점이 놀라움. 나도 이 분야에서 만들고 있는데 업로드가 필요 없다는 장점이, 이미 모든 게 클라우드에 있어야 한다고 학습된 사용자에게는 의외로 전달하기 어렵다고 느낌

    • 나는 오히려 대다수 사용자는 클라우드에 데이터가 있는 걸 원한다고 생각함. 데스크톱에서 편집하고 링크를 보내면 클라이언트가 휴대폰으로 바로 보고, 따로 export도 필요 없고, 수정하면 즉시 반영되는 흐름이 분명 편함. 비즈니스가 아니어도 가족끼리 영상을 공유하고 피드백을 주고 바로 수정하는 식의 사용성이 강점이라고 봄. 로컬 전용 솔루션의 용도가 없다는 뜻은 아니고, 대부분 사용자에게는 클라우드 이점이 더 매력적일 거라고 추측함
    • 맞는 말이지만, 동시에 가장 성공적인 비즈니스 모델이 개인 데이터 판매에 기대고 있다는 점을 생각하면 이런 흐름도 너무 논리적이라고 느낌
  • 브라우저에서 로컬 실행되는 도구라는 발상에 아주 끌렸음. 웹사이트가 사실상 배포 매체 역할만 하게 되니 사용도 쉬워지고, 나도 이런 도구가 필요해서 기대하며 테스트했음. 그런데 첫 시도와 두 번째 시도 모두 실패했음. Pixel 폰으로 찍은 영상을 넣었더니 Firefox에서는 "Your browser does not support the codec "hvc1.2.4.L156". Try a different video."라는 메시지가 나왔고, 그래서 Chrome으로 옮겼더니 "Audio decode failed: your browser cannot decode the audio in "..._webm.bin". Try re-encoding the file with AAC audio."가 나왔음. 아쉬웠지만 꼭 해결되길 바라고, 고쳐지면 알림받을 방법이 있으면 좋겠다고 생각함

    • 이건 내 todo list에 올라가 있고, 고쳐지면 여기 다시 와서 꼭 알려주겠음. 핵심 문제는 코덱 지원이 들쭉날쭉하다는 점이고, 내가 본 muxer 소프트웨어들도 코덱 지원에 빈틈이 많았음. 게다가 오디오와 비디오 코덱 이름이 플랫폼과 브라우저에 따라 다르게 보이는 경우도 있어서 예상보다 복잡했음. 최대한 빨리 다시 파고들겠음
  • 타임라인 스크러빙에 WebCodecs를 쓴 건 올바른 선택이라고 봄. 다만 프레임 캐싱을 어떻게 처리하는지 궁금함. WebCodecs 디코더 버퍼는 메모리 매핑되어 있고 압박이 오면 브라우저가 회수할 수 있는데, 그 위에 별도의 LRU 캐시를 얹었는지 아니면 디코더에 맡기는지 궁금함. 모바일, 특히 iPhone처럼 메모리 제한이 빡빡한 장치에서 백그라운드 WebCodecs 메모리 사용 때문에 페이지가 죽는 문제를 어떻게 버티는지도 관심이 감

  • 하단의 compress-to-X 링크들과 X에서 Y로 변환하는 도구들이 정말 마음에 들었음. 특히 Discord 구독 단계별 목표 파일 크기 프리셋이 있는 도구가 좋았음. 원래는 업로드가 필요한 서버 기반 온라인 툴을 써왔는데, 이제는 이걸 쓰게 될 것 같음. 당장 풀 기능 비디오 에디터가 필요한 건 아니었고 그냥 재미로 둘러봤는데도 꽤 멋진 발견이라고 느낌