فهرست منبع

Merge pull request #2509 from gerrit507/nvenc

Fix naming of nvenc codecs. It should be nvenc_h264.
Luke 8 سال پیش
والد
کامیت
9dd5dcc4bc
1فایلهای تغییر یافته به همراه6 افزوده شده و 2 حذف شده
  1. 6 2
      MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs

+ 6 - 2
MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs

@@ -667,9 +667,8 @@ namespace MediaBrowser.Controller.MediaEncoding
                 var level = NormalizeTranscodingLevel(state.OutputVideoCodec, request.Level);
 
                 // h264_qsv and h264_nvenc expect levels to be expressed as a decimal. libx264 supports decimal and non-decimal format
-                // also needed for libx264 due to https://trac.ffmpeg.org/ticket/3307
+                // also needed for libx264 due to https://trac.ffmpeg.org/ticket/3307                
                 if (string.Equals(videoEncoder, "h264_qsv", StringComparison.OrdinalIgnoreCase) ||
-                    string.Equals(videoEncoder, "h264_nvenc", StringComparison.OrdinalIgnoreCase) ||
                     string.Equals(videoEncoder, "libx264", StringComparison.OrdinalIgnoreCase))
                 {
                     switch (level)
@@ -706,10 +705,15 @@ namespace MediaBrowser.Controller.MediaEncoding
                             break;
                     }
                 }
+                // nvenc doesn't decode with param -level set ?!
+                if (string.Equals(videoEncoder, "h264_nvenc", StringComparison.OrdinalIgnoreCase)){
+                    param += "";
+                }
                 else if (!string.Equals(videoEncoder, "h264_omx", StringComparison.OrdinalIgnoreCase))
                 {
                     param += " -level " + level;
                 }
+                
             }
 
             if (string.Equals(videoEncoder, "libx264", StringComparison.OrdinalIgnoreCase))