|
@@ -238,21 +238,23 @@ namespace MediaBrowser.MediaEncoding.Encoder
|
|
|
|
|
|
if (extractKeyFrameInterval && mediaInfo.RunTimeTicks.HasValue)
|
|
|
{
|
|
|
- foreach (var stream in mediaInfo.MediaStreams.Where(i => i.Type == MediaStreamType.Video)
|
|
|
- .ToList())
|
|
|
+ foreach (var stream in mediaInfo.MediaStreams)
|
|
|
{
|
|
|
- try
|
|
|
+ if (stream.Type == MediaStreamType.Video && string.Equals(stream.Codec, "h264", StringComparison.OrdinalIgnoreCase))
|
|
|
{
|
|
|
- stream.KeyFrames = await GetKeyFrames(inputPath, stream.Index, cancellationToken)
|
|
|
- .ConfigureAwait(false);
|
|
|
- }
|
|
|
- catch (OperationCanceledException)
|
|
|
- {
|
|
|
-
|
|
|
- }
|
|
|
- catch (Exception ex)
|
|
|
- {
|
|
|
- _logger.ErrorException("Error getting key frame interval", ex);
|
|
|
+ try
|
|
|
+ {
|
|
|
+ stream.KeyFrames = await GetKeyFrames(inputPath, stream.Index, cancellationToken)
|
|
|
+ .ConfigureAwait(false);
|
|
|
+ }
|
|
|
+ catch (OperationCanceledException)
|
|
|
+ {
|
|
|
+
|
|
|
+ }
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+ _logger.ErrorException("Error getting key frame interval", ex);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|