Şu anda yüksek tanımlı WMV ve H264 videolarını oynatması gereken bir Windows .NET uygulaması prototipini hazırlıyor. Test dosyalarım tam 1080p.Donanımda hızlandırılmış video DirectShow/WinForms
hedef donanım zayıf Atom işlemciler ancak güçlü NVidia 9400 grafiklere sahip. Grafiklerin entegre olduğunu biliyorum ama benim anlayışım, video oynatma için iyi olmaları.
WPF benim test dosyalarını oynatmak eğer Test Windows 7, MediaElement denetimi kullanarak, benim CPU kullanımı Ancak 0.olduğu hedef işletim sistemi Windows XP
ve biz .NET 3.0 olmayabilir . Bu nedenle uygulamanın WinForms'ta çalışması gerekiyor. Çeşitli nedenlerle, Windows Media Player ActiveX bir seçenek değildir. Bu yüzden DirectShow'a bakıyoruz.
geri VMR9 kullanarak tam ekran video oynatırken, DirectShow.Net kullanarak çalar araya koydu. Bu yaklaşımı kullanarak, WMV dosyalarım% 20 - 30 CPU arasında bir yer tüketiyor. Oynamak için H264 dosyalarını bile almak için bir mp4 muxer/demuxer kurmam gerekiyordu ve daha sonra% 40 - 50 CPU kullanıyorlardı.
- Windows 7'nin H264'ü desteklediğini biliyorum. Ancak, bir DirectShow filtresi değil gibi görünüyor?
- Videom neden WPF kullanarak hızlanıyor, ancak DirectShow'u kullanırken değil? Anladığım kadarıyla DirectShow DXvA'yı destekliyor.
tldr: WinForms'ta donanım hızlandırılmış WMV ve H264 video oynatmayı nasıl başarabilirim?
Teşekkürler!
Daha iyi bir mükemmellik elde etmek için DirectShow ile çalışan daha akıllı bir kod çözücü bulmanız gerekir. İyi olanlar paraya mal olur, ffdshow ücretsizdir. Bir noktada, .NET 3.0'ı henüz yüklemeyen birkaç XP makinesine kurmanın, muhtemelen pahalı ve kırılgan kod çözücüleri kurmaktan daha az güçlük çekip getirmeyeceğini düşünmek isteyebilirsiniz. –
Teşekkürler! Görünüşe göre .NET 3.0 EVR yanıtı ... – TheNextman