main fixes
This commit is contained in:
240
LOGS_COMPARISON.md
Normal file
240
LOGS_COMPARISON.md
Normal file
@@ -0,0 +1,240 @@
|
||||
# 📊 Сравнение логов: ДО и ПОСЛЕ исправлений
|
||||
|
||||
## ДО исправлений (Проблема)
|
||||
|
||||
```
|
||||
2025-12-03 20:27:17.028 StreamViewModel: onRequestShow at ORIGIN_CLIENT reason SHOW_SOFT_INPUT_BY_INSETS_API fromUser false
|
||||
2025-12-03 20:27:17.043 WindowManager: WindowManagerGlobal#addView, view=androidx.compose.ui.window.PopupLayout
|
||||
2025-12-03 20:27:19.296 WebSocket: Connecting to: ws://192.168.0.112:8000/ws/client/HhfoHArOGcT/1
|
||||
2025-12-03 20:27:19.351 WebSocket: Connected! Response code=101, message=Switching Protocols
|
||||
2025-12-03 20:27:19.351 WebSocket: Header: Upgrade=websocket
|
||||
2025-12-03 20:27:19.351 WebSocket: Header: Connection=Upgrade
|
||||
2025-12-03 20:27:19.351 WebSocket: Header: Sec-WebSocket-Accept=1yde7oBMVrzwg2inZcdwVAVapg4=
|
||||
2025-12-03 20:27:19.351 WebSocket: Message received: {"error": "Invalid room or password"}
|
||||
2025-12-03 20:27:19.352 StreamViewModel: Message received: {"error": "Invalid room or password"}
|
||||
2025-12-03 20:27:19.352 WebSocket: Closing: 1000
|
||||
2025-12-03 20:27:19.352 WebSocket: Closed: 1000
|
||||
2025-12-03 20:27:19.360 StreamViewModel: Status: Подключено к серверу ✓
|
||||
2025-12-03 20:27:19.361 StreamViewModel: Connected to server
|
||||
2025-12-03 20:27:19.361 StreamViewModel: Status: Получено: {"error": "Invalid room or password"}
|
||||
2025-12-03 20:27:19.361 StreamViewModel: Status: Отключено от сервера
|
||||
2025-12-03 20:27:19.361 StreamViewModel: Disconnected from server
|
||||
|
||||
❌ НЕТ ЛОГОВ О ОТПРАВКЕ ВИДЕО!
|
||||
❌ НЕТ ЛОГОВ CameraManager
|
||||
❌ НЕТ "Binary data sent"
|
||||
```
|
||||
|
||||
### Анализ проблемы:
|
||||
1. WebSocket подключился ✓
|
||||
2. Сервер ответил, но с ошибкой (Invalid room or password)
|
||||
3. **Но видеофреймы вообще не отправлялись** ❌
|
||||
|
||||
---
|
||||
|
||||
## ПОСЛЕ исправлений (Решение)
|
||||
|
||||
### Ожидаемые логи при подключении:
|
||||
|
||||
```
|
||||
2025-12-03 20:30:45.100 CameraManager: cameraProviderFuture listener invoked
|
||||
2025-12-03 20:30:45.110 CameraManager: cameraProvider obtained: ProcessCameraProvider@abc123
|
||||
2025-12-03 20:30:45.120 CameraManager: Using camera selector: CameraSelector(...)
|
||||
2025-12-03 20:30:45.130 CameraManager: bindToLifecycle called
|
||||
2025-12-03 20:30:45.140 CameraManager: Camera started successfully with video streaming
|
||||
↑
|
||||
(Это новое сообщение!)
|
||||
|
||||
2025-12-03 20:30:46.200 StreamViewModel: Status: Подключение к серверу...
|
||||
2025-12-03 20:30:46.210 WebSocket: Connecting to: ws://192.168.0.112:8000/ws/client/HhfoHArOGcT/1
|
||||
2025-12-03 20:30:46.250 WebSocket: Connected! Response code=101, message=Switching Protocols
|
||||
2025-12-03 20:30:46.251 WebSocket: Header: Upgrade=websocket
|
||||
2025-12-03 20:30:46.252 WebSocket: Header: Connection=Upgrade
|
||||
2025-12-03 20:30:46.252 WebSocket: Header: Sec-WebSocket-Accept=1yde7oBMVrzwg2inZcdwVAVapg4=
|
||||
2025-12-03 20:30:46.260 StreamViewModel: Status: Подключено к серверу ✓
|
||||
2025-12-03 20:30:46.261 StreamViewModel: Connected to server
|
||||
|
||||
🎥 НАЧАЛО ОТПРАВКИ ВИДЕО:
|
||||
|
||||
2025-12-03 20:30:46.310 WebSocket: Binary data sent: 1048576 bytes
|
||||
2025-12-03 20:30:46.320 WebSocket: Binary data sent: 1048576 bytes
|
||||
2025-12-03 20:30:46.330 WebSocket: Binary data sent: 1048576 bytes
|
||||
2025-12-03 20:30:46.340 WebSocket: Binary data sent: 1048576 bytes
|
||||
2025-12-03 20:30:46.350 CameraManager: Processing 4 frames/5s, sending to server
|
||||
2025-12-03 20:30:46.360 WebSocket: Binary data sent: 1048576 bytes
|
||||
2025-12-03 20:30:46.370 WebSocket: Binary data sent: 1048576 bytes
|
||||
|
||||
2025-12-03 20:30:47.315 WebSocket: Binary data sent: 1048576 bytes
|
||||
2025-12-03 20:30:47.325 WebSocket: Binary data sent: 1048576 bytes
|
||||
2025-12-03 20:30:47.335 WebSocket: Binary data sent: 1048576 bytes
|
||||
2025-12-03 20:30:47.345 WebSocket: Binary data sent: 1048576 bytes
|
||||
2025-12-03 20:30:47.355 WebSocket: Binary data sent: 1048576 bytes
|
||||
2025-12-03 20:30:47.365 CameraManager: Processing 5 frames/5s, sending to server
|
||||
2025-12-03 20:30:47.375 WebSocket: Binary data sent: 1048576 bytes
|
||||
2025-12-03 20:30:47.385 WebSocket: Binary data sent: 1048576 bytes
|
||||
|
||||
2025-12-03 20:30:48.300 StreamViewModel: FPS: 5, Total bytes sent: 10485760
|
||||
2025-12-03 20:30:48.315 WebSocket: Binary data sent: 1048576 bytes
|
||||
2025-12-03 20:30:48.325 WebSocket: Binary data sent: 1048576 bytes
|
||||
|
||||
✅ ВИДЕО АКТИВНО ОТПРАВЛЯЕТСЯ НА СЕРВЕР!
|
||||
✅ FPS = 5 фреймов в секунду
|
||||
✅ Объем = ~10 МБ в секунду (1920x1080 RGBA без кодирования)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Расшифровка логов
|
||||
|
||||
### Логи CameraManager
|
||||
|
||||
```
|
||||
CameraManager: Camera started successfully with video streaming
|
||||
```
|
||||
✅ Камера запущена с видеоанализом (ImageAnalysis активен)
|
||||
|
||||
```
|
||||
CameraManager: Processing 25 frames/5s, sending to server
|
||||
```
|
||||
✅ Обработано 25 фреймов за 5 секунд = 5 FPS
|
||||
✅ Фреймы готовы к отправке
|
||||
|
||||
### Логи WebSocket
|
||||
|
||||
```
|
||||
WebSocket: Connected! Response code=101
|
||||
```
|
||||
✅ WebSocket успешно подключен (upgrade завершен)
|
||||
|
||||
```
|
||||
WebSocket: Binary data sent: 1048576 bytes
|
||||
```
|
||||
✅ Отправлены бинарные данные (видеофрейм)
|
||||
✅ Размер 1 МБ = фрейм 1920x1080 в RGBA
|
||||
|
||||
### Логи StreamViewModel
|
||||
|
||||
```
|
||||
StreamViewModel: Connected to server
|
||||
```
|
||||
✅ Приложение считает себя подключенным
|
||||
|
||||
```
|
||||
StreamViewModel: FPS: 25, Total bytes sent: 625000000
|
||||
```
|
||||
✅ Отправлено 25 фреймов в секунду
|
||||
✅ Всего отправлено 625 МБ (за N секунд)
|
||||
|
||||
---
|
||||
|
||||
## Поиск проблем
|
||||
|
||||
### Проблема: "Видео не отправляется"
|
||||
|
||||
**Команда для проверки:**
|
||||
```bash
|
||||
adb logcat | grep "Binary data sent"
|
||||
```
|
||||
|
||||
**Если выводится:**
|
||||
```
|
||||
WebSocket: Binary data sent: 1048576 bytes
|
||||
WebSocket: Binary data sent: 1048576 bytes
|
||||
```
|
||||
✅ Видео отправляется! Проверьте сервер.
|
||||
|
||||
**Если ничего не выводится:**
|
||||
❌ Видео НЕ отправляется! Проверьте:
|
||||
1. WebSocket подключен? `adb logcat | grep "Connected!"`
|
||||
2. Камера запущена? `adb logcat | grep "Camera started"`
|
||||
3. Есть ошибки? `adb logcat | grep ERROR`
|
||||
|
||||
### Проблема: "Низкий FPS"
|
||||
|
||||
**Команда для проверки:**
|
||||
```bash
|
||||
adb logcat | grep "Processing.*frames/5s"
|
||||
```
|
||||
|
||||
**Нормально:**
|
||||
```
|
||||
CameraManager: Processing 20-30 frames/5s, sending to server
|
||||
```
|
||||
= 4-6 FPS (нормально для 1920x1080)
|
||||
|
||||
**Плохо:**
|
||||
```
|
||||
CameraManager: Processing 1-2 frames/5s, sending to server
|
||||
```
|
||||
= 0.2-0.4 FPS (слишком медленно, проблема с обработкой)
|
||||
|
||||
### Проблема: "Высокий объем данных"
|
||||
|
||||
**Команда для проверки:**
|
||||
```bash
|
||||
adb logcat | grep "Total bytes sent" | tail -5
|
||||
```
|
||||
|
||||
**Анализ:**
|
||||
```
|
||||
StreamViewModel: FPS: 25, Total bytes sent: 625000000
|
||||
```
|
||||
= 25 фреймов × 25 МБ/фрейм = 625 МБ
|
||||
|
||||
Это нормально для raw RGBA без кодирования.
|
||||
|
||||
**Для уменьшения используйте H.264 кодирование** (10x-100x сжатие)
|
||||
|
||||
---
|
||||
|
||||
## Таблица ожидаемых логов
|
||||
|
||||
| Событие | Логи | Статус |
|
||||
|---------|------|--------|
|
||||
| Старт приложения | `CameraManager: cameraProvider obtained` | ✅ |
|
||||
| Запуск камеры | `CameraManager: Camera started successfully with video streaming` | ✅ |
|
||||
| Подключение к серверу | `WebSocket: Connected! Response code=101` | ✅ |
|
||||
| Готовность к трансляции | `StreamViewModel: Connected to server` | ✅ |
|
||||
| Отправка фреймов | `WebSocket: Binary data sent: X bytes` (повторяется) | ✅ |
|
||||
| Статистика видео | `CameraManager: Processing X frames/5s` | ✅ |
|
||||
| Статистика FPS | `StreamViewModel: FPS: X, Total bytes sent: Y` | ✅ |
|
||||
|
||||
---
|
||||
|
||||
## Команды для диагностики
|
||||
|
||||
### Все логи приложения
|
||||
```bash
|
||||
adb logcat | grep com.example.camcontrol
|
||||
```
|
||||
|
||||
### Только видео-логи
|
||||
```bash
|
||||
adb logcat | grep -E "CameraManager|WebSocket|StreamViewModel"
|
||||
```
|
||||
|
||||
### Только ошибки
|
||||
```bash
|
||||
adb logcat | grep "ERROR"
|
||||
```
|
||||
|
||||
### Отслеживание отправки в реальном времени
|
||||
```bash
|
||||
adb logcat | grep "Binary data sent" | tail -f
|
||||
```
|
||||
|
||||
### Сохранить логи в файл
|
||||
```bash
|
||||
adb logcat > camera_logs.txt 2>&1
|
||||
# (Ctrl+C для остановки)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
**Помните:**
|
||||
- ✅ Много логов "Binary data sent" = видео отправляется
|
||||
- ❌ Нет логов "Binary data sent" = видео НЕ отправляется
|
||||
- 📊 Логи "FPS: X" показывают скорость отправки
|
||||
|
||||
Если все логи есть, но видео не показывается на сервере → проблема на сервере, не в приложении!
|
||||
|
||||
Reference in New Issue
Block a user