diff --git a/src/plugins/htmlVideoPlayer/plugin.js b/src/plugins/htmlVideoPlayer/plugin.js index 4bc0d60a377..47cc00156f5 100644 --- a/src/plugins/htmlVideoPlayer/plugin.js +++ b/src/plugins/htmlVideoPlayer/plugin.js @@ -119,6 +119,12 @@ function requireHlsPlayer(callback) { }); } +function getMediaStreamVideoTracks(mediaSource) { + return mediaSource.MediaStreams.filter(function (s) { + return s.Type === 'Video'; + }); +} + function getMediaStreamAudioTracks(mediaSource) { return mediaSource.MediaStreams.filter(function (s) { return s.Type === 'Audio'; @@ -1274,6 +1280,9 @@ export class HtmlVideoPlayer { }); const htmlVideoPlayer = this; import('@jellyfin/libass-wasm').then(({ default: SubtitlesOctopus }) => { + const mediaSource = this._currentPlayOptions.mediaSource; + const videoStream = getMediaStreamVideoTracks(mediaSource)[0]; + const options = { video: videoElement, subUrl: getTextTrackUrl(track, item), @@ -1296,7 +1305,7 @@ export class HtmlVideoPlayer { dropAllAnimations: false, libassMemoryLimit: 40, libassGlyphLimit: 40, - targetFps: 24, + targetFps: videoStream?.ReferenceFrameRate || videoStream?.RealFrameRate || 24, prescaleFactor: 0.8, prescaleHeightLimit: 1080, maxRenderHeight: 2160,