Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/pion/opus

Pure Go implementation of Opus
https://github.com/pion/opus

go golang pion

Last synced: about 1 month ago
JSON representation

Pure Go implementation of Opus

Awesome Lists containing this project

README

        




Pion Opus



Pure Go implementation of the Opus Codec



Opus
Slack Widget


GitHub Workflow Status
Go Reference
Coverage Status
Go Report Card
License: MIT



This package provides a Pure Go implementation of the [Opus Codec](https://opus-codec.org/)

### Why Opus?
* **open and royalty-free** - No license fees or restrictions. Use it as you wish!
* **versatile** - Wide bitrate support. Can be used in constrained networks and high quality stereo.
* **ubiquitous** - Used in video streaming, gaming, storing music and video conferencing.

### Why a Go implementation?
* **empower interesting use cases** - This project also exports the internals of the Encoder and Decoder.
Allowing for things like analysis of a Opus bitstream without decoding the entire thing.
* **learning** - This project was written to be read by others. It includes excerpts and links to [RFC 6716][rfc6716]
* **safety** - Go provides memory safety. Avoids a class of bugs that are devastating in sensitive environments.
* **maintainability** - Go was designed to build simple, reliable, and efficient software.
* **inspire** - Go is a power language, but lacking in media libraries. We hope this project inspires the next generation to build
more media libraries for Go.

You can read more [here](https://pion.ly/blog/pion-opus/)

### RFCs
#### Implemented
- **RFC 6716**: [Definition of the Opus Audio Codec][rfc6716]

[rfc6716]: https://tools.ietf.org/html/rfc6716

### Running
See our [examples](examples) for demonstrations of how to use this package.

### Roadmap
The library is used as a part of our WebRTC implementation. Please refer to that [roadmap](https://github.com/pion/webrtc/issues/9) to track our major milestones.

See also [Issue 9](https://github.com/pion/opus/issues/9)

### Community
Pion has an active community on the [Slack](https://pion.ly/slack).

Follow the [Pion Twitter](https://twitter.com/_pion) for project updates and important WebRTC news.

We are always looking to support **your projects**. Please reach out if you have something to build!
If you need commercial support or don't want to use public methods you can contact us at [[email protected]](mailto:[email protected])

### Contributing
Check out the [contributing wiki](https://github.com/pion/webrtc/wiki/Contributing) to join the group of amazing people making this project possible

### License
MIT License - see [LICENSE](LICENSE) for full text