Repolode
Vanilagy

Vanilagy/mediabunny

브라우저에서 MP4, WebM, MP3 등의 동영상·오디오 파일을 읽고, 쓰고, 변환하는 의존성 없는 TypeScript 라이브러리입니다.

스타
7,441
포크
339
열린 이슈
53
마지막 커밋
어제

어떤 프로젝트인가요?

Mediabunny는 MP4, WebM, MP3, HLS 같은 미디어 파일을 브라우저에서 직접 읽고, 쓰고, 변환하는 JavaScript 라이브러리입니다. 의존성 없이 TypeScript로 처음부터 작성했으며, 명령줄 미디어 작업에 FFmpeg를 사용하는 방식의 웹 네이티브 대안으로 설계되었습니다.

MOV, MKV, WAV, Ogg, FLAC, MPEG-TS 등의 포맷에서 컨테이너 디먹싱과 먹싱을 지원하고, 25개 이상의 동영상·오디오·자막 코덱을 처리합니다. 인코딩과 디코딩에는 WebCodecs API를 사용하며, 가능한 경우 하드웨어 가속을 활용합니다. 변환 API로 transmuxing, transcoding, 크기 조정, 회전, 자르기, 리샘플링, 트리밍을 할 수 있습니다.

파일을 스트리밍 방식으로 처리하므로 대용량 파일도 전체를 메모리에 올리지 않고 작업할 수 있습니다. 패키지는 tree-shakable하며, 가장 작은 번들은 gzip 압축 기준 약 5 kB입니다. 별도 패키지인 @mediabunny/server를 사용하면 동일한 코드를 Node, Bun, Deno에서도 실행할 수 있습니다.

핵심 기능

  • 01MP4, MOV, WebM, MKV, HLS, WAV, MP3, Ogg, ADTS, FLAC, MPEG-TS를 읽고 쓸 수 있습니다.
  • 02WebCodecs를 통한 하드웨어 가속으로 25개 이상의 동영상·오디오·자막 코덱을 지원합니다.
  • 03transmuxing, transcoding, 크기 조정, 자르기, 회전, 트리밍을 위한 변환 API를 제공합니다.
  • 04입력과 출력을 스트리밍 방식으로 처리해 크기에 관계없이 파일을 다룰 수 있습니다.
  • 05런타임 의존성이 없고 tree-shakable하며, gzip 압축 기준 약 5 kB까지 번들 크기를 줄일 수 있습니다.
  • 06브라우저에서 실행할 수 있으며, @mediabunny/server를 사용하면 Node, Bun, Deno에서도 실행됩니다.

활용 사례

  • 사용자가 업로드한 동영상을 서버로 보내기 전에 WebM이나 MP4로 변환하기
  • 웹 앱에서 미디어 파일의 재생 시간, 크기, 회전 정보, 메타데이터 태그 읽기
  • 브라우저에서 canvas 프레임으로 MP4 동영상 생성하기
  • 브라우저 기반 동영상 편집기에서 클립을 트리밍하거나 크기 조정하기

빠른 시작

  1. 1

    npm에서 패키지를 설치합니다

    npm install mediabunny
  2. 2

    Input, ALL_FORMATS, BlobSource를 가져와 파일에서 메타데이터를 읽습니다

사용 전 알아둘 점

  • 브라우저를 대상으로 하며, 하드웨어 가속 코덱에 WebCodecs API를 사용합니다.
  • 타입을 사용하려면 TypeScript 5.7 이상이 필요합니다.

토픽

#video#audio#webcodecs#typescript#media-processing#transcoding#browser#mp4#decoding#demuxing

자주 묻는 질문

mediabunny은(는) 무엇인가요?
브라우저에서 MP4, WebM, MP3 등의 동영상·오디오 파일을 읽고, 쓰고, 변환하는 의존성 없는 TypeScript 라이브러리입니다. Mediabunny는 MP4, WebM, MP3, HLS 같은 미디어 파일을 브라우저에서 직접 읽고, 쓰고, 변환하는 JavaScript 라이브러리입니다. 의존성 없이 TypeScript로 처음부터 작성했으며, 명령줄 미디어 작업에 FFmpeg를 사용하는 방식의 웹 네이티브 대안으로 설계되었습니다.
mediabunny은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
mediabunny은(는) MPL-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
mediabunny은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. mediabunny의 마지막 커밋은 2026년 11월 6일입니다.
mediabunny은(는) 어디에 사용할 수 있나요?
사용자가 업로드한 동영상을 서버로 보내기 전에 WebM이나 MP4로 변환하기 웹 앱에서 미디어 파일의 재생 시간, 크기, 회전 정보, 메타데이터 태그 읽기 브라우저에서 canvas 프레임으로 MP4 동영상 생성하기 브라우저 기반 동영상 편집기에서 클립을 트리밍하거나 크기 조정하기
mediabunny는 어떻게 설치하나요?
npm에서 패키지를 설치합니다: npm install mediabunny Input, ALL_FORMATS, BlobSource를 가져와 파일에서 메타데이터를 읽습니다
mediabunny은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/Vanilagy/mediabunny

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트

외부 의존성 없이 단일 소스 파일로 배포되는 C 오디오 재생 및 캡처 라이브러리입니다.

개발 도구#audio#audio-library#playback
7.6천+148 이번 주631COther활발히 관리됨업데이트 그저께