splicecheck

package
v0.3.5 Latest Latest
Warning

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

Go to latest
Published: Nov 7, 2026 License: GPL-3.0 Imports: 14 Imported by: 0

Documentation

Overview

Package splicecheck verifies offline H.264/AAC HLS recovery artifacts using explicit FFmpeg tools. It never grants runtime publication authority.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Boundary

type Boundary struct {
	Index                          int
	PreviousGeneration, Generation uint64
}

type Options

type Options struct {
	// Timeline contains title-time boundaries, indexed by Segment.Index, including
	// the terminal end boundary. When present it replaces SegmentDuration.
	ReencodedAudio  bool // verify PCM continuity instead of compressed AU equality
	Timeline        []time.Duration
	SegmentDuration time.Duration
	Reference       []Segment
	FFprobe, FFmpeg string
}

type PCMMeasurement

type PCMMeasurement struct {
	Index                                 int
	MissingSamples, OverlappingSamples    int
	SNRDB, BoundaryStep, ReferenceMaxStep float64
}

PCMMeasurement reports decoded audio at an execution handoff. Samples count per channel; AAC priming is represented by packet PTS, never a fitted shift.

type Report

type Report struct {
	IDRStart, ClosedGOP, PTSContinuity, FrameCountVsReference Result
	CleanDecode, AudioAUExact, AudioContinuity, GridDurations Result
	PCMContinuous                                             Result
	PCMBoundaries                                             []PCMMeasurement
	Boundaries                                                []Boundary
	Segments, VideoFrames, AudioAUs                           int
}

func Check

func Check(ctx context.Context, segs []Segment, o Options) (Report, error)

type Result

type Result struct {
	Pass    bool
	Details string
}

type Segment

type Segment struct {
	Index      int
	Path       string
	Generation uint64
	// InitPath is required for fragmented MP4; each generation may use its own init.
	InitPath string `json:",omitempty"`
}

Jump to

Keyboard shortcuts

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