#ogg-vorbis #ogg #vorbis #metadata

oggvorbismeta

Read and write metadata from ogg vorbis audio files

2 unstable releases

0.2.0 Feb 23, 2025
0.1.0 Sep 3, 2019

#506 in Audio

Download history 209/week @ 2024-12-04 224/week @ 2024-12-11 316/week @ 2024-12-18 50/week @ 2024-12-25 57/week @ 2025-01-01 424/week @ 2025-01-08 170/week @ 2025-01-15 225/week @ 2025-01-22 184/week @ 2025-01-29 312/week @ 2025-02-05 287/week @ 2025-02-12 515/week @ 2025-02-19 324/week @ 2025-02-26 320/week @ 2025-03-05 401/week @ 2025-03-12 195/week @ 2025-03-19

1,326 downloads per month
Used in 3 crates (2 directly)

MIT license

12KB
162 lines

Oggvorbismeta

Build Status

A simple Rust library to read and write VorbisComments tags in OggVorbis (*.ogg) audio files.

The basic reading and writing of Ogg files is handled by the Ogg crate: https://github.com/RustAudio/ogg

Reading out the existing comments in a file is done using the Lewton crate: https://github.com/RustAudio/lewton

See the tag_file example for basic usage. It reads the tags in an input file, prints them and then replaces them with some sample tags. The result is written to a new file.

To run the example type:

cargo run --example tag_file path/to/infile.ogg path/to/outfile.ogg

Tag names

A list of common tags can be found here: https://xiph.org/vorbis/doc/v-comment.html

Usage

The workflow is to prepare a CommentHeader structure containing all the desired tags. This is then inserted in an ogg file by the "replace_comment_header" function. This will accept anything that implements the std::io::Read and std::io::Seek traits as input, and return a std::io::Cursor wrapping a buffer in ram.

let mut f_out = replace_comment_header(f_in, new_comments);

Dependencies

~0.7–1.2MB
~27K SLoC