소스 검색

extract key frame info

Luke Pulverenti 10 년 전
부모
커밋
3a00f003f5
1개의 변경된 파일15개의 추가작업 그리고 13개의 파일을 삭제
  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)
                     {
-                        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);
+                                }
                             }
                         }
                     }