caioariede / go-framereader

A simple API to Iterate over video frames sent over STDIN using MJPEG or PPM formats

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

go-framereader

A simple API to Iterate over video frames sent over STDIN using MJPEG or PPM formats. The resulting frames are OpenCV Image objects.

Example

import (
    "github.com/caioariede/go-framereader"
    "github.com/lazywei/go-opencv/opencv"
)

func main() {
    win := opencv.NewWindow("GoOpenCV: VideoPlayer")
    defer win.Destroy()

    // Read MJPEG stream from STDIN in chunks of 10240 bytes
    reader := framereader.MJPEGStdinReader(10240)

    for image := range reader {
        win.ShowImage(image)
        opencv.WaitKey(1000)
    }
}

Running

MJPEG
ffmpeg -i VIDEO.mp4 -qscale:v 2 -vcodec mjpeg -f image2pipe -pix_fmt yuvj420p - | ./example
PPM
ffmpeg -i VIDEO.mp4 -f image2pipe -qscale:v 2 -vcodec ppm | ./example

About

A simple API to Iterate over video frames sent over STDIN using MJPEG or PPM formats

License:MIT License


Languages

Language:Go 100.0%