Pergunta

Então, eu tenho procurado o mundo da reprodução da mídia para o Windows e comecei a fazer um media player C# usando o DirectShow. Comecei usando o renderizador de vídeo com janelas do VRM-7 e foi brilhante, exceto que tinha alguns pequenos problemas (multi monitores, tela cheia). Mas, depois de algumas pesquisas, descobri que ela está depreciada e eu deveria estar usando o VRM9. Então eu mudei para usar o VRM9 Windowless e descobri que era um antigo post rofl> _ <Então, finalmente, estou usando o Vista/Win7 (ou XP .NET 3) Renderizador de vídeo aprimorado (EVR), que aparentemente é o mais atualizado Renderizador de vídeo da Microsoft e tem todas as coisas chamativas de desempenho/qualidade adicionadas a ele. (TBH, não notei nenhuma diferença, mas talvez precise de um vídeo de raios azul ou HQ para observar).

Com o uso do EVR, tudo está funcionando bem, exceto redimensionar o vídeo. É realmente lento/agitado/choroso e provavelmente algo a ver com seu mecanismo de fila de quadros.

Para demonstrar meu problema

  1. Abra o Windows Media Player Classic.
  2. Visualização -> Opções -> Playback -> Saída
  3. Escolheu o renderizador de vídeo "EVR" DirectShow

Agora reinicie a aula do WMP e reproduz um vídeo, enquanto joga clique e arraste um canto para redimensioná -lo. Você notará que é horrivelmente atrasado. Este é exatamente o mesmo problema que estou tendo.

Mas se você escolheu o redimensionamento "EVR Custom Pres. Suponho que "Pres personalizado. Fora.

Então, basicamente, não vou saber como posso corrigir esse problema de redimensionamento retardado e existe alguma documentação decente por aí? Há um pouco para o VMR7/9, mas não muito para o EVR. Eu baixei o DirectX SDK, que aparentemente possui amostras, mas foi um desperdício de 500 MB de largura de banda, pois não tinha nada relevante.

Talvez exista alguma maneira de forçá -lo a fazer filas se esse é o problema? Se você quiser código, diga a palavra e vou colar um pouco. Mas é realmente bastante simples e nada acontece, estou convencido de que é um problema com o renderizador do EVR.

Edit: Ah, e uma outra coisa, o que o VLC usa? Se você entrar em opções de VLC e alterar o renderizador para qualquer coisa, exceto o padrão, todos elas são péssimas. Então está usando o VMR7? Ou seu próprio?

Foi útil?

Solução

Eu preciso escrever meu próprio apresentador personalizado, que da aparência de http://msdn.microsoft.com/en-us/library/bb530107(vs.85).aspx é uma tarefa relativamente grande.

Acho que vou olhar para a amostra e tentar ir a partir daí

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top