Bir örnek IFilterGraph - kendi video filtrelerle (kaynak, transofrm ve renderer) grafiğim var. Akan grafiğin mevcut fps değerini (video kare hızı) nasıl edinebilirim? Selamlar DominikDirect Göster grafiği - Şu anki fps'yi nasıl alırsınız?
cevap
Muhtemelen en kolay yolu özel geri arama ile bir SampleGrabber filtre oluşturma ve kendiniz hesaplamaktır.
bakınız:
geri arama işlevini her çağrıldığında, yeni bir çerçeve aldık. Muhtemelen bunu işleyiciden hemen önce koymalısınız. Ayrıca, grafiğinize bağlı olarak, bazı filtrelerin kare hızı hakkında bilgi olabilir, ancak SampleGrabber yöntemi herhangi bir grafikle çalışabilir.
Her video sabit bir FPS'ye sahip değildir, bu nedenle örnek kapmak kullanmak en kolay yöntem olmasa da en doğru yöntemdir. Videonuzun formatını biliyorsanız ve sabit bir FPS'ye sahip olduğundan eminseniz, dönüşüm veya render süzgecinizi alabilir, pinlerinden birini alabilirsiniz, IPin :: ConnectionMediaType'ı çağırın, FORMAT_VideoInfo veya FORMAT_VideoInfo2 olsun, medya türünün biçim türüne bakın. buna göre VIDEOINFOHEADER veya VIDEOINFOHEADER2'ye formatlama işaretçisi göster ve AvgTimePerFrame alanına bak.
Umarım bu yardımcı olur. Aktardığım videonun FPS'sini almak için birçok ay önce yazdığım bir rutin. Çeşitli medya türleri için çalışır, ancak ihtiyacınız varsa başka medya türlerini nasıl destekleyeceğinizi öğrenmelisiniz. Daha fazla bilgi için AM_MEDIA_TYPE numaralı MSDN sayfasına bakın.
inline static void GetVideoFramesPerSecond(const AM_MEDIA_TYPE * pVT, long *plFramesPerSecond)
{
long nTenMillion = 10000000;
long lAvgFrameDuration = 0;
if(pVT->formattype == FORMAT_VideoInfo || pVT->formattype == FORMAT_MPEGVideo)
lAvgFrameDuration = (LONG) ((VIDEOINFOHEADER *)(pVT->pbFormat))->AvgTimePerFrame;
else if(pVT->formattype == FORMAT_VideoInfo2 || pVT->formattype == FORMAT_MPEG2_VIDEO)
lAvgFrameDuration = (LONG) ((VIDEOINFOHEADER2 *)(pVT->pbFormat))->AvgTimePerFrame;
*plFramesPerSecond = (lAvgFrameDuration != 0) ? ((long)(nTenMillion/lAvgFrameDuration)) : 0;
}
- 1. Android: ViewPager FragmentStatePagerAdapter şu anki görünümünü göster
- 2. Javascript: Şu anki sayfayı göster CURRENT kaynağı
- 3. Şu anki() bugüne kadarki kayıtları göster (sonraki 7) in mysql
- 4. Ember.js şu anki rotanı alıyor
- 5. Şu anki dili girin C#
- 6. Magento - şu anki ürünü alın
- 7. ThreeJS - Animasyonda şu anki ayar nasıl ayarlanır
- 8. od direct direct direct direct direct direct direct direct direct ra ra ra ra ra ra ra ra ra ra ra ra ra
- 9. Django - Şu anki tarihi ve saati şu tarihte teslim edin:
- 10. JSFL şu anki ekran görüntüsü alınıyor
- 11. Jquery'yi kullanarak şu anki URL'yi al
- 12. Kubernetes dağıtımı için şu anki resmi getir
- 13. Şu anki kullanıcı adını bul Julia (Linux)
- 14. CoreData'yi şu anki bir projeye uyguladığınızda Swift
- 15. Geçerli kod satırı şu anki Ruby'de alınıyor
- 16. Şu anki hattaki durumu seç intellij
- 17. ARKit - Sahnede 'kamera' şu anki pozisyonunu alın
- 18. .NET web uygulamasında şu anki dizin alınılıyor
- 19. HttpUtility şu anki durumda mevcut değil
- 20. Şu anki konumumu almak için php
- 21. VB.Net Sadece şu anki satırı vurgular
- 22. Çevrimdışı uygulama için Meteor'ın şu anki durumu
- 23. Android GPS şu anki konumuna ulaşın
- 24. Helios projesinin şu anki durumu nedir?
- 25. Şu anki projeden bir 2008 şablonu nasıl oluşturulur?
- 26. Swift iOS Programlama'da someones şu anki konumuna nasıl ulaşılır?
- 27. Node.js içinde şu anki dizinde bir dizin nasıl oluşturulur
- 28. PHP: Saatte şu anki saati nasıl alabilirim: dakika: saniye?
- 29. Şu anda oynatılan videonun ekran görüntüsünü nasıl alırsınız?
- 30. Xamarin Android ışık sensörü - şu anki değeri al