|
|
|
@ -42,6 +42,11 @@ namespace MediaBrowser.Controller.MediaEncoding
|
|
|
|
|
{
|
|
|
|
|
var hwType = encodingOptions.HardwareAccelerationType;
|
|
|
|
|
|
|
|
|
|
if (!encodingOptions.EnableHardwareEncoding)
|
|
|
|
|
{
|
|
|
|
|
hwType = null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (string.Equals(hwType, "qsv", StringComparison.OrdinalIgnoreCase) ||
|
|
|
|
|
string.Equals(hwType, "h264_qsv", StringComparison.OrdinalIgnoreCase))
|
|
|
|
|
{
|
|
|
|
@ -1761,14 +1766,11 @@ namespace MediaBrowser.Controller.MediaEncoding
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (state.VideoStream != null && !string.IsNullOrWhiteSpace(state.VideoStream.Codec))
|
|
|
|
|
if (state.VideoStream != null &&
|
|
|
|
|
!string.IsNullOrWhiteSpace(state.VideoStream.Codec) &&
|
|
|
|
|
!string.IsNullOrWhiteSpace(encodingOptions.HardwareAccelerationType) &&
|
|
|
|
|
encodingOptions.EnableHardwareDecoding)
|
|
|
|
|
{
|
|
|
|
|
if (!string.IsNullOrWhiteSpace(encodingOptions.HardwareAccelerationType))
|
|
|
|
|
{
|
|
|
|
|
// causing unpredictable results
|
|
|
|
|
//return "-hwaccel auto";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (string.Equals(encodingOptions.HardwareAccelerationType, "qsv", StringComparison.OrdinalIgnoreCase))
|
|
|
|
|
{
|
|
|
|
|
switch (state.MediaSource.VideoStream.Codec.ToLower())
|
|
|
|
@ -1818,6 +1820,13 @@ namespace MediaBrowser.Controller.MediaEncoding
|
|
|
|
|
return "-c:v h264_cuvid ";
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case "hevc":
|
|
|
|
|
case "h265":
|
|
|
|
|
if (_mediaEncoder.SupportsDecoder("hevc_cuvid"))
|
|
|
|
|
{
|
|
|
|
|
return "-c:v hevc_cuvid ";
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|