Documentation
¶
Index ¶
- Variables
- func DecodeMediaPlaylistFilterNilSegments(data []byte, strict bool) (*m3u8.MediaPlaylist, error)
- func GetMediaPlaylistDuration(mediapl *m3u8.MediaPlaylist) time.Duration
- func GetMediaPlaylistWithValidSegments(rawPlaylist *m3u8.MediaPlaylist, concurrent int, client *http.Client) (*m3u8.MediaPlaylist, error)
- func GetValidSegments(mediapl *m3u8.MediaPlaylist, concurrent int, client *http.Client) []*m3u8.MediaSegment
- func MuteMediaSegments(playlist *m3u8.MediaPlaylist) []*m3u8.MediaSegment
- type DomainWithPath
- func (d *DomainWithPath) GetDomain() string
- func (d *DomainWithPath) GetIndexDvrUrl() string
- func (d *DomainWithPath) GetM3U8Body(ctx context.Context, client *http.Client) ([]byte, error)
- func (d *DomainWithPath) GetSegmentChunkedUrl(segment *m3u8.MediaSegment) string
- func (d *DomainWithPath) GetVideoData() *VideoData
- func (d *DomainWithPath) MakePathsExplicit(playlist *m3u8.MediaPlaylist) *m3u8.MediaPlaylist
- type DomainWithPaths
- type StreamsChartsData
- type SullyGnomeData
- type TwitchTrackerData
- type ValidDwpResponse
- type VideoData
- func (videoData *VideoData) GetDomainWithPathsList(domains []string, seconds int, toUnix bool) []*DomainWithPaths
- func (videoData *VideoData) GetUrlPath(toUnix bool) string
- func (videoData *VideoData) GetVideoPath(toUnix bool) *VideoPath
- func (videoData *VideoData) String() string
- func (videoData *VideoData) WithOffset(seconds int) *VideoData
- type VideoPath
Constants ¶
This section is empty.
Variables ¶
View Source
var DOMAINS = []string{
"https://vod-secure.twitch.tv/",
"https://vod-metro.twitch.tv/",
"https://vod-pop-secure.twitch.tv/",
"https://d1m7jfoe9zdc1j.cloudfront.net/",
"https://d1mhjrowxxagfy.cloudfront.net/",
"https://d1ymi26ma8va5x.cloudfront.net/",
"https://d2nvs31859zcd8.cloudfront.net/",
"https://d2vjef5jvl6bfs.cloudfront.net/",
"https://d3vd9lfkzbru3h.cloudfront.net/",
"https://dgeft87wbj63p.cloudfront.net/",
"https://dqrpb9wgowsf5.cloudfront.net/",
"https://ds0h3roq6wcgc.cloudfront.net/",
}
Functions ¶
func DecodeMediaPlaylistFilterNilSegments ¶
func DecodeMediaPlaylistFilterNilSegments(data []byte, strict bool) (*m3u8.MediaPlaylist, error)
func GetMediaPlaylistDuration ¶
func GetMediaPlaylistDuration(mediapl *m3u8.MediaPlaylist) time.Duration
func GetMediaPlaylistWithValidSegments ¶
func GetMediaPlaylistWithValidSegments(rawPlaylist *m3u8.MediaPlaylist, concurrent int, client *http.Client) (*m3u8.MediaPlaylist, error)
func GetValidSegments ¶
func GetValidSegments(mediapl *m3u8.MediaPlaylist, concurrent int, client *http.Client) []*m3u8.MediaSegment
func MuteMediaSegments ¶
func MuteMediaSegments(playlist *m3u8.MediaPlaylist) []*m3u8.MediaSegment
Types ¶
type DomainWithPath ¶
type DomainWithPath struct { Domain string // e.g. https://d1m7jfoe9zdc1j.cloudfront.net/ Path *VideoPath }
func UrlToDomainWithPath ¶
func UrlToDomainWithPath(urlStr string) (*DomainWithPath, error)
e.g. https://d1m7jfoe9zdc1j.cloudfront.net/c5992ececce7bd7d350d_gmhikaru_47198535725_1664038929 e.g. https://d1m7jfoe9zdc1j.cloudfront.net/c5992ececce7bd7d350d_gmhikaru_47198535725_1664038929/storyboards/1600104857-info.json
func (*DomainWithPath) GetDomain ¶
func (d *DomainWithPath) GetDomain() string
func (*DomainWithPath) GetIndexDvrUrl ¶
func (d *DomainWithPath) GetIndexDvrUrl() string
func (*DomainWithPath) GetM3U8Body ¶
func (*DomainWithPath) GetSegmentChunkedUrl ¶
func (d *DomainWithPath) GetSegmentChunkedUrl(segment *m3u8.MediaSegment) string
func (*DomainWithPath) GetVideoData ¶
func (d *DomainWithPath) GetVideoData() *VideoData
func (*DomainWithPath) MakePathsExplicit ¶
func (d *DomainWithPath) MakePathsExplicit(playlist *m3u8.MediaPlaylist) *m3u8.MediaPlaylist
type DomainWithPaths ¶
type DomainWithPaths struct {
// contains filtered or unexported fields
}
func (*DomainWithPaths) GetFirstValidDWP ¶
func (domainWithPaths *DomainWithPaths) GetFirstValidDWP(ctx context.Context, client *http.Client) (*ValidDwpResponse, error)
func (*DomainWithPaths) ToListOfDomainWithPath ¶
func (domainWithPaths *DomainWithPaths) ToListOfDomainWithPath() []*DomainWithPath
type StreamsChartsData ¶
func (*StreamsChartsData) GetVideoData ¶
func (data *StreamsChartsData) GetVideoData() (VideoData, error)
type SullyGnomeData ¶
func (*SullyGnomeData) GetVideoData ¶
func (data *SullyGnomeData) GetVideoData() (VideoData, error)
type TwitchTrackerData ¶
func (*TwitchTrackerData) GetVideoData ¶
func (data *TwitchTrackerData) GetVideoData() (VideoData, error)
type ValidDwpResponse ¶
type ValidDwpResponse struct { Dwp *DomainWithPath Body []byte }
func GetFirstValidDwp ¶
func GetFirstValidDwp(ctx context.Context, domainWithPathsList []*DomainWithPaths, client *http.Client) (*ValidDwpResponse, error)
type VideoData ¶
func UrlPathToVideoData ¶
e.g. c5992ececce7bd7d350d_gmhikaru_47198535725_1664038929
func (*VideoData) GetDomainWithPathsList ¶
func (videoData *VideoData) GetDomainWithPathsList(domains []string, seconds int, toUnix bool) []*DomainWithPaths
func (*VideoData) GetUrlPath ¶
func (*VideoData) GetVideoPath ¶
func (*VideoData) WithOffset ¶
Click to show internal directories.
Click to hide internal directories.