프로젝트 소개

music-metadata는 오디오 및 비디오 미디어 파일용 오픈소스 메타데이터 파서로, npm 패키지로 배포됩니다. 로컬 파일, 스트림, Blob 및 메모리 내 버퍼에서 형식, 태그 및 재생 시간 정보를 읽으며, Webpack이나 Rollup과 같은 도구로 번들링할 때 Node.js와 브라우저 환경 모두에서 실행됩니다. 지원 형식에는 MP3, MP4/M4A/M4V, FLAC, Ogg, Opus, Vorbis, Speex, Theora, WAV/BWF, AIFF/AIFF-C, AAC/ADTS, APE, ASF/WMA, Matroska/WebM, MPC, DSF, DSDIFF 및 WavPack이 포함됩니다. 태그 지원은 ID3v1, ID3v1.1, ID3v2.2, ID3v2.3, ID3v2.4 및 ID3v2 챕터, APE, ASF, EXIF 2.3, iTunes/MP4, RIFF/INFO, Vorbis 코멘트 및 AIFF를 다룹니다. LRC, 동기화된(SYLT) 및 비동기화된(USLT) 가사 형식이 처리되며, Picard가 작성한 MusicBrainz 태그와 ReplayGain 태그도 포함됩니다. 비트레이트, 비트 심도, 재생 시간 및 인코딩 프로필(예: CBR, V0, V2)과 같은 인코딩 세부 정보도 추출됩니다. API는 프로미스 기반입니다. Node.js 전용 진입점은 파일 시스템 경로용 parseFile과 Node.js Readable 스트림용 parseStream입니다. 크로스 플랫폼 진입점에는 웹 ReadableStream 객체용 parseWebStream, Blob 또는 File 객체용 parseBlob, Uint8Array 또는 Buffer 데이터용 parseBuffer, 그리고 사용자 정의 또는 타사 strtok3 토크나이저용 parseFromTokenizer가 포함됩니다. 선택적 옵션을 통해 재생 시간 계산 및 임베디드 커버 아트 건너뛰기와 같은 동작을 제어할 수 있습니다. 버전 8은 CommonJS에서 순수 ECMAScript 모듈로 전환되었으며 ECMAScript 2020을 대상으로 하고 Node.js 22 이상 엔진 요구 사항을 갖습니다. CommonJS 역호환 경로가 문서화되어 있습니다. 이 프로젝트는 Borewit이 유지 관리하며 CI, CodeQL, 커버리지 및 종속성 취약점 배지를 포함합니다. Audio Tag Analyzer, Webamp 및 ICY 라디오 스트림 플레이어와 같은 온라인 데모가 일반적인 사용 사례를 보여주며, 이 라이브러리는 미디어 애플리케이션, 음악 플레이어 및 상세한 오디오 메타데이터가 필요한 기타 프로젝트를 대상으로 합니다.