Files
go-mp4tag/README.md
2022-06-12 08:06:38 +01:00

66 lines
1.2 KiB
Markdown

# go-mp4tag
MP4 tagger written in Go.
## Setup
```
go get github.com/Sorrow446/go-mp4tag
```
```go
import "github.com/Sorrow446/go-mp4tag"
```
## Usage Examples
```go
tags := &mp4tag.Tags{
Album: "album",
AlbumArtist: "album artist",
Title: "title",
TrackNumber: 1,
TrackTotal: 20,
Genre: "genre",
DiskNumber: 3,
DiskTotal: 10,
Comment: "comment",
}
err := mp4tag.Write("1.m4a", tags)
if err != nil {
panic(err)
}
```
Write album, album artist, title, track number, track total, genre, disk number, disk total, and comment tags.
```go
tags := &mp4tag.Tags{
Custom: map[string]string{
"CUSTOMFIELD": "custom field",
"CUSTOMFIELD2": "custom field 2",
},
Delete: []string{"genre", "cover"},
}
err := mp4tag.Write("1.m4a", tags)
if err != nil {
panic(err)
}
```
Write two custom fields named `CUSTOMFIELD` and `CUSTOMFIELD2`, delete genre tag, and remove cover.
```go
coverBytes, err := ioutil.ReadFile("cover.jpg")
if err != nil {
panic(err)
}
tags := &mp4tag.Tags{
Cover: coverBytes,
}
err = mp4tag.Write("1.m4a", tags)
if err != nil {
panic(err)
}
```
Write cover from `cover.jpg`.
## Thank you
This library relies heavily on abema's go-mp4 library.