Jump to content

Get all MediaSources when listing a library


Tolriq

Recommended Posts

Tolriq

I'm starting to play with multiple files versions support but I can't get the API to return all of them during global queries only when asking media by media.

 

Queries like /Users/XXXXXXX/Items?Recursive=true&IncludeItemTypes=Movie&ExcludeLocationTypes=Virtual&Fields=Genres,SortName,Path,Overview,RunTimeTicks,ParentId,People,ProviderIds,OriginalTitle,Studios,ProductionLocations,MediaSources,DateCreated,VoteCount,RemoteTrailers&CollapseBoxSetItems=false&limit=500

 

Only return the default one.

 

Is there a way to do that without doing 1 query per media?

Link to comment
Share on other sites

PenkethBoy

Use the /emby/items endpoint and you get all versions

 

/emby/Items?Recursive=true&Fields=MediaSources&IncludeItemTypes=movie&SortBy=Sortname

 

gives me both versions

Link to comment
Share on other sites

HI, currently no. What is the use case? This will be considerably slower so it's not advised when puling back lists of media.

Link to comment
Share on other sites

Tolriq
Link to comment
Share on other sites

The only thing you will lose with that is dynamic media sources, meaning, media sources that aren't known until the time of playback. You can use the /playbackinfo call prior to playback to get that.

Link to comment
Share on other sites

Tolriq

/Items returns 2 different media furthermore as reported when starting Emby implementation https://emby.media/community/index.php?/topic/47608-api-questions the parentIds are wrong when requesting like that and does not allow to reconstruct the proper library hierarchy.

 

   {
      "Name": "Sintel",
      "ServerId": "xxxx",
      "Id": "131261",
      "Container": "mp4",
      "MediaSources": [
        {
          "Protocol": "File",
          "Id": "ad834d6995788c8a7ec8c9e073a91c76",
          "Path": "F:\\FakeLibrary\\Films\\Sintel (Sintel) [2010] [sDp]\\Sintel (Sintel) [2010] [sDp] - Optimised.mp4",
          "Type": "Default",
          "Container": "mp4",
          "Size": 301056903,
          "Name": "Optimised",
          "IsRemote": false,
          "RunTimeTicks": 8880000000,
          "SupportsTranscoding": true,
          "SupportsDirectStream": true,
          "SupportsDirectPlay": true,
          "IsInfiniteStream": false,
          "RequiresOpening": false,
          "RequiresClosing": false,
          "RequiresLooping": false,
          "SupportsProbing": false,
          "MediaStreams": [
            {
              "Codec": "h264",
              "CodecTag": "avc1",
              "Language": "eng",
              "TimeBase": "1/12288",
              "CodecTimeBase": "1/48",
              "VideoRange": "SDR",
              "DisplayTitle": "720p H264",
              "DisplayLanguage": "English",
              "NalLengthSize": "4",
              "IsInterlaced": false,
              "IsAVC": true,
              "BitRate": 2511007,
              "BitDepth": 8,
              "RefFrames": 1,
              "IsDefault": true,
              "IsForced": false,
              "Height": 546,
              "Width": 1280,
              "AverageFrameRate": 24,
              "RealFrameRate": 24,
              "Profile": "Main",
              "Type": "Video",
              "AspectRatio": "960:409",
              "Index": 0,
              "IsExternal": false,
              "IsTextSubtitleStream": false,
              "SupportsExternalStream": false,
              "Protocol": "File",
              "PixelFormat": "yuv420p",
              "Level": 40,
              "IsAnamorphic": true
            },
            {
              "Codec": "aac",
              "CodecTag": "mp4a",
              "Language": "eng",
              "TimeBase": "1/48000",
              "CodecTimeBase": "1/48000",
              "DisplayTitle": "English AAC stereo (Default)",
              "DisplayLanguage": "English",
              "IsInterlaced": false,
              "ChannelLayout": "stereo",
              "BitRate": 195812,
              "Channels": 2,
              "SampleRate": 48000,
              "IsDefault": true,
              "IsForced": false,
              "Profile": "LC",
              "Type": "Audio",
              "Index": 1,
              "IsExternal": false,
              "IsTextSubtitleStream": false,
              "SupportsExternalStream": false,
              "Protocol": "File"
            }
          ],
          "Formats": [],
          "Bitrate": 2712224,
          "RequiredHttpHeaders": {},
          "ReadAtNativeFramerate": false
        }
      ],
      "RunTimeTicks": 8880000000,
      "IsFolder": false,
      "ParentId": "131078",
      "Type": "Movie",
      "ImageTags": {
        "Primary": "245aa8af2a55988b4a3a620005d29be3",
        "Logo": "5f45794ad8f727e04232f28236229d5e",
        "Thumb": "a30724cf5860d8b7cb59ea6536e80eff"
      },
      "BackdropImageTags": [
        "597297fbf77362f9d021752e3a0f2594"
      ],
      "MediaType": "Video"
    },
    {
      "Name": "Sintel",
      "ServerId": "xxxxxxx",
      "Id": "131262",
      "Container": "mkv",
      "MediaSources": [
        {
          "Protocol": "File",
          "Id": "47be8a6cffda8891169aad087803b41e",
          "Path": "F:\\FakeLibrary\\Films\\Sintel (Sintel) [2010] [sDp]\\Sintel (Sintel) [2010] [sDp] - Original.mkv",
          "Type": "Default",
          "Container": "mkv",
          "Size": 1180090590,
          "Name": "Original",
          "IsRemote": false,
          "RunTimeTicks": 8880320000,
          "SupportsTranscoding": true,
          "SupportsDirectStream": true,
          "SupportsDirectPlay": true,
          "IsInfiniteStream": false,
          "RequiresOpening": false,
          "RequiresClosing": false,
          "RequiresLooping": false,
          "SupportsProbing": false,
          "MediaStreams": [
            {
              "Codec": "h264",
              "Language": "eng",
              "ColorSpace": "bt709",
              "TimeBase": "1/1000",
              "CodecTimeBase": "1/48",
              "VideoRange": "SDR",
              "DisplayTitle": "1080p H264",
              "DisplayLanguage": "English",
              "NalLengthSize": "4",
              "IsInterlaced": false,
              "IsAVC": true,
              "BitRate": 10631063,
              "BitDepth": 8,
              "RefFrames": 1,
              "IsDefault": false,
              "IsForced": false,
              "Height": 818,
              "Width": 1920,
              "AverageFrameRate": 24,
              "RealFrameRate": 24,
              "Profile": "High",
              "Type": "Video",
              "AspectRatio": "960:409",
              "Index": 0,
              "IsExternal": false,
              "IsTextSubtitleStream": false,
              "SupportsExternalStream": false,
              "Protocol": "File",
              "PixelFormat": "yuv420p",
              "Level": 40,
              "IsAnamorphic": false
            },
            {
              "Codec": "ac3",
              "Language": "eng",
              "TimeBase": "1/1000",
              "CodecTimeBase": "1/48000",
              "Title": "AC3 5.1 @ 640 Kbps",
              "DisplayTitle": "English Dolby Digital 5.1",
              "DisplayLanguage": "English",
              "IsInterlaced": false,
              "ChannelLayout": "5.1",
              "BitRate": 640000,
              "Channels": 6,
              "SampleRate": 48000,
              "IsDefault": false,
              "IsForced": false,
              "Type": "Audio",
              "Index": 1,
              "IsExternal": false,
              "IsTextSubtitleStream": false,
              "SupportsExternalStream": false,
              "Protocol": "File"
            },
            {
              "Codec": "subrip",
              "Language": "ger",
              "TimeBase": "1/1000",
              "CodecTimeBase": "0/1",
              "DisplayTitle": "German (SUBRIP)",
              "DisplayLanguage": "German",
              "IsInterlaced": false,
              "IsDefault": false,
              "IsForced": false,
              "Type": "Subtitle",
              "Index": 2,
              "IsExternal": false,
              "IsTextSubtitleStream": true,
              "SupportsExternalStream": true,
              "Protocol": "File"
            },
            {
              "Codec": "subrip",
              "Language": "eng",
              "TimeBase": "1/1000",
              "CodecTimeBase": "0/1",
              "DisplayTitle": "English (SUBRIP)",
              "DisplayLanguage": "English",
              "IsInterlaced": false,
              "IsDefault": false,
              "IsForced": false,
              "Type": "Subtitle",
              "Index": 3,
              "IsExternal": false,
              "IsTextSubtitleStream": true,
              "SupportsExternalStream": true,
              "Protocol": "File"
            },
            {
              "Codec": "subrip",
              "Language": "spa",
              "TimeBase": "1/1000",
              "CodecTimeBase": "0/1",
              "DisplayTitle": "Spanish (SUBRIP)",
              "DisplayLanguage": "Spanish",
              "IsInterlaced": false,
              "IsDefault": false,
              "IsForced": false,
              "Type": "Subtitle",
              "Index": 4,
              "IsExternal": false,
              "IsTextSubtitleStream": true,
              "SupportsExternalStream": true,
              "Protocol": "File"
            },
            {
              "Codec": "subrip",
              "Language": "fre",
              "TimeBase": "1/1000",
              "CodecTimeBase": "0/1",
              "DisplayTitle": "French (SUBRIP)",
              "DisplayLanguage": "French",
              "IsInterlaced": false,
              "IsDefault": false,
              "IsForced": false,
              "Type": "Subtitle",
              "Index": 5,
              "IsExternal": false,
              "IsTextSubtitleStream": true,
              "SupportsExternalStream": true,
              "Protocol": "File"
            },
            {
              "Codec": "subrip",
              "Language": "ita",
              "TimeBase": "1/1000",
              "CodecTimeBase": "0/1",
              "DisplayTitle": "Italian (SUBRIP)",
              "DisplayLanguage": "Italian",
              "IsInterlaced": false,
              "IsDefault": false,
              "IsForced": false,
              "Type": "Subtitle",
              "Index": 6,
              "IsExternal": false,
              "IsTextSubtitleStream": true,
              "SupportsExternalStream": true,
              "Protocol": "File"
            },
            {
              "Codec": "subrip",
              "Language": "dut",
              "TimeBase": "1/1000",
              "CodecTimeBase": "0/1",
              "DisplayTitle": "Dutch (SUBRIP)",
              "DisplayLanguage": "Dutch",
              "IsInterlaced": false,
              "IsDefault": false,
              "IsForced": false,
              "Type": "Subtitle",
              "Index": 7,
              "IsExternal": false,
              "IsTextSubtitleStream": true,
              "SupportsExternalStream": true,
              "Protocol": "File"
            },
            {
              "Codec": "subrip",
              "Language": "pol",
              "TimeBase": "1/1000",
              "CodecTimeBase": "0/1",
              "DisplayTitle": "Polish (SUBRIP)",
              "DisplayLanguage": "Polish",
              "IsInterlaced": false,
              "IsDefault": false,
              "IsForced": false,
              "Type": "Subtitle",
              "Index": 8,
              "IsExternal": false,
              "IsTextSubtitleStream": true,
              "SupportsExternalStream": true,
              "Protocol": "File"
            },
            {
              "Codec": "subrip",
              "Language": "por",
              "TimeBase": "1/1000",
              "CodecTimeBase": "0/1",
              "DisplayTitle": "Portuguese (SUBRIP)",
              "DisplayLanguage": "Portuguese",
              "IsInterlaced": false,
              "IsDefault": false,
              "IsForced": false,
              "Type": "Subtitle",
              "Index": 9,
              "IsExternal": false,
              "IsTextSubtitleStream": true,
              "SupportsExternalStream": true,
              "Protocol": "File"
            },
            {
              "Codec": "subrip",
              "Language": "rus",
              "TimeBase": "1/1000",
              "CodecTimeBase": "0/1",
              "DisplayTitle": "Russian (SUBRIP)",
              "DisplayLanguage": "Russian",
              "IsInterlaced": false,
              "IsDefault": false,
              "IsForced": false,
              "Type": "Subtitle",
              "Index": 10,
              "IsExternal": false,
              "IsTextSubtitleStream": true,
              "SupportsExternalStream": true,
              "Protocol": "File"
            },
            {
              "Codec": "subrip",
              "Language": "vie",
              "TimeBase": "1/1000",
              "CodecTimeBase": "0/1",
              "DisplayTitle": "Vietnamese (SUBRIP)",
              "DisplayLanguage": "Vietnamese",
              "IsInterlaced": false,
              "IsDefault": false,
              "IsForced": false,
              "Type": "Subtitle",
              "Index": 11,
              "IsExternal": false,
              "IsTextSubtitleStream": true,
              "SupportsExternalStream": true,
              "Protocol": "File"
            }
          ],
          "Formats": [],
          "Bitrate": 10631063,
          "RequiredHttpHeaders": {},
          "ReadAtNativeFramerate": false
        }
      ],
      "RunTimeTicks": 8880320000,
      "IsFolder": false,
      "ParentId": "131078",
      "Type": "Movie",
      "ImageTags": {
        "Primary": "12a583c73064824dffa02bf5f786759e",
        "Logo": "04cc373d646b8b488ebf5ff5907f162b",
        "Thumb": "b26b14bc71610df415ca2403b6a1340c"
      },
      "BackdropImageTags": [
        "9e679a80d8030823ea3ada4990844462"
      ],
      "MediaType": "Video"
    },
Link to comment
Share on other sites

PenkethBoy

they are two separate records in the database as two separate items - so no its not going to do the work for you

 

the parentid of the second copy will be the id of the first copy - not double checked but suspect it is

 

so you could combine them using that if i'm correct

Link to comment
Share on other sites

Tolriq

they are two separate records in the database as two separate items - so no its not going to do the work for you

 

the parentid of the second copy will be the id of the first copy - not double checked but suspect it is

 

so you could combine them using that if i'm correct

 

Maybe but then as said I can't rebuild the proper library hierarchy needed to offer library filtering and display. I have no choice with current API to proceed by getting the libraries then their content, and in that configuration only 1 MediaSource is returned.

 

I totally understand that requesting it by default would be slow, but impact is way below the impact of 1 request per item.

 

I suppose this won't be added as too specific and find alternatives.

Link to comment
Share on other sites

PenkethBoy

this is all in your control - yes you need to do a few queries - but its not difficult to do - fiddly maybe

 

the api mirrors emby functionality and does not provide alternative needs out the box you need to work around what it gives to get the result you want

Link to comment
Share on other sites

Tolriq

Just to be clear nothing is difficult ;) My problem is about efficiency, speed and performance.

 

So my question is not about how to do slow workarounds, but about support for what I need, I'll wait for Luke official answer on willing to support it not.

 

API and features evolves, the fact that something does not exist is certainly not a reason to not ask and to by default refuse ;)

Link to comment
Share on other sites

PenkethBoy

As its not need for Emby i would suspect you will wait a long time for a one of request - but you might get lucky - or just code it if its that important

Link to comment
Share on other sites

Tolriq

Emby is no more open source ;) And I don't know if you are part of Emby team, but as you are probably not, so I wonder what is your problem here, if you do not like / understand the need just move away :)

 

And Emby could use that feature as Plex does, it would fix a missing piece. Even in web interface in all lists Emby offers a 3 dots with a Play function, logic would be that there was a play version here too to be able to select the version. 

 

That would require either that listing could return all the media versions or at least an indicator that there's media version (or even better the count) so that the UI can display that button and then do 1 more call to get the data. @@Luke

 

Edit: And for the record the ParentId from /Items is the folder hierarchy as in 2017, so no library related and no link between the items either.

Edited by Tolriq
Link to comment
Share on other sites

PenkethBoy

Dont have a problem - just pointing out you can do this yourself - rather than waiting for Luke to do something for you - considering how long it takes to get any new feature/bug fix these days

 

and not part of the emby team

Link to comment
Share on other sites

Tolriq

You are still missing the point and the initial question :) I'm looking about an efficient way, not how to do that, I already know how to do that, and no /Items does not works either.

 

So no I can't do the efficient way myself, only the slower workarounds ....

Link to comment
Share on other sites

PenkethBoy

efficient in that the server does the work for you in the background and provides you the result - as luke has said its an expensive process - i.e. slowing down the server doing something else

 

vs

 

get a list of movies and process the data "locally" and use as needed

 

I know which one i would choose

Link to comment
Share on other sites

Tolriq

You are funny :)

 

Doing joins at server side will have some overhead and the query will be slower for a little impact that can be enabled when required.

Doing 1 more query per media (Like the 10 000 episodes I have) will generate a insane more amount of loads on the server, or doing any more queries will generate more loads at it will still need to gather the data + serialize / send duplicate data...

 

So why not stop arguing on things you do not really understand. At some point the data is needed, so the load will be there, doing it efficiently will always be more efficient than doing it badly.

Link to comment
Share on other sites

Tolriq

And @@Luke looking at the "Fork" I found the MediaSourceCount field that work there, and that strangely Emby webinterface still request too but is not returned.

 

Was this removed on purpose and forgotten on WebInterface or it's broken and can be fixed? (The fix is enough for me, I then know what media I need to query for details and not all blindly)

Link to comment
Share on other sites

PenkethBoy

You are funny :)

 

Doing joins at server side will have some overhead and the query will be slower for a little impact that can be enabled when required.

Doing 1 more query per media (Like the 10 000 episodes I have) will generate a insane more amount of loads on the server, or doing any more queries will generate more loads at it will still need to gather the data + serialize / send duplicate data...

 

So why not stop arguing on things you do not really understand. At some point the data is needed, so the load will be there, doing it efficiently will always be more efficient than doing it badly.

You dont know how things work either it appears - its not one more query at all - the queries will be significantly slower then you understand - but hey i dont care anymore - trying to help but if you wont listen does not bother me

 

Have fun blindly looking for stuff

Link to comment
Share on other sites

 

/Items returns 2 different media furthermore as reported when starting Emby implementation https://emby.media/community/index.php?/topic/47608-api-questions the parentIds are wrong when requesting like that and does not allow to reconstruct the proper library hierarchy.

 

   {
      "Name": "Sintel",
      "ServerId": "xxxx",
      "Id": "131261",
      "Container": "mp4",
      "MediaSources": [
        {
          "Protocol": "File",
          "Id": "ad834d6995788c8a7ec8c9e073a91c76",
          "Path": "F:\\FakeLibrary\\Films\\Sintel (Sintel) [2010] [sDp]\\Sintel (Sintel) [2010] [sDp] - Optimised.mp4",
          "Type": "Default",
          "Container": "mp4",
          "Size": 301056903,
          "Name": "Optimised",
          "IsRemote": false,
          "RunTimeTicks": 8880000000,
          "SupportsTranscoding": true,
          "SupportsDirectStream": true,
          "SupportsDirectPlay": true,
          "IsInfiniteStream": false,
          "RequiresOpening": false,
          "RequiresClosing": false,
          "RequiresLooping": false,
          "SupportsProbing": false,
          "MediaStreams": [
            {
              "Codec": "h264",
              "CodecTag": "avc1",
              "Language": "eng",
              "TimeBase": "1/12288",
              "CodecTimeBase": "1/48",
              "VideoRange": "SDR",
              "DisplayTitle": "720p H264",
              "DisplayLanguage": "English",
              "NalLengthSize": "4",
              "IsInterlaced": false,
              "IsAVC": true,
              "BitRate": 2511007,
              "BitDepth": 8,
              "RefFrames": 1,
              "IsDefault": true,
              "IsForced": false,
              "Height": 546,
              "Width": 1280,
              "AverageFrameRate": 24,
              "RealFrameRate": 24,
              "Profile": "Main",
              "Type": "Video",
              "AspectRatio": "960:409",
              "Index": 0,
              "IsExternal": false,
              "IsTextSubtitleStream": false,
              "SupportsExternalStream": false,
              "Protocol": "File",
              "PixelFormat": "yuv420p",
              "Level": 40,
              "IsAnamorphic": true
            },
            {
              "Codec": "aac",
              "CodecTag": "mp4a",
              "Language": "eng",
              "TimeBase": "1/48000",
              "CodecTimeBase": "1/48000",
              "DisplayTitle": "English AAC stereo (Default)",
              "DisplayLanguage": "English",
              "IsInterlaced": false,
              "ChannelLayout": "stereo",
              "BitRate": 195812,
              "Channels": 2,
              "SampleRate": 48000,
              "IsDefault": true,
              "IsForced": false,
              "Profile": "LC",
              "Type": "Audio",
              "Index": 1,
              "IsExternal": false,
              "IsTextSubtitleStream": false,
              "SupportsExternalStream": false,
              "Protocol": "File"
            }
          ],
          "Formats": [],
          "Bitrate": 2712224,
          "RequiredHttpHeaders": {},
          "ReadAtNativeFramerate": false
        }
      ],
      "RunTimeTicks": 8880000000,
      "IsFolder": false,
      "ParentId": "131078",
      "Type": "Movie",
      "ImageTags": {
        "Primary": "245aa8af2a55988b4a3a620005d29be3",
        "Logo": "5f45794ad8f727e04232f28236229d5e",
        "Thumb": "a30724cf5860d8b7cb59ea6536e80eff"
      },
      "BackdropImageTags": [
        "597297fbf77362f9d021752e3a0f2594"
      ],
      "MediaType": "Video"
    },
    {
      "Name": "Sintel",
      "ServerId": "xxxxxxx",
      "Id": "131262",
      "Container": "mkv",
      "MediaSources": [
        {
          "Protocol": "File",
          "Id": "47be8a6cffda8891169aad087803b41e",
          "Path": "F:\\FakeLibrary\\Films\\Sintel (Sintel) [2010] [sDp]\\Sintel (Sintel) [2010] [sDp] - Original.mkv",
          "Type": "Default",
          "Container": "mkv",
          "Size": 1180090590,
          "Name": "Original",
          "IsRemote": false,
          "RunTimeTicks": 8880320000,
          "SupportsTranscoding": true,
          "SupportsDirectStream": true,
          "SupportsDirectPlay": true,
          "IsInfiniteStream": false,
          "RequiresOpening": false,
          "RequiresClosing": false,
          "RequiresLooping": false,
          "SupportsProbing": false,
          "MediaStreams": [
            {
              "Codec": "h264",
              "Language": "eng",
              "ColorSpace": "bt709",
              "TimeBase": "1/1000",
              "CodecTimeBase": "1/48",
              "VideoRange": "SDR",
              "DisplayTitle": "1080p H264",
              "DisplayLanguage": "English",
              "NalLengthSize": "4",
              "IsInterlaced": false,
              "IsAVC": true,
              "BitRate": 10631063,
              "BitDepth": 8,
              "RefFrames": 1,
              "IsDefault": false,
              "IsForced": false,
              "Height": 818,
              "Width": 1920,
              "AverageFrameRate": 24,
              "RealFrameRate": 24,
              "Profile": "High",
              "Type": "Video",
              "AspectRatio": "960:409",
              "Index": 0,
              "IsExternal": false,
              "IsTextSubtitleStream": false,
              "SupportsExternalStream": false,
              "Protocol": "File",
              "PixelFormat": "yuv420p",
              "Level": 40,
              "IsAnamorphic": false
            },
            {
              "Codec": "ac3",
              "Language": "eng",
              "TimeBase": "1/1000",
              "CodecTimeBase": "1/48000",
              "Title": "AC3 5.1 @ 640 Kbps",
              "DisplayTitle": "English Dolby Digital 5.1",
              "DisplayLanguage": "English",
              "IsInterlaced": false,
              "ChannelLayout": "5.1",
              "BitRate": 640000,
              "Channels": 6,
              "SampleRate": 48000,
              "IsDefault": false,
              "IsForced": false,
              "Type": "Audio",
              "Index": 1,
              "IsExternal": false,
              "IsTextSubtitleStream": false,
              "SupportsExternalStream": false,
              "Protocol": "File"
            },
            {
              "Codec": "subrip",
              "Language": "ger",
              "TimeBase": "1/1000",
              "CodecTimeBase": "0/1",
              "DisplayTitle": "German (SUBRIP)",
              "DisplayLanguage": "German",
              "IsInterlaced": false,
              "IsDefault": false,
              "IsForced": false,
              "Type": "Subtitle",
              "Index": 2,
              "IsExternal": false,
              "IsTextSubtitleStream": true,
              "SupportsExternalStream": true,
              "Protocol": "File"
            },
            {
              "Codec": "subrip",
              "Language": "eng",
              "TimeBase": "1/1000",
              "CodecTimeBase": "0/1",
              "DisplayTitle": "English (SUBRIP)",
              "DisplayLanguage": "English",
              "IsInterlaced": false,
              "IsDefault": false,
              "IsForced": false,
              "Type": "Subtitle",
              "Index": 3,
              "IsExternal": false,
              "IsTextSubtitleStream": true,
              "SupportsExternalStream": true,
              "Protocol": "File"
            },
            {
              "Codec": "subrip",
              "Language": "spa",
              "TimeBase": "1/1000",
              "CodecTimeBase": "0/1",
              "DisplayTitle": "Spanish (SUBRIP)",
              "DisplayLanguage": "Spanish",
              "IsInterlaced": false,
              "IsDefault": false,
              "IsForced": false,
              "Type": "Subtitle",
              "Index": 4,
              "IsExternal": false,
              "IsTextSubtitleStream": true,
              "SupportsExternalStream": true,
              "Protocol": "File"
            },
            {
              "Codec": "subrip",
              "Language": "fre",
              "TimeBase": "1/1000",
              "CodecTimeBase": "0/1",
              "DisplayTitle": "French (SUBRIP)",
              "DisplayLanguage": "French",
              "IsInterlaced": false,
              "IsDefault": false,
              "IsForced": false,
              "Type": "Subtitle",
              "Index": 5,
              "IsExternal": false,
              "IsTextSubtitleStream": true,
              "SupportsExternalStream": true,
              "Protocol": "File"
            },
            {
              "Codec": "subrip",
              "Language": "ita",
              "TimeBase": "1/1000",
              "CodecTimeBase": "0/1",
              "DisplayTitle": "Italian (SUBRIP)",
              "DisplayLanguage": "Italian",
              "IsInterlaced": false,
              "IsDefault": false,
              "IsForced": false,
              "Type": "Subtitle",
              "Index": 6,
              "IsExternal": false,
              "IsTextSubtitleStream": true,
              "SupportsExternalStream": true,
              "Protocol": "File"
            },
            {
              "Codec": "subrip",
              "Language": "dut",
              "TimeBase": "1/1000",
              "CodecTimeBase": "0/1",
              "DisplayTitle": "Dutch (SUBRIP)",
              "DisplayLanguage": "Dutch",
              "IsInterlaced": false,
              "IsDefault": false,
              "IsForced": false,
              "Type": "Subtitle",
              "Index": 7,
              "IsExternal": false,
              "IsTextSubtitleStream": true,
              "SupportsExternalStream": true,
              "Protocol": "File"
            },
            {
              "Codec": "subrip",
              "Language": "pol",
              "TimeBase": "1/1000",
              "CodecTimeBase": "0/1",
              "DisplayTitle": "Polish (SUBRIP)",
              "DisplayLanguage": "Polish",
              "IsInterlaced": false,
              "IsDefault": false,
              "IsForced": false,
              "Type": "Subtitle",
              "Index": 8,
              "IsExternal": false,
              "IsTextSubtitleStream": true,
              "SupportsExternalStream": true,
              "Protocol": "File"
            },
            {
              "Codec": "subrip",
              "Language": "por",
              "TimeBase": "1/1000",
              "CodecTimeBase": "0/1",
              "DisplayTitle": "Portuguese (SUBRIP)",
              "DisplayLanguage": "Portuguese",
              "IsInterlaced": false,
              "IsDefault": false,
              "IsForced": false,
              "Type": "Subtitle",
              "Index": 9,
              "IsExternal": false,
              "IsTextSubtitleStream": true,
              "SupportsExternalStream": true,
              "Protocol": "File"
            },
            {
              "Codec": "subrip",
              "Language": "rus",
              "TimeBase": "1/1000",
              "CodecTimeBase": "0/1",
              "DisplayTitle": "Russian (SUBRIP)",
              "DisplayLanguage": "Russian",
              "IsInterlaced": false,
              "IsDefault": false,
              "IsForced": false,
              "Type": "Subtitle",
              "Index": 10,
              "IsExternal": false,
              "IsTextSubtitleStream": true,
              "SupportsExternalStream": true,
              "Protocol": "File"
            },
            {
              "Codec": "subrip",
              "Language": "vie",
              "TimeBase": "1/1000",
              "CodecTimeBase": "0/1",
              "DisplayTitle": "Vietnamese (SUBRIP)",
              "DisplayLanguage": "Vietnamese",
              "IsInterlaced": false,
              "IsDefault": false,
              "IsForced": false,
              "Type": "Subtitle",
              "Index": 11,
              "IsExternal": false,
              "IsTextSubtitleStream": true,
              "SupportsExternalStream": true,
              "Protocol": "File"
            }
          ],
          "Formats": [],
          "Bitrate": 10631063,
          "RequiredHttpHeaders": {},
          "ReadAtNativeFramerate": false
        }
      ],
      "RunTimeTicks": 8880320000,
      "IsFolder": false,
      "ParentId": "131078",
      "Type": "Movie",
      "ImageTags": {
        "Primary": "12a583c73064824dffa02bf5f786759e",
        "Logo": "04cc373d646b8b488ebf5ff5907f162b",
        "Thumb": "b26b14bc71610df415ca2403b6a1340c"
      },
      "BackdropImageTags": [
        "9e679a80d8030823ea3ada4990844462"
      ],
      "MediaType": "Video"
    },

 

 

What do you mean exactly by parentId is wrong?

Link to comment
Share on other sites

And @@Luke looking at the "Fork" I found the MediaSourceCount field that work there, and that strangely Emby webinterface still request too but is not returned.

 

Was this removed on purpose and forgotten on WebInterface or it's broken and can be fixed? (The fix is enough for me, I then know what media I need to query for details and not all blindly)

 

Along the way we decided not to show the indicator anymore, and that eventually led to it being removed as an optimization to avoid having to count them up so frequently.

Link to comment
Share on other sites

In addition to requesting the MediaSources field, try also adding AlternateMediaSources to the requested fields. Then the list should be populated with the alternates.

 

Again this will be suboptimal, but I guess you have to do what you have to do.

Link to comment
Share on other sites

Tolriq

Too bad about  MediaSourceCount   that would have solved my issue.

 

AlternateMediaSources does not return the other sources nor a new field with those :(

 

What do you mean exactly by parentId is wrong?

 

 

The returned parentId correspond to some kind of virtual file system hierarchy that is 100% independent of the Library concept with no clear matching between them as the folder hierarchy can be part of multiple libraries.

Link to comment
Share on other sites

It won't be a new field but rather it will add them to the list. Did you make sure to request both the MediaSources and AlternateMediaSources field?

Link to comment
Share on other sites

Tolriq

Yes I used 

http://192.168.1.80:8096//Users/xxx/Items?Recursive=true&IncludeItemTypes=Movie&ParentId=f33343612099ee4076b63639f98682d9&ExcludeLocationTypes=Virtual&Fields=AlternateMediaSources,Genres,SortName,Overview,RunTimeTicks,ParentId,People,ProviderIds,OriginalTitle,Studios,ProductionLocations,MediaSources,DateCreated,VoteCount,RemoteTrailers,ProductionYear,CommunityRating,OfficialRating&startIndex=0&CollapseBoxSetItems=false&limit=500&UserId=xxxxx

Result is 

{
      "Name": "Sintel",
      "OriginalTitle": "Sintel",
      "ServerId": "xxxx",
      "Id": "131261",
      "DateCreated": "2020-04-27T15:31:54.0000000+00:00",
      "Container": "mp4",
      "SortName": "sintel",
      "MediaSources": [
        {
          "Protocol": "File",
          "Id": "ad834d6995788c8a7ec8c9e073a91c76",
          "Path": "F:\\FakeLibrary\\Films\\Sintel (Sintel) [2010] [SDp]\\Sintel (Sintel) [2010] [SDp] - Optimised.mp4",
          "Type": "Default",
          "Container": "mp4",
          "Size": 301056903,
          "Name": "Optimised",
          "IsRemote": false,
          "RunTimeTicks": 8880000000,
          "SupportsTranscoding": true,
          "SupportsDirectStream": true,
          "SupportsDirectPlay": true,
          "IsInfiniteStream": false,
          "RequiresOpening": false,
          "RequiresClosing": false,
          "RequiresLooping": false,
          "SupportsProbing": false,
          "MediaStreams": [
            {
              "Codec": "h264",
              "CodecTag": "avc1",
              "Language": "eng",
              "TimeBase": "1/12288",
              "CodecTimeBase": "1/48",
              "VideoRange": "SDR",
              "DisplayTitle": "720p H264",
              "DisplayLanguage": "English",
              "NalLengthSize": "4",
              "IsInterlaced": false,
              "IsAVC": true,
              "BitRate": 2511007,
              "BitDepth": 8,
              "RefFrames": 1,
              "IsDefault": true,
              "IsForced": false,
              "Height": 546,
              "Width": 1280,
              "AverageFrameRate": 24,
              "RealFrameRate": 24,
              "Profile": "Main",
              "Type": "Video",
              "AspectRatio": "960:409",
              "Index": 0,
              "IsExternal": false,
              "IsTextSubtitleStream": false,
              "SupportsExternalStream": false,
              "Protocol": "File",
              "PixelFormat": "yuv420p",
              "Level": 40,
              "IsAnamorphic": true
            },
            {
              "Codec": "aac",
              "CodecTag": "mp4a",
              "Language": "eng",
              "TimeBase": "1/48000",
              "CodecTimeBase": "1/48000",
              "DisplayTitle": "English AAC stereo (Default)",
              "DisplayLanguage": "English",
              "IsInterlaced": false,
              "ChannelLayout": "stereo",
              "BitRate": 195812,
              "Channels": 2,
              "SampleRate": 48000,
              "IsDefault": true,
              "IsForced": false,
              "Profile": "LC",
              "Type": "Audio",
              "Index": 1,
              "IsExternal": false,
              "IsTextSubtitleStream": false,
              "SupportsExternalStream": false,
              "Protocol": "File"
            }
          ],
          "Formats": [],
          "Bitrate": 2712224,
          "RequiredHttpHeaders": {},
          "ReadAtNativeFramerate": false,
          "DefaultAudioStreamIndex": 1
        }
      ],
      "ProductionLocations": [
        "Netherlands"
      ],
      "OfficialRating": "PG",
      "Overview": "A wandering warrior finds an unlikely friend in the form of a young dragon. The two develop a close bond, until one day the dragon is snatched away. She then sets out on a relentless quest to reclaim her friend, finding in the end that her quest exacts a far greater price than she had ever imagined.",
      "Genres": [
        "Animation",
        "Fantasy"
      ],
      "CommunityRating": 7.5,
      "RunTimeTicks": 8880000000,
      "ProductionYear": 2010,
      "RemoteTrailers": [
        {
          "Url": "https://www.youtube.com/watch?v=ac7KhViaVqc",
          "Name": "Sintel | first official trailer US (2010) 3D open movie project"
        }
      ],
      "ProviderIds": {
        "Tmdb": "45745",
        "Imdb": "tt1727587"
      },
      "IsFolder": false,
      "ParentId": "131078",
      "Type": "Movie",
      "People": [
        {
          "Name": "Halina Reijn",
          "Id": "21437",
          "Role": "Sintel (voice)",
          "Type": "Actor",
          "PrimaryImageTag": "2c1094f6666df52b6bc7d8eece9e0dc7"
        },
        {
          "Name": "Thom Hoffman",
          "Id": "21432",
          "Role": "Shaman (voice)",
          "Type": "Actor",
          "PrimaryImageTag": "e6d4383509adb82f1ce29c10e6ab0ca8"
        },
        {
          "Name": "Colin Levy",
          "Id": "21424",
          "Role": "Director",
          "Type": "Director",
          "PrimaryImageTag": "067ed4d99af72d5d619d87526ba7bb68"
        }
      ],
      "Studios": [
        {
          "Name": "Blender Foundation",
          "Id": 21401
        }
      ],
      "GenreItems": [
        {
          "Name": "Animation",
          "Id": 64817
        },
        {
          "Name": "Fantasy",
          "Id": 64828
        }
      ],
      "UserData": {
        "PlaybackPositionTicks": 0,
        "PlayCount": 0,
        "IsFavorite": true,
        "Played": false
      },
      "ImageTags": {
        "Primary": "245aa8af2a55988b4a3a620005d29be3",
        "Logo": "5f45794ad8f727e04232f28236229d5e",
        "Thumb": "a30724cf5860d8b7cb59ea6536e80eff"
      },
      "BackdropImageTags": [
        "597297fbf77362f9d021752e3a0f2594"
      ],
      "MediaType": "Video"
    }

While result of 

http://192.168.1.80:8096//Users/xxx/Items/131261

is

{
  "Name": "Sintel",
  "OriginalTitle": "Sintel",
  "ServerId": "xxx",
  "Id": "131261",
  "Etag": "bacd9f689f65d4e642d13ac806315de6",
  "DateCreated": "2020-04-27T15:31:54.0000000+00:00",
  "CanDelete": true,
  "CanDownload": true,
  "PresentationUniqueKey": "ec168942fb36d2d6bc30348720e5dffc",
  "SupportsSync": true,
  "Container": "mp4",
  "SortName": "sintel",
  "PremiereDate": "2010-09-29T22:00:00.0000000+00:00",
  "ExternalUrls": [
    {
      "Name": "IMDb",
      "Url": "https://www.imdb.com/title/tt1727587"
    },
    {
      "Name": "TheMovieDb",
      "Url": "https://www.themoviedb.org/movie/45745"
    },
    {
      "Name": "Trakt",
      "Url": "https://trakt.tv/movies/tt1727587"
    }
  ],
  "MediaSources": [
    {
      "Protocol": "File",
      "Id": "47be8a6cffda8891169aad087803b41e",
      "Path": "F:\\FakeLibrary\\Films\\Sintel (Sintel) [2010] [SDp]\\Sintel (Sintel) [2010] [SDp] - Original.mkv",
      "Type": "Grouping",
      "Container": "mkv",
      "Size": 1180090590,
      "Name": "Original",
      "IsRemote": false,
      "RunTimeTicks": 8880320000,
      "SupportsTranscoding": true,
      "SupportsDirectStream": true,
      "SupportsDirectPlay": true,
      "IsInfiniteStream": false,
      "RequiresOpening": false,
      "RequiresClosing": false,
      "RequiresLooping": false,
      "SupportsProbing": false,
      "MediaStreams": [
        {
          "Codec": "h264",
          "Language": "eng",
          "ColorSpace": "bt709",
          "TimeBase": "1/1000",
          "CodecTimeBase": "1/48",
          "VideoRange": "SDR",
          "DisplayTitle": "1080p H264",
          "DisplayLanguage": "English",
          "NalLengthSize": "4",
          "IsInterlaced": false,
          "IsAVC": true,
          "BitRate": 10631063,
          "BitDepth": 8,
          "RefFrames": 1,
          "IsDefault": false,
          "IsForced": false,
          "Height": 818,
          "Width": 1920,
          "AverageFrameRate": 24,
          "RealFrameRate": 24,
          "Profile": "High",
          "Type": "Video",
          "AspectRatio": "960:409",
          "Index": 0,
          "IsExternal": false,
          "IsTextSubtitleStream": false,
          "SupportsExternalStream": false,
          "Protocol": "File",
          "PixelFormat": "yuv420p",
          "Level": 40,
          "IsAnamorphic": false
        },
        {
          "Codec": "ac3",
          "Language": "eng",
          "TimeBase": "1/1000",
          "CodecTimeBase": "1/48000",
          "Title": "AC3 5.1 @ 640 Kbps",
          "DisplayTitle": "English Dolby Digital 5.1",
          "DisplayLanguage": "English",
          "IsInterlaced": false,
          "ChannelLayout": "5.1",
          "BitRate": 640000,
          "Channels": 6,
          "SampleRate": 48000,
          "IsDefault": false,
          "IsForced": false,
          "Type": "Audio",
          "Index": 1,
          "IsExternal": false,
          "IsTextSubtitleStream": false,
          "SupportsExternalStream": false,
          "Protocol": "File"
        },
        {
          "Codec": "subrip",
          "Language": "ger",
          "TimeBase": "1/1000",
          "CodecTimeBase": "0/1",
          "DisplayTitle": "German (SUBRIP)",
          "DisplayLanguage": "German",
          "IsInterlaced": false,
          "IsDefault": false,
          "IsForced": false,
          "Type": "Subtitle",
          "Index": 2,
          "IsExternal": false,
          "IsTextSubtitleStream": true,
          "SupportsExternalStream": true,
          "Protocol": "File"
        },
        {
          "Codec": "subrip",
          "Language": "eng",
          "TimeBase": "1/1000",
          "CodecTimeBase": "0/1",
          "DisplayTitle": "English (SUBRIP)",
          "DisplayLanguage": "English",
          "IsInterlaced": false,
          "IsDefault": false,
          "IsForced": false,
          "Type": "Subtitle",
          "Index": 3,
          "IsExternal": false,
          "IsTextSubtitleStream": true,
          "SupportsExternalStream": true,
          "Protocol": "File"
        },
        {
          "Codec": "subrip",
          "Language": "spa",
          "TimeBase": "1/1000",
          "CodecTimeBase": "0/1",
          "DisplayTitle": "Spanish (SUBRIP)",
          "DisplayLanguage": "Spanish",
          "IsInterlaced": false,
          "IsDefault": false,
          "IsForced": false,
          "Type": "Subtitle",
          "Index": 4,
          "IsExternal": false,
          "IsTextSubtitleStream": true,
          "SupportsExternalStream": true,
          "Protocol": "File"
        },
        {
          "Codec": "subrip",
          "Language": "fre",
          "TimeBase": "1/1000",
          "CodecTimeBase": "0/1",
          "DisplayTitle": "French (SUBRIP)",
          "DisplayLanguage": "French",
          "IsInterlaced": false,
          "IsDefault": false,
          "IsForced": false,
          "Type": "Subtitle",
          "Index": 5,
          "IsExternal": false,
          "IsTextSubtitleStream": true,
          "SupportsExternalStream": true,
          "Protocol": "File"
        },
        {
          "Codec": "subrip",
          "Language": "ita",
          "TimeBase": "1/1000",
          "CodecTimeBase": "0/1",
          "DisplayTitle": "Italian (SUBRIP)",
          "DisplayLanguage": "Italian",
          "IsInterlaced": false,
          "IsDefault": false,
          "IsForced": false,
          "Type": "Subtitle",
          "Index": 6,
          "IsExternal": false,
          "IsTextSubtitleStream": true,
          "SupportsExternalStream": true,
          "Protocol": "File"
        },
        {
          "Codec": "subrip",
          "Language": "dut",
          "TimeBase": "1/1000",
          "CodecTimeBase": "0/1",
          "DisplayTitle": "Dutch (SUBRIP)",
          "DisplayLanguage": "Dutch",
          "IsInterlaced": false,
          "IsDefault": false,
          "IsForced": false,
          "Type": "Subtitle",
          "Index": 7,
          "IsExternal": false,
          "IsTextSubtitleStream": true,
          "SupportsExternalStream": true,
          "Protocol": "File"
        },
        {
          "Codec": "subrip",
          "Language": "pol",
          "TimeBase": "1/1000",
          "CodecTimeBase": "0/1",
          "DisplayTitle": "Polish (SUBRIP)",
          "DisplayLanguage": "Polish",
          "IsInterlaced": false,
          "IsDefault": false,
          "IsForced": false,
          "Type": "Subtitle",
          "Index": 8,
          "IsExternal": false,
          "IsTextSubtitleStream": true,
          "SupportsExternalStream": true,
          "Protocol": "File"
        },
        {
          "Codec": "subrip",
          "Language": "por",
          "TimeBase": "1/1000",
          "CodecTimeBase": "0/1",
          "DisplayTitle": "Portuguese (SUBRIP)",
          "DisplayLanguage": "Portuguese",
          "IsInterlaced": false,
          "IsDefault": false,
          "IsForced": false,
          "Type": "Subtitle",
          "Index": 9,
          "IsExternal": false,
          "IsTextSubtitleStream": true,
          "SupportsExternalStream": true,
          "Protocol": "File"
        },
        {
          "Codec": "subrip",
          "Language": "rus",
          "TimeBase": "1/1000",
          "CodecTimeBase": "0/1",
          "DisplayTitle": "Russian (SUBRIP)",
          "DisplayLanguage": "Russian",
          "IsInterlaced": false,
          "IsDefault": false,
          "IsForced": false,
          "Type": "Subtitle",
          "Index": 10,
          "IsExternal": false,
          "IsTextSubtitleStream": true,
          "SupportsExternalStream": true,
          "Protocol": "File"
        },
        {
          "Codec": "subrip",
          "Language": "vie",
          "TimeBase": "1/1000",
          "CodecTimeBase": "0/1",
          "DisplayTitle": "Vietnamese (SUBRIP)",
          "DisplayLanguage": "Vietnamese",
          "IsInterlaced": false,
          "IsDefault": false,
          "IsForced": false,
          "Type": "Subtitle",
          "Index": 11,
          "IsExternal": false,
          "IsTextSubtitleStream": true,
          "SupportsExternalStream": true,
          "Protocol": "File"
        }
      ],
      "Formats": [],
      "Bitrate": 10631063,
      "RequiredHttpHeaders": {},
      "ReadAtNativeFramerate": false,
      "DefaultAudioStreamIndex": 1
    },
    {
      "Protocol": "File",
      "Id": "ad834d6995788c8a7ec8c9e073a91c76",
      "Path": "F:\\FakeLibrary\\Films\\Sintel (Sintel) [2010] [SDp]\\Sintel (Sintel) [2010] [SDp] - Optimised.mp4",
      "Type": "Default",
      "Container": "mp4",
      "Size": 301056903,
      "Name": "Optimised",
      "IsRemote": false,
      "RunTimeTicks": 8880000000,
      "SupportsTranscoding": true,
      "SupportsDirectStream": true,
      "SupportsDirectPlay": true,
      "IsInfiniteStream": false,
      "RequiresOpening": false,
      "RequiresClosing": false,
      "RequiresLooping": false,
      "SupportsProbing": false,
      "MediaStreams": [
        {
          "Codec": "h264",
          "CodecTag": "avc1",
          "Language": "eng",
          "TimeBase": "1/12288",
          "CodecTimeBase": "1/48",
          "VideoRange": "SDR",
          "DisplayTitle": "720p H264",
          "DisplayLanguage": "English",
          "NalLengthSize": "4",
          "IsInterlaced": false,
          "IsAVC": true,
          "BitRate": 2511007,
          "BitDepth": 8,
          "RefFrames": 1,
          "IsDefault": true,
          "IsForced": false,
          "Height": 546,
          "Width": 1280,
          "AverageFrameRate": 24,
          "RealFrameRate": 24,
          "Profile": "Main",
          "Type": "Video",
          "AspectRatio": "960:409",
          "Index": 0,
          "IsExternal": false,
          "IsTextSubtitleStream": false,
          "SupportsExternalStream": false,
          "Protocol": "File",
          "PixelFormat": "yuv420p",
          "Level": 40,
          "IsAnamorphic": true
        },
        {
          "Codec": "aac",
          "CodecTag": "mp4a",
          "Language": "eng",
          "TimeBase": "1/48000",
          "CodecTimeBase": "1/48000",
          "DisplayTitle": "English AAC stereo (Default)",
          "DisplayLanguage": "English",
          "IsInterlaced": false,
          "ChannelLayout": "stereo",
          "BitRate": 195812,
          "Channels": 2,
          "SampleRate": 48000,
          "IsDefault": true,
          "IsForced": false,
          "Profile": "LC",
          "Type": "Audio",
          "Index": 1,
          "IsExternal": false,
          "IsTextSubtitleStream": false,
          "SupportsExternalStream": false,
          "Protocol": "File"
        }
      ],
      "Formats": [],
      "Bitrate": 2712224,
      "RequiredHttpHeaders": {},
      "ReadAtNativeFramerate": false,
      "DefaultAudioStreamIndex": 1
    }
  ],
  "ProductionLocations": [
    "Netherlands"
  ],
  "Path": "F:\\FakeLibrary\\Films\\Sintel (Sintel) [2010] [SDp]\\Sintel (Sintel) [2010] [SDp] - Optimised.mp4",
  "OfficialRating": "PG",
  "Overview": "A wandering warrior finds an unlikely friend in the form of a young dragon. The two develop a close bond, until one day the dragon is snatched away. She then sets out on a relentless quest to reclaim her friend, finding in the end that her quest exacts a far greater price than she had ever imagined.",
  "Taglines": [],
  "Genres": [
    "Animation",
    "Fantasy"
  ],
  "CommunityRating": 7.5,
  "RunTimeTicks": 8880000000,
  "PlayAccess": "Full",
  "ProductionYear": 2010,
  "RemoteTrailers": [
    {
      "Url": "https://www.youtube.com/watch?v=ac7KhViaVqc",
      "Name": "Sintel | first official trailer US (2010) 3D open movie project"
    }
  ],
  "ProviderIds": {
    "Tmdb": "45745",
    "Imdb": "tt1727587"
  },
  "IsFolder": false,
  "ParentId": "131078",
  "Type": "Movie",
  "People": [
    {
      "Name": "Halina Reijn",
      "Id": "21437",
      "Role": "Sintel (voice)",
      "Type": "Actor",
      "PrimaryImageTag": "2c1094f6666df52b6bc7d8eece9e0dc7"
    },
    {
      "Name": "Thom Hoffman",
      "Id": "21432",
      "Role": "Shaman (voice)",
      "Type": "Actor",
      "PrimaryImageTag": "e6d4383509adb82f1ce29c10e6ab0ca8"
    },
    {
      "Name": "Colin Levy",
      "Id": "21424",
      "Role": "Director",
      "Type": "Director",
      "PrimaryImageTag": "067ed4d99af72d5d619d87526ba7bb68"
    }
  ],
  "Studios": [
    {
      "Name": "Blender Foundation",
      "Id": 21401
    }
  ],
  "GenreItems": [
    {
      "Name": "Animation",
      "Id": 64817
    },
    {
      "Name": "Fantasy",
      "Id": 64828
    }
  ],
  "TagItems": [],
  "UserData": {
    "PlaybackPositionTicks": 0,
    "PlayCount": 0,
    "IsFavorite": true,
    "Played": false
  },
  "DisplayPreferencesId": "dbf7709c41faaa746463d67978eb863d",
  "Tags": [],
  "PrimaryImageAspectRatio": 0.6666666666666666,
  "MediaStreams": [
    {
      "Codec": "h264",
      "CodecTag": "avc1",
      "Language": "eng",
      "TimeBase": "1/12288",
      "CodecTimeBase": "1/48",
      "VideoRange": "SDR",
      "DisplayTitle": "720p H264",
      "DisplayLanguage": "English",
      "NalLengthSize": "4",
      "IsInterlaced": false,
      "IsAVC": true,
      "BitRate": 2511007,
      "BitDepth": 8,
      "RefFrames": 1,
      "IsDefault": true,
      "IsForced": false,
      "Height": 546,
      "Width": 1280,
      "AverageFrameRate": 24,
      "RealFrameRate": 24,
      "Profile": "Main",
      "Type": "Video",
      "AspectRatio": "960:409",
      "Index": 0,
      "IsExternal": false,
      "IsTextSubtitleStream": false,
      "SupportsExternalStream": false,
      "Protocol": "File",
      "PixelFormat": "yuv420p",
      "Level": 40,
      "IsAnamorphic": true
    },
    {
      "Codec": "aac",
      "CodecTag": "mp4a",
      "Language": "eng",
      "TimeBase": "1/48000",
      "CodecTimeBase": "1/48000",
      "DisplayTitle": "English AAC stereo (Default)",
      "DisplayLanguage": "English",
      "IsInterlaced": false,
      "ChannelLayout": "stereo",
      "BitRate": 195812,
      "Channels": 2,
      "SampleRate": 48000,
      "IsDefault": true,
      "IsForced": false,
      "Profile": "LC",
      "Type": "Audio",
      "Index": 1,
      "IsExternal": false,
      "IsTextSubtitleStream": false,
      "SupportsExternalStream": false,
      "Protocol": "File"
    }
  ],
  "ImageTags": {
    "Primary": "245aa8af2a55988b4a3a620005d29be3",
    "Logo": "5f45794ad8f727e04232f28236229d5e",
    "Thumb": "a30724cf5860d8b7cb59ea6536e80eff"
  },
  "BackdropImageTags": [
    "597297fbf77362f9d021752e3a0f2594"
  ],
  "Chapters": [
    {
      "StartPositionTicks": 0,
      "Name": "Chapter 1"
    },
    {
      "StartPositionTicks": 3000000000,
      "Name": "Chapter 2"
    },
    {
      "StartPositionTicks": 6000000000,
      "Name": "Chapter 3"
    }
  ],
  "MediaType": "Video",
  "LockedFields": [],
  "LockData": false,
  "Width": 1280,
  "Height": 546
}

Properly have both sources

Edited by Tolriq
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...