add /streams/:videoId schema
This commit is contained in:
parent
689977ddb7
commit
7c66910b64
1 changed files with 61 additions and 0 deletions
61
pubapi/streams.go
Normal file
61
pubapi/streams.go
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
// Response schemas for API endpoint /streams/:videoId
|
||||||
|
|
||||||
|
package pubapi
|
||||||
|
|
||||||
|
type Streams struct {
|
||||||
|
VideoFields
|
||||||
|
AudioStreams []Stream `json:"audioStreams"`
|
||||||
|
VideoStreams []Stream `json:"videoStreams"`
|
||||||
|
Dash string `json:"dash"`
|
||||||
|
Hls string `json:"hls"`
|
||||||
|
LbryId string `json:"lbryId"`
|
||||||
|
Likes uint64 `json:"likes"`
|
||||||
|
Dislikes uint32 `json:"dislikes"`
|
||||||
|
Related []Related `json:"relatedStreams"`
|
||||||
|
Thumbnail string `json:"thumbnailUrl"`
|
||||||
|
DateTime string `json:"uploadDate"`
|
||||||
|
Channel string `json:"uploader"`
|
||||||
|
ChannelSubs uint64 `json:"uploaderSubscriberCount"`
|
||||||
|
Desc string `json:"description"`
|
||||||
|
Tags []string `json:"tags"`
|
||||||
|
Category string `json:"category"`
|
||||||
|
License string `json:"license"`
|
||||||
|
Visibility string `json:"visibility"`
|
||||||
|
Live bool `json:"livestream"`
|
||||||
|
// TODO: subtitles chapters previewFrames metaInfo(?) proxyUrl(useless?)
|
||||||
|
}
|
||||||
|
|
||||||
|
type Related struct {
|
||||||
|
VideoFields
|
||||||
|
ShortDesc string `json:"shortDescription"`
|
||||||
|
Thumbnail string `json:"thumbnail"`
|
||||||
|
Channel string `json:"uploaderName"`
|
||||||
|
ApproxDate string `json:"uploadedDate"`
|
||||||
|
Timestamp uint64 `json:"uploaded"` // can be -1
|
||||||
|
Shorts bool `json:"isShort"`
|
||||||
|
Url string `json:"url"`
|
||||||
|
// TODO: is always type == "stream"? do we need it?
|
||||||
|
}
|
||||||
|
|
||||||
|
type VideoFields struct {
|
||||||
|
Title string `json:"title"`
|
||||||
|
ChannelUrl string `json:"uploaderUrl"`
|
||||||
|
Avatar string `json:"uploaderAvatar"`
|
||||||
|
Verified bool `json:"uploaderVerified"`
|
||||||
|
Views uint64 `json:"views"`
|
||||||
|
Duration uint16 `json:"duration"` // can be -1
|
||||||
|
}
|
||||||
|
|
||||||
|
type Stream struct {
|
||||||
|
Bitrate uint16 `json:"bitrate"`
|
||||||
|
Codec string `json:"codec"`
|
||||||
|
Format string `json:"format"`
|
||||||
|
Fps uint8 `json:"fps"`
|
||||||
|
Mime string `json:"mimeType"`
|
||||||
|
Quality string `json:"quality"`
|
||||||
|
Width uint16 `json:"width"`
|
||||||
|
Height uint16 `json:"height"`
|
||||||
|
Url string `json:"url"`
|
||||||
|
VideoOnly bool `json:"videoOnly"`
|
||||||
|
// TODO: indexStart,End initStart,End
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue