Я много разбирался в этой теме, но кажется, что я делаю что-то неправильно или мое понимание как-то не так.Максимальная производительность захвата и отображения видеокамеры
Поскольку у меня довольно хороший смартфон (Nexus 4), я предположил, что это должно быть тривиальной задачей. Но все мои усилия не оправдались. Например. Я достиг всего 10 FPS для потока 800x480, используя новейшую инфраструктуру OpenCV.
Итак, можно ли достичь> 25FPS для захвата и отображения высококачественного видео с камеры моего телефона? Если да, то какова лучшая стратегия для этого? Особые соображения устройства приветствуются.
Ресурсы я использовал:
- http://obviam.net/index.php/texture-mapping-opengl-android-displaying-images-using-opengl-and-squares/
- http://mesai0.blogspot.de/2013/01/android-native-camera-with-opencv-and.html
- http://opencv.org/
Update: Я был в состоянии увеличить производительность до захвата почти постоянными ~ 25fps @ 1280x720, просто установив recording hint, пока e используя SurfaceTexture и TextureView в качестве раковины камеры.
Однако мне интересно, возможно ли увеличить производительность еще больше. Я пытался использовать разные форматы предварительного просмотра, но без везения. Возможно, существует неявный верхний предел, примененный к производительности захвата, о котором я не знаю.
Тем не менее, я продолжу исследования и информирую вас. Все виды информации по-прежнему приветствуются!
Не знаю, просто добавьте комментарий, чтобы получить уведомление об итогах;) (и, для сравнения, мой дешевый таблетка trekstor получает 15 кадров в секунду (640x480) без какой-либо обработки, ocv245 – berak
openCV неизменно неряшлив IMO - что происходит, когда вы пытаетесь потоковой передачи без него? –
Другой ресурс для использования: http://stackoverflow.com/questions/3871311/how-can-i-profile-my-android-app – Bull