rework transcoding settings

This commit is contained in:
Luke Pulverenti
2015-07-30 21:52:11 -04:00
parent a2b9ee8ac6
commit 901dab5760
10 changed files with 35 additions and 183 deletions

View File

@@ -521,42 +521,18 @@ namespace MediaBrowser.MediaEncoding.Encoder
var isVc1 = state.VideoStream != null &&
string.Equals(state.VideoStream.Codec, "vc1", StringComparison.OrdinalIgnoreCase);
var qualitySetting = state.Quality;
if (string.Equals(videoCodec, "libx264", StringComparison.OrdinalIgnoreCase))
{
param = "-preset superfast";
switch (qualitySetting)
{
case EncodingQuality.HighSpeed:
param += " -crf 28";
break;
case EncodingQuality.HighQuality:
param += " -crf 25";
break;
case EncodingQuality.MaxQuality:
param += " -crf 21";
break;
}
param += " -crf 28";
}
else if (string.Equals(videoCodec, "libx265", StringComparison.OrdinalIgnoreCase))
{
param = "-preset fast";
switch (qualitySetting)
{
case EncodingQuality.HighSpeed:
param += " -crf 28";
break;
case EncodingQuality.HighQuality:
param += " -crf 25";
break;
case EncodingQuality.MaxQuality:
param += " -crf 21";
break;
}
param += " -crf 28";
}
// webm
@@ -569,20 +545,7 @@ namespace MediaBrowser.MediaEncoding.Encoder
var qmin = "0";
var qmax = "50";
switch (qualitySetting)
{
case EncodingQuality.HighSpeed:
crf = "10";
break;
case EncodingQuality.HighQuality:
crf = "6";
break;
case EncodingQuality.MaxQuality:
crf = "4";
break;
default:
throw new ArgumentException("Unrecognized quality setting");
}
crf = "10";
if (isVc1)
{

View File

@@ -25,7 +25,6 @@ namespace MediaBrowser.MediaEncoding.Encoder
public Stream LogFileStream { get; set; }
public IProgress<double> Progress { get; set; }
public TaskCompletionSource<bool> TaskCompletionSource;
public EncodingQuality Quality { get; set; }
public EncodingJobOptions Options { get; set; }
public string InputContainer { get; set; }
public MediaSourceInfo MediaSource { get; set; }

View File

@@ -96,10 +96,6 @@ namespace MediaBrowser.MediaEncoding.Encoder
TryStreamCopy(state, request);
state.Quality = options.Context == EncodingContext.Static ?
EncodingQuality.MaxQuality :
GetQualitySetting();
return state;
}
@@ -199,25 +195,6 @@ namespace MediaBrowser.MediaEncoding.Encoder
state.MediaSource = mediaSource;
}
protected EncodingQuality GetQualitySetting()
{
var quality = GetEncodingOptions().EncodingQuality;
if (quality == EncodingQuality.Auto)
{
var cpuCount = Environment.ProcessorCount;
if (cpuCount >= 4)
{
//return EncodingQuality.HighQuality;
}
return EncodingQuality.HighSpeed;
}
return quality;
}
protected EncodingOptions GetEncodingOptions()
{
return _config.GetConfiguration<EncodingOptions>("encoding");