J'essaie d'extraire et d'analyser des fichiers mp4 plus rapidement qu'en temps réel car je n'ai pas besoin de toutes les images.Extraction de trame rapide à partir de fichiers mp4 sous UWP
J'ai essayé suivante:
composition.GetThumbnailAsync(TimeSpan.FromSeconds(i),160,90,VideoFramePrecision.NearestKeyFrame);
qui m'a donné au sujet 1FPS avant tout traitement.
mediaPlayer.PlaybackSession.PlaybackRate = x;
où x fonctionnerait différemment pour chaque vidéo; parfois jouerait une lecture lisse à 60fps jusqu'à x = 2, mais sur d'autres cela donnerait 1 fps.
Les meilleurs résultats ont été avec MediaPlayer mise mediaPlayer.IsVideoFrameServerEnabled = true;
avec mediaPlayer.StepForwardOneFrame();
dans mediaPlayer_VideoFrameAvailable
Cela assurerait tous les cadres suivants sont arrivés après chacun est réellement fait (pour le meilleur ou pire selon le dossier), mais gaspille encore ressources que je reçois chaque image, et ont besoin de chaque> 5ème image.
Je pense que tout cela est lié à des images clés ou des images "I" dans la vidéo, mais je ne vois pas qu'il existe un moyen de les obtenir uniquement.
Des idées pour obtenir des images plus rapidement en sautant n images à la fois?