https://github.com/alexdogonin/go-ffmpeg
Go binding to FFmpeg
https://github.com/alexdogonin/go-ffmpeg
ffmpeg ffmpeg-wrapper go golang
Last synced: 7 months ago
JSON representation
Go binding to FFmpeg
- Host: GitHub
- URL: https://github.com/alexdogonin/go-ffmpeg
- Owner: alexdogonin
- Created: 2020-03-12T13:02:25.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2020-09-15T07:41:00.000Z (over 5 years ago)
- Last Synced: 2025-08-15T16:40:51.689Z (8 months ago)
- Topics: ffmpeg, ffmpeg-wrapper, go, golang
- Language: Go
- Homepage:
- Size: 83 KB
- Stars: 20
- Watchers: 3
- Forks: 2
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# go-ffmpeg
Go binding to FFmpeg
## Installation
### Install ffpeg libraries
#### Solus
```bash
eopkg it pkg-config ffmpeg-devel
```
#### Ubuntu
```bash
apt install pkg-config libavcodec-dev libavformat-dev libavutil-dev libswscale-dev libswresample-dev
```
#### Source code
```bash
git clone https://github.com/FFmpeg/FFmpeg.git ffmpeg
cd ffmpeg
./configure
make
make install
```
#### Required versions
libavcodec >= 58
libavformat >= 58
libavutil >= 56
libswresample >= 3
libswscale >= 5
## go-ffmpeg installation
```bash
go get github.com/alexdogonin/go-ffmpeg
```
## Usage
see [examples](https://github.com/alexdogonin/go-ffmpeg/tree/master/examples) directory
## TODO
- [ ] add minimal tools number sufficient for this works:
- [x] encoding - generate video from image and audio track
- [ ] decoding - generate number of images and audio file from video
- [ ] rescaling video
- [ ] resampling audio
- [ ] convert formats
- [ ] refactor code, reducing type dependencies among themselves
- [ ] restructure code to use go types instead FFmpeg types everywheare it possible (e.g. AVIOContext -> io.Writer)
- [ ] add comprehensive documentation
- [ ] (maybe never) rewrite code with pure go, rejection of cgo