mirror of
https://github.com/streamyfin/streamyfin.git
synced 2026-06-01 11:38:26 +01:00
chore
This commit is contained in:
@@ -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'
|
|
||||||
}
|
|
||||||
]
|
|
||||||
};
|
|
||||||
@@ -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
|
|
||||||
]
|
|
||||||
};
|
|
||||||
@@ -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)
|
|
||||||
]
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -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",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
};
|
|
||||||
Reference in New Issue
Block a user