mirror of
				https://github.com/jellyfin/jellyfin.git
				synced 2025-10-31 10:37:22 -04:00 
			
		
		
		
	Add profile condition to limit the number of streams (#13583)
This commit is contained in:
		
							parent
							
								
									7f5cc544df
								
							
						
					
					
						commit
						cb931e0062
					
				| @ -28,6 +28,7 @@ namespace MediaBrowser.Model.Dlna | ||||
|         /// <param name="isAnamorphic">A value indicating whether the video is anamorphic.</param> | ||||
|         /// <param name="isInterlaced">A value indicating whether the video is interlaced.</param> | ||||
|         /// <param name="refFrames">The reference frames.</param> | ||||
|         /// <param name="numStreams">The number of streams.</param> | ||||
|         /// <param name="numVideoStreams">The number of video streams.</param> | ||||
|         /// <param name="numAudioStreams">The number of audio streams.</param> | ||||
|         /// <param name="videoCodecTag">The video codec tag.</param> | ||||
| @ -48,6 +49,7 @@ namespace MediaBrowser.Model.Dlna | ||||
|             bool? isAnamorphic, | ||||
|             bool? isInterlaced, | ||||
|             int? refFrames, | ||||
|             int numStreams, | ||||
|             int? numVideoStreams, | ||||
|             int? numAudioStreams, | ||||
|             string? videoCodecTag, | ||||
| @ -83,6 +85,8 @@ namespace MediaBrowser.Model.Dlna | ||||
|                     return IsConditionSatisfied(condition, width); | ||||
|                 case ProfileConditionValue.RefFrames: | ||||
|                     return IsConditionSatisfied(condition, refFrames); | ||||
|                 case ProfileConditionValue.NumStreams: | ||||
|                     return IsConditionSatisfied(condition, numStreams); | ||||
|                 case ProfileConditionValue.NumAudioStreams: | ||||
|                     return IsConditionSatisfied(condition, numAudioStreams); | ||||
|                 case ProfileConditionValue.NumVideoStreams: | ||||
|  | ||||
| @ -27,6 +27,7 @@ namespace MediaBrowser.Model.Dlna | ||||
|         IsInterlaced = 21, | ||||
|         AudioSampleRate = 22, | ||||
|         AudioBitDepth = 23, | ||||
|         VideoRangeType = 24 | ||||
|         VideoRangeType = 24, | ||||
|         NumStreams = 25 | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -338,6 +338,9 @@ namespace MediaBrowser.Model.Dlna | ||||
|                 case ProfileConditionValue.IsSecondaryAudio: | ||||
|                     return TranscodeReason.SecondaryAudioNotSupported; | ||||
| 
 | ||||
|                 case ProfileConditionValue.NumStreams: | ||||
|                     return TranscodeReason.StreamCountExceedsLimit; | ||||
| 
 | ||||
|                 case ProfileConditionValue.NumAudioStreams: | ||||
|                     // TODO | ||||
|                     return 0; | ||||
| @ -1019,6 +1022,7 @@ namespace MediaBrowser.Model.Dlna | ||||
|             int? packetLength = videoStream?.PacketLength; | ||||
|             int? refFrames = videoStream?.RefFrames; | ||||
| 
 | ||||
|             int numStreams = item.MediaStreams.Count; | ||||
|             int? numAudioStreams = item.GetStreamCount(MediaStreamType.Audio); | ||||
|             int? numVideoStreams = item.GetStreamCount(MediaStreamType.Video); | ||||
| 
 | ||||
| @ -1027,7 +1031,7 @@ namespace MediaBrowser.Model.Dlna | ||||
|             var appliedVideoConditions = options.Profile.CodecProfiles | ||||
|                 .Where(i => i.Type == CodecType.Video && | ||||
|                     i.ContainsAnyCodec(playlistItem.VideoCodecs, container, useSubContainer) && | ||||
|                     i.ApplyConditions.All(applyCondition => ConditionProcessor.IsVideoConditionSatisfied(applyCondition, width, height, bitDepth, videoBitrate, videoProfile, videoRangeType, videoLevel, videoFramerate, packetLength, timestamp, isAnamorphic, isInterlaced, refFrames, numVideoStreams, numAudioStreams, videoCodecTag, isAvc))) | ||||
|                     i.ApplyConditions.All(applyCondition => ConditionProcessor.IsVideoConditionSatisfied(applyCondition, width, height, bitDepth, videoBitrate, videoProfile, videoRangeType, videoLevel, videoFramerate, packetLength, timestamp, isAnamorphic, isInterlaced, refFrames, numStreams, numVideoStreams, numAudioStreams, videoCodecTag, isAvc))) | ||||
|                 // Reverse codec profiles for backward compatibility - first codec profile has higher priority | ||||
|                 .Reverse(); | ||||
|             foreach (var condition in appliedVideoConditions) | ||||
| @ -1850,6 +1854,7 @@ namespace MediaBrowser.Model.Dlna | ||||
|                     case ProfileConditionValue.AudioProfile: | ||||
|                     case ProfileConditionValue.Has64BitOffsets: | ||||
|                     case ProfileConditionValue.PacketLength: | ||||
|                     case ProfileConditionValue.NumStreams: | ||||
|                     case ProfileConditionValue.NumAudioStreams: | ||||
|                     case ProfileConditionValue.NumVideoStreams: | ||||
|                     case ProfileConditionValue.IsSecondaryAudio: | ||||
| @ -2258,10 +2263,11 @@ namespace MediaBrowser.Model.Dlna | ||||
|             int? packetLength = videoStream?.PacketLength; | ||||
|             int? refFrames = videoStream?.RefFrames; | ||||
| 
 | ||||
|             int numStreams = mediaSource.MediaStreams.Count; | ||||
|             int? numAudioStreams = mediaSource.GetStreamCount(MediaStreamType.Audio); | ||||
|             int? numVideoStreams = mediaSource.GetStreamCount(MediaStreamType.Video); | ||||
| 
 | ||||
|             return conditions.Where(applyCondition => !ConditionProcessor.IsVideoConditionSatisfied(applyCondition, width, height, bitDepth, videoBitrate, videoProfile, videoRangeType, videoLevel, videoFramerate, packetLength, timestamp, isAnamorphic, isInterlaced, refFrames, numVideoStreams, numAudioStreams, videoCodecTag, isAvc)); | ||||
|             return conditions.Where(applyCondition => !ConditionProcessor.IsVideoConditionSatisfied(applyCondition, width, height, bitDepth, videoBitrate, videoProfile, videoRangeType, videoLevel, videoFramerate, packetLength, timestamp, isAnamorphic, isInterlaced, refFrames, numStreams, numVideoStreams, numAudioStreams, videoCodecTag, isAvc)); | ||||
|         } | ||||
| 
 | ||||
|         /// <summary> | ||||
|  | ||||
| @ -14,6 +14,7 @@ namespace MediaBrowser.Model.Session | ||||
|         SubtitleCodecNotSupported = 1 << 3, | ||||
|         AudioIsExternal = 1 << 4, | ||||
|         SecondaryAudioNotSupported = 1 << 5, | ||||
|         StreamCountExceedsLimit = 1 << 26, | ||||
| 
 | ||||
|         // Video Constraints | ||||
|         VideoProfileNotSupported = 1 << 6, | ||||
|  | ||||
| @ -39,6 +39,8 @@ namespace Jellyfin.Model.Tests | ||||
|         [InlineData("Chrome", "mkv-dvhe.05-eac3-28000k", PlayMethod.Transcode, TranscodeReason.ContainerNotSupported | TranscodeReason.VideoRangeTypeNotSupported | TranscodeReason.AudioCodecNotSupported, "Transcode", "HLS.mp4")] | ||||
|         [InlineData("Chrome", "mkv-dvhe.08-eac3-15200k", PlayMethod.Transcode, TranscodeReason.ContainerNotSupported | TranscodeReason.VideoRangeTypeNotSupported | TranscodeReason.AudioCodecNotSupported, "Transcode", "HLS.mp4")] | ||||
|         [InlineData("Chrome", "mp4-dvhe.08-eac3-15200k", PlayMethod.Transcode, TranscodeReason.VideoRangeTypeNotSupported | TranscodeReason.AudioCodecNotSupported, "Transcode", "HLS.mp4")] | ||||
|         [InlineData("Chrome", "numstreams-32", PlayMethod.DirectPlay)] | ||||
|         [InlineData("Chrome", "numstreams-33", PlayMethod.DirectPlay)] | ||||
|         // Firefox | ||||
|         [InlineData("Firefox", "mp4-h264-aac-vtt-2600k", PlayMethod.DirectPlay)] // #6450 | ||||
|         [InlineData("Firefox", "mp4-h264-ac3-aac-srt-2600k", PlayMethod.Transcode, TranscodeReason.AudioCodecNotSupported, "DirectStream", "HLS.mp4")] // #6450 | ||||
| @ -180,6 +182,8 @@ namespace Jellyfin.Model.Tests | ||||
|         [InlineData("Tizen3-stereo", "mkv-vp9-aac-srt-2600k", PlayMethod.DirectPlay)] | ||||
|         [InlineData("Tizen3-stereo", "mkv-vp9-ac3-srt-2600k", PlayMethod.DirectPlay)] | ||||
|         [InlineData("Tizen3-stereo", "mkv-vp9-vorbis-vtt-2600k", PlayMethod.DirectPlay)] | ||||
|         [InlineData("Tizen3-stereo", "numstreams-32", PlayMethod.DirectPlay)] | ||||
|         [InlineData("Tizen3-stereo", "numstreams-33", PlayMethod.Transcode, TranscodeReason.StreamCountExceedsLimit, "Remux")] | ||||
|         // Tizen 4 4K 5.1 | ||||
|         [InlineData("Tizen4-4K-5.1", "mp4-h264-aac-vtt-2600k", PlayMethod.DirectPlay)] | ||||
|         [InlineData("Tizen4-4K-5.1", "mp4-h264-ac3-aac-srt-2600k", PlayMethod.DirectPlay)] | ||||
| @ -191,6 +195,8 @@ namespace Jellyfin.Model.Tests | ||||
|         [InlineData("Tizen4-4K-5.1", "mkv-vp9-aac-srt-2600k", PlayMethod.DirectPlay)] | ||||
|         [InlineData("Tizen4-4K-5.1", "mkv-vp9-ac3-srt-2600k", PlayMethod.DirectPlay)] | ||||
|         [InlineData("Tizen4-4K-5.1", "mkv-vp9-vorbis-vtt-2600k", PlayMethod.DirectPlay)] | ||||
|         [InlineData("Tizen4-4K-5.1", "numstreams-32", PlayMethod.DirectPlay)] | ||||
|         [InlineData("Tizen4-4K-5.1", "numstreams-33", PlayMethod.Transcode, TranscodeReason.StreamCountExceedsLimit, "Remux")] | ||||
|         // WebOS 23 | ||||
|         [InlineData("WebOS-23", "mkv-dvhe.08-eac3-15200k", PlayMethod.Transcode, TranscodeReason.VideoRangeTypeNotSupported, "Remux")] | ||||
|         [InlineData("WebOS-23", "mp4-dvh1.05-eac3-15200k", PlayMethod.DirectPlay)] | ||||
|  | ||||
| @ -510,6 +510,21 @@ | ||||
|             "$type": "CodecProfile" | ||||
|         } | ||||
|     ], | ||||
|     "ContainerProfiles": [ | ||||
|         { | ||||
|             "Type": "Video", | ||||
|             "Conditions": [ | ||||
|                 { | ||||
|                     "Condition": "LessThanEqual", | ||||
|                     "Property": "NumStreams", | ||||
|                     "Value": "32", | ||||
|                     "IsRequired": false, | ||||
|                     "$type": "ProfileCondition" | ||||
|                 } | ||||
|             ], | ||||
|             "$type": "ContainerProfile" | ||||
|         } | ||||
|     ], | ||||
|     "ResponseProfiles": [ | ||||
|         { | ||||
|             "Container": "m4v", | ||||
|  | ||||
| @ -483,6 +483,21 @@ | ||||
|             "$type": "CodecProfile" | ||||
|         } | ||||
|     ], | ||||
|     "ContainerProfiles": [ | ||||
|         { | ||||
|             "Type": "Video", | ||||
|             "Conditions": [ | ||||
|                 { | ||||
|                     "Condition": "LessThanEqual", | ||||
|                     "Property": "NumStreams", | ||||
|                     "Value": "32", | ||||
|                     "IsRequired": false, | ||||
|                     "$type": "ProfileCondition" | ||||
|                 } | ||||
|             ], | ||||
|             "$type": "ContainerProfile" | ||||
|         } | ||||
|     ], | ||||
|     "ResponseProfiles": [ | ||||
|         { | ||||
|             "Container": "m4v", | ||||
|  | ||||
| @ -0,0 +1,565 @@ | ||||
| { | ||||
|     "Id": "a766d122b58e45d9492d17af77748bf5", | ||||
|     "Path": "/Media/MyVideo-720p.mp4", | ||||
|     "Container": "mov,mp4,m4a,3gp,3g2,mj2", | ||||
|     "Size": 835317696, | ||||
|     "Name": "MyVideo-720p", | ||||
|     "ETag": "579a34c6d5dfb21d81539a51220b6a23", | ||||
|     "RunTimeTicks": 25801230336, | ||||
|     "SupportsTranscoding": true, | ||||
|     "SupportsDirectStream": true, | ||||
|     "SupportsDirectPlay": true, | ||||
|     "SupportsProbing": true, | ||||
|     "MediaStreams": [ | ||||
|         { | ||||
|             "Codec": "h264", | ||||
|             "CodecTag": "avc1", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/11988", | ||||
|             "VideoRange": "SDR", | ||||
|             "DisplayTitle": "720p H264 SDR", | ||||
|             "NalLengthSize": "0", | ||||
|             "BitRate": 2032876, | ||||
|             "BitDepth": 8, | ||||
|             "RefFrames": 1, | ||||
|             "IsDefault": true, | ||||
|             "Height": 720, | ||||
|             "Width": 1280, | ||||
|             "AverageFrameRate": 23.976, | ||||
|             "RealFrameRate": 23.976, | ||||
|             "Profile": "High", | ||||
|             "Type": 1, | ||||
|             "AspectRatio": "16:9", | ||||
|             "PixelFormat": "yuv420p", | ||||
|             "Level": 41 | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "aac", | ||||
|             "CodecTag": "mp4a", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/48000", | ||||
|             "DisplayTitle": "En - AAC - Stereo - Default", | ||||
|             "ChannelLayout": "stereo", | ||||
|             "BitRate": 164741, | ||||
|             "Channels": 2, | ||||
|             "SampleRate": 48000, | ||||
|             "IsDefault": true, | ||||
|             "Profile": "LC", | ||||
|             "Index": 1, | ||||
|             "Score": 203 | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 2, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 3, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 4, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 5, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 6, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 7, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 8, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 9, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 10, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 11, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 12, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 13, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 14, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 15, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 16, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 17, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 18, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 19, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 20, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 21, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 22, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 23, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 24, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 25, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 26, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 27, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 28, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 29, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 30, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 31, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         } | ||||
|     ], | ||||
|     "Bitrate": 2590008, | ||||
|     "DefaultAudioStreamIndex": 1, | ||||
|     "DefaultSubtitleStreamIndex": 2 | ||||
| } | ||||
| @ -0,0 +1,582 @@ | ||||
| { | ||||
|     "Id": "a766d122b58e45d9492d17af77748bf5", | ||||
|     "Path": "/Media/MyVideo-720p.mp4", | ||||
|     "Container": "mov,mp4,m4a,3gp,3g2,mj2", | ||||
|     "Size": 835317696, | ||||
|     "Name": "MyVideo-720p", | ||||
|     "ETag": "579a34c6d5dfb21d81539a51220b6a23", | ||||
|     "RunTimeTicks": 25801230336, | ||||
|     "SupportsTranscoding": true, | ||||
|     "SupportsDirectStream": true, | ||||
|     "SupportsDirectPlay": true, | ||||
|     "SupportsProbing": true, | ||||
|     "MediaStreams": [ | ||||
|         { | ||||
|             "Codec": "h264", | ||||
|             "CodecTag": "avc1", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/11988", | ||||
|             "VideoRange": "SDR", | ||||
|             "DisplayTitle": "720p H264 SDR", | ||||
|             "NalLengthSize": "0", | ||||
|             "BitRate": 2032876, | ||||
|             "BitDepth": 8, | ||||
|             "RefFrames": 1, | ||||
|             "IsDefault": true, | ||||
|             "Height": 720, | ||||
|             "Width": 1280, | ||||
|             "AverageFrameRate": 23.976, | ||||
|             "RealFrameRate": 23.976, | ||||
|             "Profile": "High", | ||||
|             "Type": 1, | ||||
|             "AspectRatio": "16:9", | ||||
|             "PixelFormat": "yuv420p", | ||||
|             "Level": 41 | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "aac", | ||||
|             "CodecTag": "mp4a", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/48000", | ||||
|             "DisplayTitle": "En - AAC - Stereo - Default", | ||||
|             "ChannelLayout": "stereo", | ||||
|             "BitRate": 164741, | ||||
|             "Channels": 2, | ||||
|             "SampleRate": 48000, | ||||
|             "IsDefault": true, | ||||
|             "Profile": "LC", | ||||
|             "Index": 1, | ||||
|             "Score": 203 | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 2, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 3, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 4, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 5, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 6, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 7, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 8, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 9, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 10, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 11, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 12, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 13, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 14, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 15, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 16, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 17, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 18, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 19, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 20, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 21, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 22, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 23, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 24, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 25, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 26, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 27, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 28, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 29, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 30, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 31, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         }, | ||||
|         { | ||||
|             "Codec": "srt", | ||||
|             "Language": "eng", | ||||
|             "TimeBase": "1/1000000", | ||||
|             "localizedUndefined": "Undefined", | ||||
|             "localizedDefault": "Default", | ||||
|             "localizedForced": "Forced", | ||||
|             "DisplayTitle": "En - Default", | ||||
|             "BitRate": 92, | ||||
|             "IsDefault": true, | ||||
|             "Type": 2, | ||||
|             "Index": 32, | ||||
|             "Score": 6421, | ||||
|             "IsExternal": true, | ||||
|             "IsTextSubtitleStream": true, | ||||
|             "SupportsExternalStream": true | ||||
|         } | ||||
|     ], | ||||
|     "Bitrate": 2590008, | ||||
|     "DefaultAudioStreamIndex": 1, | ||||
|     "DefaultSubtitleStreamIndex": 2 | ||||
| } | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user