Merge pull request #7643 from jellyfin/h264-level

This commit is contained in:
Cody Robibero 2022-04-22 16:40:53 -06:00 committed by GitHub
commit 12f9132975
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1062,10 +1062,12 @@ namespace MediaBrowser.Controller.MediaEncoding
}
else if (string.Equals(state.ActualOutputVideoCodec, "h264", StringComparison.OrdinalIgnoreCase))
{
// Clients may direct play higher than level 41, but there's no reason to transcode higher.
if (requestLevel >= 41)
// Transcode to level 5.1 and lower for maximum compatibility.
// h264 4k 30fps requires at least level 5.1 otherwise it will break on safari fmp4.
// https://en.wikipedia.org/wiki/Advanced_Video_Coding#Levels
if (requestLevel >= 51)
{
return "41";
return "51";
}
}
}