Android — Получение пикселей SurfaceTexture быстро или трюк с TextArea

У меня есть приложение для чата в реальном времени Qt для Android (v 4.1, API 16), которое отправляет фрагменты H.264 / AAC на сервер RTMP.

На данный момент приложение использует SurfaceView для захвата кадров из Camera И в onPreviewFrame Функция, которую я кодирую кадры в фрагменты H.264 и другие Thread Я создаю фрагменты RTMP, которые отправляются на сервер RTMP, как я писал выше.

Фон прозрачный (с Qt::WindowStaysOnTopHint флаг) и QML UI рисует выше Camera«s SurfaceView — работает неплохо, без лагов и прочего. Но когда я пытался использовать QML TextArea (для написания сообщений чата), что также выше SurfaceViewНа некоторых устройствах (а не на Samsung) очень большие задержки, когда я нажимаю любую клавишу на виртуальной клавиатуре Android, что делает это приложение абсолютно непригодным для использования. Например, я набираю «LAG» на клавиатуре, и между отображением каждого символа в задержке 3-4 секунды. TextArea ))): SurfaceView и трансляция работает без лагов.

Итак, уважаемые разработчики, что я буду делать, чтобы решить эту проблему?

На данный момент я переехал Cameraпредварительный просмотр до SurfaceTexture и нарисовать его, используя Qt’s QSGGeometryNodeНо есть еще одна проблема: как читать пиксели с SurfaceTexture более эффективным? Можно ли сделать производительность быстрее или похожей на onPreviewFrame? Может быть, я двигаюсь в неправильном направлении, и я могу сделать некоторый трюк с TextArea?

Спасибо!

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]