我制作了一个AIR应用程序,它使用logitech c920网络摄像头进行图像捕获。当我使用Logitech软件时,相机可以完美地显示和记录720p和1080p。但是当我在我的AIR应用程序中使用720p时,存在明显的延迟。仍然可用,但很烦人。 1080p在滞后方面是不可接受的。这一切都在i3笔记本电脑上。在我的i7桌面上有更少的延迟,我可以做1080p,但它仍然不如我使用Logitech软件时那么好。
另一个奇怪的事情是我的旧相机,Logitech 9000似乎在Flash或Air中不再正常工作。滞后时间是几秒钟。
我的问题是:(1)罗技驱动程序是否使用GPU加速来使网络摄像头即使在慢速i3计算机上也能快速工作,而闪存则不行? (2)为什么老式相机现在无论是在i3还是i7上都能提供如此蹩脚的性能? Flash改变了它处理相机的方式吗? (3)Flash Player是否会更新以允许网络摄像头的GPU加速?
答案 0 :(得分:2)
简单的事实是,Flash的性能对于实时视频应用来说还不够好。
如果你可以attach your webcam到StageVideo
(GPU解码)而不是使用旧的Video
类,那么滞后会更好。或者你可以简单地降低分辨率......
如果您想开发实时视频应用,请先查看Cinder或OpenFrameworks。两者都使用C ++和性能是惊人的。我亲自在Cinder的多台显示器上完成了涉及4k视频的项目。
另一种选择是使用Max MSP,在视频性能方面比Flash强大得多,并且您可以使用节点和方框进行直观编程。