Przeglądaj źródła

Merge pull request #7718 from jellyfin/dovi-hevc-remux

(cherry picked from commit f7ef7d9eda71d42dce46c91f1398eccc0b4b1b6c)
Signed-off-by: crobibero <cody@robibe.ro>
Bond-009 3 lat temu
rodzic
commit
b1b83d8111
1 zmienionych plików z 12 dodań i 2 usunięć
  1. 12 2
      Jellyfin.Api/Controllers/DynamicHlsController.cs

+ 12 - 2
Jellyfin.Api/Controllers/DynamicHlsController.cs

@@ -1773,13 +1773,23 @@ namespace Jellyfin.Api.Controllers
 
             var args = "-codec:v:0 " + codec;
 
-            // Prefer hvc1 to hev1.
             if (string.Equals(state.ActualOutputVideoCodec, "h265", StringComparison.OrdinalIgnoreCase)
                 || string.Equals(state.ActualOutputVideoCodec, "hevc", StringComparison.OrdinalIgnoreCase)
                 || string.Equals(codec, "h265", StringComparison.OrdinalIgnoreCase)
                 || string.Equals(codec, "hevc", StringComparison.OrdinalIgnoreCase))
             {
-                args += " -tag:v:0 hvc1";
+                if (EncodingHelper.IsCopyCodec(codec)
+                    && (string.Equals(state.VideoStream.CodecTag, "dvh1", StringComparison.OrdinalIgnoreCase)
+                        || string.Equals(state.VideoStream.CodecTag, "dvhe", StringComparison.OrdinalIgnoreCase)))
+                {
+                    // Prefer dvh1 to dvhe
+                    args += " -tag:v:0 dvh1";
+                }
+                else
+                {
+                    // Prefer hvc1 to hev1
+                    args += " -tag:v:0 hvc1";
+                }
             }
 
             // if  (state.EnableMpegtsM2TsMode)