2015-11-17 3 views
2

Я разрабатываю приложение для Android, которое в основном соединяет 2 смартфона по Bluetooth. Целью подключения является управление одной камерой устройства (подчиненным устройством) и съемка/видео с другого устройства (мастер).Потоковая передача видео по Bluetooth в приложении для Android

Я создал соединение Bluetooth между устройствами, один работает как клиент, а другой - как сервер. Сервер поворачивает камеру и слушает, если клиент предпринимает какие-либо действия (стрелять, увеличивать и т. Д.).

Теперь вопрос в том, как сервер (подчиненный) показывает клиенту (ведущему) его питание с камеры?

Я могу передавать байты между устройствами, и после прочтения некоторых статей об этой проблеме я считаю, что байты должны быть сжаты в кадры (ведомым), а затем открываться как изображения и отображаться на экране (на главном) ,

Кто-нибудь знает, каким будет лучший способ сделать это? Любой рекомендуемый протокол или API? Каковы плюсы и минусы для разных подходов?

Любая помощь будет оценена по достоинству.

+0

То же самое здесь, дайте мне знать, если вы нашли какое-либо обходное решение. спасибо –

+0

Можете ли вы разместить образец кода, как вы фактически даете командам открывать приложение камеры для подчиненного устройства? Это сэкономит мое время. заранее спасибо. –

ответ

2

Обычно bluetooth очень медленно посылает кадры изображений, но вам не нужно отправлять все кадры. Одной из проблем, с которой вы столкнетесь, является столкновение кадров. Разъем Bluetooth отправляет ваши данные (кадры) в виде массива байтов. Поэтому, получая данные с другого конца в большинстве случаев, байты предыдущего кадра и текущего кадра будут сталкиваться. Поэтому вам нужно убедиться, что первый кадр получен удаленным мобильным телефоном и успешно обработан. Кадры, созданные во время обработки удаленного мобильного устройства, не должны храниться в буфере для отправки позже, скорее их следует игнорировать (не отправлять). Некоторые кадры могут пропустить, но вы будете работать как живой канал. Теперь Android-андроид создаст большие кадры предварительного просмотра в соответствии с разрешением камеры. Поэтому вам нужно отправить только малый размер кадра, а на оставшемся пространстве дисплея вы можете отобразить элементы управления камерой.

Я разместил пример проекта в моем реестре Github. Bluetooth Camera