Merge pull request #7643 from jellyfin/h264-level

(cherry picked from commit 12f9132975)
Signed-off-by: crobibero <cody@robibe.ro>
This commit is contained in:
Cody Robibero 2022-04-22 16:40:53 -06:00 committed by crobibero
parent e5e7c10b81
commit 76cfb8c903

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";
}
}
}