diff --git a/utils/profiles/ios10.js b/utils/profiles/ios10.js deleted file mode 100644 index 349eff95..00000000 --- a/utils/profiles/ios10.js +++ /dev/null @@ -1,180 +0,0 @@ -/** - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ -import MediaTypes from '../../constants/MediaTypes'; - -import BaseProfile from './base'; - -/** - * Device profile for Expo Video player on iOS 10 - */ -export default { - ...BaseProfile, - Name: 'Expo iOS 10 Video Profile', - CodecProfiles: [ - // iOS<13 only supports max h264 level 4.2 in ts containers - { - Codec: 'h264', - Conditions: [ - { - Condition: 'NotEquals', - IsRequired: false, - Property: 'IsAnamorphic', - Value: 'true' - }, - { - Condition: 'EqualsAny', - IsRequired: false, - Property: 'VideoProfile', - Value: 'high|main|baseline|constrained baseline' - }, - { - Condition: 'NotEquals', - IsRequired: false, - Property: 'IsInterlaced', - Value: 'true' - }, - { - Condition: 'LessThanEqual', - IsRequired: false, - Property: 'VideoLevel', - Value: '42' - } - ], - Container: 'ts', - Type: MediaTypes.Video - }, - ...BaseProfile.CodecProfiles - ], - DirectPlayProfiles: [ - { - AudioCodec: 'aac,mp3,dca,dts,alac', - Container: 'mp4,m4v', - Type: MediaTypes.Video, - VideoCodec: 'h264,vc1' - }, - { - AudioCodec: 'aac,mp3,dca,dts,alac', - Container: 'mov', - Type: MediaTypes.Video, - VideoCodec: 'h264' - }, - { - Container: 'mp3', - Type: MediaTypes.Audio - }, - { - Container: 'aac', - Type: MediaTypes.Audio - }, - { - AudioCodec: 'aac', - Container: 'm4a', - Type: MediaTypes.Audio - }, - { - AudioCodec: 'aac', - Container: 'm4b', - Type: MediaTypes.Audio - }, - { - Container: 'alac', - Type: MediaTypes.Audio - }, - { - AudioCodec: 'alac', - Container: 'm4a', - Type: MediaTypes.Audio - }, - { - AudioCodec: 'alac', - Container: 'm4b', - Type: MediaTypes.Audio - }, - { - Container: 'wav', - Type: MediaTypes.Audio - } - ], - TranscodingProfiles: [ - { - AudioCodec: 'aac', - BreakOnNonKeyFrames: true, - Container: 'aac', - Context: 'Streaming', - MaxAudioChannels: '6', - MinSegments: '2', - Protocol: 'hls', - Type: MediaTypes.Audio - }, - { - AudioCodec: 'aac', - Container: 'aac', - Context: 'Streaming', - MaxAudioChannels: '6', - Protocol: 'http', - Type: MediaTypes.Audio - }, - { - AudioCodec: 'mp3', - Container: 'mp3', - Context: 'Streaming', - MaxAudioChannels: '6', - Protocol: 'http', - Type: MediaTypes.Audio - }, - { - AudioCodec: 'wav', - Container: 'wav', - Context: 'Streaming', - MaxAudioChannels: '6', - Protocol: 'http', - Type: MediaTypes.Audio - }, - { - AudioCodec: 'mp3', - Container: 'mp3', - Context: 'Static', - MaxAudioChannels: '6', - Protocol: 'http', - Type: MediaTypes.Audio - }, - { - AudioCodec: 'aac', - Container: 'aac', - Context: 'Static', - MaxAudioChannels: '6', - Protocol: 'http', - Type: MediaTypes.Audio - }, - { - AudioCodec: 'wav', - Container: 'wav', - Context: 'Static', - MaxAudioChannels: '6', - Protocol: 'http', - Type: MediaTypes.Audio - }, - { - AudioCodec: 'aac,mp3', - BreakOnNonKeyFrames: true, - Container: 'ts', - Context: 'Streaming', - MaxAudioChannels: '6', - MinSegments: '2', - Protocol: 'hls', - Type: MediaTypes.Video, - VideoCodec: 'h264' - }, - { - AudioCodec: 'aac,mp3,dca,dts,alac', - Container: 'mp4', - Context: 'Static', - Protocol: 'http', - Type: MediaTypes.Video, - VideoCodec: 'h264' - } - ] -}; diff --git a/utils/profiles/ios12.js b/utils/profiles/ios12.js deleted file mode 100644 index dc509ad8..00000000 --- a/utils/profiles/ios12.js +++ /dev/null @@ -1,49 +0,0 @@ -/** - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ -import iOSProfile from './ios'; - -/** - * Device profile for Expo Video player on iOS 11-12 - */ -export default { - ...iOSProfile, - Name: 'Expo iOS 12 Video Profile', - CodecProfiles: [ - // iOS<13 only supports max h264 level 4.2 in ts containers - { - Codec: 'h264', - Conditions: [ - { - Condition: 'NotEquals', - IsRequired: false, - Property: 'IsAnamorphic', - Value: 'true' - }, - { - Condition: 'EqualsAny', - IsRequired: false, - Property: 'VideoProfile', - Value: 'high|main|baseline|constrained baseline' - }, - { - Condition: 'NotEquals', - IsRequired: false, - Property: 'IsInterlaced', - Value: 'true' - }, - { - Condition: 'LessThanEqual', - IsRequired: false, - Property: 'VideoLevel', - Value: '42' - } - ], - Container: 'ts', - Type: 'Video' - }, - ...iOSProfile.CodecProfiles - ] -}; diff --git a/utils/profiles/iosFmp4.js b/utils/profiles/iosFmp4.js deleted file mode 100644 index 5e47eb39..00000000 --- a/utils/profiles/iosFmp4.js +++ /dev/null @@ -1,35 +0,0 @@ -/** - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ -import MediaTypes from '../../constants/MediaTypes'; - -import iOSProfile from './ios'; - -/** - * Device profile for Expo Video player on iOS 13+ with fMP4 support - */ -export default { - ...iOSProfile, - Name: 'Expo iOS fMP4 Video Profile', - TranscodingProfiles: [ - // Add all audio profiles from default profile - ...iOSProfile.TranscodingProfiles.filter(profile => profile.Type === MediaTypes.Audio), - // Add fMP4 profile - { - AudioCodec: 'aac,mp3,flac,alac', - BreakOnNonKeyFrames: true, - Container: 'mp4', - Context: 'Streaming', - MaxAudioChannels: '6', - MinSegments: '2', - Protocol: 'hls', - Type: MediaTypes.Video, - VideoCodec: 'hevc,h264' - }, - // Add all video profiles from default profile - ...iOSProfile.TranscodingProfiles.filter(profile => profile.Type === MediaTypes.Video) - ] -}; - diff --git a/utils/profiles/old.js b/utils/profiles/old.js deleted file mode 100644 index f356320b..00000000 --- a/utils/profiles/old.js +++ /dev/null @@ -1,259 +0,0 @@ -/** - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ -import MediaTypes from "../../constants/MediaTypes"; - -/** - * Device profile for old phones (aka does not support HEVC) - * - * This file is a modified version of the original file. - * - * Link to original: https://github.com/jellyfin/jellyfin-expo/blob/e7b7e736a8602c94612917ef02de22f87c7c28f2/utils/profiles/ios.js#L4 - */ -export default { - MaxStreamingBitrate: 3000000, - MaxStaticBitrate: 3000000, - MusicStreamingTranscodingBitrate: 256000, - DirectPlayProfiles: [ - { - Container: "mp4,m4v", - Type: "Video", - VideoCodec: "h264", - AudioCodec: "aac,mp3,mp2", - }, - { - Container: "mkv", - Type: "Video", - VideoCodec: "h264", - AudioCodec: "aac,mp3,mp2", - }, - { - Container: "mov", - Type: "Video", - VideoCodec: "h264", - AudioCodec: "aac,mp3,mp2", - }, - { - Container: "mp3", - Type: "Audio", - }, - { - Container: "aac", - Type: "Audio", - }, - { - Container: "m4a", - AudioCodec: "aac", - Type: "Audio", - }, - { - Container: "m4b", - AudioCodec: "aac", - Type: "Audio", - }, - { - Container: "hls", - Type: "Video", - VideoCodec: "h264", - AudioCodec: "aac,mp3,mp2", - }, - ], - TranscodingProfiles: [ - { - Container: "mp4", - Type: "Audio", - AudioCodec: "aac", - Context: "Streaming", - Protocol: "hls", - MaxAudioChannels: "2", - MinSegments: "1", - BreakOnNonKeyFrames: true, - }, - { - Container: "aac", - Type: "Audio", - AudioCodec: "aac", - Context: "Streaming", - Protocol: "http", - MaxAudioChannels: "2", - }, - { - Container: "mp3", - Type: "Audio", - AudioCodec: "mp3", - Context: "Streaming", - Protocol: "http", - MaxAudioChannels: "2", - }, - { - Container: "mp3", - Type: "Audio", - AudioCodec: "mp3", - Context: "Static", - Protocol: "http", - MaxAudioChannels: "2", - }, - { - Container: "aac", - Type: "Audio", - AudioCodec: "aac", - Context: "Static", - Protocol: "http", - MaxAudioChannels: "2", - }, - { - Container: "mp4", - Type: "Video", - AudioCodec: "aac,mp2", - VideoCodec: "h264", - Context: "Streaming", - Protocol: "hls", - MaxAudioChannels: "2", - MinSegments: "1", - BreakOnNonKeyFrames: true, - Conditions: [ - { - Condition: "LessThanEqual", - Property: "Width", - Value: "960", - IsRequired: false, - }, - { - Condition: "LessThanEqual", - Property: "Height", - Value: "960", - IsRequired: false, - }, - { - Condition: "LessThanEqual", - Property: "VideoFramerate", - Value: "60", - IsRequired: false, - }, - ], - }, - { - Container: "ts", - Type: "Video", - AudioCodec: "aac,mp3,mp2", - VideoCodec: "h264", - Context: "Streaming", - Protocol: "hls", - MaxAudioChannels: "2", - MinSegments: "1", - BreakOnNonKeyFrames: true, - Conditions: [ - { - Condition: "LessThanEqual", - Property: "Width", - Value: "960", - IsRequired: false, - }, - { - Condition: "LessThanEqual", - Property: "Height", - Value: "960", - IsRequired: false, - }, - { - Condition: "LessThanEqual", - Property: "VideoFramerate", - Value: "60", - IsRequired: false, - }, - ], - }, - ], - ContainerProfiles: [], - CodecProfiles: [ - { - Type: "VideoAudio", - Codec: "aac", - Conditions: [ - { - Condition: "Equals", - Property: "IsSecondaryAudio", - Value: "false", - IsRequired: false, - }, - ], - }, - { - Type: "VideoAudio", - Conditions: [ - { - Condition: "Equals", - Property: "IsSecondaryAudio", - Value: "false", - IsRequired: false, - }, - ], - }, - { - Type: "Video", - Codec: "h264", - Conditions: [ - { - Condition: "NotEquals", - Property: "IsAnamorphic", - Value: "true", - IsRequired: false, - }, - { - Condition: "EqualsAny", - Property: "VideoProfile", - Value: "high|main|baseline|constrained baseline", - IsRequired: false, - }, - { - Condition: "EqualsAny", - Property: "VideoRangeType", - Value: "SDR", - IsRequired: false, - }, - { - Condition: "LessThanEqual", - Property: "VideoLevel", - Value: "52", - IsRequired: false, - }, - { - Condition: "NotEquals", - Property: "IsInterlaced", - Value: "true", - IsRequired: false, - }, - ], - }, - { - Type: "Video", - Conditions: [ - { - Condition: "LessThanEqual", - Property: "Width", - Value: "960", - IsRequired: false, - }, - { - Condition: "LessThanEqual", - Property: "Height", - Value: "960", - IsRequired: false, - }, - { - Condition: "LessThanEqual", - Property: "VideoFramerate", - Value: "65", - IsRequired: false, - }, - ], - }, - ], - SubtitleProfiles: [ - { - Method: "Encode", - }, - ], -};