Categorygithub.com/Paxx-RnD/go-ffmpeg
repository
1.0.34
Repository: https://github.com/paxx-rnd/go-ffmpeg.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# README

Go Ffmpeg

Go build Go Test workflow

Install

go get github.com/Paxx-RnD/go-ffmpeg

Simple Example

func main(){
   headers := []string{
		"-y",
		"-hide_banner",
		"-loglevel", "info",
	}
    
    configuration := configuration.NewConfiguration(
		"usr/bin/ffmpeg",
		"usr/bin/ffprobe",
		false)
        
    f := ffmpeg.NewFfmpeg(configuration, headers)
    
    args := f.
        Input("/path/to/video.mp4").
        Output("/path/to/output.mp4").
        Build()

    f.Run(args)
}

Example with bitrate and codecs

func main(){
    headers := []string{
		"-y",
		"-hide_banner",
		"-loglevel", "info",
	}
    
    configuration := configuration.NewConfiguration(
		"usr/bin/ffmpeg",
		"usr/bin/ffprobe",
		false)
        
    f := ffmpeg.NewFfmpeg(configuration, headers)

    args := f.
        Input("/path/to/video.mp4").
        BitrateVideo(common_bitrates.VideoBitrate100K).
        BitrateAudio(common_bitrates.AudioBitrate128K).
        CodecVideo(codec_video.LIBX264).
        CodecAudio(codec_audio.AAC).
        Output("/path/to/output.mp4").
        Build()

    f.Run(args)
}

Example with Filter Complex

func main(){
    headers := []string{
		"-y",
		"-hide_banner",
		"-loglevel", "info",
	}
    
    configuration := configuration.NewConfiguration(
		"usr/bin/ffmpeg",
		"usr/bin/ffprobe",
		false)
        
    f := ffmpeg.NewFfmpeg(configuration, headers)

    args := f.
        Input("/path/to/video.mp4").
        CodecVideo(codec_video.LIBX264).
        CodecAudio(codec_audio.AAC).
        FilterGraph().
        Fps("0:v", 15, "fps1").
        Scale("fps1", 100, 100, "scale").
        Map("scale").
        Output("/path/to/output.mp4").
        Build()
        
    f.Run(args)
}