apexif

This is a simple Go package for reading EXIF data from various file
formats. It's build for speed and simplicity. The package does not
have any dependencies.
All data must be loaded in memory (or mmapped) before calling Identify()
.
- CR2
- CRW
- HEIC
- JPEG
- PNG
- TIFF
- WebP
Supported container types
- ISOBMFF (MPEG-4 Part 12)
- RIFF
- TIFF
These are not file formats and only interesting for developers of
this package.
Usage example
package main
import (
"fmt"
"os"
"github.com/abrander/apexif"
)
func main() {
data, err := os.ReadFile("example.jpeg")
if err != nil {
panic(err)
}
f, err := apexif.Identify(data)
if err != nil {
panic(err)
}
fmt.Printf("Yay. We got a %s image.\n", f.Name())
e, err := f.Exif()
if err != nil {
panic(err)
}
make, _ := e.Make()
fmt.Printf("The image was captured by a %s camera.\n", make)
}
License
This package is licensed under the MIT license. See LICENSE for details.