ffmpeg

package
v0.34.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 2, 2026 License: MIT Imports: 13 Imported by: 0

Documentation

Overview

Package ffmpeg implements engine.Engine for local audio processing via ffmpeg.

Two modes: "sfx" generates basic sound effects using lavfi sources, "mix" combines multiple audio tracks with volume/delay controls. Requires ffmpeg binary in PATH.

Index

Constants

View Source
const (
	ModeSFX = "sfx"
	ModeMix = "mix"
)
View Source
const (
	ModelFFmpegSFX = "ffmpeg-sfx"
	ModelFFmpegMix = "ffmpeg-audio-mix"
)

Variables

View Source
var (
	ErrMissingPrompt    = errors.New("ffmpeg: missing prompt for SFX generation")
	ErrMissingAudioURLs = errors.New("ffmpeg: audio_urls is required (minimum 2)")
	ErrUnsafeURL        = errors.New("ffmpeg: only http/https URLs are allowed")
	ErrOutputTooLarge   = errors.New("ffmpeg: output exceeds 100 MB size limit")
)

Functions

func ConfigSchema

func ConfigSchema() []engine.ConfigField

ConfigSchema returns configuration fields for the FFmpeg engine.

func DefaultProvider

func DefaultProvider() engine.Provider

DefaultProvider returns preset engine configurations for ffmpeg.

func ModelInfos

func ModelInfos() []engine.ModelInfo

ModelInfos returns i18n metadata for FFmpeg models.

func ModelsByCapability

func ModelsByCapability() map[string][]string

ModelsByCapability returns models grouped by capability.

Types

type Config

type Config struct {
	Mode         string // "sfx" or "mix"
	OutputFormat string // "mp3" (default), "wav", "flac"
	HTTPClient   *http.Client
}

Config configures the FFmpeg engine.

type Engine

type Engine struct {
	// contains filtered or unexported fields
}

Engine implements engine.Engine for local ffmpeg operations.

func New

func New(cfg Config) *Engine

New creates an FFmpeg engine instance.

func (*Engine) Capabilities

func (e *Engine) Capabilities() engine.Capability

Capabilities implements engine.Describer.

func (*Engine) Execute

func (e *Engine) Execute(ctx context.Context, g workflow.Graph) (engine.Result, error)

Execute dispatches to SFX generation or audio mixing based on mode.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL