This wrapper allows you to run mediainfo and parse its output in usable manner.
Yami is inspired of go-ffprobe and can be used as a drop-in replacement with minor changes in mapping.
Current version mapping matches XML v2
package main
import (
"github.com/cajax/yami"
"log"
"time"
)
func main() {
mediainfo, err := yami.GetMediaInfo("video.mp4", 10*time.Second)
if err != nil {
log.Panic(err)
}
video := mediainfo.GetFirstVideoTrack()
log.Printf("Video Codec:\t%s", video.CodecID)
log.Printf("Framerate:\t\t%f", video.FrameRate)
}