SAV1
Simply Powerful Video Decoding
|
(S)imple (AV1) and Opus playback
Library to enable simple and efficient playback of a WEBM file containing AV1 video and Opus audio tracks. Written by Elijah Cirioli, Daniel Wolnick, and Charles Hayden.
SAV1 provides a simple interface on top of file parsing, low level AV1 and Opus decoding, and tracking time for playback. It allows the user to choose their preferred audio frequency and number of channels, as well as their preferred video pixel format, in order to receive data in those formats. This allows desktop app developers to easily add video playback to their app. For example, a game developer could easily add cutscenes.
Currently SAV1 is in beta.
SAV1 uses dav1d
to efficiently decode video, libopus
to efficiently decode audio, and vendors libwebm
and libyuv
for file parsing and color conversion respectively. The internal parsing and decoding modules run in separate threads so the top level API is non-blocking and efficient.
Why should I use this instead of another playback library?
Check us out our Github repository
Get in touch with us or report issues on the issue tracker
To get started, you can check out the documentation on this website, and see the Github repo's README for library build instructions. Eventually, we hope to offer prebuilts for download, but for now you need to build from source.