hls

package
v1.45.3 Latest Latest
Warning

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

Go to latest
Published: Jul 5, 2022 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 added in v1.44.8

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

func (Block) Decrypt_Key added in v1.44.8

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

type Master

type Master struct {
	Media   Media
	Streams Streams
}

type Media

type Media []Medium

func (Media) Media added in v1.45.3

func (m Media) Media(f Media_Filter) Media

func (Media) Medium added in v1.45.3

func (m Media) Medium(f Media_Filter) *Medium

type Media_Filter added in v1.45.3

type Media_Filter interface {
	Group_ID(string) bool
	Name(string) bool
	Type(string) bool
}

type Medium

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

func (Medium) Ext added in v1.45.2

func (Medium) Ext() string

func (Medium) String

func (m Medium) String() string

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 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

type Stream_Filter added in v1.45.3

type Stream_Filter interface {
	Audio(string) bool
	Bandwidth(int) int
	Codecs(string) bool
}

type Streams

type Streams []Stream

func (Streams) Bandwidth added in v1.44.9

func (s Streams) Bandwidth(f Stream_Filter) *Stream

func (Streams) Streams added in v1.45.3

func (s Streams) Streams(f Stream_Filter) Streams

Jump to

Keyboard shortcuts

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