- Notifications
You must be signed in to change notification settings - Fork44
gen2brain/x264-go
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
x264-go
provides H.264/MPEG-4 AVC codec encoder based onx264 library.
C source code is included in package. If you want to use external shared/static library (i.e. built with asm and/or OpenCL) use-tags extlib
go get -u github.com/gen2brain/x264-go
extlib
- use external x264 librarypkgconfig
- enable pkg-config (used with extlib)
Seescreengrab example.
package mainimport ("bytes""image""image/color""image/draw""github.com/gen2brain/x264-go")funcmain() {buf:=bytes.NewBuffer(make([]byte,0))opts:=&x264.Options{Width:640,Height:480,FrameRate:25,Tune:"zerolatency",Preset:"veryfast",Profile:"baseline",LogLevel:x264.LogDebug,}enc,err:=x264.NewEncoder(buf,opts)iferr!=nil {panic(err)}img:=x264.NewYCbCr(image.Rect(0,0,opts.Width,opts.Height))draw.Draw(img,img.Bounds(),image.Black,image.ZP,draw.Src)fori:=0;i<opts.Width/2;i++ {img.Set(i,opts.Height/2, color.RGBA{255,0,0,255})err=enc.Encode(img)iferr!=nil {panic(err)}}err=enc.Flush()iferr!=nil {panic(err)}err=enc.Close()iferr!=nil {panic(err)}}
For AAC encoder seeaac-go.
About
Go bindings for x264
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
No packages published
Uh oh!
There was an error while loading.Please reload this page.