Crates.io | oggvorbismeta |
lib.rs | oggvorbismeta |
version | 0.1.0 |
source | src |
created_at | 2019-09-03 20:22:30.143948 |
updated_at | 2019-09-03 20:22:30.143948 |
description | Read and write metadata from ogg vorbis audio files |
homepage | |
repository | https://github.com/HEnquist/lib-rust-oggvorbis-meta |
max_upload_size | |
id | 161903 |
size | 57,074 |
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
A list of common tags can be found here: https://xiph.org/vorbis/doc/v-comment.html
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);