@ctrl/plex
    Preparing search index...

    Class Extra

    Represents a single Extra (trailer, behindTheScenes, etc).

    Hierarchy (View Summary)

    Index
    _INCLUDES: {
        checkFiles: number;
        includeAllConcerts: number;
        includeBandwidths: number;
        includeChapters: number;
        includeChildren: number;
        includeConcerts: number;
        includeExternalMedia: number;
        includeExtras: number;
        includeFields: string;
        includeGeolocation: number;
        includeLoudnessRamps: number;
        includeMarkers: number;
        includeOnDeck: number;
        includePopularLeaves: number;
        includePreferences: number;
        includeRelated: number;
        includeRelatedCount: number;
        includeReviews: number;
        includeStations: number;
    } = ...
    addedAt: Date

    Datetime this item was added to the library.

    art?: string
    artBlurHash?: string
    collections: Collection[]
    commonSenseMedia?: CommonSenseMedia

    Common Sense Media rating and advisory data, when returned by Plex.

    duration?: number

    Duration of the clip in milliseconds.

    editionTitle?: string

    Edition shared by a movie or inherited from a show's hierarchy.

    extraType?: number

    Plex extra type id.

    fields: Field[]
    grandparentArt?: string
    grandparentGuid?: string
    guid?: string

    Plex GUID used to identify matching editions.

    guids: Guid[]

    External GUID objects for this video item.

    images: Image[]

    Image tags for this video item.

    index?: number

    Position of the clip in its parent's extras.

    key: string

    Plex relative url of this metadata item.

    labels: Label[]
    lastRatedAt?: Date

    Datetime the user last rated this item.

    lastViewedAt?: Date

    Datetime item was last accessed.

    librarySectionID?: number
    librarySectionKey?: string

    Library section key (/library/sections/1).

    librarySectionTitle?: string

    Library section title (Movies, TV Shows).

    listType: "video" = ...

    Hardcoded as 'video' (useful for search filters).

    live?: boolean

    Whether the active session is live TV.

    media: Media[]
    METADATA_TYPE: string = 'clip'
    originallyAvailableAt?: Date

    Datetime the clip was released.

    parent?: WeakRef<PlexObject>

    WeakRef to the parent object that this object is built from.

    parentGuid?: string

    BlurHash string for artwork image.

    Client currently playing this item.

    players: PlexSessionPlayer[] = []

    Clients associated with this active playback.

    playlistItemID?: number

    Playlist item ID, only populated for items loaded from a Playlist.

    playQueueItemID?: number

    Queue-local item ID (only populated for PlayQueue items).

    primaryGuid?: string

    Plex GUID of the item this extra belongs to.

    processingState?: OptimizationState

    Current state while this item is being processed for an optimized-media group.

    producers: Producer[]
    ratingKey?: string
    ratings: Rating[]
    roles: Role[]
    server: PlexServer

    Bandwidth allocation for the active playback, when one exists.

    sessionKey?: number

    Server-local key for an active playback session.

    sessions: PlexPlaybackSession[] = []

    Bandwidth allocations associated with this active playback.

    similar: Similar[]
    skipDetails?: number

    Whether clients skip the details page for this clip.

    subtype?: string

    Kind of extra (ex: trailer, behindTheScenes, deletedScene).

    summary?: string

    Summary of the artist, track, or album.

    thumb?: string

    URL to thumbnail image.

    thumbAspectRatio?: string

    Thumbnail aspect ratio hint.

    thumbBlurHash?: string

    BlurHash string for thumbnail image.

    title?: string
    titleSort?: string

    Title to use when sorting (defaults to title).

    transcodeSession?: PlexTranscodeSession

    Active transcode associated with this playback, when Plex includes it.

    transcodeSessions: PlexTranscodeSession[] = []

    Transcodes associated with this active playback.

    type?: string
    TYPE: string = 'clip'
    ultraBlurColors?: UltraBlurColorsData
    updatedAt?: Date

    Datetime this item was updated.

    Account currently playing this item.

    usernames: string[] = []

    Usernames associated with this active playback.

    userRating?: number

    User rating (2.0; 8.0).

    viewCount: number

    Count of times this item was accessed.

    viewedAt?: Date

    Datetime item was last viewed (history).

    viewOffset: number

    View offset in milliseconds.

    year?: number
    TAG: string = 'Video'

    xml element tag

    TYPE: string | null = null

    xml element type

    • get artUrl(): URL | undefined

      Returns URL | undefined

    • get hasPreviewThumbnails(): boolean

      Returns boolean

    • get hasVoiceActivity(): boolean

      Returns boolean

    • get isFullObject(): boolean

      Retruns True if this is already a full object. A full object means all attributes were populated from the api path representing only this item. For example, the search result for a movie often only contain a portion of the attributes a full object (main url) for that movie would contain.

      Returns boolean

    • get isPlayed(): boolean

      Returns boolean

    • get isWatched(): boolean

      Returns True if this video is watched.

      Returns boolean

    • get metadataDirectory(): string | undefined

      Path relative to the Plex server data directory, using server-independent separators.

      Returns string | undefined

    • get thumbUrl(): URL | undefined

      Return the first first thumbnail url starting on the most specific thumbnail for that item.

      Returns URL | undefined

    • Tell Plex Media Server to performs analysis on it this item to gather information. Analysis includes:

      • Gather Media Properties: All of the media you add to a Library has properties that are useful to know–whether it's a video file, a music track, or one of your photos (container, codec, resolution, etc).
      • Generate Default Artwork: Artwork will automatically be grabbed from a video file. A background image will be pulled out as well as a smaller image to be used for poster/thumbnail type purposes.
      • Generate Video Preview Thumbnails: Video preview thumbnails are created, if you have that feature enabled. Video preview thumbnails allow graphical seeking in some Apps. It's also used in the Plex Web App Now Playing screen to show a graphical representation of where playback is. Video preview thumbnails creation is a CPU-intensive process akin to transcoding the file.
      • Generate intro video markers: Detects show intros, exposing the 'Skip Intro' button in clients.

      Returns Promise<void>

    • Edit an object.

      Parameters

      • changes: Readonly<Record<string, string | number>>

      Returns Promise<void>

    • Return the other editions with the same Plex GUID.

      Type Parameters

      Parameters

      • this: T

      Returns Promise<T[]>

    • Use match result to update show metadata.

      Parameters

      • options: { agent?: string; auto?: boolean; searchResult?: SearchResult } = {}

        Match options.

      Returns Promise<void>

    • Returns true if this object was built from a parent of the given class.

      Parameters

      • cls: new (...args: any[]) => PlexObject

      Returns boolean

    • Parameters

      • options: { agent?: string; language?: string; title?: string; year?: string } = {}

        Match options.

        Examples:

        1. video.matches()

        2. video.matches({ title: "something", year: "2020" })

        3. video.matches({ title: "something" })

        4. video.matches({ year: "2020" })

        5. video.matches({ title: "something", year: "" })

        6. video.matches({ title: "", year: "2020" })

        7. video.matches({ title: "", year: "" })

        8. The default behaviour in Plex Web = no params in plexapi

        9. Both title and year specified by user

        10. Year automatically filled in

        11. Title automatically filled in

        12. Explicitly searches for title with blank year

        13. Explicitly searches for blank title with year

        14. I don't know what the user is thinking... return the same result as 1

        For 2 to 7, the agent and language is automatically filled in

      Returns Promise<SearchResult[]>

    • Set a personal rating from 0 to 10, or clear it with null.

      Parameters

      • rating: number | null

      Returns Promise<void>

    • Refreshing a Library or individual item causes the metadata for the item to be refreshed, even if it already has metadata. You can think of refreshing as "update metadata for the requested item even if it already has some". You should refresh a Library or individual item if:

      Returns Promise<void>

    • load full data / reload the data for this object from this.key.

      Parameters

      • Optionalekey: string
      • Optionalargs: Record<string, number | boolean>

      Returns Promise<void>

    • Upload a poster from a URL or image bytes. Shorthand for artwork.upload().

      Parameters

      • options: { file?: undefined; url: string } | { file: Uint8Array; url?: undefined }

      Returns Promise<void>