Skip to content

Commit d0c87d2

Browse files
Merge pull request #84 from LukeHagar/media-detail
corrected get-media-meta-data response
2 parents 8a99940 + 18f1330 commit d0c87d2

File tree

11 files changed

+5427
-516
lines changed

11 files changed

+5427
-516
lines changed

output/plex-media-server-spec-dereferenced.yaml

+14
Original file line numberDiff line numberDiff line change
@@ -8992,6 +8992,20 @@ paths:
89928992
type: integer
89938993
format: int32
89948994
example: 401
8995+
'404':
8996+
description: Not Found - Returned if the resource could not be found
8997+
content:
8998+
text/html:
8999+
example: |
9000+
<!DOCTYPE html>
9001+
<html>
9002+
<head>
9003+
<title>Not Found</title>
9004+
</head>
9005+
<body>
9006+
<h1>404 Not Found</h1>
9007+
</body>
9008+
</html>
89959009
'/library/metadata/{ratingKey}/banner':
89969010
get:
89979011
tags:

src/models/Media-data.yaml

+331
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,331 @@
1+
type: array
2+
description: "An array of media file data items."
3+
items:
4+
type: object
5+
required:
6+
- id
7+
- duration
8+
- bitrate
9+
- width
10+
- height
11+
- aspectRatio
12+
- audioChannels
13+
- audioCodec
14+
- videoCodec
15+
- videoResolution
16+
- container
17+
- videoFrameRate
18+
- videoProfile
19+
- hasVoiceActivity
20+
- Part
21+
properties:
22+
id:
23+
type: integer
24+
description: "Unique media identifier."
25+
example: 387322
26+
duration:
27+
type: integer
28+
description: "Duration of the media in milliseconds."
29+
example: 9610350
30+
bitrate:
31+
type: integer
32+
description: "Bitrate in bits per second."
33+
example: 25512
34+
width:
35+
type: integer
36+
description: "Video width in pixels."
37+
example: 3840
38+
height:
39+
type: integer
40+
description: "Video height in pixels."
41+
example: 1602
42+
aspectRatio:
43+
type: number
44+
format: float
45+
description: "Aspect ratio of the video."
46+
example: 2.35
47+
audioChannels:
48+
type: integer
49+
description: "Number of audio channels."
50+
example: 6
51+
audioCodec:
52+
type: string
53+
description: "Audio codec used."
54+
example: "eac3"
55+
videoCodec:
56+
type: string
57+
description: "Video codec used."
58+
example: "hevc"
59+
videoResolution:
60+
type: string
61+
description: "Video resolution (e.g., 4k)."
62+
example: "4k"
63+
container:
64+
type: string
65+
description: "File container type."
66+
example: "mkv"
67+
videoFrameRate:
68+
type: string
69+
description: "Frame rate of the video (e.g., 24p)."
70+
example: "24p"
71+
videoProfile:
72+
type: string
73+
description: "Video profile (e.g., main 10)."
74+
example: "main 10"
75+
hasVoiceActivity:
76+
type: boolean
77+
description: "Indicates whether voice activity is detected."
78+
example: false
79+
Part:
80+
type: array
81+
description: "An array of parts for this media item."
82+
items:
83+
type: object
84+
required:
85+
- id
86+
- key
87+
- duration
88+
- file
89+
- size
90+
- container
91+
- videoProfile
92+
- Stream
93+
properties:
94+
accessible:
95+
type: boolean
96+
description: "Indicates if the part is accessible."
97+
example: true
98+
exists:
99+
type: boolean
100+
description: "Indicates if the part exists."
101+
example: true
102+
id:
103+
type: integer
104+
description: "Unique part identifier."
105+
example: 418385
106+
key:
107+
type: string
108+
description: "Key to access this part."
109+
example: "/library/parts/418385/1735864239/file.mkv"
110+
indexes:
111+
type: string
112+
example: "sd"
113+
duration:
114+
type: integer
115+
description: "Duration of the part in milliseconds."
116+
example: 9610350
117+
file:
118+
type: string
119+
description: "File path for the part."
120+
example: "/mnt/Movies_1/W/Wicked (2024).mkv"
121+
size:
122+
type: integer
123+
description: "File size in bytes."
124+
example: 30649952104
125+
container:
126+
type: string
127+
description: "Container format of the part."
128+
example: "mkv"
129+
videoProfile:
130+
type: string
131+
description: "Video profile for the part."
132+
example: "main 10"
133+
Stream:
134+
type: array
135+
description: "An array of streams for this part."
136+
items:
137+
type: object
138+
required:
139+
- id
140+
- streamType
141+
- codec
142+
- index
143+
- bitrate
144+
- language
145+
- languageTag
146+
- languageCode
147+
- displayTitle
148+
- extendedDisplayTitle
149+
properties:
150+
id:
151+
type: integer
152+
description: "Unique stream identifier."
153+
example: 1002625
154+
streamType:
155+
type: integer
156+
description: "Stream type (1=video, 2=audio, 3=subtitle)."
157+
example: 1
158+
default:
159+
type: boolean
160+
description: "Indicates if this stream is default."
161+
example: true
162+
codec:
163+
type: string
164+
description: "Codec used by the stream."
165+
example: "hevc"
166+
index:
167+
type: integer
168+
description: "Index of the stream."
169+
example: 0
170+
bitrate:
171+
type: integer
172+
description: "Bitrate of the stream."
173+
example: 24743
174+
language:
175+
type: string
176+
description: "Language of the stream."
177+
example: "English"
178+
languageTag:
179+
type: string
180+
description: "Language tag (e.g., en)."
181+
example: "en"
182+
languageCode:
183+
type: string
184+
description: "ISO language code."
185+
example: "eng"
186+
DOVIBLCompatID:
187+
type: integer
188+
description: "Dolby Vision BL compatibility ID."
189+
example: 1
190+
DOVIBLPresent:
191+
type: boolean
192+
description: "Indicates if Dolby Vision BL is present."
193+
example: true
194+
DOVIELPresent:
195+
type: boolean
196+
description: "Indicates if Dolby Vision EL is present."
197+
example: false
198+
DOVILevel:
199+
type: integer
200+
description: "Dolby Vision level."
201+
example: 6
202+
DOVIPresent:
203+
type: boolean
204+
description: "Indicates if Dolby Vision is present."
205+
example: true
206+
DOVIProfile:
207+
type: integer
208+
description: "Dolby Vision profile."
209+
example: 8
210+
DOVIRPUPresent:
211+
type: boolean
212+
description: "Indicates if Dolby Vision RPU is present."
213+
example: true
214+
DOVIVersion:
215+
type: string
216+
description: "Dolby Vision version."
217+
example: "1.0"
218+
bitDepth:
219+
type: integer
220+
description: "Bit depth of the video stream."
221+
example: 10
222+
chromaLocation:
223+
type: string
224+
description: "Chroma sample location."
225+
example: "topleft"
226+
chromaSubsampling:
227+
type: string
228+
description: "Chroma subsampling format."
229+
example: "4:2:0"
230+
codedHeight:
231+
type: integer
232+
description: "Coded video height."
233+
example: 1608
234+
codedWidth:
235+
type: integer
236+
description: "Coded video width."
237+
example: 3840
238+
colorPrimaries:
239+
type: string
240+
description: "Color primaries used."
241+
example: "bt2020"
242+
colorRange:
243+
type: string
244+
description: "Color range (e.g., tv)."
245+
example: "tv"
246+
colorSpace:
247+
type: string
248+
description: "Color space."
249+
example: "bt2020nc"
250+
colorTrc:
251+
type: string
252+
description: "Color transfer characteristics."
253+
example: "smpte2084"
254+
frameRate:
255+
type: number
256+
format: float
257+
description: "Frame rate of the stream."
258+
example: 23.976
259+
height:
260+
type: integer
261+
description: "Height of the video stream."
262+
example: 1602
263+
level:
264+
type: integer
265+
description: "Video level."
266+
example: 150
267+
original:
268+
type: boolean
269+
description: "Indicates if this is the original stream."
270+
example: true
271+
hasScalingMatrix:
272+
type: boolean
273+
example: false
274+
profile:
275+
type: string
276+
description: "Video profile."
277+
example: "main 10"
278+
scanType:
279+
type: string
280+
example: "progressive"
281+
refFrames:
282+
type: integer
283+
description: "Number of reference frames."
284+
example: 1
285+
width:
286+
type: integer
287+
description: "Width of the video stream."
288+
example: 3840
289+
displayTitle:
290+
type: string
291+
description: "Display title for the stream."
292+
example: "4K DoVi/HDR10 (HEVC Main 10)"
293+
extendedDisplayTitle:
294+
type: string
295+
description: "Extended display title for the stream."
296+
example: "4K DoVi/HDR10 (HEVC Main 10)"
297+
selected:
298+
type: boolean
299+
description: "Indicates if this stream is selected (applicable for audio streams)."
300+
example: true
301+
forced:
302+
type: boolean
303+
example: true
304+
channels:
305+
type: integer
306+
description: "Number of audio channels (for audio streams)."
307+
example: 6
308+
audioChannelLayout:
309+
type: string
310+
description: "Audio channel layout."
311+
example: "5.1(side)"
312+
samplingRate:
313+
type: integer
314+
description: "Sampling rate for the audio stream."
315+
example: 48000
316+
canAutoSync:
317+
type: boolean
318+
description: "Indicates if the stream can auto-sync."
319+
example: false
320+
hearingImpaired:
321+
type: boolean
322+
description: "Indicates if the stream is for the hearing impaired."
323+
example: true
324+
dub:
325+
type: boolean
326+
description: "Indicates if the stream is a dub."
327+
example: true
328+
title:
329+
type: string
330+
description: "Optional title for the stream (e.g., language variant)."
331+
example: "SDH"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
type: object
2+
required:
3+
- librarySectionID
4+
properties:
5+
librarySectionID:
6+
type: integer
7+
description: "The unique identifier for the library section."
8+
example: 2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
type: object
2+
required:
3+
- librarySectionTitle
4+
properties:
5+
librarySectionTitle:
6+
type: string
7+
description: "The title of the library section."
8+
example: "TV Series"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
type: object
2+
required:
3+
- librarySectionTitle
4+
properties:
5+
librarySectionUUID:
6+
type: string
7+
description: "The universally unique identifier for the library section."
8+
example: "e69655a2-ef48-4aba-bb19-0cc34d1e7d36"

0 commit comments

Comments
 (0)