vqm

package
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Mar 20, 2024 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DefaultFfmpegVMAFTemplate = "-hide_banner -i {{.CompressedFile}} -i {{.SourceFile}} " +
	"-lavfi libvmaf=n_subsample=1:log_path={{.ResultFile}}:feature=name=psnr:" +
	"log_fmt=json:model=path={{.ModelPath}}:n_threads={{.NThreads}} -f null -"

Functions

This section is empty.

Types

type AggregateMetric added in v0.4.0

type AggregateMetric struct {
	VMAF    Metric
	PSNR    Metric
	MS_SSIM Metric
}

type FfmpegVMAFConfig added in v0.3.0

type FfmpegVMAFConfig struct {
	FfmpegPath         string
	LibvmafModelPath   string
	FfmpegVMAFTemplate string
	ResultFile         string
}

FfmpegVMAFConfig exposes parameters for ffmpegVMAF creation.

type FrameMetric

type FrameMetric struct {
	FrameNum uint
	VMAF     float64
	PSNR     float64
	MS_SSIM  float64
}

FrameMetric contains VQMs for a single frame.

type FrameMetrics

type FrameMetrics []FrameMetric

func (*FrameMetrics) FromFfmpegVMAF

func (fm *FrameMetrics) FromFfmpegVMAF(jsonReader io.Reader) error

FromFfmpegVMAF will Unmarshal libvmaf's JSON into FrameMetrics.

type Measurer

type Measurer interface {
	// Measure should run actual VQM measuring process
	Measure() error
	GetMetrics() (*AggregateMetric, error)
}

Measurer is an interface that must be implemented by VQM tool which is capable of calculating Vide Quality Metrics.

func NewFfmpegVMAF

func NewFfmpegVMAF(cfg *FfmpegVMAFConfig, compressedFile, sourceFile string) (Measurer, error)

NewFfmpegVMAF will initialize VQM Measurer based on ffmpeg and libvmaf.

type Metric added in v0.4.0

type Metric struct {
	Mean         float64
	HarmonicMean float64
	Min          float64
	Max          float64
	StDev        float64
	Variance     float64
}

Jump to

Keyboard shortcuts

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