• Stars
    star
    511
  • Rank 83,145 (Top 2 %)
  • Language
    Go
  • License
    MIT License
  • Created over 8 years ago
  • Updated about 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Go language bindings for ffmpeg libraries

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.

More Repositories

1

mobiledevice

Command line utility for interacting with Apple's Private (Closed) Mobile Device Framework
C++
666
star
2

unity-sysfont

unity-sysfont is a Unity3D plugin for rendering dynamic text using the fonts available on the mobile device/computer.
C#
205
star
3

gcp-iap-auth

A simple server implementation and package in Go for helping you secure your web apps running on GCP behind a Cloud IAP (Identity-Aware Proxy)
Go
87
star
4

cukunity

cukunity is an automation/testing framework that simplifies BDD testing of Unity 3D games.
Ruby
81
star
5

go-observer

Go package for simplifying channel-based broadcasting of events from multiple publishers to multiple observers
Go
78
star
6

go-loggers-bench

Benchmarking logging libraries for Go
Go
53
star
7

go-interpol

interpol is a Go package for doing format-string like string interpolation using named parameters.
Go
41
star
8

unity-urlclient

HTTP/HTTPS client for Unity (iOS/Android/MacOSX)
C#
36
star
9

gostudy

Go study session presentation at CyberAgent
Go
25
star
10

go-ttlmap

go-ttlmap is a Go package that provides an in-memory key-value cache with notification events for storing TTL-based expirable items.
Go
24
star
11

go-task

Go utility package for simplifying execution of tasks
Go
16
star
12

unity-countly

A Unity3D plugin for facilitating integration with Countly (http://count.ly) Mobile Analytics
C#
13
star
13

dotfiles

dotfiles
Shell
6
star
14

node-resource-pool

Resource pool class for node
JavaScript
5
star
15

gocon

GoConf (golang conference)
Go
3
star
16

hunt-reaktor

hunt.reaktor.com challenge
Perl 6
3
star
17

imkira.github.com

2
star
18

fastest

fastest is a GUI testing framework
Ruby
1
star
19

fluent-plugin-event-tail

fluentd input plugin derived from in_tail and inspired by in_forward for reading [tag, time, record] messages from a file
Ruby
1
star
20

three7-html5

HTML5/Canvas falling-blocks game inspired by a similar game featured in YuYu Hakusho anime
JavaScript
1
star