mirror of
https://github.com/streamyfin/streamyfin.git
synced 2025-08-20 18:37:18 +02:00
181 lines
3.4 KiB
JavaScript
181 lines
3.4 KiB
JavaScript
/**
|
|
* 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'
|
|
}
|
|
]
|
|
};
|