
Security News
TypeScript is Porting Its Compiler to Go for 10x Faster Builds
TypeScript is porting its compiler to Go, delivering 10x faster builds, lower memory usage, and improved editor performance for a smoother developer experience.
github.com/godcong/goav
Golang binding for FFmpeg
A comprehensive binding to the ffmpeg video/audio manipulation library.
Reviving this project -- if you like to contribute, please email me habtom@giorgis.io
import "github.com/giorgisio/goav/avformat"
func main() {
filename := "/home/giorgis/media/sample.mp4"
// Register all formats and codecs
avformat.AvRegisterAll()
// Open video file
if avformat.AvformatOpenInput(&ctxtFormat, filename, nil, nil) != 0 {
log.Println("Error: Couldn't open file.")
return
}
// Retrieve stream information
if ctxtFormat.AvformatFindStreamInfo(nil) < 0 {
log.Println("Error: Couldn't find stream information.")
return
}
//...
}
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][FFMPEG INSTALL INSTRUCTIONS] (https://github.com/FFmpeg/FFmpeg/blob/master/INSTALL.md)
sudo apt-get -y install autoconf automake build-essential libass-dev libfreetype6-dev libsdl1.2-dev libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev pkg-config texi2html zlib1g-dev
sudo apt install -y libavdevice-dev libavfilter-dev libswscale-dev libavcodec-dev libavformat-dev libswresample-dev libavutil-dev
sudo apt-get install yasm
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
go get github.com/giorgisio/goav
Coding examples are available in the examples/ directory.
This library is under the MIT License
FAQs
Unknown package
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
TypeScript is porting its compiler to Go, delivering 10x faster builds, lower memory usage, and improved editor performance for a smoother developer experience.
Research
Security News
The Socket Research Team has discovered six new malicious npm packages linked to North Korea’s Lazarus Group, designed to steal credentials and deploy backdoors.
Security News
Socket CEO Feross Aboukhadijeh discusses the open web, open source security, and how Socket tackles software supply chain attacks on The Pair Program podcast.