kitech / gmf

Go Media Framework

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Go FFmpeg Bindings

Status: beta

Updated 27 Apr 2018.
Work in progress.

Updated 09 Mar 2018.
Please note, that there is work in progress adding support for new avcodec_send_frame()/avcodec_receive_packet() api.
Because it's a breaking changes, some examples haven't ported yet.

Installation

Prerequisites

Current master branch requires go 1.6.
Older versions available in branches go1.2 and go1.5.

Build

build lastest version of ffmpeg, obtained from https://github.com/FFmpeg/FFmpeg
There is one required option, which is disabled by default, you should turn on: --enable-shared

E.g.:

./configure --prefix=/usr/local/ffmpeg --enable-shared
make
make install

Add pkgconfig path:

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/ffmpeg/lib/pkgconfig/

Ensure, that PKG_CONFIG_PATH contains path to ffmpeg's pkgconfig folder.

# check it by running
pkg-config --libs libavformat

It should print valid path to the avformat library.

Now, just run

go get github.com/3d0c/gmf
Other methods

This package uses pkg-config way to obtain flags, includes and libraries path, so if you have ffmpeg installed, just ensure, that your installation has them (pkgconfig/ folder with proper pc files).

Usage

Please see examples and tests.

Support and Contribution

If something doesn't work, just fix it. Do not hesitate to pull request.

Credits

I borrowed the name from project, abandoned on code.google.com/p/gmf. Original code is available here in intitial commit from 03 Apr 2013.

About

Go Media Framework

License:MIT License


Languages

Language:Go 100.0%