Documentation ¶
Overview ¶
Package olivetv provides support for retrieving stream urls and other streamers' details.
Index ¶
Examples ¶
Constants ¶
View Source
const ( KsLiveDetailQuery = ` query LiveDetail($principalId: String) { liveDetail(principalId: $principalId) { liveStream } } ` KsUserInfoQuery = ` query userInfoQuery($principalId: String) { userInfo(principalId: $principalId) { name living } } ` )
View Source
const ( EmptyRoomName = "" EmptyStreamerName = "" )
Variables ¶
View Source
var ( ErrNotSupported = errors.New("streamer not supported") ErrSiteInvalid = errors.New("site invalid") )
View Source
var (
ErrCookieNotSet = errors.New("cookie not configured")
)
Functions ¶
This section is empty.
Types ¶
type Option ¶
func SetCookie ¶
Example ¶
package main import ( "fmt" "github.com/go-olive/olive/foundation/olivetv" ) func main() { douyinCookie := "__ac_nonce=06245c89100e7ab2dd536; __ac_signature=_02B4Z6wo00f01LjBMSAAAIDBwA.aJ.c4z1C44TWAAEx696;" t, err := olivetv.New("douyin", "600571451250", olivetv.SetCookie(douyinCookie)) if err != nil { println(err.Error()) return } t.Snap() fmt.Println(t) }
Output:
type TV ¶
Example ¶
package main import ( "fmt" "github.com/go-olive/olive/foundation/olivetv" ) func main() { t, err := olivetv.New("huya", "518512") if err != nil { println(err.Error()) return } t.Snap() fmt.Println(t) }
Output:
func NewWithURL ¶
Example ¶
package main import ( "fmt" "github.com/go-olive/olive/foundation/olivetv" ) func main() { t, err := olivetv.NewWithURL("https://www.huya.com/518512") if err != nil { println(err.Error()) return } t.Snap() fmt.Println(t) }
Output:
func (*TV) Snap ¶
Snap takes the latest snapshot of the streamer info that could be retrieved individually.
func (*TV) SnapWithCookie ¶
SnapWithCookie takes the latest snapshot of the streamer info that could be retrieved individually with the cookie passed in.
func (*TV) StreamerName ¶
type TiktokAutoGenerated ¶
type TiktokAutoGenerated struct { Data struct { Title string `json:"title"` Owner struct { Nickname string `json:"nickname"` } `json:"owner"` StreamURL struct { FlvPullURL struct { FullHd1 string `json:"FULL_HD1"` Hd1 string `json:"HD1"` Sd1 string `json:"SD1"` Sd2 string `json:"SD2"` } `json:"flv_pull_url"` } `json:"stream_url"` } `json:"data"` }
type YoutubePlayerResponse ¶
type YoutubePlayerResponse struct { ResponseContext struct { MainAppWebResponseContext struct { LoggedOut bool `json:"loggedOut"` } `json:"mainAppWebResponseContext"` } `json:"responseContext"` PlayabilityStatus struct { Status string `json:"status"` Reason string `json:"reason"` LiveStreamability struct { LiveStreamabilityRenderer struct { VideoID string `json:"videoId"` OfflineSlate struct { LiveStreamOfflineSlateRenderer struct { ScheduledStartTime string `json:"scheduledStartTime"` } `json:"liveStreamOfflineSlateRenderer"` } `json:"offlineSlate"` PollDelayMs string `json:"pollDelayMs"` } `json:"liveStreamabilityRenderer"` } `json:"liveStreamability"` } `json:"playabilityStatus"` StreamingData struct { ExpiresInSeconds string `json:"expiresInSeconds"` AdaptiveFormats []struct { Itag int `json:"itag"` URL string `json:"url"` MimeType string `json:"mimeType"` QualityLabel string `json:"qualityLabel,omitempty"` TargetDurationSec float64 `json:"targetDurationSec"` } `json:"adaptiveFormats"` DashManifestURL string `json:"dashManifestUrl"` HlsManifestURL string `json:"hlsManifestUrl"` } `json:"streamingData"` VideoDetails struct { VideoID string `json:"videoId"` Title string `json:"title"` LengthSeconds string `json:"lengthSeconds"` IsLive bool `json:"isLive"` ChannelID string `json:"channelId"` IsOwnerViewing bool `json:"isOwnerViewing"` ShortDescription string `json:"shortDescription"` AverageRating float64 `json:"averageRating"` AllowRatings bool `json:"allowRatings"` ViewCount string `json:"viewCount"` Author string `json:"author"` IsLiveContent bool `json:"isLiveContent"` } `json:"videoDetails"` Microformat struct { PlayerMicroformatRenderer struct { Thumbnail struct { Thumbnails []struct { URL string `json:"url"` } `json:"thumbnails"` } `json:"thumbnail"` LiveBroadcastDetails struct { IsLiveNow bool `json:"isLiveNow"` StartTimestamp string `json:"startTimestamp"` EndTimestamp string `json:"endTimestamp"` } `json:"liveBroadcastDetails"` PublishDate string `json:"publishDate"` UploadDate string `json:"uploadDate"` } `json:"playerMicroformatRenderer"` } `json:"microformat"` }
Source Files ¶
Click to show internal directories.
Click to hide internal directories.