dummy up audio bitrates when needed
This commit is contained in:
parent
0f198dc818
commit
e915ceda1b
|
@ -176,6 +176,14 @@ namespace MediaBrowser.MediaEncoding.Probing
|
||||||
info.Video3DFormat = Video3DFormat.FullSideBySide;
|
info.Video3DFormat = Video3DFormat.FullSideBySide;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
foreach (var mediaStream in info.MediaStreams)
|
||||||
|
{
|
||||||
|
if (mediaStream.Type == MediaStreamType.Audio && !mediaStream.BitRate.HasValue)
|
||||||
|
{
|
||||||
|
mediaStream.BitRate = GetEstimatedAudioBitrate(mediaStream.Codec, mediaStream.Channels);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
var videoStreamsBitrate = info.MediaStreams.Where(i => i.Type == MediaStreamType.Video).Select(i => i.BitRate ?? 0).Sum();
|
var videoStreamsBitrate = info.MediaStreams.Where(i => i.Type == MediaStreamType.Video).Select(i => i.BitRate ?? 0).Sum();
|
||||||
// If ffprobe reported the container bitrate as being the same as the video stream bitrate, then it's wrong
|
// If ffprobe reported the container bitrate as being the same as the video stream bitrate, then it's wrong
|
||||||
if (videoStreamsBitrate == (info.Bitrate ?? 0))
|
if (videoStreamsBitrate == (info.Bitrate ?? 0))
|
||||||
|
@ -187,6 +195,32 @@ namespace MediaBrowser.MediaEncoding.Probing
|
||||||
return info;
|
return info;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private int? GetEstimatedAudioBitrate(string codec, int? channels)
|
||||||
|
{
|
||||||
|
if (!channels.HasValue)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
var channelsValue = channels.Value;
|
||||||
|
|
||||||
|
if (string.Equals(codec, "aac", StringComparison.OrdinalIgnoreCase) ||
|
||||||
|
string.Equals(codec, "mp3", StringComparison.OrdinalIgnoreCase))
|
||||||
|
{
|
||||||
|
if (channelsValue <= 2)
|
||||||
|
{
|
||||||
|
return 192000;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (channelsValue >= 5)
|
||||||
|
{
|
||||||
|
return 320000;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
private void FetchFromItunesInfo(string xml, MediaInfo info)
|
private void FetchFromItunesInfo(string xml, MediaInfo info)
|
||||||
{
|
{
|
||||||
// Make things simpler and strip out the dtd
|
// Make things simpler and strip out the dtd
|
||||||
|
|
|
@ -61,6 +61,12 @@ namespace MediaBrowser.Model.Drawing
|
||||||
_height = height;
|
_height = height;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ImageSize(double width, double height)
|
||||||
|
{
|
||||||
|
_width = width;
|
||||||
|
_height = height;
|
||||||
|
}
|
||||||
|
|
||||||
private void ParseValue(string value)
|
private void ParseValue(string value)
|
||||||
{
|
{
|
||||||
if (!string.IsNullOrEmpty(value))
|
if (!string.IsNullOrEmpty(value))
|
||||||
|
|
Loading…
Reference in New Issue
Block a user