프로젝트 소개

Opus는 인터넷을 통한 대화형 음성 및 오디오 전송을 위해 설계된 현대적인 오디오 코덱입니다. VoIP, 화상회의, 게임 내 채팅, 원격 라이브 음악 공연 등 다양한 애플리케이션을 처리하며, 저비트레이트 협대역 음성부터 고품질 스테레오 음악까지 확장됩니다. 이 코덱은 IETF RFC 6716으로 명시되며 로열티 프리 특허 및 저작권 라이선스가 적용됩니다. 이 저장소는 원시 Opus 비트스트림의 인코딩 및 디코딩을 위한 공유 라이브러리(libopus)를 제공하며, RFC 7587에 따른 RTP 전송에 적합합니다. 파일 저장의 경우 Opus는 Ogg 캡슐화(RFC 7845)를 사용해야 하며, 별도의 opus-tools 패키지가 Ogg Opus 파일 인코딩/디코딩을 제공합니다. Opus 1.5는 딥 리던던시(DRED)를 도입했습니다. 이는 딥러닝 기반 리던던시 인코더로, 패킷 패딩에 1초 분량의 복구 데이터를 임베드하여 손실 네트워크에서 오디오 품질을 향상시킵니다. DRED는 이전 Opus 버전과 완전히 역호환되며 AWS 후원으로 개발되었고, IETF에서 표준화가 진행 중입니다. 라이브러리는 autotools(./configure && make), CMake 또는 Meson을 통해 빌드됩니다. 부동소수점(기본값) 및 고정소수점 산술(--enable-fixed-point 또는 FIXED_POINT 매크로)을 지원하며, 후자는 임베디드 환경용입니다. 코드베이스는 C89/C99로 작성되었으며 일반적인 2의 보수 구현 정의 동작에 의존합니다. 다양한 옵션으로 원시 PCM을 인코딩/디코딩하기 위한 테스트 도구(opus_demo)가 포함되어 있습니다: 애플리케이션 모드(voip, audio, restricted-lowdelay), 비트레이트 모드(CBR, VBR, CVBR), 대역폭 제어(NB~FB), 프레임 크기(2.5-60ms), 복잡도(0-10), 인밴드 FEC, DTX, 강제 모노, 패킷 손실 시뮬레이션. 자동화된 테스트는 'make check'로 실행되며, 공식 테스트 벡터는 opus-codec.org에서 제공됩니다.