ladder

package
v0.18.2 Latest Latest
Warning

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

Go to latest
Published: Sep 27, 2023 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const (
	FPS30 = 30
	FPS60 = 60
)
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
	Meta      *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 Ladder

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

func Load

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

func (Ladder) ArgumentSet

func (l Ladder) ArgumentSet(out string, meta *Metadata) *ArgumentSet

func (Ladder) Tweak

func (l Ladder) Tweak(meta *Metadata) (Ladder, error)

Tweak modifies existing ladder according to supplied video metadata

type Metadata

type Metadata struct {
	FMeta       *ffmpeg.Metadata
	FPS         float64
	IntFPS      int
	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     int    `yaml:",omitempty"`
	BitrateCutoff int    `yaml:"bitrate_cutoff"`
}

Jump to

Keyboard shortcuts

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