Interface Python do protótipo Strawberry AI, implementada com CustomTkinter para uma tela de 800 × 480 pixels. O módulo apresenta o vídeo recebido do backend, envia comandos de captura e exibe resultados, configurações de rede, galeria e logs.
| Caminho | Responsabilidade |
|---|---|
core/network.py |
Cliente TCP e gerenciamento de conexão. |
core/video_stream.py |
Recepção de quadros de vídeo por UDP ou TCP. |
core/commands.py |
Envio de comandos e tratamento das respostas. |
ui/app.py |
Janela principal e integração dos componentes. |
ui/screens/ |
Telas inicial, galeria, configurações e logs. |
ui/components/ |
Componentes reutilizáveis da interface. |
main.py |
Carregamento da configuração e inicialização da aplicação. |
Este repositório é usado como submódulo do Strawberry AI:
git clone https://github.com/imtavin/strawberry-ai.git
cd strawberry-ai
git submodule update --init frontend
cd frontendO arquivo requirements-frontend.txt lista as dependências Python:
python -m pip install -r requirements-frontend.txtmain.py lê config.json no diretório pai deste módulo. Na estrutura do repositório principal, esse caminho corresponde a strawberry-ai/config.json. Uma clonagem isolada deste repositório não inclui esse arquivo e não atende a esse pré-requisito sem configuração adicional.
A aplicação utiliza VIDEO_TRANSPORT=udp ou VIDEO_TRANSPORT=tcp como substituição opcional para video.transport. O código define UDP como padrão quando o campo não está presente. O host e a porta TCP usados pela interface são definidos pela configuração e pelos valores padrão do código.
O ponto de entrada é:
python main.pyPara receber vídeo e resultados, a interface precisa se conectar a um backend compatível e acessível no endereço configurado.
- A janela em
ui/app.pyestá fixada em 800 × 480 pixels. - A clonagem isolada exige um
config.jsonno diretório pai. - Este repositório não inclui uma suíte de testes automatizados da interface ou evidência de validação em diferentes telas e sistemas operacionais.