mirror of https://github.com/jellyfin/jellyfin.git
Merge pull request #10757 from dmitrylyzo/test-streambuilder
Fix StreamBuilder tests
This commit is contained in:
commit
28464d5ef9
|
@ -27,7 +27,7 @@ namespace Jellyfin.Model.Tests
|
||||||
[InlineData("Chrome", "mp4-h264-ac3-srt-2600k", PlayMethod.DirectStream, TranscodeReason.AudioCodecNotSupported)] // #6450
|
[InlineData("Chrome", "mp4-h264-ac3-srt-2600k", PlayMethod.DirectStream, TranscodeReason.AudioCodecNotSupported)] // #6450
|
||||||
[InlineData("Chrome", "mp4-hevc-aac-srt-15200k", PlayMethod.Transcode, TranscodeReason.VideoCodecNotSupported, "Transcode")]
|
[InlineData("Chrome", "mp4-hevc-aac-srt-15200k", PlayMethod.Transcode, TranscodeReason.VideoCodecNotSupported, "Transcode")]
|
||||||
[InlineData("Chrome", "mp4-hevc-ac3-aac-srt-15200k", PlayMethod.Transcode, TranscodeReason.VideoCodecNotSupported | TranscodeReason.SecondaryAudioNotSupported, "Transcode")]
|
[InlineData("Chrome", "mp4-hevc-ac3-aac-srt-15200k", PlayMethod.Transcode, TranscodeReason.VideoCodecNotSupported | TranscodeReason.SecondaryAudioNotSupported, "Transcode")]
|
||||||
[InlineData("Chrome", "mkv-vp9-aac-srt-2600k", PlayMethod.DirectStream, TranscodeReason.ContainerNotSupported)] // #6450
|
[InlineData("Chrome", "mkv-vp9-aac-srt-2600k", PlayMethod.DirectStream, TranscodeReason.ContainerNotSupported, "Remux")] // #6450
|
||||||
[InlineData("Chrome", "mkv-vp9-ac3-srt-2600k", PlayMethod.DirectStream, TranscodeReason.AudioCodecNotSupported)] // #6450
|
[InlineData("Chrome", "mkv-vp9-ac3-srt-2600k", PlayMethod.DirectStream, TranscodeReason.AudioCodecNotSupported)] // #6450
|
||||||
[InlineData("Chrome", "mkv-vp9-vorbis-vtt-2600k", PlayMethod.DirectPlay, (TranscodeReason)0, "Remux")] // #6450
|
[InlineData("Chrome", "mkv-vp9-vorbis-vtt-2600k", PlayMethod.DirectPlay, (TranscodeReason)0, "Remux")] // #6450
|
||||||
// Firefox
|
// Firefox
|
||||||
|
@ -38,7 +38,7 @@ namespace Jellyfin.Model.Tests
|
||||||
[InlineData("Firefox", "mp4-h264-ac3-srt-2600k", PlayMethod.DirectStream, TranscodeReason.AudioCodecNotSupported)] // #6450
|
[InlineData("Firefox", "mp4-h264-ac3-srt-2600k", PlayMethod.DirectStream, TranscodeReason.AudioCodecNotSupported)] // #6450
|
||||||
[InlineData("Firefox", "mp4-hevc-aac-srt-15200k", PlayMethod.Transcode, TranscodeReason.VideoCodecNotSupported, "Transcode")]
|
[InlineData("Firefox", "mp4-hevc-aac-srt-15200k", PlayMethod.Transcode, TranscodeReason.VideoCodecNotSupported, "Transcode")]
|
||||||
[InlineData("Firefox", "mp4-hevc-ac3-aac-srt-15200k", PlayMethod.Transcode, TranscodeReason.VideoCodecNotSupported | TranscodeReason.SecondaryAudioNotSupported, "Transcode")]
|
[InlineData("Firefox", "mp4-hevc-ac3-aac-srt-15200k", PlayMethod.Transcode, TranscodeReason.VideoCodecNotSupported | TranscodeReason.SecondaryAudioNotSupported, "Transcode")]
|
||||||
[InlineData("Firefox", "mkv-vp9-aac-srt-2600k", PlayMethod.DirectStream, TranscodeReason.ContainerNotSupported)] // #6450
|
[InlineData("Firefox", "mkv-vp9-aac-srt-2600k", PlayMethod.DirectStream, TranscodeReason.ContainerNotSupported, "Remux")] // #6450
|
||||||
[InlineData("Firefox", "mkv-vp9-ac3-srt-2600k", PlayMethod.DirectStream, TranscodeReason.AudioCodecNotSupported)] // #6450
|
[InlineData("Firefox", "mkv-vp9-ac3-srt-2600k", PlayMethod.DirectStream, TranscodeReason.AudioCodecNotSupported)] // #6450
|
||||||
[InlineData("Firefox", "mkv-vp9-vorbis-vtt-2600k", PlayMethod.DirectPlay, (TranscodeReason)0, "Remux")] // #6450
|
[InlineData("Firefox", "mkv-vp9-vorbis-vtt-2600k", PlayMethod.DirectPlay, (TranscodeReason)0, "Remux")] // #6450
|
||||||
// Safari
|
// Safari
|
||||||
|
@ -89,7 +89,7 @@ namespace Jellyfin.Model.Tests
|
||||||
[InlineData("Chrome-NoHLS", "mp4-h264-ac3-srt-2600k", PlayMethod.DirectStream, TranscodeReason.AudioCodecNotSupported)] // #6450
|
[InlineData("Chrome-NoHLS", "mp4-h264-ac3-srt-2600k", PlayMethod.DirectStream, TranscodeReason.AudioCodecNotSupported)] // #6450
|
||||||
[InlineData("Chrome-NoHLS", "mp4-hevc-aac-srt-15200k", PlayMethod.Transcode, TranscodeReason.VideoCodecNotSupported, "Transcode", "http")]
|
[InlineData("Chrome-NoHLS", "mp4-hevc-aac-srt-15200k", PlayMethod.Transcode, TranscodeReason.VideoCodecNotSupported, "Transcode", "http")]
|
||||||
[InlineData("Chrome-NoHLS", "mp4-hevc-ac3-aac-srt-15200k", PlayMethod.Transcode, TranscodeReason.VideoCodecNotSupported | TranscodeReason.SecondaryAudioNotSupported, "Transcode", "http")]
|
[InlineData("Chrome-NoHLS", "mp4-hevc-ac3-aac-srt-15200k", PlayMethod.Transcode, TranscodeReason.VideoCodecNotSupported | TranscodeReason.SecondaryAudioNotSupported, "Transcode", "http")]
|
||||||
[InlineData("Chrome-NoHLS", "mkv-vp9-aac-srt-2600k", PlayMethod.DirectStream, TranscodeReason.ContainerNotSupported)] // #6450
|
[InlineData("Chrome-NoHLS", "mkv-vp9-aac-srt-2600k", PlayMethod.DirectStream, TranscodeReason.ContainerNotSupported, "Remux")] // #6450
|
||||||
[InlineData("Chrome-NoHLS", "mkv-vp9-ac3-srt-2600k", PlayMethod.DirectStream, TranscodeReason.AudioCodecNotSupported)] // #6450
|
[InlineData("Chrome-NoHLS", "mkv-vp9-ac3-srt-2600k", PlayMethod.DirectStream, TranscodeReason.AudioCodecNotSupported)] // #6450
|
||||||
[InlineData("Chrome-NoHLS", "mkv-vp9-vorbis-vtt-2600k", PlayMethod.DirectPlay, (TranscodeReason)0, "Remux")] // #6450
|
[InlineData("Chrome-NoHLS", "mkv-vp9-vorbis-vtt-2600k", PlayMethod.DirectPlay, (TranscodeReason)0, "Remux")] // #6450
|
||||||
// TranscodeMedia
|
// TranscodeMedia
|
||||||
|
@ -177,7 +177,7 @@ namespace Jellyfin.Model.Tests
|
||||||
[InlineData("Chrome", "mp4-h264-ac3-srt-2600k", PlayMethod.DirectStream, TranscodeReason.AudioCodecNotSupported)] // #6450
|
[InlineData("Chrome", "mp4-h264-ac3-srt-2600k", PlayMethod.DirectStream, TranscodeReason.AudioCodecNotSupported)] // #6450
|
||||||
[InlineData("Chrome", "mp4-hevc-aac-srt-15200k", PlayMethod.Transcode, TranscodeReason.VideoCodecNotSupported, "Transcode")]
|
[InlineData("Chrome", "mp4-hevc-aac-srt-15200k", PlayMethod.Transcode, TranscodeReason.VideoCodecNotSupported, "Transcode")]
|
||||||
[InlineData("Chrome", "mp4-hevc-ac3-aac-srt-15200k", PlayMethod.Transcode, TranscodeReason.VideoCodecNotSupported | TranscodeReason.AudioCodecNotSupported, "Transcode")]
|
[InlineData("Chrome", "mp4-hevc-ac3-aac-srt-15200k", PlayMethod.Transcode, TranscodeReason.VideoCodecNotSupported | TranscodeReason.AudioCodecNotSupported, "Transcode")]
|
||||||
[InlineData("Chrome", "mkv-vp9-aac-srt-2600k", PlayMethod.DirectStream, TranscodeReason.ContainerNotSupported)] // #6450
|
[InlineData("Chrome", "mkv-vp9-aac-srt-2600k", PlayMethod.DirectStream, TranscodeReason.ContainerNotSupported, "Remux")] // #6450
|
||||||
[InlineData("Chrome", "mkv-vp9-ac3-srt-2600k", PlayMethod.DirectStream, TranscodeReason.AudioCodecNotSupported)] // #6450
|
[InlineData("Chrome", "mkv-vp9-ac3-srt-2600k", PlayMethod.DirectStream, TranscodeReason.AudioCodecNotSupported)] // #6450
|
||||||
[InlineData("Chrome", "mkv-vp9-vorbis-vtt-2600k", PlayMethod.DirectPlay, (TranscodeReason)0, "Remux")] // #6450
|
[InlineData("Chrome", "mkv-vp9-vorbis-vtt-2600k", PlayMethod.DirectPlay, (TranscodeReason)0, "Remux")] // #6450
|
||||||
// Firefox
|
// Firefox
|
||||||
|
@ -187,7 +187,7 @@ namespace Jellyfin.Model.Tests
|
||||||
[InlineData("Firefox", "mp4-h264-ac3-srt-2600k", PlayMethod.DirectStream, TranscodeReason.AudioCodecNotSupported)] // #6450
|
[InlineData("Firefox", "mp4-h264-ac3-srt-2600k", PlayMethod.DirectStream, TranscodeReason.AudioCodecNotSupported)] // #6450
|
||||||
[InlineData("Firefox", "mp4-hevc-aac-srt-15200k", PlayMethod.Transcode, TranscodeReason.VideoCodecNotSupported, "Transcode")]
|
[InlineData("Firefox", "mp4-hevc-aac-srt-15200k", PlayMethod.Transcode, TranscodeReason.VideoCodecNotSupported, "Transcode")]
|
||||||
[InlineData("Firefox", "mp4-hevc-ac3-aac-srt-15200k", PlayMethod.Transcode, TranscodeReason.VideoCodecNotSupported | TranscodeReason.AudioCodecNotSupported, "Transcode")]
|
[InlineData("Firefox", "mp4-hevc-ac3-aac-srt-15200k", PlayMethod.Transcode, TranscodeReason.VideoCodecNotSupported | TranscodeReason.AudioCodecNotSupported, "Transcode")]
|
||||||
[InlineData("Firefox", "mkv-vp9-aac-srt-2600k", PlayMethod.DirectStream, TranscodeReason.ContainerNotSupported)] // #6450
|
[InlineData("Firefox", "mkv-vp9-aac-srt-2600k", PlayMethod.DirectStream, TranscodeReason.ContainerNotSupported, "Remux")] // #6450
|
||||||
[InlineData("Firefox", "mkv-vp9-ac3-srt-2600k", PlayMethod.DirectStream, TranscodeReason.AudioCodecNotSupported)] // #6450
|
[InlineData("Firefox", "mkv-vp9-ac3-srt-2600k", PlayMethod.DirectStream, TranscodeReason.AudioCodecNotSupported)] // #6450
|
||||||
[InlineData("Firefox", "mkv-vp9-vorbis-vtt-2600k", PlayMethod.DirectPlay, (TranscodeReason)0, "Remux")] // #6450
|
[InlineData("Firefox", "mkv-vp9-vorbis-vtt-2600k", PlayMethod.DirectPlay, (TranscodeReason)0, "Remux")] // #6450
|
||||||
// Safari
|
// Safari
|
||||||
|
@ -274,13 +274,16 @@ namespace Jellyfin.Model.Tests
|
||||||
[Theory]
|
[Theory]
|
||||||
// Chrome
|
// Chrome
|
||||||
[InlineData("Chrome", "mp4-h264-ac3-aac-srt-2600k", PlayMethod.DirectStream, TranscodeReason.SecondaryAudioNotSupported, "Remux")] // #6450
|
[InlineData("Chrome", "mp4-h264-ac3-aac-srt-2600k", PlayMethod.DirectStream, TranscodeReason.SecondaryAudioNotSupported, "Remux")] // #6450
|
||||||
|
[InlineData("Chrome", "mp4-h264-ac3-aac-aac-srt-2600k", PlayMethod.DirectStream, TranscodeReason.SecondaryAudioNotSupported, "Remux")]
|
||||||
[InlineData("Chrome", "mp4-h264-ac3-aacExt-srt-2600k", PlayMethod.DirectStream, TranscodeReason.AudioIsExternal)] // #6450
|
[InlineData("Chrome", "mp4-h264-ac3-aacExt-srt-2600k", PlayMethod.DirectStream, TranscodeReason.AudioIsExternal)] // #6450
|
||||||
[InlineData("Chrome", "mp4-hevc-ac3-aac-srt-15200k", PlayMethod.Transcode, TranscodeReason.VideoCodecNotSupported | TranscodeReason.SecondaryAudioNotSupported, "Transcode")]
|
[InlineData("Chrome", "mp4-hevc-ac3-aac-srt-15200k", PlayMethod.Transcode, TranscodeReason.VideoCodecNotSupported | TranscodeReason.SecondaryAudioNotSupported, "Transcode")]
|
||||||
// Firefox
|
// Firefox
|
||||||
[InlineData("Firefox", "mp4-h264-ac3-aac-srt-2600k", PlayMethod.DirectStream, TranscodeReason.SecondaryAudioNotSupported, "Remux")] // #6450
|
[InlineData("Firefox", "mp4-h264-ac3-aac-srt-2600k", PlayMethod.DirectStream, TranscodeReason.SecondaryAudioNotSupported, "Remux")] // #6450
|
||||||
|
[InlineData("Firefox", "mp4-h264-ac3-aac-aac-srt-2600k", PlayMethod.DirectStream, TranscodeReason.SecondaryAudioNotSupported, "Remux")]
|
||||||
[InlineData("Firefox", "mp4-hevc-ac3-aac-srt-15200k", PlayMethod.Transcode, TranscodeReason.VideoCodecNotSupported | TranscodeReason.SecondaryAudioNotSupported, "Transcode")]
|
[InlineData("Firefox", "mp4-hevc-ac3-aac-srt-15200k", PlayMethod.Transcode, TranscodeReason.VideoCodecNotSupported | TranscodeReason.SecondaryAudioNotSupported, "Transcode")]
|
||||||
// Yatse
|
// Yatse
|
||||||
[InlineData("Yatse", "mp4-h264-ac3-aac-srt-2600k", PlayMethod.DirectStream, TranscodeReason.SecondaryAudioNotSupported, "Remux")] // #6450
|
[InlineData("Yatse", "mp4-h264-ac3-aac-srt-2600k", PlayMethod.DirectStream, TranscodeReason.SecondaryAudioNotSupported, "Remux")] // #6450
|
||||||
|
[InlineData("Yatse", "mp4-h264-ac3-aac-aac-srt-2600k", PlayMethod.DirectStream, TranscodeReason.SecondaryAudioNotSupported, "Remux")]
|
||||||
[InlineData("Yatse", "mp4-hevc-ac3-aac-srt-15200k", PlayMethod.DirectStream, TranscodeReason.SecondaryAudioNotSupported, "Remux")] // #6450
|
[InlineData("Yatse", "mp4-hevc-ac3-aac-srt-15200k", PlayMethod.DirectStream, TranscodeReason.SecondaryAudioNotSupported, "Remux")] // #6450
|
||||||
// RokuSSPlus
|
// RokuSSPlus
|
||||||
[InlineData("RokuSSPlus", "mp4-h264-ac3-aac-srt-2600k", PlayMethod.DirectPlay, (TranscodeReason)0, "Remux")] // #6450
|
[InlineData("RokuSSPlus", "mp4-h264-ac3-aac-srt-2600k", PlayMethod.DirectPlay, (TranscodeReason)0, "Remux")] // #6450
|
||||||
|
@ -291,11 +294,13 @@ namespace Jellyfin.Model.Tests
|
||||||
[InlineData("AndroidTVExoPlayer", "mp4-h264-ac3-aac-srt-2600k", PlayMethod.DirectPlay, (TranscodeReason)0, "Remux")]
|
[InlineData("AndroidTVExoPlayer", "mp4-h264-ac3-aac-srt-2600k", PlayMethod.DirectPlay, (TranscodeReason)0, "Remux")]
|
||||||
[InlineData("AndroidTVExoPlayer", "mp4-hevc-ac3-aac-srt-15200k", PlayMethod.DirectPlay, (TranscodeReason)0, "Remux")]
|
[InlineData("AndroidTVExoPlayer", "mp4-hevc-ac3-aac-srt-15200k", PlayMethod.DirectPlay, (TranscodeReason)0, "Remux")]
|
||||||
// Tizen 3 Stereo
|
// Tizen 3 Stereo
|
||||||
[InlineData("Tizen3-stereo", "mp4-h264-ac3-aac-srt-2600k", PlayMethod.DirectPlay, (TranscodeReason)0, "Remux")]
|
[InlineData("Tizen3-stereo", "mp4-h264-ac3-aac-srt-2600k", PlayMethod.DirectStream, TranscodeReason.SecondaryAudioNotSupported, "Remux")]
|
||||||
[InlineData("Tizen3-stereo", "mp4-hevc-ac3-aac-srt-15200k", PlayMethod.DirectPlay, (TranscodeReason)0, "Remux")]
|
[InlineData("Tizen3-stereo", "mp4-h264-ac3-aac-aac-srt-2600k", PlayMethod.DirectStream, TranscodeReason.SecondaryAudioNotSupported, "Remux")]
|
||||||
|
[InlineData("Tizen3-stereo", "mp4-hevc-ac3-aac-srt-15200k", PlayMethod.DirectStream, TranscodeReason.SecondaryAudioNotSupported, "Remux")]
|
||||||
// Tizen 4 4K 5.1
|
// Tizen 4 4K 5.1
|
||||||
[InlineData("Tizen4-4K-5.1", "mp4-h264-ac3-aac-srt-2600k", PlayMethod.DirectPlay, (TranscodeReason)0, "Remux")]
|
[InlineData("Tizen4-4K-5.1", "mp4-h264-ac3-aac-srt-2600k", PlayMethod.DirectStream, TranscodeReason.SecondaryAudioNotSupported, "Remux")]
|
||||||
[InlineData("Tizen4-4K-5.1", "mp4-hevc-ac3-aac-srt-15200k", PlayMethod.DirectPlay, (TranscodeReason)0, "Remux")]
|
[InlineData("Tizen4-4K-5.1", "mp4-h264-ac3-aac-aac-srt-2600k", PlayMethod.DirectStream, TranscodeReason.SecondaryAudioNotSupported, "Remux")]
|
||||||
|
[InlineData("Tizen4-4K-5.1", "mp4-hevc-ac3-aac-srt-15200k", PlayMethod.DirectStream, TranscodeReason.SecondaryAudioNotSupported, "Remux")]
|
||||||
public async Task BuildVideoItemWithDirectPlayExplicitStreams(string deviceName, string mediaSource, PlayMethod? playMethod, TranscodeReason why = default, string transcodeMode = "DirectStream", string transcodeProtocol = "")
|
public async Task BuildVideoItemWithDirectPlayExplicitStreams(string deviceName, string mediaSource, PlayMethod? playMethod, TranscodeReason why = default, string transcodeMode = "DirectStream", string transcodeProtocol = "")
|
||||||
{
|
{
|
||||||
var options = await GetMediaOptions(deviceName, mediaSource);
|
var options = await GetMediaOptions(deviceName, mediaSource);
|
||||||
|
@ -419,14 +424,7 @@ namespace Jellyfin.Model.Tests
|
||||||
if (targetAudioStream?.IsExternal == false)
|
if (targetAudioStream?.IsExternal == false)
|
||||||
{
|
{
|
||||||
// Check expected audio codecs (1)
|
// Check expected audio codecs (1)
|
||||||
if (streamInfo.TranscodeReasons.HasFlag(TranscodeReason.ContainerNotSupported))
|
Assert.DoesNotContain(targetAudioStream.Codec, streamInfo.AudioCodecs);
|
||||||
{
|
|
||||||
Assert.Contains(targetAudioStream.Codec, streamInfo.AudioCodecs);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
Assert.DoesNotContain(targetAudioStream.Codec, streamInfo.AudioCodecs);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (transcodeMode.Equals("Remux", StringComparison.Ordinal))
|
else if (transcodeMode.Equals("Remux", StringComparison.Ordinal))
|
||||||
|
|
|
@ -413,6 +413,19 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"CodecProfiles": [
|
"CodecProfiles": [
|
||||||
|
{
|
||||||
|
"Type": "VideoAudio",
|
||||||
|
"Conditions": [
|
||||||
|
{
|
||||||
|
"Condition": "Equals",
|
||||||
|
"Property": "IsSecondaryAudio",
|
||||||
|
"Value": "false",
|
||||||
|
"IsRequired": false,
|
||||||
|
"$type": "ProfileCondition"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"$type": "CodecProfile"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"Type": "Video",
|
"Type": "Video",
|
||||||
"Conditions": [
|
"Conditions": [
|
||||||
|
|
|
@ -413,6 +413,19 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"CodecProfiles": [
|
"CodecProfiles": [
|
||||||
|
{
|
||||||
|
"Type": "VideoAudio",
|
||||||
|
"Conditions": [
|
||||||
|
{
|
||||||
|
"Condition": "Equals",
|
||||||
|
"Property": "IsSecondaryAudio",
|
||||||
|
"Value": "false",
|
||||||
|
"IsRequired": false,
|
||||||
|
"$type": "ProfileCondition"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"$type": "CodecProfile"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"Type": "Video",
|
"Type": "Video",
|
||||||
"Conditions": [
|
"Conditions": [
|
||||||
|
|
|
@ -0,0 +1,102 @@
|
||||||
|
{
|
||||||
|
"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": "ac3",
|
||||||
|
"CodecTag": "ac-3",
|
||||||
|
"Language": "eng",
|
||||||
|
"TimeBase": "1/48000",
|
||||||
|
"DisplayTitle": "En - Dolby Digital - 5.1 - Default",
|
||||||
|
"ChannelLayout": "5.1",
|
||||||
|
"BitRate": 384000,
|
||||||
|
"Channels": 6,
|
||||||
|
"SampleRate": 48000,
|
||||||
|
"IsDefault": true,
|
||||||
|
"Index": 1,
|
||||||
|
"Score": 202
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"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": 2,
|
||||||
|
"Score": 203
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Codec": "aac",
|
||||||
|
"CodecTag": "mp4a",
|
||||||
|
"Language": "rus",
|
||||||
|
"TimeBase": "1/48000",
|
||||||
|
"DisplayTitle": "Ru - AAC - Stereo - Default",
|
||||||
|
"ChannelLayout": "stereo",
|
||||||
|
"BitRate": 164741,
|
||||||
|
"Channels": 2,
|
||||||
|
"SampleRate": 48000,
|
||||||
|
"IsDefault": false,
|
||||||
|
"Profile": "LC",
|
||||||
|
"Index": 3,
|
||||||
|
"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": 4,
|
||||||
|
"Score": 6421,
|
||||||
|
"IsExternal": true,
|
||||||
|
"IsTextSubtitleStream": true,
|
||||||
|
"SupportsExternalStream": true,
|
||||||
|
"Path": "/Media/MyVideo-WEBDL-2160p.default.eng.srt"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"Bitrate": 2590008,
|
||||||
|
"DefaultAudioStreamIndex": 1,
|
||||||
|
"DefaultSubtitleStreamIndex": 4
|
||||||
|
}
|
Loading…
Reference in New Issue