readme update with list of libraries, and description

This commit is contained in:
H.G. Giorgis
2015-05-22 00:50:39 -04:00
parent 679ac711e3
commit e282ca3368
2 changed files with 39 additions and 29 deletions
-6
View File
@@ -1,6 +0,0 @@
language: go
go:
- tip
script: go test -v ./
+39 -23
View File
@@ -1,22 +1,7 @@
# goav [![Build Status](https://travis-ci.org/giorgisio/goav.svg?branch=master)](https://travis-ci.org/giorgisio/goav)
Golang bindings for FFmpeg
## Notice
goav comes with ABSOLUTELY NO WARRANTY.
## Installation
go get github.com/giorgisio/goav
export FFMPEG_ROOT=$HOME/ffmpeg
export CGO_LDFLAGS="-L$FFMPEG_ROOT/lib/ -lavcodec -lavformat -lavutil -lswscale -lswresample -lavdevice -lavfilter"
export CGO_CFLAGS="-I$FFMPEG_ROOT/include"
export LD_LIBRARY_PATH=$HOME/ffmpeg/lib
# goav
Golang binding for FFmpeg
A comprehensive binding to the ffmpeg video/audio manipulation library.
## Usage
@@ -26,7 +11,7 @@ import "github.com/giorgisio/goav/avformat"
func main() {
filename := "/home/giorgis/media/sample2.mp4"
filename := "/home/giorgis/media/sample.mp4"
// Register all formats and codecs
avformat.Av_register_all()
@@ -40,14 +25,45 @@ func main() {
}
`````
## Libraries
* `avcodec` corresponds to the ffmpeg library: libavcodec [provides implementation of a wider range of codecs]
* `avformat` corresponds to the ffmpeg library: libavformat [implements streaming protocols, container formats and basic I/O access]
* `avutil`` corresponds to the ffmpeg library: libavutil [includes hashers, decompressors and miscellaneous utility functions]
* `avfilter` corresponds to the ffmpeg library: libavfilter [provides a mean to alter decoded Audio and Video through chain of filters]
* `avdevice` corresponds to the ffmpeg library: libavdevice [provides an abstraction to access capture and playback devices]
* `swresample` corresponds to the ffmpeg library: libswresample [implements audio mixing and resampling routines]
* `swscale` corresponds to the ffmpeg library: libswscale [implements color conversion and scaling routines]
## Installation
``` sh
go get github.com/giorgisio/goav
```
[FFMPEG libraries] (https://github.com/FFmpeg/FFmpeg/blob/master/INSTALL.md)
``` sh
export FFMPEG_ROOT=$HOME/ffmpeg
export CGO_LDFLAGS="-L$FFMPEG_ROOT/lib/ -lavcodec -lavformat -lavutil -lswscale -lswresample -lavdevice -lavfilter"
export CGO_CFLAGS="-I$FFMPEG_ROOT/include"
export LD_LIBRARY_PATH=$HOME/ffmpeg/lib
```
## TODO
- [ ] Errors
- [ ] Tests
- [ ] Review library methods
- [ ] Returning Errors
- [ ] Review included/excluded functions from each library
- [ ] Go Tests
- [ ] Possible restructuring packages
- [x] Tutorial01.c
- [ ] More Tutorial
## License
This library is under the [MIT License](http://opensource.org/licenses/MIT)
This library is under the [MIT License](http://opensource.org/licenses/MIT)
## Notice
goav comes with absolutely no warranty.