ladder

package
v0.19.2 Latest Latest
Warning

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

Go to latest
Published: Jul 10, 2024 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	MasterPlaylist = "master.m3u8"
)

Variables

View Source
var Default, _ = Load(defaultLadderYaml)

Functions

func GetVideoStream

func GetVideoStream(meta *ffmpeg.Metadata) transcoder.Streams

func SetLogger

func SetLogger(l *zap.SugaredLogger)

Types

type ArgumentSet

type ArgumentSet struct {
	Output    string
	Ladder    Ladder
	Arguments map[string]string
	Metadata  *Metadata
}

func (*ArgumentSet) GetStrArguments

func (a *ArgumentSet) GetStrArguments() []string

GetStrArguments serializes ffmpeg arguments in a format sutable for `ffmpeg.Transcoder.Start“.

type Definition

type Definition string
const (
	D1080p Definition = "1080p"
	D720p  Definition = "720p"
	D144p  Definition = "144p"
)

type FPS

type FPS struct {
	Ratio string
	Float float64
}

func (FPS) Int

func (f FPS) Int() int

func (FPS) String

func (f FPS) String() string

type Ladder

type Ladder struct {
	Args     map[string]string
	Metadata *Metadata
	Tiers    []Tier `yaml:",flow"`
}

func Load

func Load(yamlLadder []byte) (Ladder, error)

func (Ladder) ArgumentSet

func (x Ladder) ArgumentSet(out string) *ArgumentSet

func (Ladder) String

func (x Ladder) String() string

func (Ladder) Tweak

func (x Ladder) Tweak(md *Metadata) (Ladder, error)

Tweak generates encoding parameters from the ladder for provided video metadata.

type Metadata

type Metadata struct {
	FMeta       *ffmpeg.Metadata
	FPS         *FPS
	FastStart   bool
	VideoStream transcoder.Streams
	AudioStream transcoder.Streams
}

func WrapMeta

func WrapMeta(fmeta *ffmpeg.Metadata) (*Metadata, error)

type Tier

type Tier struct {
	Definition    Definition
	Height        int
	Width         int
	VideoBitrate  int             `yaml:"bitrate"`
	AudioBitrate  string          `yaml:"audio_bitrate"`
	Framerate     decimal.Decimal `yaml:",omitempty"`
	KeepFramerate bool            `yaml:"keep_framerate"`
	BitrateCutoff int             `yaml:"bitrate_cutoff"`
}

Jump to

Keyboard shortcuts

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