2010-05-10 5 views
1

J'ai donc étudié le monde de la lecture multimédia pour Windows et j'ai commencé à créer un Media Player C# en utilisant DirectShow. J'ai commencé à utiliser le moteur de rendu vidéo à fenêtres VRM-7 et c'était génial, sauf qu'il avait quelques petits problèmes (multi-écrans, plein écran). Mais après quelques recherches, j'ai trouvé qu'il est obsolète et que je devrais utiliser VRM9. Donc je l'ai changé pour utiliser sans fenêtre VRM9 alors découvert que c'était un ancien post rofl> _ < donc finalement j'utilise Vista/Win7 (ou XP .net 3) Enhanced Video Renderer (EVR) qui est apparemment le plus à date de rendu vidéo Microsoft et a toutes les choses flashy performance/qualité ajouté à elle. (tbh je n'ai pas remarqué de différence mais peut-être ai-je besoin d'une vidéo blue-ray ou HQ pour le remarquer). Avec l'utilisation de EVR, tout fonctionne correctement, sauf le redimensionnement de la vidéo. C'est vraiment laggy/clapot/teary et probablement quelque chose à faire avec son mécanisme de mise en file d'attente.Problème avec la fenêtre de redimensionnement de DirectShow EVR

Pour démontrer mon problème

  1. ouvrent lecteur windows media classique.
  2. View -> Options -> Lecture -> Sortie
  3. a choisi le "EVR" DirectShow Video renderer

restart Maintenant classe wmp et lire une vidéo, alors qu'il joue cliquez et faites glisser un coin pour le redimensionner . Vous remarquerez son horriblement laggy. C'est exactement le même problème que j'ai. Mais si vous avez choisi "EVR Custom Pres. **" ou EVR Sync ** "le redimensionnement fonctionne à merveille! J'ai donc essayé de faire des recherches sur les problèmes de redimensionnement EVR et comment y remédier mais je ne pouvais pas croire à quel point Je pense que "Custom Pres." signifie "Custom Presenter", ce qui semble être le cas: Vous remarquerez également sur la taille de la main droite lorsque vous permutez entre EVR et les autres EVR's Resizer drop vers le bas à droite grise

Donc, fondamentalement, je ne sais pas comment je peux résoudre ce problème de redimensionnement retardé et y at-il une documentation décente là-bas? Il y a un peu juste pour VMR7/9 mais pas beaucoup pour EVR J'ai téléchargé le SDK DirectX qui a apparemment des échantillons mais c'était une perte de 500mb de bande passante cela n'avait rien de pertinent.

Peut-être existe-t-il un moyen de le forcer à ne pas mettre en file d'attente les trames si c'est le problème? Si vous voulez du code, dites le mot et j'en collerai. Mais c'est vraiment très simple et rien ne se passe, je suis convaincu que c'est un problème avec le moteur de rendu EVR.

EDIT: Oh et une autre chose, qu'est-ce que VLC utilise? Si vous allez dans les options de vlc et changez le moteur de rendu à n'importe quoi mais défaut, ils sucent tous. Alors utilise-t-il VMR7? Ou le sien?

+0

Je vois le même problème, mais de C++. Est-ce que écrire votre propre Présentateur Personnalisé était la solution à votre problème? –

Répondre

1

J'ai besoin d'écrire mon propre Presenter personnalisé, ce qui à partir de l'apparence de http://msdn.microsoft.com/en-us/library/bb530107(VS.85).aspx est une tâche relativement importante.

pense que je vais regarder à l'échantillon et essayer d'aller de là

+0

Je serais très intéressé d'entendre parler de vos conclusions à ce sujet, s'il vous plaît poster sur la façon dont vous vous êtes;) –

Questions connexes