Jelajahi Sumber

Fix H264 level on safari fmp4

Nyanmisaka 3 tahun lalu
induk
melakukan
4a1aa619d2
1 mengubah file dengan 5 tambahan dan 3 penghapusan
  1. 5 3
      MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs

+ 5 - 3
MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs

@@ -1062,10 +1062,12 @@ namespace MediaBrowser.Controller.MediaEncoding
                 }
                 }
                 else if (string.Equals(state.ActualOutputVideoCodec, "h264", StringComparison.OrdinalIgnoreCase))
                 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";
                     }
                     }
                 }
                 }
             }
             }