Skip to content

About

Transcoding library implementation in Golang

Resources

Stars

0 stars

Watchers

0 watching

Forks

 
 

Latest commit

 

History

34 Commits

Folders and files

Repository files navigation

Golang Transcoding Library



Created by FlooStack.

Features

Ease use
Implement your own business logic around easy interfaces
Transcoding progress
Obtain progress events generated by transcoding application process

Download from Github

go get github.com/floostack/transcoder

Example

package main

import (
	"log"

	ffmpeg "github.com/floostack/transcoder/ffmpeg"
)

func main() {


	hwaccel := "cuvid"
	videoCodec := "h264_cuvid"

	inputOpts := ffmpeg.Options{
		Hwaccel:      &hwaccel,
		VideoCodec:   &videoCodec,
	}
	
	format := "mp4"
	overwrite := true

	outputOpts := ffmpeg.Options{
		OutputFormat: &format,
		Overwrite:    &overwrite,
	}

	ffmpegConf := &ffmpeg.Config{
		FfmpegBinPath:   "/usr/local/bin/ffmpeg",
		FfprobeBinPath:  "/usr/local/bin/ffprobe",
		ProgressEnabled: true,
	}

	progress, err := ffmpeg.
		New(ffmpegConf).
		Input("/tmp/avi").
		Output("/tmp/mp4").
		WithInputOptions(inputOpts).
		WithOutputOptions(outputOpts).
		Start()

	if err != nil {
		log.Fatal(err)
	}

	for msg := range progress {
		log.Printf("%+v", msg)
	}
}

About

Transcoding library implementation in Golang

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages