Documentation
¶
Overview ¶
direct
follow location
plugins
repeater instead of providing the m3u8 content by ourselves, repeater use http 302 to redirect clients to the original url so further requests will be fired to us
youtube
youtube
Index ¶
- Constants
- Variables
- func GetPluginList() []string
- type ChannalProvider
- type DirectM3U8Parser
- func (p *DirectM3U8Parser) Parse(liveUrl string, proxyUrl string, previousExtraInfo string, content io.Reader) (*model.LiveInfo, error)
- func (p *DirectM3U8Parser) Transform(req *http.Request, info *model.LiveInfo) error
- func (p *DirectM3U8Parser) TransformTs(rawLink string, tsLink string, info *model.LiveInfo) string
- type FeedHost
- type Forger
- type HealthCheck
- type M3UParser
- type M3UPlayList
- type M3URepeater
- type ParsedChannel
- type Plugin
- type RTMPParser
- type RepeaterParser
- type Transformer
- type TsTransformer
- type URLM3U8Parser
- type UrlInfo
- type YoutubeExtraInfo
- type YoutubeParser
- type YtDlpParser
Constants ¶
View Source
const (
DefaultUserAgent string = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
)
Variables ¶
Functions ¶
func GetPluginList ¶
func GetPluginList() []string
Types ¶
type ChannalProvider ¶
type DirectM3U8Parser ¶
type DirectM3U8Parser struct{}
func (*DirectM3U8Parser) TransformTs ¶
type Forger ¶
Allow a plugin to generate a custom M3U8 playlist instead of requesting from the internet
type HealthCheck ¶
do a healthcheck when GetM3U8Content returned
type M3UParser ¶
type M3UParser struct{}
type M3UPlayList ¶
type M3UPlayList struct {
Channels []ParsedChannel
}
type M3URepeater ¶
type M3URepeater struct {
M3UParser
}
type ParsedChannel ¶
type Plugin ¶
type Plugin interface {
Parse(liveUrl string, proxyUrl string, previousExtraInfo string) (info *model.LiveInfo, error error)
}
plugin parser interface
type RTMPParser ¶
type RTMPParser struct {
URLM3U8Parser
}
type Transformer ¶
transform the request before getM3U8content
type TsTransformer ¶
type TsTransformer interface {
TransformTs(rawLink string, tsLink string, info *model.LiveInfo) string
}
transform the tsproxy link
type URLM3U8Parser ¶
type URLM3U8Parser struct {
DirectM3U8Parser
}
type YoutubeExtraInfo ¶
type YoutubeExtraInfo struct {
LastUrl string
}
type YoutubeParser ¶
type YoutubeParser struct{}
Click to show internal directories.
Click to hide internal directories.