|
|
|
@ -2547,7 +2547,7 @@ namespace MediaBrowser.Controller.MediaEncoding
|
|
|
|
|
encodingOptions.HardwareDecodingCodecs = Array.Empty<string>();
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
return "-c:v h264_qsv ";
|
|
|
|
|
return "-c:v h264_qsv";
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case "hevc":
|
|
|
|
@ -2555,19 +2555,19 @@ namespace MediaBrowser.Controller.MediaEncoding
|
|
|
|
|
if (_mediaEncoder.SupportsDecoder("hevc_qsv") && encodingOptions.HardwareDecodingCodecs.Contains("hevc", StringComparer.OrdinalIgnoreCase))
|
|
|
|
|
{
|
|
|
|
|
//return "-c:v hevc_qsv -load_plugin hevc_hw ";
|
|
|
|
|
return "-c:v hevc_qsv ";
|
|
|
|
|
return "-c:v hevc_qsv";
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case "mpeg2video":
|
|
|
|
|
if (_mediaEncoder.SupportsDecoder("mpeg2_qsv") && encodingOptions.HardwareDecodingCodecs.Contains("mpeg2video", StringComparer.OrdinalIgnoreCase))
|
|
|
|
|
{
|
|
|
|
|
return "-c:v mpeg2_qsv ";
|
|
|
|
|
return "-c:v mpeg2_qsv";
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case "vc1":
|
|
|
|
|
if (_mediaEncoder.SupportsDecoder("vc1_qsv") && encodingOptions.HardwareDecodingCodecs.Contains("vc1", StringComparer.OrdinalIgnoreCase))
|
|
|
|
|
{
|
|
|
|
|
return "-c:v vc1_qsv ";
|
|
|
|
|
return "-c:v vc1_qsv";
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
@ -2587,32 +2587,32 @@ namespace MediaBrowser.Controller.MediaEncoding
|
|
|
|
|
encodingOptions.HardwareDecodingCodecs = Array.Empty<string>();
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
return "-c:v h264_cuvid ";
|
|
|
|
|
return "-c:v h264_cuvid";
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case "hevc":
|
|
|
|
|
case "h265":
|
|
|
|
|
if (_mediaEncoder.SupportsDecoder("hevc_cuvid") && encodingOptions.HardwareDecodingCodecs.Contains("hevc", StringComparer.OrdinalIgnoreCase))
|
|
|
|
|
{
|
|
|
|
|
return "-c:v hevc_cuvid ";
|
|
|
|
|
return "-c:v hevc_cuvid";
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case "mpeg2video":
|
|
|
|
|
if (_mediaEncoder.SupportsDecoder("mpeg2_cuvid") && encodingOptions.HardwareDecodingCodecs.Contains("mpeg2video", StringComparer.OrdinalIgnoreCase))
|
|
|
|
|
{
|
|
|
|
|
return "-c:v mpeg2_cuvid ";
|
|
|
|
|
return "-c:v mpeg2_cuvid";
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case "vc1":
|
|
|
|
|
if (_mediaEncoder.SupportsDecoder("vc1_cuvid") && encodingOptions.HardwareDecodingCodecs.Contains("vc1", StringComparer.OrdinalIgnoreCase))
|
|
|
|
|
{
|
|
|
|
|
return "-c:v vc1_cuvid ";
|
|
|
|
|
return "-c:v vc1_cuvid";
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case "mpeg4":
|
|
|
|
|
if (_mediaEncoder.SupportsDecoder("mpeg4_cuvid") && encodingOptions.HardwareDecodingCodecs.Contains("mpeg4", StringComparer.OrdinalIgnoreCase))
|
|
|
|
|
{
|
|
|
|
|
return "-c:v mpeg4_cuvid ";
|
|
|
|
|
return "-c:v mpeg4_cuvid";
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
@ -2626,38 +2626,38 @@ namespace MediaBrowser.Controller.MediaEncoding
|
|
|
|
|
case "h264":
|
|
|
|
|
if (_mediaEncoder.SupportsDecoder("h264_mediacodec") && encodingOptions.HardwareDecodingCodecs.Contains("h264", StringComparer.OrdinalIgnoreCase))
|
|
|
|
|
{
|
|
|
|
|
return "-c:v h264_mediacodec ";
|
|
|
|
|
return "-c:v h264_mediacodec";
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case "hevc":
|
|
|
|
|
case "h265":
|
|
|
|
|
if (_mediaEncoder.SupportsDecoder("hevc_mediacodec") && encodingOptions.HardwareDecodingCodecs.Contains("hevc", StringComparer.OrdinalIgnoreCase))
|
|
|
|
|
{
|
|
|
|
|
return "-c:v hevc_mediacodec ";
|
|
|
|
|
return "-c:v hevc_mediacodec";
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case "mpeg2video":
|
|
|
|
|
if (_mediaEncoder.SupportsDecoder("mpeg2_mediacodec") && encodingOptions.HardwareDecodingCodecs.Contains("mpeg2video", StringComparer.OrdinalIgnoreCase))
|
|
|
|
|
{
|
|
|
|
|
return "-c:v mpeg2_mediacodec ";
|
|
|
|
|
return "-c:v mpeg2_mediacodec";
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case "mpeg4":
|
|
|
|
|
if (_mediaEncoder.SupportsDecoder("mpeg4_mediacodec") && encodingOptions.HardwareDecodingCodecs.Contains("mpeg4", StringComparer.OrdinalIgnoreCase))
|
|
|
|
|
{
|
|
|
|
|
return "-c:v mpeg4_mediacodec ";
|
|
|
|
|
return "-c:v mpeg4_mediacodec";
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case "vp8":
|
|
|
|
|
if (_mediaEncoder.SupportsDecoder("vp8_mediacodec") && encodingOptions.HardwareDecodingCodecs.Contains("vp8", StringComparer.OrdinalIgnoreCase))
|
|
|
|
|
{
|
|
|
|
|
return "-c:v vp8_mediacodec ";
|
|
|
|
|
return "-c:v vp8_mediacodec";
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case "vp9":
|
|
|
|
|
if (_mediaEncoder.SupportsDecoder("vp9_mediacodec") && encodingOptions.HardwareDecodingCodecs.Contains("vp9", StringComparer.OrdinalIgnoreCase))
|
|
|
|
|
{
|
|
|
|
|
return "-c:v vp9_mediacodec ";
|
|
|
|
|
return "-c:v vp9_mediacodec";
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
@ -2671,25 +2671,25 @@ namespace MediaBrowser.Controller.MediaEncoding
|
|
|
|
|
case "h264":
|
|
|
|
|
if (_mediaEncoder.SupportsDecoder("h264_mmal") && encodingOptions.HardwareDecodingCodecs.Contains("h264", StringComparer.OrdinalIgnoreCase))
|
|
|
|
|
{
|
|
|
|
|
return "-c:v h264_mmal ";
|
|
|
|
|
return "-c:v h264_mmal";
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case "mpeg2video":
|
|
|
|
|
if (_mediaEncoder.SupportsDecoder("mpeg2_mmal") && encodingOptions.HardwareDecodingCodecs.Contains("mpeg2video", StringComparer.OrdinalIgnoreCase))
|
|
|
|
|
{
|
|
|
|
|
return "-c:v mpeg2_mmal ";
|
|
|
|
|
return "-c:v mpeg2_mmal";
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case "mpeg4":
|
|
|
|
|
if (_mediaEncoder.SupportsDecoder("mpeg4_mmal") && encodingOptions.HardwareDecodingCodecs.Contains("mpeg4", StringComparer.OrdinalIgnoreCase))
|
|
|
|
|
{
|
|
|
|
|
return "-c:v mpeg4_mmal ";
|
|
|
|
|
return "-c:v mpeg4_mmal";
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case "vc1":
|
|
|
|
|
if (_mediaEncoder.SupportsDecoder("vc1_mmal") && encodingOptions.HardwareDecodingCodecs.Contains("vc1", StringComparer.OrdinalIgnoreCase))
|
|
|
|
|
{
|
|
|
|
|
return "-c:v vc1_mmal ";
|
|
|
|
|
return "-c:v vc1_mmal";
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|