Skip to content

Go language bindings for ffmpeg libraries (with bazel build support)

License

Notifications You must be signed in to change notification settings

jonnrb/bazel_go_libav

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

83 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

go-libav

License GoDoc Build Status Coverage

Go language bindings for ffmpeg libraries.

This is still a work in progress. This package still lacks a lot of the libav's functionality. Please expect many additions/changes in the future.

Why

I am aware of other Go language bindings for ffmpeg. The reason I decided to build go-libav was because I wanted to have:

  • A more Object-Oriented Programming approach.
  • A more Go-like approach to error handling.
  • Easier garbage collection.

Installation

First, install ffmpeg 3.x libraries on your system.

If you need ffmpeg2.x support, use ffmpeg2 branch (deprecated).

Then, open the terminal and install the following packages:

go get -u github.com/imkira/go-libav/avcodec
go get -u github.com/imkira/go-libav/avfilter
go get -u github.com/imkira/go-libav/avformat
go get -u github.com/imkira/go-libav/avutil

Documentation

For advanced usage, make sure to check the following documentation:

Examples

Please check here for examples.

FFmpeg versions

This library supports multiple versions of FFmpeg 3.x, to build, use

go build -tags ffmpeg33
go test -tags ffmpeg33
go run -tags ffmpeg33 examples/mediainfo/mediainfo.go

Use ffmpeg30 for FFmpeg 3.0 API, ffmpeg33 for FFmpeg 3.3 API.

Contribute

Found a bug? Want to contribute and add a new feature?

Please fork this project and send me a pull request!

License

go-libav is licensed under the MIT license:

www.opensource.org/licenses/MIT

Copyright

Copyright (c) 2015 Mario Freitas. See LICENSE for further details.

About

Go language bindings for ffmpeg libraries (with bazel build support)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 99.0%
  • Makefile 1.0%