suggest

package
v0.0.0-...-4a67e36 Latest Latest
Warning

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

Go to latest
Published: May 1, 2021 License: AGPL-3.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DefaultAudioGroupID = "audio"
View Source
var DefaultSubtitlesGroupID = "subtitles"

Functions

This section is empty.

Types

type AudioVariant

type AudioVariant struct {
	MapInput        string           // The map value: in the form of $input:$stream
	Codec           string           // Codec to use, or "copy". Required.
	Type            AudioVariantType // Required (for naming purposes)
	Bitrate         *string          // Optional
	ConvertToStereo bool             // If true, this variant is downsampling Surround to Stereo

	// M3U8 Playlist options: https://tools.ietf.org/html/draft-pantos-http-live-streaming-23
	GroupID        *string        // Optional group ID. "audio" will be used if `nil`
	Name           string         // Unique name for variant. Required.
	Language       input.Language // Primary language https://tools.ietf.org/html/rfc5646
	DescribesVideo *bool
}

func SuggestAudioVariants

func SuggestAudioVariants(probeDataInputs []*probe.ProbeData, createAlternateStereo bool, removeVFQ bool) (variants []AudioVariant)

func (AudioVariant) Stanza

func (v AudioVariant) Stanza(streamPlaylistFilename string) string

type AudioVariantType

type AudioVariantType int
const (
	StereoSound   AudioVariantType = 2
	SurroundSound AudioVariantType = 6
)

type SubtitleVariant

type SubtitleVariant struct {
	InputURL    string // The stream URL where the subtitle should be found
	StreamIndex uint   // The stream index of the subtitle in the input from InputURL

	// M3U8 Playlist options: https://tools.ietf.org/html/draft-pantos-http-live-streaming-23
	Name            string  // Unique name for variant. Required.
	GroupID         *string // Optional group ID. "subtitles" will be used if `nil`
	HearingImpaired bool
	Forced          bool
	Language        input.Language // Primary language https://tools.ietf.org/html/rfc5646

	// A unique output index for the subtitle file.
	// Each subtitle variant should have its own.
	OutputIndex uint
}

func SuggestSubtitlesVariants

func SuggestSubtitlesVariants(probeDataInputsURLs []string, probeDataInputs []*probe.ProbeData,
	additionalSearcher func(languages []input.Language) map[input.Language][]input.SubtitleInput,
	removeVFQ bool) []SubtitleVariant

SuggestSubtitlesVariants From an array of input URLs and another of the corresponding probe data, SuggestSubtitlesVariants creates an array of suggested subtitle variants to create.

func (SubtitleVariant) PlaylistName

func (v SubtitleVariant) PlaylistName(outputDir string) string

PlaylistName Returns the name of the m3u8 playlist. If `outputDir` is not "", joins the filename with the outputDir

func (SubtitleVariant) Stanza

func (v SubtitleVariant) Stanza() string

type VideoVariant

type VideoVariant struct {
	MapInput   string  // The map value: in the form of $input:$stream
	Codec      string  // Codec to use, or "copy". Required.
	CRF        *int    // Optional. CRF Value.
	Profile    *string // Optional
	Level      *string // Required if `Profile` is provided.
	Bitrate    *string // Optional
	AddHVC1Tag bool    // Add tag `-tag:v hvc1`
	// Associated Media
	AudioGroup    *string // Optional Audio Group
	SubtitleGroup *string // Optional Subtitle Group
	// M3U8 Playlist options
	Resolution       string // Resolution for variant in M3U8 playlist
	Bandwidth        string
	ResolutionHeight *int // Optional. To use as -filter:v scale="trunc(oh*a/2)*2:HEIGHT"
}

func SuggestVideoVariants

func SuggestVideoVariants(probeDataInputs []*probe.ProbeData) (variants []VideoVariant)

func (VideoVariant) Stanza

func (v VideoVariant) Stanza(streamPlaylistFilename string, audioGroup *string, subtitleGroup *string) string

Generates the entry for the m3u8 playlist #EXT-X-STREAM-INF:BANDWIDTH=1500000,RESOLUTION=1920x796,CODECS="avc1.42e00a",AUDIO="audio"

Jump to

Keyboard shortcuts

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