Selaa lähdekoodia

extract key frame info

Luke Pulverenti 10 vuotta sitten
vanhempi
sitoutus
3a00f003f5
1 muutettua tiedostoa jossa 15 lisäystä ja 13 poistoa
  1. 15 13
      MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs

+ 15 - 13
MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs

@@ -238,21 +238,23 @@ namespace MediaBrowser.MediaEncoding.Encoder
 
 
                     if (extractKeyFrameInterval && mediaInfo.RunTimeTicks.HasValue)
                     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);
+                                }
                             }
                             }
                         }
                         }
                     }
                     }