Comunidade

Osmosis - Cliente de mídia Android para câmeras DJI Osmo

Osmosis é um cliente Android não oficial para câmeras DJI Osmo que permite o download de vídeos e fotos sem a necessidade de login ou SDK da DJI. O aplicativo suporta uma variedade de modelos, incluindo os não compatíveis com a plataforma oficial, como o Osmo Nano, além de oferecer recursos avançados como pré-visualização em baixa resolução e edição direta dos arquivos.

Compartilhar
Android client for DJI Osmo (Action, Pocket, Nano) cameras. Offload media to your device wirelessly. - KonradIT/osmosis

Osmosis — Cliente de mídia Android para câmeras DJI Osmo

Cliente Android terceirizado para baixar vídeos e fotos das câmeras de ação / estabilizadoras da DJI Osmo. Sem dependências do SDK DJI, sem login, sem bloatware, sem ativação.

Funciona com o DJI Osmo Nano, que não é suportado pelo SDK oficial DJI ou pelo R-SDK DJI, e deve funcionar também com o restante da linha de câmeras DJI Osmo (veja Câmeras suportadas). Também testado com o Xtra Edge Pro, uma reembalagem do DJI Osmo Action 5 Pro feita pela empresa front da DJI, Xtra.

  • Tela de grade de mídia com miniaturas, extraídas diretamente da câmera.
  • Pré-visualização em baixa resolução — arraste qualquer clip sem fazer o download primeiro.
  • Corte na pré-visualização — defina pontos de início e fim e faça o download apenas dessa parte do clip de alta resolução. Cópia exata da stream em qualidade original.
  • Fila de downloads interrompível — baixes de alta resolução direto para a galeria do seu telefone.
  • Status em tempo real — bateria, modo de gravação e armazenamento (interno / SD) exibidos em um indicador. Mais recursos por vir (indicador de gravação, resolução, fps, etc...)
  • Múltiplas câmeras — lembra suas câmeras e mostra quais estão atualmente no alcance.
  • Favoritos seus vídeos/fotos do aplicativo e veja mídia anteriormente favoritada
  • Sincronize GPS com seu Osmo: Usa os comandos Osmo GPS controller do R-SDK para enviar GPS do telefone para a câmera. Útil para adicionar estatísticas posteriormente usando Telemetry Overlay.

  • Controle da câmera: iniciar/parar gravação, tirar foto, alterar configurações
  • Visualização ao vivo
  • Sincronização via USB-C
  • Suporte à sincronização de drones DJI (especificamente Neo2)
Câmera Status
Osmo Nano Verificado em hardware
Osmo Action 5 Pro / Xtra Edge Pro Verificado em hardware
Osmo Action 6 Verificado em hardware
Osmo Pocket 3 Verificado em hardware
Osmo Pocket 4 / 4 Pro Planejado
Xtra Atto / Edge / Muse Não testado, deve funcionar
Osmo Action 1 Iniciado, em pausa
Osmo Action 4 Iniciado
Osmo 360 Não planejado (precisa do Mimo para renderizar conteúdo em 360°)
Osmo Action 2/3 Melhor esforço padrão, não testado, não esperado que funcione
Drones DJI usando sincronização rápida Em andamento

Deseja ajudar a adicionar suporte para uma câmera não suportada? Abra um problema para que possa ser listado como totalmente suportado.

Rebadging da Xtra. A Xtra é uma companhia front da DJI que vende câmeras Osmo rebadgadas apenas nos EUA para contornar o banimento da DJI:

  • Edge Pro = Action 5 Pro
  • Atto = Nano
  • Edge = Action 4
  • Muse = Pocket 3.

Tentando ativamente suportar, abra um problema se você tiver essas câmeras e quiser ajudar:

  • Osmo Pocket 4/4P
  • Osmo Action 4
  • Osmo Action 3.

Depuração / suporte a novas câmeras:

Inicie o aplicativo, habilite Salvar Logs, tente se conectar à câmera. Tudo que está sendo enviado e recebido é registrado em um local interno acessível apenas pelo aplicativo. Toque em Salvar Logs novamente para desabilitar a gravação + comprimí-la para compartilhar comigo.

Lista de comandos reversamente engenhados:

Caso queira construir seu próprio aplicativo ou programa que interfira com câmeras DJI Osmo, este documento pode ajudar:

./MEDIA_PROTOCOL.md

Esta é a documentação mais extensa da protocolo DUML não documentado da DJI para câmeras Osmo (Ação, Pocket, Nano) até o momento. Foi derivada usando capturas de rede Wi-Fi e BLE do DJI Mimo.

Cobre tanto as rotas de transporte BLE/WiFi.

Comandos reversamente engenhados não encontrados em lugar algum:

  • Análise da lista de mídia 0x26 e sua resposta 0x00/0x27
  • Paginação para consultar mídia mais antiga
  • Destaque, excluir arquivo

Sem SDK da DJI — Osmosis fala diretamente com o protocolo DUML da DJI. Cada sessão:

  1. Pare via BLE com a câmera (requer aprovação na própria câmera uma vez).
  2. Leia as credenciais Wi-Fi sobre BLE (SSID + senha).
  3. Aceite e conecte-se ao ponto de acesso Wi-Fi da câmera.
  4. Liste a mídia via o comando DUML file-list UDP.
  5. Baixe os arquivos em alta resolução via HTTP do servidor 192.168.2.1 da câmera.

O protocolo completo reversamente engenhado — pareamento BLE, transferência Wi-Fi, o formato DUML file-list e mais — está documentado em docs/01-protocol-map.md.

Osmosis se comunica apenas com a sua câmera (192.168.2.1). Sem análises, contas, servidores de ativação ou nuvem. Sua mídia nunca sai do seu telefone e da sua câmera.

Em contraste com os aplicativos oficiais, que exigem login e enviam dados para backends de ativação e telemetria (o app Xtra Companion até inclui análises do ByteDance). Osmosis não tem nada disso — a configuração de segurança da rede limita-o ao endereço local da câmera.

  • Android 10+ (API 29).
  • Bluetooth LE.
  • Permissões: Dispositivos próximos (escaneio/conexão Bluetooth) no Android 12+, ou Localização em versões mais antigas, além de estado e alterações Wi-Fi. Nenhuma permissão de internet é necessária para nada além do ponto de acesso local da câmera.
  1. Ligue o Bluetooth e WiFi, abra Osmosis; conceda as solicitações de permissões.
  2. Acenda a câmera e toque nela na lista Câmeras. Deverá aparecer como "NOVA".
  3. Aprovar o prompt de pareamento na tela da câmera (lerá: OSMO).
  4. Aprovar a janela Android "conectar-se à Wi-Fi" quando aparecer.
  5. Navegue pela grade. Toque em um clipe para visualizar, cortar e adicionar à fila de download.
  6. Toque Baixar — os arquivos serão baixados no seu álbum do telefone.

Construído com uma configuração padrão Gradle Android:

Visuals puros do Android (nenhum Jetpack Compose). Construído com AGP 7.4.2 / Gradle 7.5.1 / JDK 15 (JDK 11–17 devem funcionar); compileSdk 34, minSdk 29.

Trabalho planejado e notas de engenharia reversa estão em ROADMAP.md.

A monumental tarefa de engenharia reversa do protocolo DUML da DJI foi inicialmente feita pelos DJI OGs. A DJI nunca lançou um SDK para sua linha de câmeras Osmo, forçando os usuários a usar o aplicativo oficial DJI Mimo. Felizmente, vários indivíduos no GitHub abriram fontes dos seus esforços de engenharia reversa para interagir com as câmeras da DJI via BLE e Wi-Fi:

O próprio demonstrador Osmo-GPS-Controller da DJI também foi uma referência útil para o protocolo de pareamento do acessório (R-SDK).

Este aplicativo não teria sido construído sem os trabalhos acima. Dito isso, muito disso não funcionava com a Osmo Nano e Edge Pro, então uma grande quantidade adicional de engenharia reversa foi feita para tornar o Osmosis totalmente compatível com a DJI Osmo Nano, bem como para reengenhar completamente as respostas aos comandos DUML não suportados.

Além disso, crédito onde é devido para os testadores que forneceram feedback inicial e ajudaram a desenvolver este aplicativo para câmeras que eu não possuo:

MIT.

Projeto independente de terceiros — não afiliado, autorizado ou endossado pela DJI. "DJI" e "Osmo" são marcas registradas dos respectivos proprietários. Use por sua conta e risco; a exclusão ou transferência da mídia é responsabilidade do usuário.

Fonte original

Conteúdo traduzido e adaptado pela redação do Notícias Mobile. Confira também a matéria na fonte original.

Leia a matéria completa