dndmusicbot/youtube/youtube_struct.go

68 lines
2.6 KiB
Go
Raw Normal View History

package youtube
type Video struct {
StreamingData struct {
AdaptiveFormats []struct {
ApproxDurationMs string `json:"approxDurationMs"`
AudioChannels int64 `json:"audioChannels"`
AudioQuality string `json:"audioQuality"`
AudioSampleRate string `json:"audioSampleRate"`
AverageBitrate int64 `json:"averageBitrate"`
Bitrate int64 `json:"bitrate"`
ColorInfo struct {
MatrixCoefficients string `json:"matrixCoefficients"`
Primaries string `json:"primaries"`
TransferCharacteristics string `json:"transferCharacteristics"`
} `json:"colorInfo"`
ContentLength string `json:"contentLength"`
Fps int64 `json:"fps"`
Height int64 `json:"height"`
HighReplication bool `json:"highReplication"`
IndexRange struct {
End string `json:"end"`
Start string `json:"start"`
} `json:"indexRange"`
InitRange struct {
End string `json:"end"`
Start string `json:"start"`
} `json:"initRange"`
Itag int64 `json:"itag"`
LastModified string `json:"lastModified"`
LoudnessDB float64 `json:"loudnessDb"`
MimeType string `json:"mimeType"`
ProjectionType string `json:"projectionType"`
Quality string `json:"quality"`
QualityLabel string `json:"qualityLabel"`
URL string `json:"url"`
Width int64 `json:"width"`
} `json:"adaptiveFormats"`
AspectRatio float64 `json:"aspectRatio"`
ExpiresInSeconds string `json:"expiresInSeconds"`
HlsManifestURL string `json:"hlsManifestUrl"`
ServerAbrStreamingURL string `json:"serverAbrStreamingUrl"`
} `json:"streamingData"`
VideoDetails struct {
AllowRatings bool `json:"allowRatings"`
Author string `json:"author"`
ChannelID string `json:"channelId"`
IsCrawlable bool `json:"isCrawlable"`
IsLiveContent bool `json:"isLiveContent"`
IsOwnerViewing bool `json:"isOwnerViewing"`
IsPrivate bool `json:"isPrivate"`
IsUnpluggedCorpus bool `json:"isUnpluggedCorpus"`
Keywords []string `json:"keywords"`
LengthSeconds string `json:"lengthSeconds"`
ShortDescription string `json:"shortDescription"`
Thumbnail struct {
Thumbnails []struct {
Height int64 `json:"height"`
URL string `json:"url"`
Width int64 `json:"width"`
} `json:"thumbnails"`
} `json:"thumbnail"`
Title string `json:"title"`
VideoID string `json:"videoId"`
ViewCount string `json:"viewCount"`
} `json:"videoDetails"`
}