package ytdlp type Info struct { ID string `json:"id"` Title string `json:"title"` Availability string `json:"availability"` ChannelFollowerCount *int64 `json:"channel_follower_count"` Description string `json:"description"` Tags []string `json:"tags"` Thumbnails []Thumbnail `json:"thumbnails"` ModifiedDate *string `json:"modified_date,omitempty"` ViewCount int64 `json:"view_count"` PlaylistCount *int64 `json:"playlist_count,omitempty"` Channel string `json:"channel"` ChannelID string `json:"channel_id"` UploaderID string `json:"uploader_id"` Uploader string `json:"uploader"` ChannelURL string `json:"channel_url"` UploaderURL string `json:"uploader_url"` Type string `json:"_type"` Entries []Entry `json:"entries,omitempty"` ExtractorKey string `json:"extractor_key"` Extractor string `json:"extractor"` WebpageURL string `json:"webpage_url"` OriginalURL string `json:"original_url"` WebpageURLBasename string `json:"webpage_url_basename"` WebpageURLDomain string `json:"webpage_url_domain"` ReleaseYear interface{} `json:"release_year"` Epoch int64 `json:"epoch"` FilesToMove *FilesToMove `json:"__files_to_move,omitempty"` Version Version `json:"_version"` Formats []Format `json:"formats,omitempty"` Thumbnail *string `json:"thumbnail,omitempty"` Duration *int64 `json:"duration,omitempty"` AverageRating interface{} `json:"average_rating"` AgeLimit *int64 `json:"age_limit,omitempty"` Categories []string `json:"categories,omitempty"` PlayableInEmbed *bool `json:"playable_in_embed,omitempty"` LiveStatus *string `json:"live_status,omitempty"` ReleaseTimestamp interface{} `json:"release_timestamp"` FormatSortFields []string `json:"_format_sort_fields,omitempty"` AutomaticCaptions map[string][]AutomaticCaption `json:"automatic_captions,omitempty"` Subtitles *FilesToMove `json:"subtitles,omitempty"` CommentCount *int64 `json:"comment_count,omitempty"` Chapters interface{} `json:"chapters"` Heatmap []Heatmap `json:"heatmap,omitempty"` LikeCount *int64 `json:"like_count,omitempty"` ChannelIsVerified *bool `json:"channel_is_verified,omitempty"` UploadDate *string `json:"upload_date,omitempty"` Timestamp *int64 `json:"timestamp,omitempty"` Playlist interface{} `json:"playlist"` PlaylistIndex interface{} `json:"playlist_index"` DisplayID *string `json:"display_id,omitempty"` Fulltitle *string `json:"fulltitle,omitempty"` DurationString *string `json:"duration_string,omitempty"` IsLive *bool `json:"is_live,omitempty"` WasLive *bool `json:"was_live,omitempty"` RequestedSubtitles interface{} `json:"requested_subtitles"` HasDRM interface{} `json:"_has_drm"` RequestedDownloads []RequestedDownload `json:"requested_downloads,omitempty"` RequestedFormats []Format `json:"requested_formats,omitempty"` Format *string `json:"format,omitempty"` FormatID *string `json:"format_id,omitempty"` EXT *MediaEXT `json:"ext,omitempty"` Protocol *string `json:"protocol,omitempty"` Language *Language `json:"language,omitempty"` FormatNote *string `json:"format_note,omitempty"` FilesizeApprox *int64 `json:"filesize_approx,omitempty"` Tbr *float64 `json:"tbr,omitempty"` Width *int64 `json:"width,omitempty"` Height *int64 `json:"height,omitempty"` Resolution *Resolution `json:"resolution,omitempty"` FPS *int64 `json:"fps,omitempty"` DynamicRange *DynamicRange `json:"dynamic_range,omitempty"` Vcodec *string `json:"vcodec,omitempty"` Vbr *float64 `json:"vbr,omitempty"` StretchedRatio interface{} `json:"stretched_ratio"` AspectRatio *float64 `json:"aspect_ratio,omitempty"` Acodec *Acodec `json:"acodec,omitempty"` ABR *float64 `json:"abr,omitempty"` ASR *int64 `json:"asr,omitempty"` AudioChannels *int64 `json:"audio_channels,omitempty"` } type AutomaticCaption struct { EXT AutomaticCaptionEXT `json:"ext"` URL string `json:"url"` Name string `json:"name"` } type Entry struct { ID string `json:"id"` Title string `json:"title"` Formats []Format `json:"formats"` Thumbnails []Thumbnail `json:"thumbnails"` Thumbnail string `json:"thumbnail"` Description string `json:"description"` ChannelID string `json:"channel_id"` ChannelURL string `json:"channel_url"` Duration int64 `json:"duration"` ViewCount int64 `json:"view_count"` AverageRating interface{} `json:"average_rating"` AgeLimit int64 `json:"age_limit"` WebpageURL string `json:"webpage_url"` Categories []string `json:"categories"` Tags []string `json:"tags"` PlayableInEmbed bool `json:"playable_in_embed"` LiveStatus string `json:"live_status"` ReleaseTimestamp interface{} `json:"release_timestamp"` FormatSortFields []string `json:"_format_sort_fields"` AutomaticCaptions map[string][]AutomaticCaption `json:"automatic_captions"` Subtitles FilesToMove `json:"subtitles"` CommentCount int64 `json:"comment_count"` Chapters interface{} `json:"chapters"` Heatmap interface{} `json:"heatmap"` LikeCount int64 `json:"like_count"` Channel string `json:"channel"` ChannelFollowerCount int64 `json:"channel_follower_count"` Uploader string `json:"uploader"` UploaderID string `json:"uploader_id"` UploaderURL string `json:"uploader_url"` UploadDate string `json:"upload_date"` Timestamp int64 `json:"timestamp"` Availability string `json:"availability"` OriginalURL string `json:"original_url"` WebpageURLBasename string `json:"webpage_url_basename"` WebpageURLDomain string `json:"webpage_url_domain"` Extractor string `json:"extractor"` ExtractorKey string `json:"extractor_key"` PlaylistCount int64 `json:"playlist_count"` Playlist string `json:"playlist"` PlaylistID string `json:"playlist_id"` PlaylistTitle string `json:"playlist_title"` PlaylistUploader string `json:"playlist_uploader"` PlaylistUploaderID string `json:"playlist_uploader_id"` NEntries int64 `json:"n_entries"` PlaylistIndex int64 `json:"playlist_index"` LastPlaylistIndex int64 `json:"__last_playlist_index"` PlaylistAutonumber int64 `json:"playlist_autonumber"` DisplayID string `json:"display_id"` Fulltitle string `json:"fulltitle"` DurationString string `json:"duration_string"` ReleaseYear interface{} `json:"release_year"` IsLive bool `json:"is_live"` WasLive bool `json:"was_live"` RequestedSubtitles interface{} `json:"requested_subtitles"` HasDRM interface{} `json:"_has_drm"` Epoch int64 `json:"epoch"` RequestedDownloads []RequestedDownload `json:"requested_downloads"` RequestedFormats []Format `json:"requested_formats"` Format string `json:"format"` FormatID string `json:"format_id"` EXT string `json:"ext"` Protocol string `json:"protocol"` Language *Language `json:"language"` FormatNote string `json:"format_note"` FilesizeApprox int64 `json:"filesize_approx"` Tbr float64 `json:"tbr"` Width int64 `json:"width"` Height int64 `json:"height"` Resolution Resolution `json:"resolution"` FPS int64 `json:"fps"` DynamicRange DynamicRange `json:"dynamic_range"` Vcodec string `json:"vcodec"` Vbr float64 `json:"vbr"` StretchedRatio interface{} `json:"stretched_ratio"` AspectRatio float64 `json:"aspect_ratio"` Acodec Acodec `json:"acodec"` ABR float64 `json:"abr"` ASR int64 `json:"asr"` AudioChannels int64 `json:"audio_channels"` } type Format struct { FormatID string `json:"format_id"` FormatNote *FormatNote `json:"format_note,omitempty"` EXT MediaEXT `json:"ext"` Protocol Protocol `json:"protocol"` Acodec *Acodec `json:"acodec,omitempty"` Vcodec string `json:"vcodec"` URL string `json:"url"` Width *int64 `json:"width"` Height *int64 `json:"height"` FPS *float64 `json:"fps"` Rows *int64 `json:"rows,omitempty"` Columns *int64 `json:"columns,omitempty"` Fragments []Fragment `json:"fragments,omitempty"` Resolution Resolution `json:"resolution"` AspectRatio *float64 `json:"aspect_ratio"` FilesizeApprox *int64 `json:"filesize_approx"` HTTPHeaders HTTPHeaders `json:"http_headers"` AudioEXT MediaEXT `json:"audio_ext"` VideoEXT MediaEXT `json:"video_ext"` Vbr *float64 `json:"vbr"` ABR *float64 `json:"abr"` Tbr *float64 `json:"tbr"` Format string `json:"format"` FormatIndex interface{} `json:"format_index"` ManifestURL *string `json:"manifest_url,omitempty"` Language *Language `json:"language"` Preference interface{} `json:"preference"` Quality *int64 `json:"quality,omitempty"` HasDRM *bool `json:"has_drm,omitempty"` SourcePreference *int64 `json:"source_preference,omitempty"` ASR *int64 `json:"asr"` Filesize *int64 `json:"filesize"` AudioChannels *int64 `json:"audio_channels"` LanguagePreference *int64 `json:"language_preference,omitempty"` DynamicRange *DynamicRange `json:"dynamic_range"` Container *Container `json:"container,omitempty"` DownloaderOptions *DownloaderOptions `json:"downloader_options,omitempty"` } type DownloaderOptions struct { HTTPChunkSize int64 `json:"http_chunk_size"` } type Fragment struct { URL string `json:"url"` Duration float64 `json:"duration"` } type HTTPHeaders struct { UserAgent string `json:"User-Agent"` Accept Accept `json:"Accept"` AcceptLanguage AcceptLanguage `json:"Accept-Language"` SECFetchMode SECFetchMode `json:"Sec-Fetch-Mode"` } type RequestedDownload struct { RequestedFormats []Format `json:"requested_formats"` Format string `json:"format"` FormatID string `json:"format_id"` EXT string `json:"ext"` Protocol string `json:"protocol"` FormatNote string `json:"format_note"` FilesizeApprox int64 `json:"filesize_approx"` Tbr float64 `json:"tbr"` Width int64 `json:"width"` Height int64 `json:"height"` Resolution Resolution `json:"resolution"` FPS int64 `json:"fps"` DynamicRange DynamicRange `json:"dynamic_range"` Vcodec string `json:"vcodec"` Vbr float64 `json:"vbr"` AspectRatio float64 `json:"aspect_ratio"` Acodec Acodec `json:"acodec"` ABR float64 `json:"abr"` ASR int64 `json:"asr"` AudioChannels int64 `json:"audio_channels"` FilenameOld string `json:"_filename"` Filename string `json:"filename"` WriteDownloadArchive bool `json:"__write_download_archive"` Language *Language `json:"language,omitempty"` } type FilesToMove struct { } type Thumbnail struct { URL string `json:"url"` Preference *int64 `json:"preference,omitempty"` ID string `json:"id"` Height *int64 `json:"height,omitempty"` Width *int64 `json:"width,omitempty"` Resolution *string `json:"resolution,omitempty"` } type Heatmap struct { StartTime float64 `json:"start_time"` EndTime float64 `json:"end_time"` Value float64 `json:"value"` } type Version struct { Version string `json:"version"` CurrentGitHead interface{} `json:"current_git_head"` ReleaseGitHead string `json:"release_git_head"` Repository string `json:"repository"` } type Acodec string const ( AcodecNone Acodec = "none" Mp4A402 Acodec = "mp4a.40.2" Mp4A405 Acodec = "mp4a.40.5" Opus Acodec = "opus" ) type AutomaticCaptionEXT string const ( Json3 AutomaticCaptionEXT = "json3" Srv1 AutomaticCaptionEXT = "srv1" Srv2 AutomaticCaptionEXT = "srv2" Srv3 AutomaticCaptionEXT = "srv3" Ttml AutomaticCaptionEXT = "ttml" Vtt AutomaticCaptionEXT = "vtt" ) type DynamicRange string const ( SDR DynamicRange = "SDR" HDR DynamicRange = "HDR" ) type MediaEXT string const ( EXTNone MediaEXT = "none" EXTMhtml MediaEXT = "mhtml" M4A MediaEXT = "m4a" Mp4 MediaEXT = "mp4" Webm MediaEXT = "webm" ) type Container string const ( M4ADash Container = "m4a_dash" Mp4Dash Container = "mp4_dash" WebmDash Container = "webm_dash" ) type FormatNote string const ( Default FormatNote = "Default" Low FormatNote = "low" Medium FormatNote = "medium" Premium FormatNote = "Premium" Storyboard FormatNote = "storyboard" The1080P FormatNote = "1080p" The144P FormatNote = "144p" The240P FormatNote = "240p" The360P FormatNote = "360p" The480P FormatNote = "480p" The720P FormatNote = "720p" ) type Accept string const ( TextHTMLApplicationXHTMLXMLApplicationXMLQ09Q08 Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" ) type AcceptLanguage string const ( EnUsEnQ05 AcceptLanguage = "en-us,en;q=0.5" ) type SECFetchMode string const ( Navigate SECFetchMode = "navigate" ) type Language string const ( En Language = "en" ) type Protocol string const ( HTTPS Protocol = "https" M3U8Native Protocol = "m3u8_native" ProtocolMhtml Protocol = "mhtml" ) type Resolution string const ( AudioOnly Resolution = "audio only" The1280X720 Resolution = "1280x720" The160X90 Resolution = "160x90" The1920X1080 Resolution = "1920x1080" The256X144 Resolution = "256x144" The320X180 Resolution = "320x180" The426X240 Resolution = "426x240" The48X27 Resolution = "48x27" The640X360 Resolution = "640x360" The80X45 Resolution = "80x45" The854X480 Resolution = "854x480" )