hls

package
v1.45.7 Latest Latest
Warning

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

Go to latest
Published: Mar 8, 2025 License: OSL-3.0 Imports: 8 Imported by: 0

README

HLS

CBC

Why does this:

#EXT-X-KEY:METHOD=AES-128,URI="https://cbsios-vh.akamaihd.net/i/temp_hd_galle...

mean CBC?

An encryption method of AES-128 signals that Media Segments are completely encrypted using the Advanced Encryption Standard (AES) [AES_128] with a 128-bit key, Cipher Block Chaining (CBC)

https://datatracker.ietf.org/doc/html/rfc8216#section-4.3.2.4

EXT-X-KEY

If IV is missing, then use KEY for both.

Padding

Public-Key Cryptography Standards #7 (PKCS7) padding [RFC5652]

Extensions

item format
Apple audio mov,mp4,m4a,3gp,3g2,mj2
Apple video mov,mp4,m4a,3gp,3g2,mj2
CBC audio mpegts
CBC video mpegts
NBC mpegts
Paramount mpegts
Roku mpegts

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Block

type Block struct {
	cipher.Block
	// contains filtered or unexported fields
}

func New_Block

func New_Block(key []byte) (*Block, error)

func (Block) Decrypt

func (b Block) Decrypt(text, iv []byte) []byte

func (Block) Decrypt_Key

func (b Block) Decrypt_Key(text []byte) []byte

type Element

type Element interface {
	Media | Stream
}

type Filter

type Filter[T Element] func(T) bool

type Master

type Master struct {
	Media  Slice[Media]
	Stream Slice[Stream]
}

type Media

type Media struct {
	URI             string
	Type            string
	Name            string
	Group_ID        string
	Characteristics string
}

func (Media) Ext

func (Media) Ext() string

func (Media) String

func (m Media) String() string

type Reduce

type Reduce[T Element] func(*T, T) *T

func Bandwidth

func Bandwidth(v int) Reduce[Stream]

type Scanner

type Scanner struct {
	scanner.Scanner
	// contains filtered or unexported fields
}

func New_Scanner

func New_Scanner(body io.Reader) Scanner

func (Scanner) Master

func (s Scanner) Master() (*Master, error)

func (Scanner) Segment

func (s Scanner) Segment() (*Segment, error)

type Segment

type Segment struct {
	Key    string
	Map    string
	Raw_IV string
	URI    []string
}

func (Segment) IV

func (s Segment) IV() ([]byte, error)

type Slice

type Slice[T Element] []T

func (Slice[T]) Filter

func (s Slice[T]) Filter(callback Filter[T]) Slice[T]

func (Slice[T]) Reduce

func (s Slice[T]) Reduce(callback Reduce[T]) *T

type Stream

type Stream struct {
	Audio      string
	Bandwidth  int
	Codecs     string
	Resolution string
	URI        string
}

func (Stream) Ext

func (Stream) Ext() string

func (Stream) String

func (s Stream) String() string

Jump to

Keyboard shortcuts

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