https://github.com/3d0c/gmf
Go Media Framework
https://github.com/3d0c/gmf
Last synced: 11 months ago
JSON representation
Go Media Framework
- Host: GitHub
- URL: https://github.com/3d0c/gmf
- Owner: 3d0c
- License: mit
- Created: 2013-04-03T09:07:47.000Z (almost 13 years ago)
- Default Branch: master
- Last Pushed: 2022-09-06T17:04:54.000Z (over 3 years ago)
- Last Synced: 2024-08-02T15:33:11.134Z (over 1 year ago)
- Language: Go
- Homepage:
- Size: 18.9 MB
- Stars: 883
- Watchers: 31
- Forks: 170
- Open Issues: 49
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- fucking-awesome-go - gmf - Go bindings for FFmpeg av\* libraries. (Video / Utility/Miscellaneous)
- awesome-go - gmf - Go Media Framework - ★ 414 (Video)
- awesome-go-with-stars - gmf - 09-06 | (Video / Utility/Miscellaneous)
- awesome-go - gmf - | - | - | (Video / HTTP Clients)
- awesome-go-info - gmf
- awesome-go - gmf - Go bindings for FFmpeg av\* libraries. (Video / Utility/Miscellaneous)
- fucking-awesome-go - :octocat: gmf - Go bindings for FFmpeg av\* libraries. :star: 195 :fork_and_knife: 42 (Video / Advanced Console UIs)
- awesome-go-cn - gmf
- awesome-go-plus - gmf - Go bindings for FFmpeg av\* libraries.  (Video / Utility/Miscellaneous)
- awesome-go - gmf - Go bindings for FFmpeg av\* libraries. (Video / Utility/Miscellaneous)
- awesome-go - gmf - Go bindings for FFmpeg av\* libraries. (Video / Advanced Console UIs)
- go-awesome-with-star-updatetime - gmf - Go bindings for FFmpeg av\* libraries. (Video / HTTP Clients)
- awesome-go - gmf - Go bindings for FFmpeg av\* libraries. - :arrow_down:22 - :star:230 (Video / HTTP Clients)
- awesome-go-extra - gmf - 04-03T09:07:47Z|2022-08-25T07:57:23Z| (Video / Fail injection)
- awesome-go - gmf - Go bindings for FFmpeg av\* libraries. (Video / Utility/Miscellaneous)
- awesome-go-cn - gmf
- awesome-go-processed - gmf - Go bindings for FFmpeg av\* libraries.| (Video / Advanced Console UIs)
- awesome-go - gmf - Go bindings for FFmpeg av\* libraries. (Video / <span id="高级控制台用户界面-advanced-console-uis">高级控制台用户界面 Advanced Console UIs</span>)
- awesome-go - gmf - Go bindings for FFmpeg av\* libraries. (Video / Utility/Miscellaneous)
- awesome-go-cn - gmf
- awesome-go - gmf - Go bindings for FFmpeg av\* libraries. (Video / HTTP Clients)
- awesome-go-cn - gmf
- awesome-cobol - gmf - Cobol bindings for FFmpeg av\* libraries. (Video / Middlewares)
- awesome-Char - gmf - Go bindings for FFmpeg av\* libraries. (Video / HTTP Clients)
- awesome-go - gmf - Go bindings for FFmpeg av\* libraries. (Video / Utility/Miscellaneous)
- awesome-video - gmf - Go bindings for FFmpeg av\* libraries. (Language and platform specific libraries / Go)
- awesome-go-zh - gmf
- awesome-go - gmf - Go bindings for FFmpeg av\* libraries. (Video / Utility/Miscellaneous)
README
### Go FFmpeg Bindings
#### Installation
##### Prerequisites
Current master branch supports all major Go versions, starting from 1.6.
##### Build/install FFmpeg
build lastest version of ffmpeg, obtained from [https://github.com/FFmpeg/FFmpeg](https://github.com/FFmpeg/FFmpeg)
There is one required option, which is disabled by default, you should turn on: `--enable-shared`
E.g.:
```sh
./configure --prefix=/usr/local/ffmpeg --enable-shared
make
make install
```
Add pkgconfig path:
```sh
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/ffmpeg/lib/pkgconfig/
```
Ensure, that `PKG_CONFIG_PATH` contains path to ffmpeg's pkgconfig folder.
```sh
# check it by running
pkg-config --libs libavformat
```
It should print valid path to the avformat library.
Now, just run
```sh
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).
#### Docker containers
Thanks to [@ergoz](https://github.com/ergoz) you can try a docker container [riftbit/ffalpine](https://hub.docker.com/r/riftbit/ffalpine)
Thanks to [@denismakogon](https://github.com/denismakogon) there is one more project, worth to mention
[https://github.com/denismakogon/ffmpeg-debian](https://github.com/denismakogon/ffmpeg-debian)
#### Usage
Please see [examples](examples/).
#### 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.