use larger batch size on mpegts to avoid corrupted thumbnails

This commit is contained in:
nyanmisaka 2020-12-09 14:39:11 +08:00
parent 87e13b858a
commit ebd9ab3ccc

View File

@ -603,16 +603,19 @@ namespace MediaBrowser.MediaEncoding.Encoder
} }
// Use ffmpeg to sample 100 (we can drop this if required using thumbnail=50 for 50 frames) frames and pick the best thumbnail. Have a fall back just in case. // Use ffmpeg to sample 100 (we can drop this if required using thumbnail=50 for 50 frames) frames and pick the best thumbnail. Have a fall back just in case.
// mpegts need larger batch size otherwise the corrupted thumbnail will be created. Larger batch size will lower the processing speed.
var enableThumbnail = useIFrame && !string.Equals("wtv", container, StringComparison.OrdinalIgnoreCase); var enableThumbnail = useIFrame && !string.Equals("wtv", container, StringComparison.OrdinalIgnoreCase);
var useLargerBatchSize = string.Equals("mpegts", container, StringComparison.OrdinalIgnoreCase);
if (enableThumbnail) if (enableThumbnail)
{ {
var batchSize = useLargerBatchSize ? "50" : "24";
if (string.IsNullOrEmpty(vf)) if (string.IsNullOrEmpty(vf))
{ {
vf = "-vf thumbnail=24"; vf = "-vf thumbnail=" + batchSize;
} }
else else
{ {
vf += ",thumbnail=24"; vf += ",thumbnail=" + batchSize;
} }
} }