diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000000000000000000000000000000000000..44c3cb5a7a208ea447f9cb4e5955f3f3ed469bd0 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,52 @@ +# Git +.git +.gitignore + +# Node modules and build artifacts +node_modules +.svelte-kit +demo/build +demo/node_modules +client/js/node_modules +client/js/dist + +# Python cache and virtual environments +__pycache__ +*.pyc +*.pyo +*.pyd +.Python +.venv +.pytest_cache +*.egg-info + +# Development files +*.log +logs/ +.DS_Store +Thumbs.db + +# IDE files +.vscode +.idea +*.swp +*.swo + +# Temporary files +*.tmp +*.temp + +# Documentation +*.md +!README.md + +# Test files +tests/ +test_* + +# Development configs +.eslintrc* +.prettierrc* +*.config.js +!svelte.config.js +!vite.config.ts \ No newline at end of file diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml new file mode 100644 index 0000000000000000000000000000000000000000..b4d9df5b8ef47e0955d50c49948ec825d04efcb5 --- /dev/null +++ b/.github/workflows/docker.yml @@ -0,0 +1,120 @@ +name: Docker Build and Test + +on: + push: + branches: [ main, develop ] + paths: + - 'services/transport-server/**' + pull_request: + branches: [ main ] + paths: + - 'services/transport-server/**' + +env: + REGISTRY: ghcr.io + IMAGE_NAME: lerobot-arena/transport-server + +jobs: + build-and-test: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Log in to Container Registry + if: github.event_name != 'pull_request' + uses: docker/login-action@v3 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Extract metadata + id: meta + uses: docker/metadata-action@v5 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + tags: | + type=ref,event=branch + type=ref,event=pr + type=sha,prefix={{branch}}- + type=raw,value=latest,enable={{is_default_branch}} + + - name: Build Docker image + uses: docker/build-push-action@v5 + with: + context: ./services/transport-server + file: ./services/transport-server/Dockerfile + push: false + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + cache-from: type=gha + cache-to: type=gha,mode=max + load: true + + - name: Test Docker image + run: | + # Start the container in background + docker run -d --name test-container -p 7860:7860 -e SERVE_FRONTEND=true ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest + + # Wait for container to start + sleep 30 + + # Test health endpoint + curl -f http://localhost:7860/health || exit 1 + + # Test API health endpoint + curl -f http://localhost:7860/api/health || exit 1 + + # Test frontend is served + curl -f http://localhost:7860/ | grep -q "LeRobot Arena" || exit 1 + + # Check logs for errors + docker logs test-container + + # Stop container + docker stop test-container + docker rm test-container + + - name: Push Docker image + if: github.event_name != 'pull_request' + uses: docker/build-push-action@v5 + with: + context: ./services/transport-server + file: ./services/transport-server/Dockerfile + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + cache-from: type=gha + cache-to: type=gha,mode=max + + security-scan: + runs-on: ubuntu-latest + needs: build-and-test + permissions: + contents: read + security-events: write + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Run Trivy vulnerability scanner + uses: aquasecurity/trivy-action@master + with: + image-ref: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest + format: 'sarif' + output: 'trivy-results.sarif' + + - name: Upload Trivy scan results to GitHub Security tab + uses: github/codeql-action/upload-sarif@v2 + if: always() + with: + sarif_file: 'trivy-results.sarif' \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..ad3706d88f836451b481b473feaddf3b024a7841 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,65 @@ +# Multi-stage Dockerfile for LeRobot Arena Transport Server +# Stage 1: Build frontend with Bun (client library + demo) +FROM oven/bun:1-alpine AS frontend-builder + +WORKDIR /app + +# Install git for dependencies that might need it +RUN apk add --no-cache git + +# Copy all JavaScript/TypeScript files +COPY client/js/ ./client/js/ +COPY demo/ ./demo/ + +# Build and link client library +WORKDIR /app/client/js +RUN bun install +RUN bun run build +RUN bun link + +# Build demo with linked client library +WORKDIR /app/demo +RUN bun link lerobot-arena-client +RUN bun install +RUN bun run build + +# Stage 2: Python backend with uv +FROM ghcr.io/astral-sh/uv:python3.12-bookworm-slim + +# Set up a new user named "user" with user ID 1000 (required for HF Spaces) +RUN useradd -m -u 1000 user + +# Switch to the "user" user +USER user + +# Set home to the user's home directory +ENV HOME=/home/user \ + PATH=/home/user/.local/bin:$PATH + +# Set the working directory to the user's home directory +WORKDIR $HOME/app + +# Copy Python project files for dependency resolution +COPY --chown=user server/pyproject.toml server/uv.lock* ./server/ + +# Install dependencies first (better caching) +WORKDIR $HOME/app/server +RUN uv sync --no-install-project + +# Copy the rest of the Python backend +COPY --chown=user server/ ./ + +# Install the project itself +RUN uv sync + +# Copy built frontend from previous stage with proper ownership +COPY --chown=user --from=frontend-builder /app/demo/build $HOME/app/static-frontend + +# Set working directory back to app root +WORKDIR $HOME/app + +# Expose port 7860 (HF Spaces default) +EXPOSE 7860 + +# Start the FastAPI server (serves both frontend and backend) +CMD ["sh", "-c", "cd server && SERVE_FRONTEND=true uv run python launch_with_ui.py"] \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000000000000000000000000000000000000..601c37931456debaaca5a89aac90d36248df3b5b --- /dev/null +++ b/README.md @@ -0,0 +1,353 @@ +--- +title: LeRobot Arena Transport Server +emoji: ๐Ÿค– +colorFrom: blue +colorTo: purple +sdk: docker +app_port: 7860 +dockerfile_path: services/transport-server/Dockerfile +suggested_hardware: cpu-upgrade +suggested_storage: small +short_description: Real-time robotics control +tags: + - robotics + - control + - websocket + - fastapi + - svelte + - real-time + - video-streaming + - transport-server +pinned: true +fullWidth: true +--- + +# ๐Ÿค– LeRobot Arena Transport Server with UI + +A complete Docker deployment of the LeRobot Arena Transport Server with integrated web UI. This combines the FastAPI backend with a SvelteKit frontend in a single container, inspired by the [LeRobot Arena Hugging Face Space](https://huggingface.co/spaces/blanchon/LeRobot-Arena). + +## ๐Ÿš€ Quick Start with Docker + +The easiest way to run the complete LeRobot Arena Transport Server is using Docker, which sets up both the frontend and backend automatically. + +### Prerequisites + +- [Docker](https://www.docker.com/get-started) installed on your system +- [Docker Compose](https://docs.docker.com/compose/install/) (usually included with Docker Desktop) + +### Step-by-Step Instructions + +1. **Navigate to the transport server directory** + ```bash + cd services/transport-server + ``` + +2. **Build the Docker image** + ```bash + docker build -t lerobot-arena-transport . + ``` + +3. **Run the container** + ```bash + docker run -p 7860:7860 -e SERVE_FRONTEND=true lerobot-arena-transport + ``` + +4. **Access the application** + - **Frontend**: http://localhost:7860 + - **Backend API**: http://localhost:7860/api + - **API Documentation**: http://localhost:7860/api/docs + +5. **Stop the container** + ```bash + # Find the container ID + docker ps + + # Stop the container + docker stop + ``` + +### Alternative Build & Run Options + +**One-liner build and run:** +```bash +docker build -t lerobot-arena-transport . && docker run -p 7860:7860 -e SERVE_FRONTEND=true lerobot-arena-transport +``` + +**Run with custom environment variables:** +```bash +docker run -p 8080:7860 \ + -e SERVE_FRONTEND=true \ + -e PORT=7860 \ + -e HOST=0.0.0.0 \ + lerobot-arena-transport +``` + +**Run with volume mounts for logs:** +```bash +docker run -p 7860:7860 \ + -e SERVE_FRONTEND=true \ + -v $(pwd)/logs:/home/user/app/logs \ + lerobot-arena-transport +``` + +## ๐Ÿ› ๏ธ Development Setup + +For local development with hot-reload capabilities: + +### Backend Development + +```bash +# Navigate to server directory +cd server + +# Install Python dependencies (using uv) +uv sync + +# Start the backend server only +python api.py +``` + +### Frontend Development + +```bash +# Navigate to demo directory +cd demo + +# Install dependencies +bun install + +# Start the development server +bun run dev +``` + +### Client Library Development + +```bash +# Navigate to client library +cd client/js + +# Install dependencies +bun install + +# Build the client library +bun run build +``` + +## ๐Ÿ“‹ Project Structure + +``` +services/transport-server/ +โ”œโ”€โ”€ server/ # Python FastAPI backend +โ”‚ โ”œโ”€โ”€ src/ # Source code +โ”‚ โ”œโ”€โ”€ api.py # Main API application +โ”‚ โ”œโ”€โ”€ launch_with_ui.py # Combined launcher +โ”‚ โ””โ”€โ”€ pyproject.toml # Python dependencies +โ”œโ”€โ”€ demo/ # SvelteKit frontend +โ”‚ โ”œโ”€โ”€ src/ # Frontend source code +โ”‚ โ”œโ”€โ”€ package.json # Node.js dependencies +โ”‚ โ””โ”€โ”€ svelte.config.js # SvelteKit configuration +โ”œโ”€โ”€ client/js/ # TypeScript client library +โ”‚ โ”œโ”€โ”€ src/ # Client library source +โ”‚ โ””โ”€โ”€ package.json # Client dependencies +โ”œโ”€โ”€ Dockerfile # Docker configuration +โ”œโ”€โ”€ docker-compose.yml # Docker Compose setup +โ””โ”€โ”€ README.md # This file +``` + +## ๐Ÿณ Docker Information + +The Docker setup includes: + +- **Multi-stage build**: Optimized for production using Bun and uv +- **Client library build**: Builds the TypeScript client first +- **Frontend build**: Compiles SvelteKit app to static files +- **Backend integration**: FastAPI serves both API and static files +- **Port mapping**: Single port 7860 for both frontend and API +- **User permissions**: Properly configured for Hugging Face Spaces +- **Environment variables**: Configurable via environment + +### Environment Variables + +- `SERVE_FRONTEND=true`: Enable frontend serving (default: false) +- `PORT=7860`: Port to run the server on (default: 7860) +- `HOST=0.0.0.0`: Host to bind to (default: 0.0.0.0) + +## ๐ŸŒ What's Included + +### Backend Features +- **Real-time Robot Control**: WebSocket-based communication +- **Video Streaming**: WebRTC video streaming capabilities +- **REST API**: Complete robotics control API +- **Room Management**: Create and manage robot control sessions +- **Health Monitoring**: Built-in health checks and logging + +### Frontend Features +- **Dashboard**: Server status and room overview +- **Robot Control**: 6-DOF robot arm control interface +- **Real-time Monitoring**: Live joint state visualization +- **Workspace Management**: Isolated environments for different sessions +- **Modern UI**: Responsive design with Tailwind CSS + +### Architecture +- **Frontend**: Svelte 5, TypeScript, Tailwind CSS +- **Backend**: FastAPI, Python 3.12, uvicorn +- **Client Library**: TypeScript with WebSocket support +- **Build System**: Bun for frontend, uv for Python +- **Container**: Multi-stage Docker build + +## ๐Ÿ”ง API Endpoints + +### Health Check +- `GET /health` - Server health status +- `GET /api/health` - API health status + +### Robotics API +- `GET /api/robotics/rooms` - List active rooms +- `POST /api/robotics/rooms` - Create new room +- `DELETE /api/robotics/rooms/{room_id}` - Delete room +- `WebSocket /api/robotics/ws/{room_id}` - Real-time control + +### Video API +- `GET /api/video/rooms` - List video rooms +- `WebSocket /api/video/ws/{room_id}` - Video streaming + +## ๐Ÿงช Testing the Setup + +Run the included test script to verify everything works: + +```bash +./test-docker.sh +``` + +This script will build the image, start a container, test all endpoints, and clean up automatically. + +## ๐Ÿšจ Troubleshooting + +### Port Conflicts +If port 7860 is already in use: + +```bash +# Check what's using the port +lsof -i :7860 + +# Use different port +docker run -p 8080:7860 -e SERVE_FRONTEND=true lerobot-arena-transport +``` + +### Container Issues + +```bash +# View logs +docker logs + +# Rebuild without cache +docker build --no-cache -t lerobot-arena-transport . + +# Run with verbose logging +docker run -p 7860:7860 -e SERVE_FRONTEND=true -e LOG_LEVEL=debug lerobot-arena-transport +``` + +### Development Issues + +```bash +# Clear node modules and reinstall (for local development) +cd demo +rm -rf node_modules +bun install + +# Clear SvelteKit cache +rm -rf .svelte-kit +bun run dev + +# Re-link client library (if needed for local development) +cd ../client/js +bun link +cd ../../demo +bun link lerobot-arena-client +``` + +### Client Library Issues + +```bash +# Rebuild client library +cd client/js +bun run clean +bun run build +``` + +## ๐Ÿš€ Hugging Face Spaces Deployment + +This project is configured for deployment on Hugging Face Spaces: + +1. **Fork** this repository to your GitHub account +2. **Create a new Space** on Hugging Face Spaces +3. **Connect** your GitHub repository +4. **Select Docker SDK** (should be auto-detected) +5. **Set the Dockerfile path** to `services/transport-server/Dockerfile` +6. **Deploy** + +The Space will automatically build and run both the frontend and backend. + +### Hugging Face Spaces Configuration + +Add this to your Space's README.md frontmatter: + +```yaml +--- +title: LeRobot Arena Transport Server +emoji: ๐Ÿค– +colorFrom: blue +colorTo: purple +sdk: docker +app_port: 7860 +dockerfile_path: services/transport-server/Dockerfile +suggested_hardware: cpu-upgrade +suggested_storage: small +short_description: Real-time robotics control and video streaming +tags: + - robotics + - control + - websocket + - fastapi + - svelte +pinned: true +fullWidth: true +--- +``` + +## ๐ŸŽฏ Use Cases + +### Development & Testing +- **API Development**: Test robotics control APIs +- **Frontend Development**: Develop robotics UIs +- **Integration Testing**: Test real-time communication + +### Production Deployment +- **Robot Control**: Remote robot operation +- **Multi-user**: Multiple operators on same robot +- **Monitoring**: Real-time robot state monitoring + +### Education & Demos +- **Learning**: Robotics programming education +- **Demonstrations**: Showcase robotics capabilities +- **Prototyping**: Rapid robotics application development + +## ๐Ÿค Contributing + +1. **Fork** the repository +2. **Create feature branch** (`git checkout -b feature/amazing-feature`) +3. **Make changes** and add tests +4. **Test with Docker** (`./test-docker.sh`) +5. **Commit changes** (`git commit -m 'Add amazing feature'`) +6. **Push to branch** (`git push origin feature/amazing-feature`) +7. **Open Pull Request** + +## ๐Ÿ“„ License + +This project is licensed under the MIT License - see the LICENSE file for details. + +--- + +**Built with โค๏ธ for the robotics community** ๐Ÿค– + +For more information, visit the [main LeRobot Arena project](https://github.com/lerobot-arena/lerobot-arena). \ No newline at end of file diff --git a/client/js/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc b/client/js/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc new file mode 100644 index 0000000000000000000000000000000000000000..eae0f3162f96fd5ceb635d04f5fefc382dc78713 --- /dev/null +++ b/client/js/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc @@ -0,0 +1,98 @@ +--- +description: Use Bun instead of Node.js, npm, pnpm, or vite. +globs: *.ts, *.tsx, *.html, *.css, *.js, *.jsx, package.json +alwaysApply: false +--- + +Default to using Bun instead of Node.js. + +- Use `bun ` instead of `node ` or `ts-node ` +- Use `bun test` instead of `jest` or `vitest` +- Use `bun build ` instead of `webpack` or `esbuild` +- Use `bun install` instead of `npm install` or `yarn install` or `pnpm install` +- Use `bun run + + +``` + +With the following `frontend.tsx`: + +```tsx#frontend.tsx +import React from "react"; + +// import .css files directly and it works +import './index.css'; + +import { createRoot } from "react-dom/client"; + +const root = createRoot(document.body); + +export default function Frontend() { + return

Hello, world!

; +} + +root.render(); +``` + +Then, run index.ts + +```sh +bun --hot ./index.ts +``` + +For more information, read the Bun API docs in `node_modules/bun-types/docs/**.md`. diff --git a/client/js/.gitignore b/client/js/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..a14702c409d3f34f9ab001e572dfeaf0da434bba --- /dev/null +++ b/client/js/.gitignore @@ -0,0 +1,34 @@ +# dependencies (bun install) +node_modules + +# output +out +dist +*.tgz + +# code coverage +coverage +*.lcov + +# logs +logs +_.log +report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json + +# dotenv environment variable files +.env +.env.development.local +.env.test.local +.env.production.local +.env.local + +# caches +.eslintcache +.cache +*.tsbuildinfo + +# IntelliJ based IDEs +.idea + +# Finder (MacOS) folder config +.DS_Store diff --git a/client/js/README.md b/client/js/README.md new file mode 100644 index 0000000000000000000000000000000000000000..c726f1d7a3d50a034a6c4de00b1f341b483f834b --- /dev/null +++ b/client/js/README.md @@ -0,0 +1,396 @@ +# LeRobot Arena JavaScript/TypeScript Client + +A modern TypeScript/JavaScript client library for LeRobot Arena robotics system, providing real-time communication for robot control and monitoring. + +## Features + +- ๐Ÿค– **Producer/Consumer Pattern**: Control robots as producer, monitor as consumer +- ๐Ÿ”„ **Real-time Communication**: WebSocket-based bidirectional communication +- ๐Ÿ“ก **REST API Support**: Complete CRUD operations for rooms and state +- ๐ŸŽฏ **Type Safety**: Full TypeScript support with comprehensive type definitions +- ๐Ÿšจ **Safety Features**: Emergency stop functionality built-in +- ๐Ÿ”ง **Modular Design**: Import only what you need +- ๐Ÿงช **Well Tested**: Comprehensive test suite with Bun test + +## Installation + +```bash +# Install the package (when published) +npm install lerobot-arena-client + +# Or for local development +git clone +cd client/js +bun install +bun run build +``` + +## Quick Start + +### Producer (Robot Controller) + +```typescript +import { RoboticsProducer, createProducerClient } from 'lerobot-arena-client'; + +// Method 1: Manual setup +const producer = new RoboticsProducer('http://localhost:8000'); +const roomId = await producer.createRoom(); +await producer.connect(roomId); + +// Method 2: Factory function (recommended) +const producer = await createProducerClient('http://localhost:8000'); + +// Send robot commands +await producer.sendJointUpdate([ + { name: 'shoulder', value: 45.0 }, + { name: 'elbow', value: -30.0 } +]); + +// Send complete state +await producer.sendStateSync({ + base: 0.0, + shoulder: 45.0, + elbow: -30.0, + wrist: 0.0 +}); + +// Emergency stop +await producer.sendEmergencyStop('Safety stop triggered'); +``` + +### Consumer (Robot Monitor) + +```typescript +import { RoboticsConsumer, createConsumerClient } from 'lerobot-arena-client'; + +// Connect to existing room +const consumer = await createConsumerClient(roomId, 'http://localhost:8000'); + +// Set up event listeners +consumer.onJointUpdate((joints) => { + console.log('Joints updated:', joints); +}); + +consumer.onStateSync((state) => { + console.log('State synced:', state); +}); + +consumer.onError((error) => { + console.error('Error:', error); +}); + +// Get current state +const currentState = await consumer.getStateSyncAsync(); +``` + +## API Reference + +### Core Classes + +#### `RoboticsClientCore` +Base class providing common functionality: + +```typescript +// REST API methods +await client.listRooms(); +await client.createRoom(roomId?); +await client.deleteRoom(roomId); +await client.getRoomInfo(roomId); +await client.getRoomState(roomId); + +// Connection management +await client.connectToRoom(roomId, role, participantId?); +await client.disconnect(); +client.isConnected(); +client.getConnectionInfo(); + +// Utility +await client.sendHeartbeat(); +``` + +#### `RoboticsProducer` +Producer-specific functionality: + +```typescript +const producer = new RoboticsProducer('http://localhost:8000'); + +// Connection +await producer.connect(roomId, participantId?); + +// Commands +await producer.sendJointUpdate(joints); +await producer.sendStateSync(state); +await producer.sendEmergencyStop(reason?); + +// Static factory +const producer = await RoboticsProducer.createAndConnect(baseUrl, roomId?, participantId?); +``` + +#### `RoboticsConsumer` +Consumer-specific functionality: + +```typescript +const consumer = new RoboticsConsumer('http://localhost:8000'); + +// Connection +await consumer.connect(roomId, participantId?); + +// Data access +await consumer.getStateSyncAsync(); + +// Event callbacks +consumer.onJointUpdate(callback); +consumer.onStateSync(callback); +consumer.onError(callback); +consumer.onConnected(callback); +consumer.onDisconnected(callback); + +// Static factory +const consumer = await RoboticsConsumer.createAndConnect(roomId, baseUrl, participantId?); +``` + +### Factory Functions + +```typescript +import { createClient, createProducerClient, createConsumerClient } from 'lerobot-arena-client'; + +// Generic factory +const client = createClient('producer', 'http://localhost:8000'); + +// Specialized factories (auto-connect) +const producer = await createProducerClient('http://localhost:8000', roomId?, participantId?); +const consumer = await createConsumerClient(roomId, 'http://localhost:8000', participantId?); +``` + +### Type Definitions + +```typescript +interface JointData { + name: string; + value: number; + speed?: number; +} + +interface RoomInfo { + id: string; + participants: { + producer: string | null; + consumers: string[]; + total: number; + }; + joints_count: number; + has_producer?: boolean; + active_consumers?: number; +} + +interface RoomState { + room_id: string; + joints: Record; + participants: { + producer: string | null; + consumers: string[]; + total: number; + }; + timestamp: string; +} + +type ParticipantRole = 'producer' | 'consumer'; +type MessageType = 'joint_update' | 'state_sync' | 'heartbeat' | 'emergency_stop' | 'joined' | 'error'; +``` + +## Examples + +The `examples/` directory contains complete working examples: + +### Running Examples + +```bash +# Build the library first +bun run build + +# Run producer example +node examples/basic-producer.js + +# Run consumer example (in another terminal) +node examples/basic-consumer.js +``` + +### Example Files + +- **`basic-producer.js`**: Complete producer workflow +- **`basic-consumer.js`**: Interactive consumer example +- **`room-management.js`**: REST API operations +- **`producer-consumer-demo.js`**: Full integration demo + +## Development + +### Prerequisites + +- [Bun](https://bun.sh/) >= 1.0.0 +- LeRobot Arena server running on `http://localhost:8000` + +### Setup + +```bash +# Clone and install +git clone +cd client/js +bun install + +# Development build (watch mode) +bun run dev + +# Production build +bun run build + +# Run tests +bun test + +# Type checking +bun run typecheck + +# Linting +bun run lint +bun run lint:fix +``` + +### Testing + +The library includes comprehensive tests: + +```bash +# Run all tests +bun test + +# Run specific test files +bun test tests/producer.test.ts +bun test tests/consumer.test.ts +bun test tests/integration.test.ts +bun test tests/rest-api.test.ts + +# Run tests with coverage +bun test --coverage +``` + +### Project Structure + +``` +client/js/ +โ”œโ”€โ”€ src/ +โ”‚ โ”œโ”€โ”€ index.ts # Main entry point +โ”‚ โ”œโ”€โ”€ robotics/ +โ”‚ โ”‚ โ”œโ”€โ”€ index.ts # Robotics module exports +โ”‚ โ”‚ โ”œโ”€โ”€ types.ts # TypeScript type definitions +โ”‚ โ”‚ โ”œโ”€โ”€ core.ts # Base client class +โ”‚ โ”‚ โ”œโ”€โ”€ producer.ts # Producer client +โ”‚ โ”‚ โ”œโ”€โ”€ consumer.ts # Consumer client +โ”‚ โ”‚ โ””โ”€โ”€ factory.ts # Factory functions +โ”‚ โ”œโ”€โ”€ video/ # Video module (placeholder) +โ”‚ โ””โ”€โ”€ audio/ # Audio module (placeholder) +โ”œโ”€โ”€ tests/ +โ”‚ โ”œโ”€โ”€ producer.test.ts # Producer tests +โ”‚ โ”œโ”€โ”€ consumer.test.ts # Consumer tests +โ”‚ โ”œโ”€โ”€ integration.test.ts # Integration tests +โ”‚ โ””โ”€โ”€ rest-api.test.ts # REST API tests +โ”œโ”€โ”€ examples/ +โ”‚ โ”œโ”€โ”€ basic-producer.js # Producer example +โ”‚ โ”œโ”€โ”€ basic-consumer.js # Consumer example +โ”‚ โ””โ”€โ”€ README.md # Examples documentation +โ”œโ”€โ”€ dist/ # Built output +โ”œโ”€โ”€ package.json +โ”œโ”€โ”€ tsconfig.json +โ”œโ”€โ”€ vite.config.ts +โ””โ”€โ”€ README.md +``` + +## Error Handling + +The client provides comprehensive error handling: + +```typescript +// Connection errors +try { + await producer.connect(roomId); +} catch (error) { + console.error('Connection failed:', error.message); +} + +// Operation errors +producer.onError((error) => { + console.error('Producer error:', error); +}); + +// Network timeouts +const options = { timeout: 10000 }; // 10 seconds +const client = new RoboticsProducer('http://localhost:8000', options); +``` + +## Configuration + +### Client Options + +```typescript +interface ClientOptions { + timeout?: number; // Request timeout (default: 5000ms) + reconnect_attempts?: number; // Auto-reconnect attempts (default: 3) + heartbeat_interval?: number; // Heartbeat interval (default: 30000ms) +} + +const producer = new RoboticsProducer('http://localhost:8000', { + timeout: 10000, + reconnect_attempts: 5, + heartbeat_interval: 15000 +}); +``` + +## Troubleshooting + +### Common Issues + +1. **Connection Failed**: Ensure the server is running on `http://localhost:8000` +2. **Import Errors**: Make sure you've built the library (`bun run build`) +3. **Room Not Found**: Check that the room ID exists +4. **Permission Denied**: Only one producer per room is allowed +5. **WebSocket Errors**: Check firewall settings and network connectivity + +### Debug Mode + +Enable detailed logging: + +```typescript +// Set up detailed error handling +producer.onError((error) => { + console.error('Detailed error:', error); +}); + +// Monitor connection events +producer.onConnected(() => console.log('Connected')); +producer.onDisconnected(() => console.log('Disconnected')); +``` + +### Performance Tips + +- Use the factory functions for simpler setup +- Batch joint updates when possible +- Monitor connection state before sending commands +- Implement proper cleanup in your applications + +## Contributing + +1. Fork the repository +2. Create a feature branch: `git checkout -b feature/amazing-feature` +3. Make your changes and add tests +4. Run the test suite: `bun test` +5. Commit your changes: `git commit -m 'Add amazing feature'` +6. Push to the branch: `git push origin feature/amazing-feature` +7. Open a Pull Request + +## License + +MIT License - see LICENSE file for details + +## Support + +- ๐Ÿ“š [Documentation](./examples/README.md) +- ๐Ÿ› [Issue Tracker](https://github.com/lerobot-arena/lerobot-arena/issues) +- ๐Ÿ’ฌ [Discussions](https://github.com/lerobot-arena/lerobot-arena/discussions) diff --git a/client/js/bun.lock b/client/js/bun.lock new file mode 100644 index 0000000000000000000000000000000000000000..8bb553bcb6eb1840c6a56bd80e4283165891291c --- /dev/null +++ b/client/js/bun.lock @@ -0,0 +1,409 @@ +{ + "lockfileVersion": 1, + "workspaces": { + "": { + "name": "lerobot_arena_client", + "dependencies": { + "@hey-api/client-fetch": "^0.2.1", + "eventemitter3": "^5.0.1", + }, + "devDependencies": { + "@hey-api/openapi-ts": "^0.53.8", + "@types/bun": "^1.2.15", + "typescript": "^5.3.3", + "vite": "6.3.5", + "vite-plugin-dts": "4.5.4", + }, + "peerDependencies": { + "typescript": ">=5.0.0", + }, + }, + }, + "packages": { + "@apidevtools/json-schema-ref-parser": ["@apidevtools/json-schema-ref-parser@11.7.2", "", { "dependencies": { "@jsdevtools/ono": "^7.1.3", "@types/json-schema": "^7.0.15", "js-yaml": "^4.1.0" } }, "sha512-4gY54eEGEstClvEkGnwVkTkrx0sqwemEFG5OSRRn3tD91XH0+Q8XIkYIfo7IwEWPpJZwILb9GUXeShtplRc/eA=="], + + "@babel/helper-string-parser": ["@babel/helper-string-parser@7.27.1", "", {}, "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA=="], + + "@babel/helper-validator-identifier": ["@babel/helper-validator-identifier@7.27.1", "", {}, "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow=="], + + "@babel/parser": ["@babel/parser@7.27.5", "", { "dependencies": { "@babel/types": "^7.27.3" }, "bin": "./bin/babel-parser.js" }, "sha512-OsQd175SxWkGlzbny8J3K8TnnDD0N3lrIUtB92xwyRpzaenGZhxDvxN/JgU00U3CDZNj9tPuDJ5H0WS4Nt3vKg=="], + + "@babel/types": ["@babel/types@7.27.6", "", { "dependencies": { "@babel/helper-string-parser": "^7.27.1", "@babel/helper-validator-identifier": "^7.27.1" } }, "sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q=="], + + "@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.5", "", { "os": "aix", "cpu": "ppc64" }, "sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA=="], + + "@esbuild/android-arm": ["@esbuild/android-arm@0.25.5", "", { "os": "android", "cpu": "arm" }, "sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA=="], + + "@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.5", "", { "os": "android", "cpu": "arm64" }, "sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg=="], + + "@esbuild/android-x64": ["@esbuild/android-x64@0.25.5", "", { "os": "android", "cpu": "x64" }, "sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw=="], + + "@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.5", "", { "os": "darwin", "cpu": "arm64" }, "sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ=="], + + "@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.5", "", { "os": "darwin", "cpu": "x64" }, "sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ=="], + + "@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.5", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw=="], + + "@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.5", "", { "os": "freebsd", "cpu": "x64" }, "sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw=="], + + "@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.5", "", { "os": "linux", "cpu": "arm" }, "sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw=="], + + "@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.5", "", { "os": "linux", "cpu": "arm64" }, "sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg=="], + + "@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.5", "", { "os": "linux", "cpu": "ia32" }, "sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA=="], + + "@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.5", "", { "os": "linux", "cpu": "none" }, "sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg=="], + + "@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.5", "", { "os": "linux", "cpu": "none" }, "sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg=="], + + "@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.5", "", { "os": "linux", "cpu": "ppc64" }, "sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ=="], + + "@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.5", "", { "os": "linux", "cpu": "none" }, "sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA=="], + + "@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.5", "", { "os": "linux", "cpu": "s390x" }, "sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ=="], + + "@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.5", "", { "os": "linux", "cpu": "x64" }, "sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw=="], + + "@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.5", "", { "os": "none", "cpu": "arm64" }, "sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw=="], + + "@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.5", "", { "os": "none", "cpu": "x64" }, "sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ=="], + + "@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.5", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw=="], + + "@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.5", "", { "os": "openbsd", "cpu": "x64" }, "sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg=="], + + "@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.5", "", { "os": "sunos", "cpu": "x64" }, "sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA=="], + + "@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.5", "", { "os": "win32", "cpu": "arm64" }, "sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw=="], + + "@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.5", "", { "os": "win32", "cpu": "ia32" }, "sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ=="], + + "@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.5", "", { "os": "win32", "cpu": "x64" }, "sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g=="], + + "@hey-api/client-fetch": ["@hey-api/client-fetch@0.2.4", "", {}, "sha512-SGTVAVw3PlKDLw+IyhNhb/jCH3P1P2xJzLxA8Kyz1g95HrkYOJdRpl9F5I7LLwo9aCIB7nwR2NrSeX7QaQD7vQ=="], + + "@hey-api/openapi-ts": ["@hey-api/openapi-ts@0.53.12", "", { "dependencies": { "@apidevtools/json-schema-ref-parser": "11.7.2", "c12": "2.0.1", "commander": "12.1.0", "handlebars": "4.7.8" }, "peerDependencies": { "typescript": "^5.x" }, "bin": { "openapi-ts": "bin/index.cjs" } }, "sha512-cOm8AlUqJIWdLXq+Pk4mTXhEApRSc9xEWTVT8MZAyEqrN1Yhiisl2wyZGH9quzKpolq+oqvgcx61txtwHwi8vQ=="], + + "@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.5.0", "", {}, "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ=="], + + "@jsdevtools/ono": ["@jsdevtools/ono@7.1.3", "", {}, "sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg=="], + + "@microsoft/api-extractor": ["@microsoft/api-extractor@7.52.8", "", { "dependencies": { "@microsoft/api-extractor-model": "7.30.6", "@microsoft/tsdoc": "~0.15.1", "@microsoft/tsdoc-config": "~0.17.1", "@rushstack/node-core-library": "5.13.1", "@rushstack/rig-package": "0.5.3", "@rushstack/terminal": "0.15.3", "@rushstack/ts-command-line": "5.0.1", "lodash": "~4.17.15", "minimatch": "~3.0.3", "resolve": "~1.22.1", "semver": "~7.5.4", "source-map": "~0.6.1", "typescript": "5.8.2" }, "bin": { "api-extractor": "bin/api-extractor" } }, "sha512-cszYIcjiNscDoMB1CIKZ3My61+JOhpERGlGr54i6bocvGLrcL/wo9o+RNXMBrb7XgLtKaizZWUpqRduQuHQLdg=="], + + "@microsoft/api-extractor-model": ["@microsoft/api-extractor-model@7.30.6", "", { "dependencies": { "@microsoft/tsdoc": "~0.15.1", "@microsoft/tsdoc-config": "~0.17.1", "@rushstack/node-core-library": "5.13.1" } }, "sha512-znmFn69wf/AIrwHya3fxX6uB5etSIn6vg4Q4RB/tb5VDDs1rqREc+AvMC/p19MUN13CZ7+V/8pkYPTj7q8tftg=="], + + "@microsoft/tsdoc": ["@microsoft/tsdoc@0.15.1", "", {}, "sha512-4aErSrCR/On/e5G2hDP0wjooqDdauzEbIq8hIkIe5pXV0rtWJZvdCEKL0ykZxex+IxIwBp0eGeV48hQN07dXtw=="], + + "@microsoft/tsdoc-config": ["@microsoft/tsdoc-config@0.17.1", "", { "dependencies": { "@microsoft/tsdoc": "0.15.1", "ajv": "~8.12.0", "jju": "~1.4.0", "resolve": "~1.22.2" } }, "sha512-UtjIFe0C6oYgTnad4q1QP4qXwLhe6tIpNTRStJ2RZEPIkqQPREAwE5spzVxsdn9UaEMUqhh0AqSx3X4nWAKXWw=="], + + "@rollup/pluginutils": ["@rollup/pluginutils@5.1.4", "", { "dependencies": { "@types/estree": "^1.0.0", "estree-walker": "^2.0.2", "picomatch": "^4.0.2" }, "peerDependencies": { "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, "optionalPeers": ["rollup"] }, "sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ=="], + + "@rollup/rollup-android-arm-eabi": ["@rollup/rollup-android-arm-eabi@4.41.1", "", { "os": "android", "cpu": "arm" }, "sha512-NELNvyEWZ6R9QMkiytB4/L4zSEaBC03KIXEghptLGLZWJ6VPrL63ooZQCOnlx36aQPGhzuOMwDerC1Eb2VmrLw=="], + + "@rollup/rollup-android-arm64": ["@rollup/rollup-android-arm64@4.41.1", "", { "os": "android", "cpu": "arm64" }, "sha512-DXdQe1BJ6TK47ukAoZLehRHhfKnKg9BjnQYUu9gzhI8Mwa1d2fzxA1aw2JixHVl403bwp1+/o/NhhHtxWJBgEA=="], + + "@rollup/rollup-darwin-arm64": ["@rollup/rollup-darwin-arm64@4.41.1", "", { "os": "darwin", "cpu": "arm64" }, "sha512-5afxvwszzdulsU2w8JKWwY8/sJOLPzf0e1bFuvcW5h9zsEg+RQAojdW0ux2zyYAz7R8HvvzKCjLNJhVq965U7w=="], + + "@rollup/rollup-darwin-x64": ["@rollup/rollup-darwin-x64@4.41.1", "", { "os": "darwin", "cpu": "x64" }, "sha512-egpJACny8QOdHNNMZKf8xY0Is6gIMz+tuqXlusxquWu3F833DcMwmGM7WlvCO9sB3OsPjdC4U0wHw5FabzCGZg=="], + + "@rollup/rollup-freebsd-arm64": ["@rollup/rollup-freebsd-arm64@4.41.1", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-DBVMZH5vbjgRk3r0OzgjS38z+atlupJ7xfKIDJdZZL6sM6wjfDNo64aowcLPKIx7LMQi8vybB56uh1Ftck/Atg=="], + + "@rollup/rollup-freebsd-x64": ["@rollup/rollup-freebsd-x64@4.41.1", "", { "os": "freebsd", "cpu": "x64" }, "sha512-3FkydeohozEskBxNWEIbPfOE0aqQgB6ttTkJ159uWOFn42VLyfAiyD9UK5mhu+ItWzft60DycIN1Xdgiy8o/SA=="], + + "@rollup/rollup-linux-arm-gnueabihf": ["@rollup/rollup-linux-arm-gnueabihf@4.41.1", "", { "os": "linux", "cpu": "arm" }, "sha512-wC53ZNDgt0pqx5xCAgNunkTzFE8GTgdZ9EwYGVcg+jEjJdZGtq9xPjDnFgfFozQI/Xm1mh+D9YlYtl+ueswNEg=="], + + "@rollup/rollup-linux-arm-musleabihf": ["@rollup/rollup-linux-arm-musleabihf@4.41.1", "", { "os": "linux", "cpu": "arm" }, "sha512-jwKCca1gbZkZLhLRtsrka5N8sFAaxrGz/7wRJ8Wwvq3jug7toO21vWlViihG85ei7uJTpzbXZRcORotE+xyrLA=="], + + "@rollup/rollup-linux-arm64-gnu": ["@rollup/rollup-linux-arm64-gnu@4.41.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-g0UBcNknsmmNQ8V2d/zD2P7WWfJKU0F1nu0k5pW4rvdb+BIqMm8ToluW/eeRmxCared5dD76lS04uL4UaNgpNA=="], + + "@rollup/rollup-linux-arm64-musl": ["@rollup/rollup-linux-arm64-musl@4.41.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-XZpeGB5TKEZWzIrj7sXr+BEaSgo/ma/kCgrZgL0oo5qdB1JlTzIYQKel/RmhT6vMAvOdM2teYlAaOGJpJ9lahg=="], + + "@rollup/rollup-linux-loongarch64-gnu": ["@rollup/rollup-linux-loongarch64-gnu@4.41.1", "", { "os": "linux", "cpu": "none" }, "sha512-bkCfDJ4qzWfFRCNt5RVV4DOw6KEgFTUZi2r2RuYhGWC8WhCA8lCAJhDeAmrM/fdiAH54m0mA0Vk2FGRPyzI+tw=="], + + "@rollup/rollup-linux-powerpc64le-gnu": ["@rollup/rollup-linux-powerpc64le-gnu@4.41.1", "", { "os": "linux", "cpu": "ppc64" }, "sha512-3mr3Xm+gvMX+/8EKogIZSIEF0WUu0HL9di+YWlJpO8CQBnoLAEL/roTCxuLncEdgcfJcvA4UMOf+2dnjl4Ut1A=="], + + "@rollup/rollup-linux-riscv64-gnu": ["@rollup/rollup-linux-riscv64-gnu@4.41.1", "", { "os": "linux", "cpu": "none" }, "sha512-3rwCIh6MQ1LGrvKJitQjZFuQnT2wxfU+ivhNBzmxXTXPllewOF7JR1s2vMX/tWtUYFgphygxjqMl76q4aMotGw=="], + + "@rollup/rollup-linux-riscv64-musl": ["@rollup/rollup-linux-riscv64-musl@4.41.1", "", { "os": "linux", "cpu": "none" }, "sha512-LdIUOb3gvfmpkgFZuccNa2uYiqtgZAz3PTzjuM5bH3nvuy9ty6RGc/Q0+HDFrHrizJGVpjnTZ1yS5TNNjFlklw=="], + + "@rollup/rollup-linux-s390x-gnu": ["@rollup/rollup-linux-s390x-gnu@4.41.1", "", { "os": "linux", "cpu": "s390x" }, "sha512-oIE6M8WC9ma6xYqjvPhzZYk6NbobIURvP/lEbh7FWplcMO6gn7MM2yHKA1eC/GvYwzNKK/1LYgqzdkZ8YFxR8g=="], + + "@rollup/rollup-linux-x64-gnu": ["@rollup/rollup-linux-x64-gnu@4.41.1", "", { "os": "linux", "cpu": "x64" }, "sha512-cWBOvayNvA+SyeQMp79BHPK8ws6sHSsYnK5zDcsC3Hsxr1dgTABKjMnMslPq1DvZIp6uO7kIWhiGwaTdR4Og9A=="], + + "@rollup/rollup-linux-x64-musl": ["@rollup/rollup-linux-x64-musl@4.41.1", "", { "os": "linux", "cpu": "x64" }, "sha512-y5CbN44M+pUCdGDlZFzGGBSKCA4A/J2ZH4edTYSSxFg7ce1Xt3GtydbVKWLlzL+INfFIZAEg1ZV6hh9+QQf9YQ=="], + + "@rollup/rollup-win32-arm64-msvc": ["@rollup/rollup-win32-arm64-msvc@4.41.1", "", { "os": "win32", "cpu": "arm64" }, "sha512-lZkCxIrjlJlMt1dLO/FbpZbzt6J/A8p4DnqzSa4PWqPEUUUnzXLeki/iyPLfV0BmHItlYgHUqJe+3KiyydmiNQ=="], + + "@rollup/rollup-win32-ia32-msvc": ["@rollup/rollup-win32-ia32-msvc@4.41.1", "", { "os": "win32", "cpu": "ia32" }, "sha512-+psFT9+pIh2iuGsxFYYa/LhS5MFKmuivRsx9iPJWNSGbh2XVEjk90fmpUEjCnILPEPJnikAU6SFDiEUyOv90Pg=="], + + "@rollup/rollup-win32-x64-msvc": ["@rollup/rollup-win32-x64-msvc@4.41.1", "", { "os": "win32", "cpu": "x64" }, "sha512-Wq2zpapRYLfi4aKxf2Xff0tN+7slj2d4R87WEzqw7ZLsVvO5zwYCIuEGSZYiK41+GlwUo1HiR+GdkLEJnCKTCw=="], + + "@rushstack/node-core-library": ["@rushstack/node-core-library@5.13.1", "", { "dependencies": { "ajv": "~8.13.0", "ajv-draft-04": "~1.0.0", "ajv-formats": "~3.0.1", "fs-extra": "~11.3.0", "import-lazy": "~4.0.0", "jju": "~1.4.0", "resolve": "~1.22.1", "semver": "~7.5.4" }, "peerDependencies": { "@types/node": "*" }, "optionalPeers": ["@types/node"] }, "sha512-5yXhzPFGEkVc9Fu92wsNJ9jlvdwz4RNb2bMso+/+TH0nMm1jDDDsOIf4l8GAkPxGuwPw5DH24RliWVfSPhlW/Q=="], + + "@rushstack/rig-package": ["@rushstack/rig-package@0.5.3", "", { "dependencies": { "resolve": "~1.22.1", "strip-json-comments": "~3.1.1" } }, "sha512-olzSSjYrvCNxUFZowevC3uz8gvKr3WTpHQ7BkpjtRpA3wK+T0ybep/SRUMfr195gBzJm5gaXw0ZMgjIyHqJUow=="], + + "@rushstack/terminal": ["@rushstack/terminal@0.15.3", "", { "dependencies": { "@rushstack/node-core-library": "5.13.1", "supports-color": "~8.1.1" }, "peerDependencies": { "@types/node": "*" }, "optionalPeers": ["@types/node"] }, "sha512-DGJ0B2Vm69468kZCJkPj3AH5nN+nR9SPmC0rFHtzsS4lBQ7/dgOwtwVxYP7W9JPDMuRBkJ4KHmWKr036eJsj9g=="], + + "@rushstack/ts-command-line": ["@rushstack/ts-command-line@5.0.1", "", { "dependencies": { "@rushstack/terminal": "0.15.3", "@types/argparse": "1.0.38", "argparse": "~1.0.9", "string-argv": "~0.3.1" } }, "sha512-bsbUucn41UXrQK7wgM8CNM/jagBytEyJqXw/umtI8d68vFm1Jwxh1OtLrlW7uGZgjCWiiPH6ooUNa1aVsuVr3Q=="], + + "@types/argparse": ["@types/argparse@1.0.38", "", {}, "sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA=="], + + "@types/bun": ["@types/bun@1.2.15", "", { "dependencies": { "bun-types": "1.2.15" } }, "sha512-U1ljPdBEphF0nw1MIk0hI7kPg7dFdPyM7EenHsp6W5loNHl7zqy6JQf/RKCgnUn2KDzUpkBwHPnEJEjII594bA=="], + + "@types/estree": ["@types/estree@1.0.7", "", {}, "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ=="], + + "@types/json-schema": ["@types/json-schema@7.0.15", "", {}, "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA=="], + + "@types/node": ["@types/node@22.15.30", "", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-6Q7lr06bEHdlfplU6YRbgG1SFBdlsfNC4/lX+SkhiTs0cpJkOElmWls8PxDFv4yY/xKb8Y6SO0OmSX4wgqTZbA=="], + + "@volar/language-core": ["@volar/language-core@2.4.14", "", { "dependencies": { "@volar/source-map": "2.4.14" } }, "sha512-X6beusV0DvuVseaOEy7GoagS4rYHgDHnTrdOj5jeUb49fW5ceQyP9Ej5rBhqgz2wJggl+2fDbbojq1XKaxDi6w=="], + + "@volar/source-map": ["@volar/source-map@2.4.14", "", {}, "sha512-5TeKKMh7Sfxo8021cJfmBzcjfY1SsXsPMMjMvjY7ivesdnybqqS+GxGAoXHAOUawQTwtdUxgP65Im+dEmvWtYQ=="], + + "@volar/typescript": ["@volar/typescript@2.4.14", "", { "dependencies": { "@volar/language-core": "2.4.14", "path-browserify": "^1.0.1", "vscode-uri": "^3.0.8" } }, "sha512-p8Z6f/bZM3/HyCdRNFZOEEzts51uV8WHeN8Tnfnm2EBv6FDB2TQLzfVx7aJvnl8ofKAOnS64B2O8bImBFaauRw=="], + + "@vue/compiler-core": ["@vue/compiler-core@3.5.16", "", { "dependencies": { "@babel/parser": "^7.27.2", "@vue/shared": "3.5.16", "entities": "^4.5.0", "estree-walker": "^2.0.2", "source-map-js": "^1.2.1" } }, "sha512-AOQS2eaQOaaZQoL1u+2rCJIKDruNXVBZSiUD3chnUrsoX5ZTQMaCvXlWNIfxBJuU15r1o7+mpo5223KVtIhAgQ=="], + + "@vue/compiler-dom": ["@vue/compiler-dom@3.5.16", "", { "dependencies": { "@vue/compiler-core": "3.5.16", "@vue/shared": "3.5.16" } }, "sha512-SSJIhBr/teipXiXjmWOVWLnxjNGo65Oj/8wTEQz0nqwQeP75jWZ0n4sF24Zxoht1cuJoWopwj0J0exYwCJ0dCQ=="], + + "@vue/compiler-vue2": ["@vue/compiler-vue2@2.7.16", "", { "dependencies": { "de-indent": "^1.0.2", "he": "^1.2.0" } }, "sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A=="], + + "@vue/language-core": ["@vue/language-core@2.2.0", "", { "dependencies": { "@volar/language-core": "~2.4.11", "@vue/compiler-dom": "^3.5.0", "@vue/compiler-vue2": "^2.7.16", "@vue/shared": "^3.5.0", "alien-signals": "^0.4.9", "minimatch": "^9.0.3", "muggle-string": "^0.4.1", "path-browserify": "^1.0.1" }, "peerDependencies": { "typescript": "*" }, "optionalPeers": ["typescript"] }, "sha512-O1ZZFaaBGkKbsRfnVH1ifOK1/1BUkyK+3SQsfnh6PmMmD4qJcTU8godCeA96jjDRTL6zgnK7YzCHfaUlH2r0Mw=="], + + "@vue/shared": ["@vue/shared@3.5.16", "", {}, "sha512-c/0fWy3Jw6Z8L9FmTyYfkpM5zklnqqa9+a6dz3DvONRKW2NEbh46BP0FHuLFSWi2TnQEtp91Z6zOWNrU6QiyPg=="], + + "acorn": ["acorn@8.14.1", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg=="], + + "ajv": ["ajv@8.12.0", "", { "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2", "uri-js": "^4.2.2" } }, "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA=="], + + "ajv-draft-04": ["ajv-draft-04@1.0.0", "", { "peerDependencies": { "ajv": "^8.5.0" }, "optionalPeers": ["ajv"] }, "sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw=="], + + "ajv-formats": ["ajv-formats@3.0.1", "", { "dependencies": { "ajv": "^8.0.0" } }, "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ=="], + + "alien-signals": ["alien-signals@0.4.14", "", {}, "sha512-itUAVzhczTmP2U5yX67xVpsbbOiquusbWVyA9N+sy6+r6YVbFkahXvNCeEPWEOMhwDYwbVbGHFkVL03N9I5g+Q=="], + + "argparse": ["argparse@2.0.1", "", {}, "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="], + + "balanced-match": ["balanced-match@1.0.2", "", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="], + + "brace-expansion": ["brace-expansion@1.1.11", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA=="], + + "bun-types": ["bun-types@1.2.15", "", { "dependencies": { "@types/node": "*" } }, "sha512-NarRIaS+iOaQU1JPfyKhZm4AsUOrwUOqRNHY0XxI8GI8jYxiLXLcdjYMG9UKS+fwWasc1uw1htV9AX24dD+p4w=="], + + "c12": ["c12@2.0.1", "", { "dependencies": { "chokidar": "^4.0.1", "confbox": "^0.1.7", "defu": "^6.1.4", "dotenv": "^16.4.5", "giget": "^1.2.3", "jiti": "^2.3.0", "mlly": "^1.7.1", "ohash": "^1.1.4", "pathe": "^1.1.2", "perfect-debounce": "^1.0.0", "pkg-types": "^1.2.0", "rc9": "^2.1.2" }, "peerDependencies": { "magicast": "^0.3.5" }, "optionalPeers": ["magicast"] }, "sha512-Z4JgsKXHG37C6PYUtIxCfLJZvo6FyhHJoClwwb9ftUkLpPSkuYqn6Tr+vnaN8hymm0kIbcg6Ey3kv/Q71k5w/A=="], + + "chokidar": ["chokidar@4.0.3", "", { "dependencies": { "readdirp": "^4.0.1" } }, "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA=="], + + "chownr": ["chownr@2.0.0", "", {}, "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ=="], + + "citty": ["citty@0.1.6", "", { "dependencies": { "consola": "^3.2.3" } }, "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ=="], + + "commander": ["commander@12.1.0", "", {}, "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA=="], + + "compare-versions": ["compare-versions@6.1.1", "", {}, "sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg=="], + + "concat-map": ["concat-map@0.0.1", "", {}, "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="], + + "confbox": ["confbox@0.1.8", "", {}, "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w=="], + + "consola": ["consola@3.4.2", "", {}, "sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA=="], + + "de-indent": ["de-indent@1.0.2", "", {}, "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg=="], + + "debug": ["debug@4.4.1", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ=="], + + "defu": ["defu@6.1.4", "", {}, "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg=="], + + "destr": ["destr@2.0.5", "", {}, "sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA=="], + + "dotenv": ["dotenv@16.5.0", "", {}, "sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg=="], + + "entities": ["entities@4.5.0", "", {}, "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw=="], + + "esbuild": ["esbuild@0.25.5", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.5", "@esbuild/android-arm": "0.25.5", "@esbuild/android-arm64": "0.25.5", "@esbuild/android-x64": "0.25.5", "@esbuild/darwin-arm64": "0.25.5", "@esbuild/darwin-x64": "0.25.5", "@esbuild/freebsd-arm64": "0.25.5", "@esbuild/freebsd-x64": "0.25.5", "@esbuild/linux-arm": "0.25.5", "@esbuild/linux-arm64": "0.25.5", "@esbuild/linux-ia32": "0.25.5", "@esbuild/linux-loong64": "0.25.5", "@esbuild/linux-mips64el": "0.25.5", "@esbuild/linux-ppc64": "0.25.5", "@esbuild/linux-riscv64": "0.25.5", "@esbuild/linux-s390x": "0.25.5", "@esbuild/linux-x64": "0.25.5", "@esbuild/netbsd-arm64": "0.25.5", "@esbuild/netbsd-x64": "0.25.5", "@esbuild/openbsd-arm64": "0.25.5", "@esbuild/openbsd-x64": "0.25.5", "@esbuild/sunos-x64": "0.25.5", "@esbuild/win32-arm64": "0.25.5", "@esbuild/win32-ia32": "0.25.5", "@esbuild/win32-x64": "0.25.5" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ=="], + + "estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="], + + "eventemitter3": ["eventemitter3@5.0.1", "", {}, "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA=="], + + "exsolve": ["exsolve@1.0.5", "", {}, "sha512-pz5dvkYYKQ1AHVrgOzBKWeP4u4FRb3a6DNK2ucr0OoNwYIU4QWsJ+NM36LLzORT+z845MzKHHhpXiUF5nvQoJg=="], + + "fast-deep-equal": ["fast-deep-equal@3.1.3", "", {}, "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="], + + "fdir": ["fdir@6.4.5", "", { "peerDependencies": { "picomatch": "^3 || ^4" }, "optionalPeers": ["picomatch"] }, "sha512-4BG7puHpVsIYxZUbiUE3RqGloLaSSwzYie5jvasC4LWuBWzZawynvYouhjbQKw2JuIGYdm0DzIxl8iVidKlUEw=="], + + "fs-extra": ["fs-extra@11.3.0", "", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" } }, "sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew=="], + + "fs-minipass": ["fs-minipass@2.1.0", "", { "dependencies": { "minipass": "^3.0.0" } }, "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg=="], + + "fsevents": ["fsevents@2.3.3", "", { "os": "darwin" }, "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="], + + "function-bind": ["function-bind@1.1.2", "", {}, "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="], + + "giget": ["giget@1.2.5", "", { "dependencies": { "citty": "^0.1.6", "consola": "^3.4.0", "defu": "^6.1.4", "node-fetch-native": "^1.6.6", "nypm": "^0.5.4", "pathe": "^2.0.3", "tar": "^6.2.1" }, "bin": { "giget": "dist/cli.mjs" } }, "sha512-r1ekGw/Bgpi3HLV3h1MRBIlSAdHoIMklpaQ3OQLFcRw9PwAj2rqigvIbg+dBUI51OxVI2jsEtDywDBjSiuf7Ug=="], + + "graceful-fs": ["graceful-fs@4.2.11", "", {}, "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="], + + "handlebars": ["handlebars@4.7.8", "", { "dependencies": { "minimist": "^1.2.5", "neo-async": "^2.6.2", "source-map": "^0.6.1", "wordwrap": "^1.0.0" }, "optionalDependencies": { "uglify-js": "^3.1.4" }, "bin": { "handlebars": "bin/handlebars" } }, "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ=="], + + "has-flag": ["has-flag@4.0.0", "", {}, "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="], + + "hasown": ["hasown@2.0.2", "", { "dependencies": { "function-bind": "^1.1.2" } }, "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ=="], + + "he": ["he@1.2.0", "", { "bin": { "he": "bin/he" } }, "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw=="], + + "import-lazy": ["import-lazy@4.0.0", "", {}, "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw=="], + + "is-core-module": ["is-core-module@2.16.1", "", { "dependencies": { "hasown": "^2.0.2" } }, "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w=="], + + "jiti": ["jiti@2.4.2", "", { "bin": { "jiti": "lib/jiti-cli.mjs" } }, "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A=="], + + "jju": ["jju@1.4.0", "", {}, "sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA=="], + + "js-yaml": ["js-yaml@4.1.0", "", { "dependencies": { "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA=="], + + "json-schema-traverse": ["json-schema-traverse@1.0.0", "", {}, "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="], + + "jsonfile": ["jsonfile@6.1.0", "", { "dependencies": { "universalify": "^2.0.0" }, "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ=="], + + "kolorist": ["kolorist@1.8.0", "", {}, "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ=="], + + "local-pkg": ["local-pkg@1.1.1", "", { "dependencies": { "mlly": "^1.7.4", "pkg-types": "^2.0.1", "quansync": "^0.2.8" } }, "sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg=="], + + "lodash": ["lodash@4.17.21", "", {}, "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="], + + "lru-cache": ["lru-cache@6.0.0", "", { "dependencies": { "yallist": "^4.0.0" } }, "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA=="], + + "magic-string": ["magic-string@0.30.17", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0" } }, "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA=="], + + "minimatch": ["minimatch@3.0.8", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q=="], + + "minimist": ["minimist@1.2.8", "", {}, "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA=="], + + "minipass": ["minipass@5.0.0", "", {}, "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ=="], + + "minizlib": ["minizlib@2.1.2", "", { "dependencies": { "minipass": "^3.0.0", "yallist": "^4.0.0" } }, "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg=="], + + "mkdirp": ["mkdirp@1.0.4", "", { "bin": { "mkdirp": "bin/cmd.js" } }, "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw=="], + + "mlly": ["mlly@1.7.4", "", { "dependencies": { "acorn": "^8.14.0", "pathe": "^2.0.1", "pkg-types": "^1.3.0", "ufo": "^1.5.4" } }, "sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw=="], + + "ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="], + + "muggle-string": ["muggle-string@0.4.1", "", {}, "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ=="], + + "nanoid": ["nanoid@3.3.11", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="], + + "neo-async": ["neo-async@2.6.2", "", {}, "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw=="], + + "node-fetch-native": ["node-fetch-native@1.6.6", "", {}, "sha512-8Mc2HhqPdlIfedsuZoc3yioPuzp6b+L5jRCRY1QzuWZh2EGJVQrGppC6V6cF0bLdbW0+O2YpqCA25aF/1lvipQ=="], + + "nypm": ["nypm@0.5.4", "", { "dependencies": { "citty": "^0.1.6", "consola": "^3.4.0", "pathe": "^2.0.3", "pkg-types": "^1.3.1", "tinyexec": "^0.3.2", "ufo": "^1.5.4" }, "bin": { "nypm": "dist/cli.mjs" } }, "sha512-X0SNNrZiGU8/e/zAB7sCTtdxWTMSIO73q+xuKgglm2Yvzwlo8UoC5FNySQFCvl84uPaeADkqHUZUkWy4aH4xOA=="], + + "ohash": ["ohash@1.1.6", "", {}, "sha512-TBu7PtV8YkAZn0tSxobKY2n2aAQva936lhRrj6957aDaCf9IEtqsKbgMzXE/F/sjqYOwmrukeORHNLe5glk7Cg=="], + + "path-browserify": ["path-browserify@1.0.1", "", {}, "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g=="], + + "path-parse": ["path-parse@1.0.7", "", {}, "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="], + + "pathe": ["pathe@1.1.2", "", {}, "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ=="], + + "perfect-debounce": ["perfect-debounce@1.0.0", "", {}, "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA=="], + + "picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="], + + "picomatch": ["picomatch@4.0.2", "", {}, "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg=="], + + "pkg-types": ["pkg-types@1.3.1", "", { "dependencies": { "confbox": "^0.1.8", "mlly": "^1.7.4", "pathe": "^2.0.1" } }, "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ=="], + + "postcss": ["postcss@8.5.4", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-QSa9EBe+uwlGTFmHsPKokv3B/oEMQZxfqW0QqNCyhpa6mB1afzulwn8hihglqAb2pOw+BJgNlmXQ8la2VeHB7w=="], + + "punycode": ["punycode@2.3.1", "", {}, "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg=="], + + "quansync": ["quansync@0.2.10", "", {}, "sha512-t41VRkMYbkHyCYmOvx/6URnN80H7k4X0lLdBMGsz+maAwrJQYB1djpV6vHrQIBE0WBSGqhtEHrK9U3DWWH8v7A=="], + + "rc9": ["rc9@2.1.2", "", { "dependencies": { "defu": "^6.1.4", "destr": "^2.0.3" } }, "sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg=="], + + "readdirp": ["readdirp@4.1.2", "", {}, "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg=="], + + "require-from-string": ["require-from-string@2.0.2", "", {}, "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw=="], + + "resolve": ["resolve@1.22.10", "", { "dependencies": { "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" } }, "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w=="], + + "rollup": ["rollup@4.41.1", "", { "dependencies": { "@types/estree": "1.0.7" }, "optionalDependencies": { "@rollup/rollup-android-arm-eabi": "4.41.1", "@rollup/rollup-android-arm64": "4.41.1", "@rollup/rollup-darwin-arm64": "4.41.1", "@rollup/rollup-darwin-x64": "4.41.1", "@rollup/rollup-freebsd-arm64": "4.41.1", "@rollup/rollup-freebsd-x64": "4.41.1", "@rollup/rollup-linux-arm-gnueabihf": "4.41.1", "@rollup/rollup-linux-arm-musleabihf": "4.41.1", "@rollup/rollup-linux-arm64-gnu": "4.41.1", "@rollup/rollup-linux-arm64-musl": "4.41.1", "@rollup/rollup-linux-loongarch64-gnu": "4.41.1", "@rollup/rollup-linux-powerpc64le-gnu": "4.41.1", "@rollup/rollup-linux-riscv64-gnu": "4.41.1", "@rollup/rollup-linux-riscv64-musl": "4.41.1", "@rollup/rollup-linux-s390x-gnu": "4.41.1", "@rollup/rollup-linux-x64-gnu": "4.41.1", "@rollup/rollup-linux-x64-musl": "4.41.1", "@rollup/rollup-win32-arm64-msvc": "4.41.1", "@rollup/rollup-win32-ia32-msvc": "4.41.1", "@rollup/rollup-win32-x64-msvc": "4.41.1", "fsevents": "~2.3.2" }, "bin": { "rollup": "dist/bin/rollup" } }, "sha512-cPmwD3FnFv8rKMBc1MxWCwVQFxwf1JEmSX3iQXrRVVG15zerAIXRjMFVWnd5Q5QvgKF7Aj+5ykXFhUl+QGnyOw=="], + + "semver": ["semver@7.5.4", "", { "dependencies": { "lru-cache": "^6.0.0" }, "bin": { "semver": "bin/semver.js" } }, "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA=="], + + "source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="], + + "source-map-js": ["source-map-js@1.2.1", "", {}, "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="], + + "sprintf-js": ["sprintf-js@1.0.3", "", {}, "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g=="], + + "string-argv": ["string-argv@0.3.2", "", {}, "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q=="], + + "strip-json-comments": ["strip-json-comments@3.1.1", "", {}, "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig=="], + + "supports-color": ["supports-color@8.1.1", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q=="], + + "supports-preserve-symlinks-flag": ["supports-preserve-symlinks-flag@1.0.0", "", {}, "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="], + + "tar": ["tar@6.2.1", "", { "dependencies": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", "minipass": "^5.0.0", "minizlib": "^2.1.1", "mkdirp": "^1.0.3", "yallist": "^4.0.0" } }, "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A=="], + + "tinyexec": ["tinyexec@0.3.2", "", {}, "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA=="], + + "tinyglobby": ["tinyglobby@0.2.14", "", { "dependencies": { "fdir": "^6.4.4", "picomatch": "^4.0.2" } }, "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ=="], + + "typescript": ["typescript@5.8.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ=="], + + "ufo": ["ufo@1.6.1", "", {}, "sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA=="], + + "uglify-js": ["uglify-js@3.19.3", "", { "bin": { "uglifyjs": "bin/uglifyjs" } }, "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ=="], + + "undici-types": ["undici-types@6.21.0", "", {}, "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="], + + "universalify": ["universalify@2.0.1", "", {}, "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw=="], + + "uri-js": ["uri-js@4.4.1", "", { "dependencies": { "punycode": "^2.1.0" } }, "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg=="], + + "vite": ["vite@6.3.5", "", { "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.4.4", "picomatch": "^4.0.2", "postcss": "^8.5.3", "rollup": "^4.34.9", "tinyglobby": "^0.2.13" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", "jiti": ">=1.21.0", "less": "*", "lightningcss": "^1.21.0", "sass": "*", "sass-embedded": "*", "stylus": "*", "sugarss": "*", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ=="], + + "vite-plugin-dts": ["vite-plugin-dts@4.5.4", "", { "dependencies": { "@microsoft/api-extractor": "^7.50.1", "@rollup/pluginutils": "^5.1.4", "@volar/typescript": "^2.4.11", "@vue/language-core": "2.2.0", "compare-versions": "^6.1.1", "debug": "^4.4.0", "kolorist": "^1.8.0", "local-pkg": "^1.0.0", "magic-string": "^0.30.17" }, "peerDependencies": { "typescript": "*", "vite": "*" }, "optionalPeers": ["vite"] }, "sha512-d4sOM8M/8z7vRXHHq/ebbblfaxENjogAAekcfcDCCwAyvGqnPrc7f4NZbvItS+g4WTgerW0xDwSz5qz11JT3vg=="], + + "vscode-uri": ["vscode-uri@3.1.0", "", {}, "sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ=="], + + "wordwrap": ["wordwrap@1.0.0", "", {}, "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q=="], + + "yallist": ["yallist@4.0.0", "", {}, "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="], + + "@microsoft/api-extractor/typescript": ["typescript@5.8.2", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ=="], + + "@rushstack/node-core-library/ajv": ["ajv@8.13.0", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2", "uri-js": "^4.4.1" } }, "sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA=="], + + "@rushstack/ts-command-line/argparse": ["argparse@1.0.10", "", { "dependencies": { "sprintf-js": "~1.0.2" } }, "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg=="], + + "@vue/language-core/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], + + "ajv-formats/ajv": ["ajv@8.13.0", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2", "uri-js": "^4.4.1" } }, "sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA=="], + + "fs-minipass/minipass": ["minipass@3.3.6", "", { "dependencies": { "yallist": "^4.0.0" } }, "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw=="], + + "giget/pathe": ["pathe@2.0.3", "", {}, "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w=="], + + "local-pkg/pkg-types": ["pkg-types@2.1.0", "", { "dependencies": { "confbox": "^0.2.1", "exsolve": "^1.0.1", "pathe": "^2.0.3" } }, "sha512-wmJwA+8ihJixSoHKxZJRBQG1oY8Yr9pGLzRmSsNms0iNWyHHAlZCa7mmKiFR10YPZuz/2k169JiS/inOjBCZ2A=="], + + "minizlib/minipass": ["minipass@3.3.6", "", { "dependencies": { "yallist": "^4.0.0" } }, "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw=="], + + "mlly/pathe": ["pathe@2.0.3", "", {}, "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w=="], + + "nypm/pathe": ["pathe@2.0.3", "", {}, "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w=="], + + "pkg-types/pathe": ["pathe@2.0.3", "", {}, "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w=="], + + "@vue/language-core/minimatch/brace-expansion": ["brace-expansion@2.0.1", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA=="], + + "local-pkg/pkg-types/confbox": ["confbox@0.2.2", "", {}, "sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ=="], + + "local-pkg/pkg-types/pathe": ["pathe@2.0.3", "", {}, "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w=="], + } +} diff --git a/client/js/examples/basic-consumer.js b/client/js/examples/basic-consumer.js new file mode 100644 index 0000000000000000000000000000000000000000..3ea6b163c19e2636774c3ad2b3ba015d61977555 --- /dev/null +++ b/client/js/examples/basic-consumer.js @@ -0,0 +1,173 @@ +#!/usr/bin/env node +/** + * Basic Consumer Example - LeRobot Arena + * + * This example demonstrates: + * - Connecting to an existing room as a consumer + * - Receiving joint updates and state sync + * - Setting up callbacks + * - Getting current state + */ + +import { RoboticsConsumer } from '../dist/robotics/index.js'; +import { createInterface } from 'readline'; + +async function main() { + console.log('๐Ÿค– LeRobot Arena Basic Consumer Example ๐Ÿค–'); + + // Get room ID from user + const rl = createInterface({ + input: process.stdin, + output: process.stdout + }); + + const roomId = await new Promise((resolve) => { + rl.question('Enter room ID to connect to: ', (answer) => { + rl.close(); + resolve(answer.trim()); + }); + }); + + if (!roomId) { + console.error('โŒ Room ID is required!'); + return; + } + + // Create consumer client + const consumer = new RoboticsConsumer('http://localhost:8000'); + + // Track received updates + let updateCount = 0; + let stateCount = 0; + const receivedUpdates = []; + const receivedStates = []; + + // Set up callbacks + consumer.onJointUpdate((joints) => { + updateCount++; + console.log(`๐Ÿ“ฅ [${updateCount}] Joint update: ${joints.length} joints`); + + // Show joint details + joints.forEach(joint => { + console.log(` ${joint.name}: ${joint.value}${joint.speed ? ` (speed: ${joint.speed})` : ''}`); + }); + + receivedUpdates.push(joints); + }); + + consumer.onStateSync((state) => { + stateCount++; + console.log(`๐Ÿ“Š [${stateCount}] State sync: ${Object.keys(state).length} joints`); + + // Show state details + Object.entries(state).forEach(([name, value]) => { + console.log(` ${name}: ${value}`); + }); + + receivedStates.push(state); + }); + + consumer.onError((errorMsg) => { + console.error('โŒ Consumer error:', errorMsg); + }); + + consumer.onConnected(() => { + console.log('โœ… Consumer connected!'); + }); + + consumer.onDisconnected(() => { + console.log('๐Ÿ‘‹ Consumer disconnected!'); + }); + + try { + // Connect to the room + console.log(`\n๐Ÿ”Œ Connecting to room ${roomId}...`); + const success = await consumer.connect(roomId, 'demo-consumer'); + + if (!success) { + console.error('โŒ Failed to connect to room!'); + console.log('๐Ÿ’ก Make sure the room exists and the server is running'); + return; + } + + console.log(`โœ… Connected to room ${roomId} as consumer`); + + // Show connection info + const info = consumer.getConnectionInfo(); + console.log('\n๐Ÿ“Š Connection Info:'); + console.log(` Room ID: ${info.room_id}`); + console.log(` Role: ${info.role}`); + console.log(` Participant ID: ${info.participant_id}`); + + // Get initial state + console.log('\n๐Ÿ“‹ Getting initial state...'); + const initialState = await consumer.getStateSyncAsync(); + console.log('Initial state:', Object.keys(initialState).length, 'joints'); + + if (Object.keys(initialState).length > 0) { + Object.entries(initialState).forEach(([name, value]) => { + console.log(` ${name}: ${value}`); + }); + } else { + console.log(' (Empty - no joints set yet)'); + } + + // Listen for updates + console.log('\n๐Ÿ‘‚ Listening for updates for 60 seconds...'); + console.log(' (Producer can send commands during this time)'); + + const startTime = Date.now(); + const duration = 60000; // 60 seconds + + // Show periodic status + const statusInterval = setInterval(() => { + const elapsed = Date.now() - startTime; + const remaining = Math.max(0, duration - elapsed); + + if (remaining > 0) { + console.log(`\n๐Ÿ“Š Status (${Math.floor(remaining / 1000)}s remaining):`); + console.log(` Updates received: ${updateCount}`); + console.log(` State syncs received: ${stateCount}`); + } + }, 10000); // Every 10 seconds + + await new Promise(resolve => setTimeout(resolve, duration)); + clearInterval(statusInterval); + + // Show final summary + console.log('\n๐Ÿ“Š Final Summary:'); + console.log(` Total updates received: ${updateCount}`); + console.log(` Total state syncs received: ${stateCount}`); + + // Get final state + const finalState = await consumer.getStateSyncAsync(); + console.log('\n๐Ÿ“‹ Final state:'); + if (Object.keys(finalState).length > 0) { + Object.entries(finalState).forEach(([name, value]) => { + console.log(` ${name}: ${value}`); + }); + } else { + console.log(' (Empty)'); + } + + console.log('\nโœ… Basic consumer example completed!'); + + } catch (error) { + console.error('โŒ Error:', error.message); + } finally { + // Always disconnect + if (consumer.isConnected()) { + console.log('\n๐Ÿงน Disconnecting...'); + await consumer.disconnect(); + } + console.log('๐Ÿ‘‹ Goodbye!'); + } +} + +// Handle Ctrl+C gracefully +process.on('SIGINT', () => { + console.log('\n\n๐Ÿ‘‹ Received SIGINT, shutting down gracefully...'); + process.exit(0); +}); + +main().catch(console.error); \ No newline at end of file diff --git a/client/js/examples/basic-producer.js b/client/js/examples/basic-producer.js new file mode 100644 index 0000000000000000000000000000000000000000..22b9dff71ad0d1246c9b9cab2e45687309d23e54 --- /dev/null +++ b/client/js/examples/basic-producer.js @@ -0,0 +1,144 @@ +#!/usr/bin/env node +/** + * Basic Producer Example - LeRobot Arena + * + * This example demonstrates: + * - Creating a room + * - Connecting as a producer + * - Sending joint updates and state sync + * - Basic error handling + */ + +import { RoboticsProducer } from '../dist/robotics/index.js'; + +async function main() { + console.log('๐Ÿค– LeRobot Arena Basic Producer Example ๐Ÿค–'); + + // Create producer client + const producer = new RoboticsProducer('http://localhost:8000'); + + // Set up event callbacks + producer.onConnected(() => { + console.log('โœ… Producer connected!'); + }); + + producer.onDisconnected(() => { + console.log('๐Ÿ‘‹ Producer disconnected!'); + }); + + producer.onError((error) => { + console.error('โŒ Producer error:', error); + }); + + try { + // Create a room + console.log('\n๐Ÿ“ฆ Creating room...'); + const roomId = await producer.createRoom(); + console.log(`โœ… Room created: ${roomId}`); + + // Connect as producer + console.log('\n๐Ÿ”Œ Connecting as producer...'); + const success = await producer.connect(roomId, 'demo-producer'); + + if (!success) { + console.error('โŒ Failed to connect as producer!'); + return; + } + + console.log(`โœ… Connected to room ${roomId} as producer`); + + // Show connection info + const info = producer.getConnectionInfo(); + console.log('\n๐Ÿ“Š Connection Info:'); + console.log(` Room ID: ${info.room_id}`); + console.log(` Role: ${info.role}`); + console.log(` Participant ID: ${info.participant_id}`); + + // Send initial state sync + console.log('\n๐Ÿ“ค Sending initial state...'); + await producer.sendStateSync({ + base: 0.0, + shoulder: 0.0, + elbow: 0.0, + wrist: 0.0, + gripper: 0.0 + }); + console.log('โœ… Initial state sent'); + + // Simulate robot movement + console.log('\n๐Ÿค– Simulating robot movement...'); + + const movements = [ + { name: 'shoulder', value: 45.0, description: 'Raise shoulder' }, + { name: 'elbow', value: -30.0, description: 'Bend elbow' }, + { name: 'wrist', value: 15.0, description: 'Turn wrist' }, + { name: 'gripper', value: 0.5, description: 'Close gripper' }, + ]; + + for (let i = 0; i < movements.length; i++) { + const movement = movements[i]; + console.log(` ${i + 1}. ${movement.description}: ${movement.value}ยฐ`); + + await producer.sendJointUpdate([{ + name: movement.name, + value: movement.value + }]); + + // Wait between movements + await new Promise(resolve => setTimeout(resolve, 1000)); + } + + // Send combined update + console.log('\n๐Ÿ“ค Sending combined update...'); + await producer.sendJointUpdate([ + { name: 'base', value: 90.0 }, + { name: 'shoulder', value: 60.0 }, + { name: 'elbow', value: -45.0 } + ]); + console.log('โœ… Combined update sent'); + + // Send heartbeat + console.log('\n๐Ÿ’“ Sending heartbeat...'); + await producer.sendHeartbeat(); + console.log('โœ… Heartbeat sent'); + + // Demonstrate emergency stop + console.log('\n๐Ÿšจ Testing emergency stop...'); + await producer.sendEmergencyStop('Demo emergency stop - testing safety'); + console.log('โœ… Emergency stop sent'); + + console.log('\nโœ… Basic producer example completed!'); + console.log(`\n๐Ÿ’ก Room ID: ${roomId}`); + console.log(' You can use this room ID with the consumer example'); + + // Keep running for a bit to allow consumers to connect + console.log('\nโณ Keeping producer alive for 30 seconds...'); + console.log(' (Consumers can connect during this time)'); + await new Promise(resolve => setTimeout(resolve, 30000)); + + } catch (error) { + console.error('โŒ Error:', error.message); + } finally { + // Always disconnect and cleanup + if (producer.isConnected()) { + console.log('\n๐Ÿงน Cleaning up...'); + await producer.disconnect(); + + // Optionally delete the room + const roomId = producer.currentRoomId; + if (roomId) { + await producer.deleteRoom(roomId); + console.log(`๐Ÿ—‘๏ธ Deleted room ${roomId}`); + } + } + console.log('๐Ÿ‘‹ Goodbye!'); + } +} + +// Handle Ctrl+C gracefully +process.on('SIGINT', () => { + console.log('\n\n๐Ÿ‘‹ Received SIGINT, shutting down gracefully...'); + process.exit(0); +}); + +main().catch(console.error); \ No newline at end of file diff --git a/client/js/package.json b/client/js/package.json new file mode 100644 index 0000000000000000000000000000000000000000..210bb9ae44cd4952ca8c5cb584bbe71753b61e80 --- /dev/null +++ b/client/js/package.json @@ -0,0 +1,77 @@ +{ + "name": "lerobot-arena-client", + "version": "1.0.0", + "description": "Modular TypeScript client library for LeRobot Arena - video streaming, robotics control, and sensor data", + "type": "module", + "main": "dist/index.js", + "types": "dist/index.d.ts", + "exports": { + ".": { + "import": "./dist/index.js", + "types": "./dist/index.d.ts" + }, + "./video": { + "import": "./dist/video.js", + "types": "./dist/video.d.ts" + }, + "./robotics": { + "import": "./dist/robotics.js", + "types": "./dist/robotics.d.ts" + }, + "./audio": { + "import": "./dist/audio.js", + "types": "./dist/audio.d.ts" + } + }, + "files": [ + "dist", + "README.md" + ], + "scripts": { + "build": "bun run vite build", + "dev": "bun run vite build --watch", + "test": "bun test", + "lint": "bun run eslint src --ext ts,tsx", + "lint:fix": "bun run eslint src --ext ts,tsx --fix", + "typecheck": "bun run tsc --noEmit", + "clean": "rm -rf dist", + "prebuild": "bun run clean" + }, + "keywords": [ + "lerobot", + "arena", + "webrtc", + "video-streaming", + "robotics", + "real-time", + "typescript", + "client-library" + ], + "author": "LeRobot Arena Team", + "license": "MIT", + "dependencies": { + "eventemitter3": "^5.0.1" + }, + "devDependencies": { + "@types/bun": "^1.2.15", + "typescript": "^5.3.3", + "vite": "6.3.5", + "vite-plugin-dts": "4.5.4" + }, + "peerDependencies": { + "typescript": ">=5.0.0" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/lerobot-arena/lerobot-arena.git", + "directory": "src-python-video/clients/js" + }, + "bugs": { + "url": "https://github.com/lerobot-arena/lerobot-arena/issues" + }, + "homepage": "https://github.com/lerobot-arena/lerobot-arena#readme", + "engines": { + "bun": ">=1.0.0" + }, + "private": true +} diff --git a/client/js/src/index.ts b/client/js/src/index.ts new file mode 100644 index 0000000000000000000000000000000000000000..ad4226c15c62cc7249cc728f3d713d0ddfd31f1f --- /dev/null +++ b/client/js/src/index.ts @@ -0,0 +1,12 @@ +/** + * LeRobot Arena Client Library - TypeScript/JavaScript + * + * Main entry point for the robotics client library. + */ + +// Re-export everything from robotics module +export * as robotics from './robotics/index.js'; +export * as video from './video/index.js'; + +// Version info +export const VERSION = '1.0.0'; diff --git a/client/js/src/robotics/consumer.ts b/client/js/src/robotics/consumer.ts new file mode 100644 index 0000000000000000000000000000000000000000..7db4b78627a5d70eb9cdec57eb47a9d0152f8473 --- /dev/null +++ b/client/js/src/robotics/consumer.ts @@ -0,0 +1,108 @@ +/** + * Consumer client for receiving robot commands in LeRobot Arena + */ + +import { RoboticsClientCore } from './core.js'; +import type { + WebSocketMessage, + JointUpdateMessage, + StateSyncMessage, + ClientOptions, + JointUpdateCallback, + StateSyncCallback, +} from './types.js'; + +export class RoboticsConsumer extends RoboticsClientCore { + // Event callbacks + private onStateSyncCallback: StateSyncCallback | null = null; + private onJointUpdateCallback: JointUpdateCallback | null = null; + + constructor(baseUrl = 'http://localhost:8000', options: ClientOptions = {}) { + super(baseUrl, options); + } + + // ============= CONSUMER CONNECTION ============= + + async connect(workspaceId: string, roomId: string, participantId?: string): Promise { + return this.connectToRoom(workspaceId, roomId, 'consumer', participantId); + } + + // ============= CONSUMER METHODS ============= + + async getStateSyncAsync(): Promise> { + if (!this.workspaceId || !this.roomId) { + throw new Error('Must be connected to a room'); + } + + const state = await this.getRoomState(this.workspaceId, this.roomId); + return state.joints; + } + + // ============= EVENT CALLBACKS ============= + + onStateSync(callback: StateSyncCallback): void { + this.onStateSyncCallback = callback; + } + + onJointUpdate(callback: JointUpdateCallback): void { + this.onJointUpdateCallback = callback; + } + + // ============= MESSAGE HANDLING ============= + + protected override handleRoleSpecificMessage(message: WebSocketMessage): void { + switch (message.type) { + case 'state_sync': + this.handleStateSync(message as StateSyncMessage); + break; + case 'joint_update': + this.handleJointUpdate(message as JointUpdateMessage); + break; + case 'emergency_stop': + console.warn(`๐Ÿšจ Emergency stop: ${message.reason || 'Unknown reason'}`); + this.handleError(`Emergency stop: ${message.reason || 'Unknown reason'}`); + break; + case 'error': + console.error(`Server error: ${message.message}`); + this.handleError(message.message); + break; + default: + console.warn(`Unknown message type for consumer: ${message.type}`); + } + } + + private handleStateSync(message: StateSyncMessage): void { + if (this.onStateSyncCallback) { + this.onStateSyncCallback(message.data); + } + this.emit('stateSync', message.data); + } + + private handleJointUpdate(message: JointUpdateMessage): void { + if (this.onJointUpdateCallback) { + this.onJointUpdateCallback(message.data); + } + this.emit('jointUpdate', message.data); + } + + // ============= UTILITY METHODS ============= + + /** + * Create a consumer and automatically connect to a room + */ + static async createAndConnect( + workspaceId: string, + roomId: string, + baseUrl = 'http://localhost:8000', + participantId?: string + ): Promise { + const consumer = new RoboticsConsumer(baseUrl); + const connected = await consumer.connect(workspaceId, roomId, participantId); + + if (!connected) { + throw new Error('Failed to connect as consumer'); + } + + return consumer; + } +} \ No newline at end of file diff --git a/client/js/src/robotics/core.ts b/client/js/src/robotics/core.ts new file mode 100644 index 0000000000000000000000000000000000000000..9749dee690fa46b78021edd0c5e7a19a33ffeb2b --- /dev/null +++ b/client/js/src/robotics/core.ts @@ -0,0 +1,295 @@ +/** + * Core robotics client for LeRobot Arena + * Base class providing REST API and WebSocket functionality + */ + +import { EventEmitter } from 'eventemitter3'; +import type { + ParticipantRole, + RoomInfo, + RoomState, + ConnectionInfo, + WebSocketMessage, + JoinMessage, + ListRoomsResponse, + CreateRoomResponse, + GetRoomResponse, + GetRoomStateResponse, + DeleteRoomResponse, + ClientOptions, + ErrorCallback, + ConnectedCallback, + DisconnectedCallback, +} from './types.js'; + +export class RoboticsClientCore extends EventEmitter { + protected baseUrl: string; + protected apiBase: string; + protected websocket: WebSocket | null = null; + protected workspaceId: string | null = null; + protected roomId: string | null = null; + protected role: ParticipantRole | null = null; + protected participantId: string | null = null; + protected connected = false; + protected options: ClientOptions; + + // Event callbacks + protected onErrorCallback: ErrorCallback | null = null; + protected onConnectedCallback: ConnectedCallback | null = null; + protected onDisconnectedCallback: DisconnectedCallback | null = null; + + constructor(baseUrl = 'http://localhost:8000', options: ClientOptions = {}) { + super(); + this.baseUrl = baseUrl.replace(/\/$/, ''); + this.apiBase = `${this.baseUrl}/robotics`; + this.options = { + timeout: 5000, + reconnect_attempts: 3, + heartbeat_interval: 30000, + ...options, + }; + } + + // ============= REST API METHODS ============= + + async listRooms(workspaceId: string): Promise { + const response = await this.fetchApi(`/workspaces/${workspaceId}/rooms`); + return response.rooms; + } + + async createRoom(workspaceId?: string, roomId?: string): Promise<{ workspaceId: string; roomId: string }> { + // Generate workspace ID if not provided + const finalWorkspaceId = workspaceId || this.generateWorkspaceId(); + + const payload = roomId ? { room_id: roomId, workspace_id: finalWorkspaceId } : { workspace_id: finalWorkspaceId }; + const response = await this.fetchApi(`/workspaces/${finalWorkspaceId}/rooms`, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(payload), + }); + return { workspaceId: response.workspace_id, roomId: response.room_id }; + } + + async deleteRoom(workspaceId: string, roomId: string): Promise { + try { + const response = await this.fetchApi(`/workspaces/${workspaceId}/rooms/${roomId}`, { + method: 'DELETE', + }); + return response.success; + } catch (error) { + if (error instanceof Error && error.message.includes('404')) { + return false; + } + throw error; + } + } + + async getRoomState(workspaceId: string, roomId: string): Promise { + const response = await this.fetchApi(`/workspaces/${workspaceId}/rooms/${roomId}/state`); + return response.state; + } + + async getRoomInfo(workspaceId: string, roomId: string): Promise { + const response = await this.fetchApi(`/workspaces/${workspaceId}/rooms/${roomId}`); + return response.room; + } + + // ============= WEBSOCKET CONNECTION ============= + + async connectToRoom( + workspaceId: string, + roomId: string, + role: ParticipantRole, + participantId?: string + ): Promise { + if (this.connected) { + await this.disconnect(); + } + + this.workspaceId = workspaceId; + this.roomId = roomId; + this.role = role; + this.participantId = participantId || `${role}_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`; + + // Convert HTTP URL to WebSocket URL + const wsUrl = this.baseUrl + .replace(/^http/, 'ws') + .replace(/^https/, 'wss'); + const wsEndpoint = `${wsUrl}/robotics/workspaces/${workspaceId}/rooms/${roomId}/ws`; + + try { + this.websocket = new WebSocket(wsEndpoint); + + // Set up WebSocket event handlers + return new Promise((resolve, reject) => { + const timeout = setTimeout(() => { + reject(new Error('Connection timeout')); + }, this.options.timeout || 5000); + + this.websocket!.onopen = () => { + clearTimeout(timeout); + this.sendJoinMessage(); + }; + + this.websocket!.onmessage = (event) => { + try { + const message: WebSocketMessage = JSON.parse(event.data); + this.handleMessage(message); + + // Handle initial connection responses + if (message.type === 'joined') { + this.connected = true; + this.onConnectedCallback?.(); + this.emit('connected'); + resolve(true); + } else if (message.type === 'error') { + this.handleError(message.message); + resolve(false); + } + } catch (error) { + console.error('Failed to parse WebSocket message:', error); + } + }; + + this.websocket!.onerror = (error) => { + clearTimeout(timeout); + console.error('WebSocket error:', error); + this.handleError('WebSocket connection error'); + reject(error); + }; + + this.websocket!.onclose = () => { + clearTimeout(timeout); + this.connected = false; + this.onDisconnectedCallback?.(); + this.emit('disconnected'); + }; + }); + } catch (error) { + console.error('Failed to connect to room:', error); + return false; + } + } + + async disconnect(): Promise { + if (this.websocket && this.websocket.readyState === WebSocket.OPEN) { + this.websocket.close(); + } + + this.websocket = null; + this.connected = false; + this.workspaceId = null; + this.roomId = null; + this.role = null; + this.participantId = null; + + this.onDisconnectedCallback?.(); + this.emit('disconnected'); + } + + // ============= MESSAGE HANDLING ============= + + protected sendJoinMessage(): void { + if (!this.websocket || !this.participantId || !this.role) return; + + const joinMessage: JoinMessage = { + participant_id: this.participantId, + role: this.role, + }; + + this.websocket.send(JSON.stringify(joinMessage)); + } + + protected handleMessage(message: WebSocketMessage): void { + switch (message.type) { + case 'joined': + console.log(`Successfully joined room ${message.room_id} as ${message.role}`); + break; + case 'heartbeat_ack': + console.debug('Heartbeat acknowledged'); + break; + case 'error': + this.handleError(message.message); + break; + default: + // Let subclasses handle specific message types + this.handleRoleSpecificMessage(message); + } + } + + protected handleRoleSpecificMessage(message: WebSocketMessage): void { + // To be overridden by subclasses + this.emit('message', message); + } + + protected handleError(errorMessage: string): void { + console.error('Client error:', errorMessage); + this.onErrorCallback?.(errorMessage); + this.emit('error', errorMessage); + } + + // ============= UTILITY METHODS ============= + + async sendHeartbeat(): Promise { + if (!this.connected || !this.websocket) return; + + const message = { type: 'heartbeat' as const }; + this.websocket.send(JSON.stringify(message)); + } + + isConnected(): boolean { + return this.connected; + } + + getConnectionInfo(): ConnectionInfo { + return { + connected: this.connected, + workspace_id: this.workspaceId, + room_id: this.roomId, + role: this.role, + participant_id: this.participantId, + base_url: this.baseUrl, + }; + } + + // ============= EVENT CALLBACK SETTERS ============= + + onError(callback: ErrorCallback): void { + this.onErrorCallback = callback; + } + + onConnected(callback: ConnectedCallback): void { + this.onConnectedCallback = callback; + } + + onDisconnected(callback: DisconnectedCallback): void { + this.onDisconnectedCallback = callback; + } + + // ============= PRIVATE HELPERS ============= + + private async fetchApi(endpoint: string, options: RequestInit = {}): Promise { + const url = `${this.apiBase}${endpoint}`; + const response = await fetch(url, { + ...options, + signal: AbortSignal.timeout(this.options.timeout || 5000), + }); + + if (!response.ok) { + throw new Error(`HTTP ${response.status}: ${response.statusText}`); + } + + return response.json() as Promise; + } + + // ============= WORKSPACE HELPERS ============= + + protected generateWorkspaceId(): string { + // Generate a UUID-like workspace ID + return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) { + const r = Math.random() * 16 | 0; + const v = c === 'x' ? r : (r & 0x3 | 0x8); + return v.toString(16); + }); + } +} \ No newline at end of file diff --git a/client/js/src/robotics/factory.ts b/client/js/src/robotics/factory.ts new file mode 100644 index 0000000000000000000000000000000000000000..f4156c13e5bb18dc1b4f605c88091a1b430a40b3 --- /dev/null +++ b/client/js/src/robotics/factory.ts @@ -0,0 +1,66 @@ +/** + * Factory functions for creating LeRobot Arena robotics clients + */ + +import { RoboticsProducer } from './producer.js'; +import { RoboticsConsumer } from './consumer.js'; +import type { ParticipantRole, ClientOptions } from './types.js'; + +/** + * Factory function to create the appropriate client based on role + */ +export function createClient( + role: ParticipantRole, + baseUrl = 'http://localhost:8000', + options: ClientOptions = {} +): RoboticsProducer | RoboticsConsumer { + if (role === 'producer') { + return new RoboticsProducer(baseUrl, options); + } + if (role === 'consumer') { + return new RoboticsConsumer(baseUrl, options); + } + throw new Error(`Invalid role: ${role}. Must be 'producer' or 'consumer'`); +} + +/** + * Create and connect a producer client + */ +export async function createProducerClient( + baseUrl = 'http://localhost:8000', + workspaceId?: string, + roomId?: string, + participantId?: string, + options: ClientOptions = {} +): Promise { + const producer = new RoboticsProducer(baseUrl, options); + + const roomData = await producer.createRoom(workspaceId, roomId); + const connected = await producer.connect(roomData.workspaceId, roomData.roomId, participantId); + + if (!connected) { + throw new Error('Failed to connect as producer'); + } + + return producer; +} + +/** + * Create and connect a consumer client + */ +export async function createConsumerClient( + workspaceId: string, + roomId: string, + baseUrl = 'http://localhost:8000', + participantId?: string, + options: ClientOptions = {} +): Promise { + const consumer = new RoboticsConsumer(baseUrl, options); + const connected = await consumer.connect(workspaceId, roomId, participantId); + + if (!connected) { + throw new Error('Failed to connect as consumer'); + } + + return consumer; +} \ No newline at end of file diff --git a/client/js/src/robotics/index.ts b/client/js/src/robotics/index.ts new file mode 100644 index 0000000000000000000000000000000000000000..0d7d775a3bda1b7d95e949713683b789c67bbb95 --- /dev/null +++ b/client/js/src/robotics/index.ts @@ -0,0 +1,16 @@ +/** + * LeRobot Arena Robotics Client - Main Module + * + * TypeScript/JavaScript client for robotics control and monitoring + */ + +// Export core classes +export { RoboticsClientCore } from './core.js'; +export { RoboticsProducer } from './producer.js'; +export { RoboticsConsumer } from './consumer.js'; + +// Export all types +export * from './types.js'; + +// Export factory functions for convenience +export { createProducerClient, createConsumerClient, createClient } from './factory.js'; diff --git a/client/js/src/robotics/producer.ts b/client/js/src/robotics/producer.ts new file mode 100644 index 0000000000000000000000000000000000000000..063865ea8fa61a3811db7743a981b36053c71502 --- /dev/null +++ b/client/js/src/robotics/producer.ts @@ -0,0 +1,114 @@ +/** + * Producer client for controlling robots in LeRobot Arena + */ + +import { RoboticsClientCore } from './core.js'; +import type { + JointData, + WebSocketMessage, + JointUpdateMessage, + ClientOptions, +} from './types.js'; + +export class RoboticsProducer extends RoboticsClientCore { + constructor(baseUrl = 'http://localhost:8000', options: ClientOptions = {}) { + super(baseUrl, options); + } + + // ============= PRODUCER CONNECTION ============= + + async connect(workspaceId: string, roomId: string, participantId?: string): Promise { + return this.connectToRoom(workspaceId, roomId, 'producer', participantId); + } + + // ============= PRODUCER METHODS ============= + + async sendJointUpdate(joints: JointData[]): Promise { + if (!this.connected || !this.websocket) { + throw new Error('Must be connected to send joint updates'); + } + + const message: JointUpdateMessage = { + type: 'joint_update', + data: joints, + timestamp: new Date().toISOString(), + }; + + this.websocket.send(JSON.stringify(message)); + } + + async sendStateSync(state: Record): Promise { + if (!this.connected || !this.websocket) { + throw new Error('Must be connected to send state sync'); + } + + // Convert state object to joint updates format + const joints: JointData[] = Object.entries(state).map(([name, value]) => ({ + name, + value, + })); + + await this.sendJointUpdate(joints); + } + + async sendEmergencyStop(reason = 'Emergency stop'): Promise { + if (!this.connected || !this.websocket) { + throw new Error('Must be connected to send emergency stop'); + } + + const message = { + type: 'emergency_stop' as const, + reason, + timestamp: new Date().toISOString(), + }; + + this.websocket.send(JSON.stringify(message)); + } + + // ============= MESSAGE HANDLING ============= + + protected override handleRoleSpecificMessage(message: WebSocketMessage): void { + switch (message.type) { + case 'emergency_stop': + console.warn(`๐Ÿšจ Emergency stop: ${message.reason || 'Unknown reason'}`); + this.handleError(`Emergency stop: ${message.reason || 'Unknown reason'}`); + break; + case 'error': + console.error(`Server error: ${message.message}`); + this.handleError(message.message); + break; + default: + console.warn(`Unknown message type for producer: ${message.type}`); + } + } + + // ============= UTILITY METHODS ============= + + /** + * Create a room and automatically connect as producer + */ + static async createAndConnect( + baseUrl = 'http://localhost:8000', + workspaceId?: string, + roomId?: string, + participantId?: string + ): Promise { + const producer = new RoboticsProducer(baseUrl); + + const roomData = await producer.createRoom(workspaceId, roomId); + const connected = await producer.connect(roomData.workspaceId, roomData.roomId, participantId); + + if (!connected) { + throw new Error('Failed to connect as producer'); + } + + return producer; + } + + /** + * Get the current room ID (useful when auto-created) + */ + get currentRoomId(): string | null { + return this.roomId; + } +} \ No newline at end of file diff --git a/client/js/src/robotics/types.ts b/client/js/src/robotics/types.ts new file mode 100644 index 0000000000000000000000000000000000000000..af94ba09faaa0fdd5f39bfeee88db30e9346c974 --- /dev/null +++ b/client/js/src/robotics/types.ts @@ -0,0 +1,180 @@ +/** + * Type definitions for LeRobot Arena Robotics Client + */ + +// ============= CORE TYPES ============= + +export type ParticipantRole = 'producer' | 'consumer'; + +export type MessageType = + | 'joint_update' + | 'state_sync' + | 'heartbeat' + | 'heartbeat_ack' + | 'emergency_stop' + | 'joined' + | 'error'; + +// ============= DATA STRUCTURES ============= + +export interface JointData { + name: string; + value: number; + speed?: number; +} + +export interface RoomInfo { + id: string; + workspace_id: string; + participants: { + producer: string | null; + consumers: string[]; + total: number; + }; + joints_count: number; + has_producer?: boolean; + active_consumers?: number; +} + +export interface RoomState { + room_id: string; + workspace_id: string; + joints: Record; + participants: { + producer: string | null; + consumers: string[]; + total: number; + }; + timestamp: string; +} + +export interface ConnectionInfo { + connected: boolean; + workspace_id: string | null; + room_id: string | null; + role: ParticipantRole | null; + participant_id: string | null; + base_url: string; +} + +// ============= MESSAGE TYPES ============= + +export interface BaseMessage { + type: MessageType; + timestamp?: string; +} + +export interface JointUpdateMessage extends BaseMessage { + type: 'joint_update'; + data: JointData[]; + source?: string; +} + +export interface StateSyncMessage extends BaseMessage { + type: 'state_sync'; + data: Record; +} + +export interface HeartbeatMessage extends BaseMessage { + type: 'heartbeat'; +} + +export interface HeartbeatAckMessage extends BaseMessage { + type: 'heartbeat_ack'; +} + +export interface EmergencyStopMessage extends BaseMessage { + type: 'emergency_stop'; + reason: string; + source?: string; +} + +export interface JoinedMessage extends BaseMessage { + type: 'joined'; + room_id: string; + role: ParticipantRole; +} + +export interface ErrorMessage extends BaseMessage { + type: 'error'; + message: string; +} + +export type WebSocketMessage = + | JointUpdateMessage + | StateSyncMessage + | HeartbeatMessage + | HeartbeatAckMessage + | EmergencyStopMessage + | JoinedMessage + | ErrorMessage; + +// ============= API RESPONSE TYPES ============= + +export interface ApiResponse { + success: boolean; + data?: T; + error?: string; + message?: string; +} + +export interface ListRoomsResponse { + success: boolean; + workspace_id: string; + rooms: RoomInfo[]; + total: number; +} + +export interface CreateRoomResponse { + success: boolean; + workspace_id: string; + room_id: string; + message: string; +} + +export interface GetRoomResponse { + success: boolean; + workspace_id: string; + room: RoomInfo; +} + +export interface GetRoomStateResponse { + success: boolean; + workspace_id: string; + state: RoomState; +} + +export interface DeleteRoomResponse { + success: boolean; + workspace_id: string; + message: string; +} + +// ============= REQUEST TYPES ============= + +export interface CreateRoomRequest { + room_id?: string; + workspace_id?: string; // Optional - will be generated if not provided +} + +export interface JoinMessage { + participant_id: string; + role: ParticipantRole; +} + +// ============= EVENT CALLBACK TYPES ============= + +export type JointUpdateCallback = (joints: JointData[]) => void; +export type StateSyncCallback = (state: Record) => void; +export type ErrorCallback = (error: string) => void; +export type ConnectedCallback = () => void; +export type DisconnectedCallback = () => void; + +// ============= CLIENT OPTIONS ============= + +export interface ClientOptions { + base_url?: string; + timeout?: number; + reconnect_attempts?: number; + heartbeat_interval?: number; +} \ No newline at end of file diff --git a/client/js/src/video/consumer.ts b/client/js/src/video/consumer.ts new file mode 100644 index 0000000000000000000000000000000000000000..faaa64aec9ad907e2c5b57b7cf6cb8c0a13d3d89 --- /dev/null +++ b/client/js/src/video/consumer.ts @@ -0,0 +1,430 @@ +/** + * Consumer client for receiving video streams in LeRobot Arena + */ + +import { VideoClientCore } from './core.js'; +import type { + WebSocketMessage, + FrameUpdateMessage, + VideoConfigUpdateMessage, + StreamStartedMessage, + StreamStoppedMessage, + RecoveryTriggeredMessage, + StatusUpdateMessage, + StreamStatsMessage, + ClientOptions, + WebRTCStats, + FrameUpdateCallback, + VideoConfigUpdateCallback, + StreamStartedCallback, + StreamStoppedCallback, + RecoveryTriggeredCallback, + StatusUpdateCallback, + StreamStatsCallback, + WebRTCOfferMessage, + WebRTCIceMessage, +} from './types.js'; + +export class VideoConsumer extends VideoClientCore { + // Event callbacks + private onFrameUpdateCallback: FrameUpdateCallback | null = null; + private onVideoConfigUpdateCallback: VideoConfigUpdateCallback | null = null; + private onStreamStartedCallback: StreamStartedCallback | null = null; + private onStreamStoppedCallback: StreamStoppedCallback | null = null; + private onRecoveryTriggeredCallback: RecoveryTriggeredCallback | null = null; + private onStatusUpdateCallback: StatusUpdateCallback | null = null; + private onStreamStatsCallback: StreamStatsCallback | null = null; + + // ICE candidate queuing for proper timing + private iceCandidateQueue: { candidate: RTCIceCandidate; fromProducer: string }[] = []; + private hasRemoteDescription = false; + + constructor(baseUrl = 'http://localhost:8000', options: ClientOptions = {}) { + super(baseUrl, options); + } + + // ============= CONSUMER CONNECTION ============= + + async connect(workspaceId: string, roomId: string, participantId?: string): Promise { + const connected = await this.connectToRoom(workspaceId, roomId, 'consumer', participantId); + + if (connected) { + // Create peer connection immediately so we're ready for WebRTC offers + console.info('๐Ÿ”ง Creating peer connection for consumer...'); + await this.startReceiving(); + } + + return connected; + } + + // ============= CONSUMER METHODS ============= + + async startReceiving(): Promise { + if (!this.connected) { + throw new Error('Must be connected to start receiving'); + } + + // Reset WebRTC state + this.hasRemoteDescription = false; + this.iceCandidateQueue = []; + + // Create peer connection for receiving + this.createPeerConnection(); + + // Set up to receive remote stream + if (this.peerConnection) { + this.peerConnection.ontrack = (event: RTCTrackEvent) => { + console.info('๐Ÿ“บ Received remote track:', event.track.kind); + this.remoteStream = event.streams[0] || null; + this.emit('remoteStream', this.remoteStream); + this.emit('streamReceived', this.remoteStream); + }; + } + } + + async stopReceiving(): Promise { + if (this.peerConnection) { + this.peerConnection.close(); + this.peerConnection = null; + } + this.remoteStream = null; + this.emit('streamStopped'); + } + + // ============= WEBRTC NEGOTIATION ============= + + async handleWebRTCOffer(message: WebRTCOfferMessage): Promise { + try { + console.info(`๐Ÿ“ฅ Received WebRTC offer from producer ${message.from_producer}`); + + if (!this.peerConnection) { + console.warn('No peer connection available to handle offer'); + return; + } + + // Reset state for new offer + this.hasRemoteDescription = false; + this.iceCandidateQueue = []; + + // Set remote description (the offer) + await this.setRemoteDescription(message.offer); + this.hasRemoteDescription = true; + + // Process any queued ICE candidates now that we have remote description + await this.processQueuedIceCandidates(); + + // Create answer + const answer = await this.createAnswer(message.offer); + + console.info(`๐Ÿ“ค Sending WebRTC answer to producer ${message.from_producer}`); + + // Send answer back through server to producer + if (this.workspaceId && this.roomId && this.participantId) { + await this.sendWebRTCSignal(this.workspaceId, this.roomId, this.participantId, { + type: 'answer', + sdp: answer.sdp, + target_producer: message.from_producer, + } as Record); + } + + console.info('โœ… WebRTC negotiation completed from consumer side'); + } catch (error) { + console.error('Failed to handle WebRTC offer:', error); + this.handleError(`Failed to handle WebRTC offer: ${error}`); + } + } + + private async handleWebRTCIce(message: WebRTCIceMessage): Promise { + if (!this.peerConnection) { + console.warn('No peer connection available to handle ICE'); + return; + } + + try { + console.info(`๐Ÿ“ฅ Received WebRTC ICE from producer ${message.from_producer}`); + + const candidate = new RTCIceCandidate(message.candidate); + + if (!this.hasRemoteDescription) { + // Queue ICE candidate until we have remote description + console.info(`๐Ÿ”„ Queuing ICE candidate from ${message.from_producer} (no remote description yet)`); + this.iceCandidateQueue.push({ + candidate, + fromProducer: message.from_producer || 'unknown' + }); + return; + } + + // Add ICE candidate to peer connection + await this.peerConnection.addIceCandidate(candidate); + + console.info(`โœ… WebRTC ICE handled from producer ${message.from_producer}`); + } catch (error) { + console.error(`Failed to handle WebRTC ICE from ${message.from_producer}:`, error); + this.handleError(`Failed to handle WebRTC ICE: ${error}`); + } + } + + private async processQueuedIceCandidates(): Promise { + if (this.iceCandidateQueue.length === 0) { + return; + } + + console.info(`๐Ÿ”„ Processing ${this.iceCandidateQueue.length} queued ICE candidates`); + + for (const { candidate, fromProducer } of this.iceCandidateQueue) { + try { + if (this.peerConnection) { + await this.peerConnection.addIceCandidate(candidate); + console.info(`โœ… Processed queued ICE candidate from ${fromProducer}`); + } + } catch (error) { + console.error(`Failed to process queued ICE candidate from ${fromProducer}:`, error); + } + } + + // Clear the queue + this.iceCandidateQueue = []; + } + + // Override to add producer targeting for ICE candidates + override createPeerConnection(): RTCPeerConnection { + const config: RTCConfiguration = { + iceServers: this.webrtcConfig.iceServers || [ + { urls: 'stun:stun.l.google.com:19302' } + ] + }; + + this.peerConnection = new RTCPeerConnection(config); + + // Connection state changes + this.peerConnection.onconnectionstatechange = () => { + const state = this.peerConnection?.connectionState; + console.info(`๐Ÿ”Œ WebRTC connection state: ${state}`); + }; + + // ICE connection state + this.peerConnection.oniceconnectionstatechange = () => { + const state = this.peerConnection?.iceConnectionState; + console.info(`๐ŸงŠ ICE connection state: ${state}`); + }; + + // ICE candidate handling - send to producer + this.peerConnection.onicecandidate = (event: RTCPeerConnectionIceEvent) => { + if (event.candidate && this.workspaceId && this.roomId && this.participantId) { + // Send ICE candidate to producer + this.sendIceCandidateToProducer(event.candidate); + } + }; + + // Handle remote stream + this.peerConnection.ontrack = (event: RTCTrackEvent) => { + console.info('๐Ÿ“บ Received remote track:', event.track.kind); + this.remoteStream = event.streams[0] || null; + this.emit('remoteStream', this.remoteStream); + this.emit('streamReceived', this.remoteStream); + }; + + return this.peerConnection; + } + + private async sendIceCandidateToProducer(candidate: RTCIceCandidate): Promise { + if (!this.workspaceId || !this.roomId || !this.participantId) return; + + try { + // Get room info to find the producer + const roomInfo = await this.getRoomInfo(this.workspaceId, this.roomId); + + if (roomInfo.participants.producer) { + await this.sendWebRTCSignal(this.workspaceId, this.roomId, this.participantId, { + type: 'ice', + candidate: candidate.toJSON(), + target_producer: roomInfo.participants.producer, + } as Record); + } + } catch (error) { + console.error('Failed to send ICE candidate to producer:', error); + } + } + + private async handleStreamStarted(message: StreamStartedMessage): Promise { + if (this.onStreamStartedCallback) { + this.onStreamStartedCallback(message.config, message.participant_id); + } + this.emit('streamStarted', message.config, message.participant_id); + + console.info(`๐Ÿš€ Stream started by producer ${message.participant_id}, ready to receive video`); + } + + // ============= EVENT CALLBACKS ============= + + onFrameUpdate(callback: FrameUpdateCallback): void { + this.onFrameUpdateCallback = callback; + } + + onVideoConfigUpdate(callback: VideoConfigUpdateCallback): void { + this.onVideoConfigUpdateCallback = callback; + } + + onStreamStarted(callback: StreamStartedCallback): void { + this.onStreamStartedCallback = callback; + } + + onStreamStopped(callback: StreamStoppedCallback): void { + this.onStreamStoppedCallback = callback; + } + + onRecoveryTriggered(callback: RecoveryTriggeredCallback): void { + this.onRecoveryTriggeredCallback = callback; + } + + onStatusUpdate(callback: StatusUpdateCallback): void { + this.onStatusUpdateCallback = callback; + } + + onStreamStats(callback: StreamStatsCallback): void { + this.onStreamStatsCallback = callback; + } + + // ============= MESSAGE HANDLING ============= + + protected override handleRoleSpecificMessage(message: WebSocketMessage): void { + switch (message.type) { + case 'frame_update': + this.handleFrameUpdate(message as FrameUpdateMessage); + break; + case 'video_config_update': + this.handleVideoConfigUpdate(message as VideoConfigUpdateMessage); + break; + case 'stream_started': + this.handleStreamStarted(message as StreamStartedMessage); + break; + case 'stream_stopped': + this.handleStreamStopped(message as StreamStoppedMessage); + break; + case 'recovery_triggered': + this.handleRecoveryTriggered(message as RecoveryTriggeredMessage); + break; + case 'status_update': + this.handleStatusUpdate(message as StatusUpdateMessage); + break; + case 'stream_stats': + this.handleStreamStats(message as StreamStatsMessage); + break; + case 'participant_joined': + console.info(`๐Ÿ“ฅ Participant joined: ${message.participant_id} as ${message.role}`); + break; + case 'participant_left': + console.info(`๐Ÿ“ค Participant left: ${message.participant_id} (${message.role})`); + break; + case 'webrtc_offer': + this.handleWebRTCOffer(message as WebRTCOfferMessage); + break; + case 'webrtc_answer': + console.info('๐Ÿ“จ Received WebRTC answer (consumer should not receive this)'); + break; + case 'webrtc_ice': + this.handleWebRTCIce(message as WebRTCIceMessage); + break; + case 'emergency_stop': + console.warn(`๐Ÿšจ Emergency stop: ${message.reason || 'Unknown reason'}`); + this.handleError(`Emergency stop: ${message.reason || 'Unknown reason'}`); + break; + case 'error': + console.error(`Server error: ${message.message}`); + this.handleError(message.message); + break; + default: + console.warn(`Unknown message type for consumer: ${message.type}`); + } + } + + private handleFrameUpdate(message: FrameUpdateMessage): void { + if (this.onFrameUpdateCallback) { + const frameData = { + data: message.data, + metadata: message.metadata + }; + this.onFrameUpdateCallback(frameData); + } + this.emit('frameUpdate', message.data); + } + + private handleVideoConfigUpdate(message: VideoConfigUpdateMessage): void { + if (this.onVideoConfigUpdateCallback) { + this.onVideoConfigUpdateCallback(message.config); + } + this.emit('videoConfigUpdate', message.config); + } + + private handleStreamStopped(message: StreamStoppedMessage): void { + if (this.onStreamStoppedCallback) { + this.onStreamStoppedCallback(message.participant_id, message.reason); + } + this.emit('streamStopped', message.participant_id, message.reason); + } + + private handleRecoveryTriggered(message: RecoveryTriggeredMessage): void { + if (this.onRecoveryTriggeredCallback) { + this.onRecoveryTriggeredCallback(message.policy, message.reason); + } + this.emit('recoveryTriggered', message.policy, message.reason); + } + + private handleStatusUpdate(message: StatusUpdateMessage): void { + if (this.onStatusUpdateCallback) { + this.onStatusUpdateCallback(message.status, message.data); + } + this.emit('statusUpdate', message.status, message.data); + } + + private handleStreamStats(message: StreamStatsMessage): void { + if (this.onStreamStatsCallback) { + this.onStreamStatsCallback(message.stats); + } + this.emit('streamStats', message.stats); + } + + // ============= UTILITY METHODS ============= + + /** + * Create a consumer and automatically connect to a room + */ + static async createAndConnect( + workspaceId: string, + roomId: string, + baseUrl = 'http://localhost:8000', + participantId?: string + ): Promise { + const consumer = new VideoConsumer(baseUrl); + const connected = await consumer.connect(workspaceId, roomId, participantId); + + if (!connected) { + throw new Error('Failed to connect as video consumer'); + } + + return consumer; + } + + /** + * Get the video element for displaying the remote stream + */ + attachToVideoElement(videoElement: HTMLVideoElement): void { + if (this.remoteStream) { + videoElement.srcObject = this.remoteStream; + } + + // Listen for future stream updates + this.on('remoteStream', (stream: MediaStream) => { + videoElement.srcObject = stream; + }); + } + + /** + * Get current video statistics + */ + async getVideoStats(): Promise { + const stats = await this.getStats(); + return stats; + } +} \ No newline at end of file diff --git a/client/js/src/video/core.ts b/client/js/src/video/core.ts new file mode 100644 index 0000000000000000000000000000000000000000..8bf5aa6d5d3460e8275cfaa2620817dd6fb46c6e --- /dev/null +++ b/client/js/src/video/core.ts @@ -0,0 +1,533 @@ +/** + * Core video client for LeRobot Arena + * Base class providing REST API, WebSocket, and WebRTC functionality + */ + +import { EventEmitter } from 'eventemitter3'; +import type { + ParticipantRole, + RoomInfo, + RoomState, + ConnectionInfo, + WebSocketMessage, + JoinMessage, + ListRoomsResponse, + CreateRoomResponse, + GetRoomResponse, + GetRoomStateResponse, + DeleteRoomResponse, + WebRTCSignalResponse, + WebRTCSignalRequest, + ClientOptions, + WebRTCConfig, + WebRTCStats, + VideoConfig, + RecoveryConfig, + ErrorCallback, + ConnectedCallback, + DisconnectedCallback, +} from './types.js'; + +export class VideoClientCore extends EventEmitter { + protected baseUrl: string; + protected apiBase: string; + protected websocket: WebSocket | null = null; + protected peerConnection: RTCPeerConnection | null = null; + protected localStream: MediaStream | null = null; + protected remoteStream: MediaStream | null = null; + protected workspaceId: string | null = null; + protected roomId: string | null = null; + protected role: ParticipantRole | null = null; + protected participantId: string | null = null; + protected connected = false; + protected options: ClientOptions; + protected webrtcConfig: WebRTCConfig; + + // Event callbacks + protected onErrorCallback: ErrorCallback | null = null; + protected onConnectedCallback: ConnectedCallback | null = null; + protected onDisconnectedCallback: DisconnectedCallback | null = null; + + constructor(baseUrl = 'http://localhost:8000', options: ClientOptions = {}) { + super(); + this.baseUrl = baseUrl.replace(/\/$/, ''); + this.apiBase = `${this.baseUrl}/video`; + this.options = { + timeout: 5000, + reconnect_attempts: 3, + heartbeat_interval: 30000, + ...options, + }; + this.webrtcConfig = { + iceServers: [{ urls: 'stun:stun.l.google.com:19302' }], + constraints: { + video: { + width: { ideal: 640 }, + height: { ideal: 480 }, + frameRate: { ideal: 30 } + }, + audio: false + }, + bitrate: 1000000, + framerate: 30, + resolution: { width: 640, height: 480 }, + codecPreferences: ['VP8', 'H264'], + ...this.options.webrtc_config, + }; + } + + // ============= REST API METHODS ============= + + async listRooms(workspaceId: string): Promise { + const response = await this.fetchApi(`/workspaces/${workspaceId}/rooms`); + return response.rooms; + } + + async createRoom(workspaceId?: string, roomId?: string, config?: VideoConfig, recoveryConfig?: RecoveryConfig): Promise<{ workspaceId: string; roomId: string }> { + // Generate workspace ID if not provided + const finalWorkspaceId = workspaceId || this.generateWorkspaceId(); + + const payload = { + room_id: roomId, + workspace_id: finalWorkspaceId, + config, + recovery_config: recoveryConfig + }; + const response = await this.fetchApi(`/workspaces/${finalWorkspaceId}/rooms`, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(payload), + }); + return { workspaceId: response.workspace_id, roomId: response.room_id }; + } + + async deleteRoom(workspaceId: string, roomId: string): Promise { + try { + const response = await this.fetchApi(`/workspaces/${workspaceId}/rooms/${roomId}`, { + method: 'DELETE', + }); + return response.success; + } catch (error) { + if (error instanceof Error && error.message.includes('404')) { + return false; + } + throw error; + } + } + + async getRoomState(workspaceId: string, roomId: string): Promise { + const response = await this.fetchApi(`/workspaces/${workspaceId}/rooms/${roomId}/state`); + return response.state; + } + + async getRoomInfo(workspaceId: string, roomId: string): Promise { + const response = await this.fetchApi(`/workspaces/${workspaceId}/rooms/${roomId}`); + return response.room; + } + + // ============= WEBRTC SIGNALING ============= + + async sendWebRTCSignal(workspaceId: string, roomId: string, clientId: string, message: RTCSessionDescriptionInit | RTCIceCandidateInit | Record): Promise { + const request: WebRTCSignalRequest = { client_id: clientId, message }; + return this.fetchApi(`/workspaces/${workspaceId}/rooms/${roomId}/webrtc/signal`, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(request), + }); + } + + // ============= WEBSOCKET CONNECTION ============= + + async connectToRoom( + workspaceId: string, + roomId: string, + role: ParticipantRole, + participantId?: string + ): Promise { + if (this.connected) { + await this.disconnect(); + } + + this.workspaceId = workspaceId; + this.roomId = roomId; + this.role = role; + this.participantId = participantId || `${role}_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`; + + // Convert HTTP URL to WebSocket URL + const wsUrl = this.baseUrl + .replace(/^http/, 'ws') + .replace(/^https/, 'wss'); + const wsEndpoint = `${wsUrl}/video/workspaces/${workspaceId}/rooms/${roomId}/ws`; + + try { + this.websocket = new WebSocket(wsEndpoint); + + // Set up WebSocket event handlers + return new Promise((resolve, reject) => { + const timeout = setTimeout(() => { + reject(new Error('Connection timeout')); + }, this.options.timeout || 5000); + + this.websocket!.onopen = () => { + clearTimeout(timeout); + this.sendJoinMessage(); + }; + + this.websocket!.onmessage = (event) => { + try { + const message: WebSocketMessage = JSON.parse(event.data); + this.handleMessage(message); + + // Handle initial connection responses + if (message.type === 'joined') { + this.connected = true; + this.onConnectedCallback?.(); + this.emit('connected'); + resolve(true); + } else if (message.type === 'error') { + this.handleError(message.message); + resolve(false); + } + } catch (error) { + console.error('Failed to parse WebSocket message:', error); + } + }; + + this.websocket!.onerror = (error) => { + clearTimeout(timeout); + console.error('WebSocket error:', error); + this.handleError('WebSocket connection error'); + reject(error); + }; + + this.websocket!.onclose = () => { + clearTimeout(timeout); + this.connected = false; + this.onDisconnectedCallback?.(); + this.emit('disconnected'); + }; + }); + } catch (error) { + console.error('Failed to connect to room:', error); + return false; + } + } + + async disconnect(): Promise { + // Close WebRTC connection + if (this.peerConnection) { + this.peerConnection.close(); + this.peerConnection = null; + } + + // Stop local streams + if (this.localStream) { + this.localStream.getTracks().forEach(track => track.stop()); + this.localStream = null; + } + + // Close WebSocket + if (this.websocket && this.websocket.readyState === WebSocket.OPEN) { + this.websocket.close(); + } + + this.websocket = null; + this.remoteStream = null; + this.connected = false; + this.workspaceId = null; + this.roomId = null; + this.role = null; + this.participantId = null; + + this.onDisconnectedCallback?.(); + this.emit('disconnected'); + } + + // ============= WEBRTC METHODS ============= + + createPeerConnection(): RTCPeerConnection { + const config: RTCConfiguration = { + iceServers: this.webrtcConfig.iceServers || [ + { urls: 'stun:stun.l.google.com:19302' } + ] + }; + + this.peerConnection = new RTCPeerConnection(config); + + // Connection state changes + this.peerConnection.onconnectionstatechange = () => { + const state = this.peerConnection?.connectionState; + console.info(`๐Ÿ”Œ WebRTC connection state: ${state}`); + }; + + // ICE connection state + this.peerConnection.oniceconnectionstatechange = () => { + const state = this.peerConnection?.iceConnectionState; + console.info(`๐ŸงŠ ICE connection state: ${state}`); + }; + + // ICE candidate handling + this.peerConnection.onicecandidate = (event: RTCPeerConnectionIceEvent) => { + if (event.candidate && this.workspaceId && this.roomId && this.participantId) { + // Send ICE candidate via signaling + this.sendWebRTCSignal(this.workspaceId, this.roomId, this.participantId, { + type: 'ice', + candidate: event.candidate.toJSON() + } as Record); + } + }; + + // Handle remote stream + this.peerConnection.ontrack = (event: RTCTrackEvent) => { + console.info('๐Ÿ“บ Received remote track:', event.track.kind); + this.remoteStream = event.streams[0] || null; + this.emit('remoteStream', this.remoteStream); + }; + + return this.peerConnection; + } + + async createOffer(): Promise { + if (!this.peerConnection) { + throw new Error('Peer connection not created'); + } + + const offer = await this.peerConnection.createOffer(); + await this.peerConnection.setLocalDescription(offer); + + return offer; + } + + async createAnswer(offer: RTCSessionDescriptionInit): Promise { + if (!this.peerConnection) { + throw new Error('Peer connection not created'); + } + + await this.peerConnection.setRemoteDescription(offer); + const answer = await this.peerConnection.createAnswer(); + await this.peerConnection.setLocalDescription(answer); + + return answer; + } + + async setRemoteDescription(description: RTCSessionDescriptionInit): Promise { + if (!this.peerConnection) { + throw new Error('Peer connection not created'); + } + + await this.peerConnection.setRemoteDescription(description); + } + + async addIceCandidate(candidate: RTCIceCandidateInit): Promise { + if (!this.peerConnection) { + throw new Error('Peer connection not created'); + } + + await this.peerConnection.addIceCandidate(candidate); + } + + // ============= MEDIA METHODS ============= + + async startProducing(constraints?: MediaStreamConstraints): Promise { + const mediaConstraints = constraints || this.webrtcConfig.constraints; + + try { + this.localStream = await navigator.mediaDevices.getUserMedia(mediaConstraints); + return this.localStream; + } catch (error) { + throw new Error(`Failed to start video production: ${error}`); + } + } + + async startScreenShare(): Promise { + try { + this.localStream = await navigator.mediaDevices.getDisplayMedia({ + video: { + width: this.webrtcConfig.resolution?.width || 1920, + height: this.webrtcConfig.resolution?.height || 1080, + frameRate: this.webrtcConfig.framerate || 30 + }, + audio: false + }); + + return this.localStream; + } catch (error) { + throw new Error(`Failed to start screen share: ${error}`); + } + } + + stopProducing(): void { + if (this.localStream) { + this.localStream.getTracks().forEach(track => track.stop()); + this.localStream = null; + } + } + + // ============= GETTERS ============= + + getLocalStream(): MediaStream | null { + return this.localStream; + } + + getRemoteStream(): MediaStream | null { + return this.remoteStream; + } + + getPeerConnection(): RTCPeerConnection | null { + return this.peerConnection; + } + + async getStats(): Promise { + if (!this.peerConnection) { + return null; + } + + const stats = await this.peerConnection.getStats(); + return this.extractVideoStats(stats); + } + + // ============= MESSAGE HANDLING ============= + + protected sendJoinMessage(): void { + if (!this.websocket || !this.participantId || !this.role) return; + + const joinMessage: JoinMessage = { + participant_id: this.participantId, + role: this.role, + }; + + this.websocket.send(JSON.stringify(joinMessage)); + } + + protected handleMessage(message: WebSocketMessage): void { + switch (message.type) { + case 'joined': + console.log(`Successfully joined room ${message.room_id} as ${message.role}`); + break; + case 'heartbeat_ack': + console.debug('Heartbeat acknowledged'); + break; + case 'error': + this.handleError(message.message); + break; + default: + // Let subclasses handle specific message types + this.handleRoleSpecificMessage(message); + } + } + + protected handleRoleSpecificMessage(message: WebSocketMessage): void { + // To be overridden by subclasses + this.emit('message', message); + } + + protected handleError(errorMessage: string): void { + console.error('Video client error:', errorMessage); + this.onErrorCallback?.(errorMessage); + this.emit('error', errorMessage); + } + + // ============= UTILITY METHODS ============= + + async sendHeartbeat(): Promise { + if (!this.connected || !this.websocket) return; + + const message = { type: 'heartbeat' as const }; + this.websocket.send(JSON.stringify(message)); + } + + isConnected(): boolean { + return this.connected; + } + + getConnectionInfo(): ConnectionInfo { + return { + connected: this.connected, + workspace_id: this.workspaceId, + room_id: this.roomId, + role: this.role, + participant_id: this.participantId, + base_url: this.baseUrl, + }; + } + + // ============= EVENT CALLBACK SETTERS ============= + + onError(callback: ErrorCallback): void { + this.onErrorCallback = callback; + } + + onConnected(callback: ConnectedCallback): void { + this.onConnectedCallback = callback; + } + + onDisconnected(callback: DisconnectedCallback): void { + this.onDisconnectedCallback = callback; + } + + // ============= PRIVATE HELPERS ============= + + private async fetchApi(endpoint: string, options: RequestInit = {}): Promise { + const url = `${this.apiBase}${endpoint}`; + const response = await fetch(url, { + ...options, + signal: AbortSignal.timeout(this.options.timeout || 5000), + }); + + if (!response.ok) { + throw new Error(`HTTP ${response.status}: ${response.statusText}`); + } + + return response.json() as Promise; + } + + private extractVideoStats(stats: RTCStatsReport): WebRTCStats | null { + let inboundVideoStats: RTCInboundRtpStreamStats | null = null; + let outboundVideoStats: RTCOutboundRtpStreamStats | null = null; + + stats.forEach((report) => { + if (report.type === 'inbound-rtp' && 'kind' in report && report.kind === 'video') { + inboundVideoStats = report as RTCInboundRtpStreamStats; + } else if (report.type === 'outbound-rtp' && 'kind' in report && report.kind === 'video') { + outboundVideoStats = report as RTCOutboundRtpStreamStats; + } + }); + + // Handle inbound stats (consumer) + if (inboundVideoStats) { + return { + videoBitsPerSecond: (inboundVideoStats as any).bytesReceived || 0, + framesPerSecond: (inboundVideoStats as any).framesPerSecond || 0, + frameWidth: (inboundVideoStats as any).frameWidth || 0, + frameHeight: (inboundVideoStats as any).frameHeight || 0, + packetsLost: (inboundVideoStats as any).packetsLost || 0, + totalPackets: (inboundVideoStats as any).packetsReceived || (inboundVideoStats as any).framesDecoded || 0 + }; + } + + // Handle outbound stats (producer) + if (outboundVideoStats) { + return { + videoBitsPerSecond: (outboundVideoStats as any).bytesSent || 0, + framesPerSecond: (outboundVideoStats as any).framesPerSecond || 0, + frameWidth: (outboundVideoStats as any).frameWidth || 0, + frameHeight: (outboundVideoStats as any).frameHeight || 0, + packetsLost: (outboundVideoStats as any).packetsLost || 0, + totalPackets: (outboundVideoStats as any).packetsSent || (outboundVideoStats as any).framesSent || 0 + }; + } + + return null; + } + + // ============= WORKSPACE HELPERS ============= + + protected generateWorkspaceId(): string { + // Generate a UUID-like workspace ID + return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) { + const r = Math.random() * 16 | 0; + const v = c === 'x' ? r : (r & 0x3 | 0x8); + return v.toString(16); + }); + } +} \ No newline at end of file diff --git a/client/js/src/video/factory.ts b/client/js/src/video/factory.ts new file mode 100644 index 0000000000000000000000000000000000000000..8676646ac5651cf33cf286cc2932af56a8ac0e1f --- /dev/null +++ b/client/js/src/video/factory.ts @@ -0,0 +1,66 @@ +/** + * Factory functions for creating LeRobot Arena video clients + */ + +import { VideoProducer } from './producer.js'; +import { VideoConsumer } from './consumer.js'; +import type { ParticipantRole, ClientOptions } from './types.js'; + +/** + * Factory function to create the appropriate client based on role + */ +export function createClient( + role: ParticipantRole, + baseUrl = 'http://localhost:8000', + options: ClientOptions = {} +): VideoProducer | VideoConsumer { + if (role === 'producer') { + return new VideoProducer(baseUrl, options); + } + if (role === 'consumer') { + return new VideoConsumer(baseUrl, options); + } + throw new Error(`Invalid role: ${role}. Must be 'producer' or 'consumer'`); +} + +/** + * Create and connect a producer client + */ +export async function createProducerClient( + baseUrl = 'http://localhost:8000', + workspaceId?: string, + roomId?: string, + participantId?: string, + options: ClientOptions = {} +): Promise { + const producer = new VideoProducer(baseUrl, options); + + const roomData = await producer.createRoom(workspaceId, roomId); + const connected = await producer.connect(roomData.workspaceId, roomData.roomId, participantId); + + if (!connected) { + throw new Error('Failed to connect as video producer'); + } + + return producer; +} + +/** + * Create and connect a consumer client + */ +export async function createConsumerClient( + workspaceId: string, + roomId: string, + baseUrl = 'http://localhost:8000', + participantId?: string, + options: ClientOptions = {} +): Promise { + const consumer = new VideoConsumer(baseUrl, options); + const connected = await consumer.connect(workspaceId, roomId, participantId); + + if (!connected) { + throw new Error('Failed to connect as video consumer'); + } + + return consumer; +} \ No newline at end of file diff --git a/client/js/src/video/index.ts b/client/js/src/video/index.ts new file mode 100644 index 0000000000000000000000000000000000000000..5acd47bf19a37c4e697ed8683120b08f5c09a979 --- /dev/null +++ b/client/js/src/video/index.ts @@ -0,0 +1,16 @@ +/** + * LeRobot Arena Video Client - Main Module + * + * TypeScript/JavaScript client for video streaming and monitoring + */ + +// Export core classes +export { VideoClientCore } from './core.js'; +export { VideoProducer } from './producer.js'; +export { VideoConsumer } from './consumer.js'; + +// Export all types +export * from './types.js'; + +// Export factory functions for convenience +export { createProducerClient, createConsumerClient, createClient } from './factory.js'; diff --git a/client/js/src/video/producer.ts b/client/js/src/video/producer.ts new file mode 100644 index 0000000000000000000000000000000000000000..a9880df124da5ebe5228b3c2cf1d942984d14173 --- /dev/null +++ b/client/js/src/video/producer.ts @@ -0,0 +1,439 @@ +/** + * Producer client for video streaming in LeRobot Arena + */ + +import { VideoClientCore } from './core.js'; +import type { + WebSocketMessage, + VideoConfigUpdateMessage, + StreamStartedMessage, + StreamStoppedMessage, + StatusUpdateMessage, + StreamStatsMessage, + ClientOptions, + VideoConfig, + WebRTCAnswerMessage, + WebRTCIceMessage, +} from './types.js'; + +export class VideoProducer extends VideoClientCore { + // Multiple peer connections - one per consumer + private consumerConnections: Map = new Map(); + + constructor(baseUrl = 'http://localhost:8000', options: ClientOptions = {}) { + super(baseUrl, options); + } + + // ============= PRODUCER CONNECTION ============= + + async connect(workspaceId: string, roomId: string, participantId?: string): Promise { + const success = await this.connectToRoom(workspaceId, roomId, 'producer', participantId); + + if (success) { + // Listen for consumer join events to initiate WebRTC + this.on('consumer_joined', (consumerId: string) => { + console.info(`๐ŸŽฏ Consumer ${consumerId} joined, initiating WebRTC...`); + this.initiateWebRTCWithConsumer(consumerId); + }); + + // Also check for existing consumers and initiate connections after a delay + setTimeout(() => this.connectToExistingConsumers(), 1000); + } + + return success; + } + + private async connectToExistingConsumers(): Promise { + if (!this.workspaceId || !this.roomId) return; + + try { + const roomInfo = await this.getRoomInfo(this.workspaceId, this.roomId); + for (const consumerId of roomInfo.participants.consumers) { + if (!this.consumerConnections.has(consumerId)) { + console.info(`๐Ÿ”„ Connecting to existing consumer ${consumerId}`); + await this.initiateWebRTCWithConsumer(consumerId); + } + } + } catch (error) { + console.error('Failed to connect to existing consumers:', error); + } + } + + private createPeerConnectionForConsumer(consumerId: string): RTCPeerConnection { + const config: RTCConfiguration = { + iceServers: this.webrtcConfig.iceServers || [ + { urls: 'stun:stun.l.google.com:19302' } + ] + }; + + const peerConnection = new RTCPeerConnection(config); + + // Add local stream tracks to this connection + if (this.localStream) { + this.localStream.getTracks().forEach(track => { + peerConnection.addTrack(track, this.localStream!); + }); + } + + // Connection state changes + peerConnection.onconnectionstatechange = () => { + const state = peerConnection.connectionState; + console.info(`๐Ÿ”Œ WebRTC connection state for ${consumerId}: ${state}`); + + if (state === 'failed' || state === 'disconnected') { + console.warn(`Connection to ${consumerId} failed, attempting restart...`); + setTimeout(() => this.restartConnectionToConsumer(consumerId), 2000); + } + }; + + // ICE connection state + peerConnection.oniceconnectionstatechange = () => { + const state = peerConnection.iceConnectionState; + console.info(`๐ŸงŠ ICE connection state for ${consumerId}: ${state}`); + }; + + // ICE candidate handling for this specific consumer + peerConnection.onicecandidate = (event) => { + if (event.candidate && this.workspaceId && this.roomId && this.participantId) { + this.sendWebRTCSignal(this.workspaceId, this.roomId, this.participantId, { + type: 'ice', + candidate: event.candidate.toJSON(), + target_consumer: consumerId, + } as Record); + } + }; + + // Store the connection + this.consumerConnections.set(consumerId, peerConnection); + + return peerConnection; + } + + private async restartConnectionToConsumer(consumerId: string): Promise { + console.info(`๐Ÿ”„ Restarting connection to consumer ${consumerId}`); + await this.initiateWebRTCWithConsumer(consumerId); + } + + private handleConsumerLeft(consumerId: string): void { + const peerConnection = this.consumerConnections.get(consumerId); + if (peerConnection) { + peerConnection.close(); + this.consumerConnections.delete(consumerId); + console.info(`๐Ÿงน Cleaned up peer connection for consumer ${consumerId}`); + } + } + + private async restartConnectionsWithNewStream(stream: MediaStream): Promise { + console.info('๐Ÿ”„ Restarting connections with new stream...'); + + // Close all existing connections + for (const [consumerId, peerConnection] of this.consumerConnections) { + peerConnection.close(); + console.info(`๐Ÿงน Closed existing connection to consumer ${consumerId}`); + } + this.consumerConnections.clear(); + + // Get current consumers and restart connections + try { + if (this.workspaceId && this.roomId) { + const roomInfo = await this.getRoomInfo(this.workspaceId, this.roomId); + for (const consumerId of roomInfo.participants.consumers) { + console.info(`๐Ÿ”„ Creating new connection to consumer ${consumerId}...`); + await this.initiateWebRTCWithConsumer(consumerId); + } + } + } catch (error) { + console.error('Failed to restart connections:', error); + } + } + + // ============= PRODUCER METHODS ============= + + async startCamera(constraints?: MediaStreamConstraints): Promise { + if (!this.connected) { + throw new Error('Must be connected to start camera'); + } + + const stream = await this.startProducing(constraints); + + // Store the stream and restart connections with new tracks + this.localStream = stream; + await this.restartConnectionsWithNewStream(stream); + + // Notify about stream start + this.notifyStreamStarted(stream); + + return stream; + } + + override async startScreenShare(): Promise { + if (!this.connected) { + throw new Error('Must be connected to start screen share'); + } + + const stream = await super.startScreenShare(); + + // Store the stream and restart connections with new tracks + this.localStream = stream; + await this.restartConnectionsWithNewStream(stream); + + // Notify about stream start + this.notifyStreamStarted(stream); + + return stream; + } + + async stopStreaming(): Promise { + if (!this.connected || !this.websocket) { + throw new Error('Must be connected to stop streaming'); + } + + // Close all consumer connections + for (const [consumerId, peerConnection] of this.consumerConnections) { + peerConnection.close(); + console.info(`๐Ÿงน Closed connection to consumer ${consumerId}`); + } + this.consumerConnections.clear(); + + // Stop local stream + this.stopProducing(); + + // Notify about stream stop + this.notifyStreamStopped(); + } + + async updateVideoConfig(config: VideoConfig): Promise { + if (!this.connected || !this.websocket) { + throw new Error('Must be connected to update video config'); + } + + const message: VideoConfigUpdateMessage = { + type: 'video_config_update', + config, + timestamp: new Date().toISOString(), + }; + + this.websocket.send(JSON.stringify(message)); + } + + async sendEmergencyStop(reason = 'Emergency stop'): Promise { + if (!this.connected || !this.websocket) { + throw new Error('Must be connected to send emergency stop'); + } + + const message = { + type: 'emergency_stop' as const, + reason, + timestamp: new Date().toISOString(), + }; + + this.websocket.send(JSON.stringify(message)); + } + + // ============= WEBRTC NEGOTIATION ============= + + async initiateWebRTCWithConsumer(consumerId: string): Promise { + if (!this.workspaceId || !this.roomId || !this.participantId) { + console.warn('WebRTC not ready, skipping negotiation with consumer'); + return; + } + + // Clean up existing connection if any + if (this.consumerConnections.has(consumerId)) { + const existingConn = this.consumerConnections.get(consumerId); + existingConn?.close(); + this.consumerConnections.delete(consumerId); + } + + try { + console.info(`๐Ÿ”„ Creating WebRTC offer for consumer ${consumerId}...`); + + // Create a new peer connection specifically for this consumer + const peerConnection = this.createPeerConnectionForConsumer(consumerId); + + // Create offer with this consumer's peer connection + const offer = await peerConnection.createOffer(); + await peerConnection.setLocalDescription(offer); + + console.info(`๐Ÿ“ค Sending WebRTC offer to consumer ${consumerId}...`); + + // Send offer to server/consumer + await this.sendWebRTCSignal(this.workspaceId, this.roomId, this.participantId, { + type: 'offer', + sdp: offer.sdp, + target_consumer: consumerId, + } as Record); + + console.info(`โœ… WebRTC offer sent to consumer ${consumerId}`); + } catch (error) { + console.error(`Failed to initiate WebRTC with consumer ${consumerId}:`, error); + } + } + + private async handleWebRTCAnswer(message: WebRTCAnswerMessage): Promise { + try { + const consumerId = message.from_consumer; + console.info(`๐Ÿ“ฅ Received WebRTC answer from consumer ${consumerId}`); + + const peerConnection = this.consumerConnections.get(consumerId); + if (!peerConnection) { + console.warn(`No peer connection found for consumer ${consumerId}`); + return; + } + + // Set remote description on the correct peer connection + const answer = new RTCSessionDescription({ + type: 'answer', + sdp: message.answer.sdp + }); + + await peerConnection.setRemoteDescription(answer); + + console.info(`โœ… WebRTC negotiation completed with consumer ${consumerId}`); + } catch (error) { + console.error(`Failed to handle WebRTC answer from ${message.from_consumer}:`, error); + this.handleError(`Failed to handle WebRTC answer: ${error}`); + } + } + + private async handleWebRTCIce(message: WebRTCIceMessage): Promise { + try { + const consumerId = message.from_consumer; + if (!consumerId) { + console.warn('No consumer ID in ICE message'); + return; + } + + const peerConnection = this.consumerConnections.get(consumerId); + if (!peerConnection) { + console.warn(`No peer connection found for consumer ${consumerId}`); + return; + } + + console.info(`๐Ÿ“ฅ Received WebRTC ICE from consumer ${consumerId}`); + + // Add ICE candidate to the correct peer connection + const candidate = new RTCIceCandidate(message.candidate); + await peerConnection.addIceCandidate(candidate); + + console.info(`โœ… WebRTC ICE handled with consumer ${consumerId}`); + } catch (error) { + console.error(`Failed to handle WebRTC ICE from ${message.from_consumer}:`, error); + this.handleError(`Failed to handle WebRTC ICE: ${error}`); + } + } + + // ============= MESSAGE HANDLING ============= + + protected override handleRoleSpecificMessage(message: WebSocketMessage): void { + switch (message.type) { + case 'participant_joined': + // Check if this is a consumer joining + if (message.role === 'consumer' && message.participant_id !== this.participantId) { + console.info(`๐ŸŽฏ Consumer ${message.participant_id} joined room`); + this.emit('consumer_joined', message.participant_id); + } + break; + case 'participant_left': + // Check if this is a consumer leaving + if (message.role === 'consumer') { + console.info(`๐Ÿ‘‹ Consumer ${message.participant_id} left room`); + this.handleConsumerLeft(message.participant_id); + } + break; + case 'webrtc_answer': + this.handleWebRTCAnswer(message as WebRTCAnswerMessage); + break; + case 'webrtc_ice': + this.handleWebRTCIce(message as WebRTCIceMessage); + break; + case 'status_update': + this.handleStatusUpdate(message as StatusUpdateMessage); + break; + case 'stream_stats': + this.handleStreamStats(message as StreamStatsMessage); + break; + case 'emergency_stop': + console.warn(`๐Ÿšจ Emergency stop: ${message.reason || 'Unknown reason'}`); + this.handleError(`Emergency stop: ${message.reason || 'Unknown reason'}`); + break; + case 'error': + console.error(`Server error: ${message.message}`); + this.handleError(message.message); + break; + default: + console.warn(`Unknown message type for producer: ${message.type}`); + } + } + + private handleStatusUpdate(message: StatusUpdateMessage): void { + console.info(`๐Ÿ“Š Status update: ${message.status}`, message.data); + this.emit('statusUpdate', message.status, message.data); + } + + private handleStreamStats(message: StreamStatsMessage): void { + console.debug(`๐Ÿ“ˆ Stream stats:`, message.stats); + this.emit('streamStats', message.stats); + } + + // ============= UTILITY METHODS ============= + + private async notifyStreamStarted(stream: MediaStream): Promise { + if (!this.websocket) return; + + const message: StreamStartedMessage = { + type: 'stream_started', + config: { + resolution: this.webrtcConfig.resolution, + framerate: this.webrtcConfig.framerate, + bitrate: this.webrtcConfig.bitrate, + }, + participant_id: this.participantId!, + timestamp: new Date().toISOString(), + }; + + this.websocket.send(JSON.stringify(message)); + this.emit('streamStarted', stream); + } + + private async notifyStreamStopped(): Promise { + if (!this.websocket) return; + + const message: StreamStoppedMessage = { + type: 'stream_stopped', + participant_id: this.participantId!, + timestamp: new Date().toISOString(), + }; + + this.websocket.send(JSON.stringify(message)); + this.emit('streamStopped'); + } + + /** + * Create a room and automatically connect as producer + */ + static async createAndConnect( + baseUrl = 'http://localhost:8000', + workspaceId?: string, + roomId?: string, + participantId?: string + ): Promise { + const producer = new VideoProducer(baseUrl); + + const roomData = await producer.createRoom(workspaceId, roomId); + const connected = await producer.connect(roomData.workspaceId, roomData.roomId, participantId); + + if (!connected) { + throw new Error('Failed to connect as video producer'); + } + + return producer; + } + + /** + * Get the current room ID (useful when auto-created) + */ + get currentRoomId(): string | null { + return this.roomId; + } +} \ No newline at end of file diff --git a/client/js/src/video/types.ts b/client/js/src/video/types.ts new file mode 100644 index 0000000000000000000000000000000000000000..45d21e388801033cd13f18a84b94c2a3bffc1aab --- /dev/null +++ b/client/js/src/video/types.ts @@ -0,0 +1,352 @@ +/** + * Type definitions for LeRobot Arena Video Client + * โœ… Fully synchronized with server-side models.py + */ + +// ============= CORE TYPES ============= + +export type ParticipantRole = 'producer' | 'consumer'; + +export type MessageType = + | 'frame_update' + | 'video_config_update' + | 'stream_started' + | 'stream_stopped' + | 'recovery_triggered' + | 'heartbeat' + | 'heartbeat_ack' + | 'emergency_stop' + | 'joined' + | 'error' + | 'participant_joined' + | 'participant_left' + | 'webrtc_offer' + | 'webrtc_answer' + | 'webrtc_ice' + | 'status_update' + | 'stream_stats'; + +// ============= VIDEO CONFIGURATION ============= + +export interface VideoConfig { + encoding?: VideoEncoding; + resolution?: Resolution; + framerate?: number; + bitrate?: number; + quality?: number; +} + +export interface Resolution { + width: number; + height: number; +} + +export type VideoEncoding = 'jpeg' | 'h264' | 'vp8' | 'vp9'; + +export type RecoveryPolicy = + | 'freeze_last_frame' + | 'connection_info' + | 'black_screen' + | 'fade_to_black' + | 'overlay_status'; + +export interface RecoveryConfig { + frame_timeout_ms?: number; + max_frame_reuse_count?: number; + recovery_policy?: RecoveryPolicy; + fallback_policy?: RecoveryPolicy; + show_hold_indicators?: boolean; + info_frame_bg_color?: [number, number, number]; + info_frame_text_color?: [number, number, number]; + fade_intensity?: number; + overlay_opacity?: number; +} + +// ============= DATA STRUCTURES ============= + +export interface FrameData { + data: ArrayBuffer; + metadata?: Record; +} + +export interface StreamStats { + stream_id: string; + duration_seconds: number; + frame_count: number; + total_bytes: number; + average_fps: number; + average_bitrate: number; +} + +export interface ParticipantInfo { + producer: string | null; + consumers: string[]; + total: number; +} + +export interface RoomInfo { + id: string; + workspace_id: string; + participants: ParticipantInfo; + frame_count: number; + config: VideoConfig; + has_producer: boolean; + active_consumers: number; +} + +export interface RoomState { + room_id: string; + workspace_id: string; + participants: ParticipantInfo; + frame_count: number; + last_frame_time: string | null; + current_config: VideoConfig; + timestamp: string; +} + +export interface ConnectionInfo { + connected: boolean; + workspace_id: string | null; + room_id: string | null; + role: ParticipantRole | null; + participant_id: string | null; + base_url: string; +} + +// ============= MESSAGE TYPES ============= + +export interface BaseMessage { + type: MessageType; + timestamp?: string; +} + +export interface FrameUpdateMessage extends BaseMessage { + type: 'frame_update'; + data: ArrayBuffer; + metadata?: Record; +} + +export interface VideoConfigUpdateMessage extends BaseMessage { + type: 'video_config_update'; + config: VideoConfig; + source?: string; +} + +export interface StreamStartedMessage extends BaseMessage { + type: 'stream_started'; + config: VideoConfig; + participant_id: string; +} + +export interface StreamStoppedMessage extends BaseMessage { + type: 'stream_stopped'; + participant_id: string; + reason?: string; +} + +export interface RecoveryTriggeredMessage extends BaseMessage { + type: 'recovery_triggered'; + policy: RecoveryPolicy; + reason: string; +} + +export interface HeartbeatMessage extends BaseMessage { + type: 'heartbeat'; +} + +export interface HeartbeatAckMessage extends BaseMessage { + type: 'heartbeat_ack'; +} + +export interface EmergencyStopMessage extends BaseMessage { + type: 'emergency_stop'; + reason: string; + source?: string; +} + +export interface JoinedMessage extends BaseMessage { + type: 'joined'; + room_id: string; + role: ParticipantRole; +} + +export interface ErrorMessage extends BaseMessage { + type: 'error'; + message: string; + code?: string; +} + +export interface ParticipantJoinedMessage extends BaseMessage { + type: 'participant_joined'; + room_id: string; + participant_id: string; + role: ParticipantRole; +} + +export interface ParticipantLeftMessage extends BaseMessage { + type: 'participant_left'; + room_id: string; + participant_id: string; + role: ParticipantRole; +} + +export interface WebRTCOfferMessage extends BaseMessage { + type: 'webrtc_offer'; + offer: RTCSessionDescriptionInit; + from_producer: string; +} + +export interface WebRTCAnswerMessage extends BaseMessage { + type: 'webrtc_answer'; + answer: RTCSessionDescriptionInit; + from_consumer: string; +} + +export interface WebRTCIceMessage extends BaseMessage { + type: 'webrtc_ice'; + candidate: RTCIceCandidateInit; + from_producer?: string; + from_consumer?: string; +} + +export interface StatusUpdateMessage extends BaseMessage { + type: 'status_update'; + status: string; + data?: Record; +} + +export interface StreamStatsMessage extends BaseMessage { + type: 'stream_stats'; + stats: StreamStats; +} + +export type WebSocketMessage = + | FrameUpdateMessage + | VideoConfigUpdateMessage + | StreamStartedMessage + | StreamStoppedMessage + | RecoveryTriggeredMessage + | HeartbeatMessage + | HeartbeatAckMessage + | EmergencyStopMessage + | JoinedMessage + | ErrorMessage + | ParticipantJoinedMessage + | ParticipantLeftMessage + | WebRTCOfferMessage + | WebRTCAnswerMessage + | WebRTCIceMessage + | StatusUpdateMessage + | StreamStatsMessage; + +// ============= API RESPONSE TYPES ============= + +export interface ApiResponse { + success: boolean; + data?: T; + error?: string; + message?: string; +} + +export interface ListRoomsResponse { + success: boolean; + workspace_id: string; + rooms: RoomInfo[]; + total: number; +} + +export interface CreateRoomResponse { + success: boolean; + workspace_id: string; + room_id: string; + message: string; +} + +export interface GetRoomResponse { + success: boolean; + workspace_id: string; + room: RoomInfo; +} + +export interface GetRoomStateResponse { + success: boolean; + workspace_id: string; + state: RoomState; +} + +export interface DeleteRoomResponse { + success: boolean; + workspace_id: string; + message: string; +} + +export interface WebRTCSignalResponse { + success: boolean; + workspace_id: string; + response?: RTCSessionDescriptionInit | RTCIceCandidateInit; + message?: string; +} + +// ============= REQUEST TYPES ============= + +export interface CreateRoomRequest { + room_id?: string; + workspace_id?: string; + name?: string; + config?: VideoConfig; + recovery_config?: RecoveryConfig; + max_consumers?: number; +} + +export interface WebRTCSignalRequest { + client_id: string; + message: RTCSessionDescriptionInit | RTCIceCandidateInit | Record; +} + +export interface JoinMessage { + participant_id: string; + role: ParticipantRole; +} + +// ============= WEBRTC TYPES ============= + +export interface WebRTCConfig { + iceServers?: RTCIceServer[]; + constraints?: MediaStreamConstraints; + bitrate?: number; + framerate?: number; + resolution?: Resolution; + codecPreferences?: string[]; +} + +export interface WebRTCStats { + videoBitsPerSecond: number; + framesPerSecond: number; + frameWidth: number; + frameHeight: number; + packetsLost: number; + totalPackets: number; +} + +// ============= EVENT CALLBACK TYPES ============= + +export type FrameUpdateCallback = (frame: FrameData) => void; +export type VideoConfigUpdateCallback = (config: VideoConfig) => void; +export type StreamStartedCallback = (config: VideoConfig, participantId: string) => void; +export type StreamStoppedCallback = (participantId: string, reason?: string) => void; +export type RecoveryTriggeredCallback = (policy: RecoveryPolicy, reason: string) => void; +export type StatusUpdateCallback = (status: string, data?: Record) => void; +export type StreamStatsCallback = (stats: StreamStats) => void; +export type ErrorCallback = (error: string) => void; +export type ConnectedCallback = () => void; +export type DisconnectedCallback = () => void; + +// ============= CLIENT OPTIONS ============= + +export interface ClientOptions { + base_url?: string; + timeout?: number; + reconnect_attempts?: number; + heartbeat_interval?: number; + webrtc_config?: WebRTCConfig; +} \ No newline at end of file diff --git a/client/js/tsconfig.json b/client/js/tsconfig.json new file mode 100644 index 0000000000000000000000000000000000000000..ae7885a0fbdd372b0ed040057f1bb124a13616c2 --- /dev/null +++ b/client/js/tsconfig.json @@ -0,0 +1,32 @@ +{ + "compilerOptions": { + // Environment setup & latest features + "lib": ["ESNext", "DOM"], + "target": "ESNext", + "module": "Preserve", + "moduleDetection": "force", + "jsx": "react-jsx", + "allowJs": true, + + // Enable Bun types + "types": ["bun-types"], + + // Bundler mode (for Vite) + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "verbatimModuleSyntax": true, + "noEmit": true, + + // Best practices + "strict": true, + "skipLibCheck": true, + "noFallthroughCasesInSwitch": true, + "noUncheckedIndexedAccess": true, + "noImplicitOverride": true, + + // Some stricter flags (disabled by default) + "noUnusedLocals": false, + "noUnusedParameters": false, + "noPropertyAccessFromIndexSignature": false + } +} diff --git a/client/js/vite.config.ts b/client/js/vite.config.ts new file mode 100644 index 0000000000000000000000000000000000000000..15df02c8c7fa65300c4f4e6d9cd8cc94a5ca64fe --- /dev/null +++ b/client/js/vite.config.ts @@ -0,0 +1,38 @@ +import { defineConfig } from 'vite'; +import { resolve } from 'path'; +import dts from 'vite-plugin-dts'; + +export default defineConfig({ + plugins: [ + dts({ + insertTypesEntry: true, + rollupTypes: true, + }), + ], + build: { + lib: { + entry: { + index: resolve('src/index.ts'), + video: resolve('src/video/index.ts'), + robotics: resolve('src/robotics/index.ts'), + }, + formats: ['es'], + }, + rollupOptions: { + external: ['eventemitter3'], + output: { + preserveModules: false, + exports: 'named', + }, + }, + target: 'esnext', + minify: false, + }, + resolve: { + alias: { + '@': resolve('src'), + '@/video': resolve('src/video'), + '@/robotics': resolve('src/robotics'), + }, + }, +}); \ No newline at end of file diff --git a/client/python/.DS_Store b/client/python/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6 Binary files /dev/null and b/client/python/.DS_Store differ diff --git a/client/python/README.md b/client/python/README.md new file mode 100644 index 0000000000000000000000000000000000000000..d5a1862aba28b8eb899b9207752ea28ea4cfdd9d --- /dev/null +++ b/client/python/README.md @@ -0,0 +1,242 @@ +# LeRobot Arena Python Client + +Python client library for the LeRobot Arena robotics API with separate Producer and Consumer classes. + +## Installation + +```bash +pip install -e . +``` + +Or with development dependencies: + +```bash +pip install -e ".[dev]" +``` + +## Basic Usage + +### Producer (Controller) Example + +```python +import asyncio +from lerobot_arena_client import RoboticsProducer + +async def main(): + # Create producer client + producer = RoboticsProducer('http://localhost:8000') + + # List available rooms + rooms = await producer.list_rooms() + print('Available rooms:', rooms) + + # Create new room and connect + room_id = await producer.create_room() + await producer.connect(room_id) + + # Send initial state + await producer.send_state_sync({ + 'shoulder': 45.0, + 'elbow': -20.0 + }) + + # Send joint updates (only changed values will be forwarded!) + await producer.send_joint_update([ + {'name': 'shoulder', 'value': 45.0}, + {'name': 'elbow', 'value': -20.0} + ]) + + # Handle errors + producer.on_error(lambda err: print(f'Error: {err}')) + + # Disconnect + await producer.disconnect() + +if __name__ == "__main__": + asyncio.run(main()) +``` + +### Consumer (Robot Executor) Example + +```python +import asyncio +from lerobot_arena_client import RoboticsConsumer + +async def main(): + consumer = RoboticsConsumer('http://localhost:8000') + + # Connect to existing room + room_id = "your-room-id" + await consumer.connect(room_id) + + # Get initial state + initial_state = await consumer.get_state_sync() + print('Initial state:', initial_state) + + # Set up event handlers + def on_state_sync(state): + print('State sync:', state) + + def on_joint_update(joints): + print('Execute joints:', joints) + # Execute on actual robot hardware + for joint in joints: + print(f"Moving {joint['name']} to {joint['value']}") + + def on_error(error): + print(f'Error: {error}') + + # Register callbacks + consumer.on_state_sync(on_state_sync) + consumer.on_joint_update(on_joint_update) + consumer.on_error(on_error) + + # Keep running + try: + await asyncio.sleep(60) # Run for 60 seconds + finally: + await consumer.disconnect() + +if __name__ == "__main__": + asyncio.run(main()) +``` + +### Factory Function Usage + +```python +import asyncio +from lerobot_arena_client import create_client + +async def main(): + # Create clients using factory function + producer = create_client("producer", "http://localhost:8000") + consumer = create_client("consumer", "http://localhost:8000") + + # Or use convenience functions + from lerobot_arena_client import create_producer_client, create_consumer_client + + # Quick producer setup (auto-creates room and connects) + producer = await create_producer_client('http://localhost:8000') + print(f"Producer connected to room: {producer.room_id}") + + # Quick consumer setup (connects to existing room) + consumer = await create_consumer_client(producer.room_id, 'http://localhost:8000') + + # Use context managers for automatic cleanup + async with RoboticsProducer('http://localhost:8000') as producer: + room_id = await producer.create_room() + await producer.connect(room_id) + await producer.send_state_sync({'joint1': 10.0}) + +if __name__ == "__main__": + asyncio.run(main()) +``` + +### Advanced Example: Producer-Consumer Pair + +```python +import asyncio +from lerobot_arena_client import RoboticsProducer, RoboticsConsumer + +async def run_producer(room_id: str): + async with RoboticsProducer() as producer: + await producer.connect(room_id) + + # Simulate sending commands + for i in range(10): + await producer.send_state_sync({ + 'joint1': i * 10.0, + 'joint2': i * -5.0 + }) + await asyncio.sleep(1) + +async def run_consumer(room_id: str): + async with RoboticsConsumer() as consumer: + await consumer.connect(room_id) + + def handle_joint_update(joints): + print(f"๐Ÿค– Executing: {joints}") + # Your robot control code here + + consumer.on_joint_update(handle_joint_update) + + # Keep listening + await asyncio.sleep(15) + +async def main(): + # Create room + producer = RoboticsProducer() + room_id = await producer.create_room() + + # Run producer and consumer concurrently + await asyncio.gather( + run_producer(room_id), + run_consumer(room_id) + ) + +if __name__ == "__main__": + asyncio.run(main()) +``` + +## API Reference + +### RoboticsProducer + +**Connection Methods:** +- `connect(room_id, participant_id=None)` - Connect as producer to room + +**Control Methods:** +- `send_joint_update(joints)` - Send joint updates +- `send_state_sync(state)` - Send state synchronization (dict format) +- `send_emergency_stop(reason)` - Send emergency stop + +**Event Callbacks:** +- `on_error(callback)` - Set error callback +- `on_connected(callback)` - Set connection callback +- `on_disconnected(callback)` - Set disconnection callback + +### RoboticsConsumer + +**Connection Methods:** +- `connect(room_id, participant_id=None)` - Connect as consumer to room + +**State Methods:** +- `get_state_sync()` - Get current state synchronously + +**Event Callbacks:** +- `on_state_sync(callback)` - Set state sync callback +- `on_joint_update(callback)` - Set joint update callback +- `on_error(callback)` - Set error callback +- `on_connected(callback)` - Set connection callback +- `on_disconnected(callback)` - Set disconnection callback + +### RoboticsClientCore (Base Class) + +**REST API Methods:** +- `list_rooms()` - List all available rooms +- `create_room(room_id=None)` - Create a new room +- `delete_room(room_id)` - Delete a room +- `get_room_state(room_id)` - Get current room state +- `get_room_info(room_id)` - Get basic room information + +**Utility Methods:** +- `send_heartbeat()` - Send heartbeat to server +- `is_connected()` - Check connection status +- `get_connection_info()` - Get connection details +- `disconnect()` - Disconnect from room + +### Factory Functions + +- `create_client(role, base_url)` - Create client by role ("producer" or "consumer") +- `create_producer_client(base_url, room_id=None)` - Create connected producer +- `create_consumer_client(room_id, base_url)` - Create connected consumer + +## Requirements + +- Python 3.12+ +- aiohttp>=3.9.0 +- websockets>=12.0 + +## Migration from v1 + +The old `RoboticsClient` is still available for backward compatibility but is now an alias to `RoboticsClientCore`. For new code, use the specific `RoboticsProducer` or `RoboticsConsumer` classes for better type safety and cleaner APIs. diff --git a/client/python/__pycache__/test_ai_camera.cpython-312-pytest-8.4.0.pyc b/client/python/__pycache__/test_ai_camera.cpython-312-pytest-8.4.0.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b997bf2b084d6dc14bb48385ac9b1baf7c161915 Binary files /dev/null and b/client/python/__pycache__/test_ai_camera.cpython-312-pytest-8.4.0.pyc differ diff --git a/client/python/examples/README.md b/client/python/examples/README.md new file mode 100644 index 0000000000000000000000000000000000000000..6cc1369b0557483b90e05e4207b3858c368393e8 --- /dev/null +++ b/client/python/examples/README.md @@ -0,0 +1,189 @@ +# LeRobot Arena Examples + +This directory contains example scripts demonstrating various aspects of the LeRobot Arena robotics system. + +## Prerequisites + +Before running these examples, ensure you have: + +1. **Server running**: Start the LeRobot Arena server + ```bash + # From the server directory + uvicorn src.api.main:app --reload + ``` + +2. **Dependencies installed**: Install the Python client + ```bash + # From client/python directory + pip install -e . + ``` + +## Examples Overview + +### 1. `basic_producer.py` +**Basic Producer Usage** + +Demonstrates core producer functionality: +- Creating a room +- Connecting as a producer +- Sending joint updates +- Sending state synchronization +- Basic error handling + +```bash +python examples/basic_producer.py +``` + +### 2. `basic_consumer.py` +**Basic Consumer Usage** + +Shows how to connect as a consumer and receive data: +- Connecting to an existing room +- Setting up event callbacks +- Receiving joint updates and state sync +- Getting current room state + +```bash +python examples/basic_consumer.py +# You'll need to enter a room ID from a running producer +``` + +### 3. `room_management.py` +**Room Management Operations** + +Demonstrates REST API operations: +- Listing all rooms +- Creating rooms (auto-generated and custom IDs) +- Getting room information and state +- Deleting rooms + +```bash +python examples/room_management.py +``` + +### 4. `producer_consumer_demo.py` +**Complete Producer-Consumer Demo** + +Comprehensive demonstration featuring: +- Producer and multiple consumers working together +- Realistic robot movement simulation +- Emergency stop functionality +- State synchronization +- Connection management and cleanup + +```bash +python examples/producer_consumer_demo.py +``` + +### 5. `context_manager_example.py` +**Context Managers and Advanced Patterns** + +Shows advanced usage patterns: +- Using clients as context managers for automatic cleanup +- Exception handling with proper resource management +- Factory functions for quick client setup +- Managing multiple clients + +```bash +python examples/context_manager_example.py +``` + +## Running Examples + +### Quick Start (All-in-One Demo) +For a complete demonstration, run: +```bash +python examples/producer_consumer_demo.py +``` + +### Step-by-Step Testing +1. **Start with room management**: + ```bash + python examples/room_management.py + ``` + +2. **Run producer in one terminal**: + ```bash + python examples/basic_producer.py + ``` + +3. **Run consumer in another terminal**: + ```bash + python examples/basic_consumer.py + # Use the room ID from the producer + ``` + +### Advanced Examples +For more sophisticated patterns: +```bash +python examples/context_manager_example.py +``` + +## Key Concepts Demonstrated + +### Producer Capabilities +- **Room Creation**: Creating and managing robotics rooms +- **Joint Control**: Sending individual joint position updates +- **State Synchronization**: Sending complete robot state +- **Emergency Stop**: Triggering safety stops +- **Error Handling**: Managing connection and communication errors + +### Consumer Capabilities +- **Real-time Updates**: Receiving joint position updates +- **State Monitoring**: Getting current robot state +- **Event Callbacks**: Responding to various message types +- **Multiple Consumers**: Supporting multiple clients per room + +### Connection Management +- **WebSocket Communication**: Real-time bidirectional communication +- **Auto-reconnection**: Handling connection failures +- **Resource Cleanup**: Proper disconnection and cleanup +- **Context Managers**: Automatic resource management + +### Error Handling +- **Connection Failures**: Graceful handling of network issues +- **Invalid Operations**: Handling invalid commands or states +- **Emergency Scenarios**: Safety system demonstrations +- **Resource Management**: Proper cleanup in error conditions + +## Example Output + +When running the examples, you'll see detailed logging output showing: +- Connection status and events +- Data being sent and received +- Error conditions and handling +- Resource cleanup operations + +Example log output: +``` +INFO:__main__:Created room: abc123-def456-ghi789 +INFO:__main__:[Producer] Connected! +INFO:__main__:[visualizer] Joint update #1: 4 joints +INFO:__main__:[logger] Joint update #1: 4 joints +INFO:__main__:๐Ÿšจ [Producer] Sending emergency stop! +INFO:__main__:[safety-monitor] ERROR: Emergency stop: Demo emergency stop +``` + +## Troubleshooting + +### Common Issues + +1. **Connection Failed**: Ensure the server is running on `http://localhost:8000` +2. **Import Errors**: Make sure you've installed the client package (`pip install -e .`) +3. **Room Not Found**: Check that the room ID exists (run `room_management.py` to see active rooms) +4. **Permission Denied**: Only one producer per room is allowed + +### Debug Mode +Enable debug logging for more detailed output: +```python +logging.basicConfig(level=logging.DEBUG) +``` + +## Next Steps + +After running these examples, you can: +- Integrate the client into your own robotics applications +- Modify the examples for your specific robot hardware +- Build custom visualizers or control interfaces +- Implement safety monitoring systems +- Create automated testing scenarios \ No newline at end of file diff --git a/client/python/examples/__pycache__/test_ai_server_consumer.cpython-312-pytest-8.4.0.pyc b/client/python/examples/__pycache__/test_ai_server_consumer.cpython-312-pytest-8.4.0.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8f3a86ea7596897eaaa83b1f4c9c4d62c11f7b2c Binary files /dev/null and b/client/python/examples/__pycache__/test_ai_server_consumer.cpython-312-pytest-8.4.0.pyc differ diff --git a/client/python/examples/__pycache__/test_consumer_fix.cpython-312-pytest-8.4.0.pyc b/client/python/examples/__pycache__/test_consumer_fix.cpython-312-pytest-8.4.0.pyc new file mode 100644 index 0000000000000000000000000000000000000000..bcc87683e3212ad7e495ce1a5fcbbb11b933a891 Binary files /dev/null and b/client/python/examples/__pycache__/test_consumer_fix.cpython-312-pytest-8.4.0.pyc differ diff --git a/client/python/examples/basic_consumer.py b/client/python/examples/basic_consumer.py new file mode 100644 index 0000000000000000000000000000000000000000..f4d41d4c2961a82517d23b6eb14940e13bf30584 --- /dev/null +++ b/client/python/examples/basic_consumer.py @@ -0,0 +1,92 @@ +#!/usr/bin/env python3 +""" +Basic Consumer Example - LeRobot Arena + +This example demonstrates: +- Connecting to an existing room as a consumer +- Receiving joint updates and state sync +- Setting up callbacks +- Getting current state +""" + +import asyncio +import logging + +from lerobot_arena_client import RoboticsConsumer + +# Setup logging +logging.basicConfig(level=logging.INFO) +logger = logging.getLogger(__name__) + + +async def main(): + """Basic consumer example.""" + # You need to provide an existing room ID + # You can get this from running basic_producer.py first + room_id = input("Enter room ID to connect to: ").strip() + + if not room_id: + logger.error("Room ID is required!") + return + + # Create consumer client + consumer = RoboticsConsumer("http://localhost:8000") + + # Track received updates + received_updates = [] + received_states = [] + + # Set up callbacks + def on_joint_update(joints): + logger.info(f"Received joint update: {joints}") + received_updates.append(joints) + + def on_state_sync(state): + logger.info(f"Received state sync: {state}") + received_states.append(state) + + def on_error(error_msg): + logger.error(f"Consumer error: {error_msg}") + + def on_connected(): + logger.info("Consumer connected!") + + def on_disconnected(): + logger.info("Consumer disconnected!") + + # Register all callbacks + consumer.on_joint_update(on_joint_update) + consumer.on_state_sync(on_state_sync) + consumer.on_error(on_error) + consumer.on_connected(on_connected) + consumer.on_disconnected(on_disconnected) + + try: + # Connect to the room + success = await consumer.connect(room_id) + if not success: + logger.error("Failed to connect to room!") + return + + # Get initial state + initial_state = await consumer.get_state_sync() + logger.info(f"Initial state: {initial_state}") + + # Listen for updates for 30 seconds + logger.info("Listening for updates for 30 seconds...") + await asyncio.sleep(30) + + # Show summary + logger.info(f"Received {len(received_updates)} joint updates") + logger.info(f"Received {len(received_states)} state syncs") + + except Exception as e: + logger.error(f"Error: {e}") + finally: + # Always disconnect + if consumer.is_connected(): + await consumer.disconnect() + + +if __name__ == "__main__": + asyncio.run(main()) diff --git a/client/python/examples/basic_producer.py b/client/python/examples/basic_producer.py new file mode 100644 index 0000000000000000000000000000000000000000..2d32d4322aab166cad840f722747f1097af44d80 --- /dev/null +++ b/client/python/examples/basic_producer.py @@ -0,0 +1,77 @@ +#!/usr/bin/env python3 +""" +Basic Producer Example - LeRobot Arena + +This example demonstrates: +- Creating a room +- Connecting as a producer +- Sending joint updates +- Basic error handling +""" + +import asyncio +import logging + +from lerobot_arena_client import RoboticsProducer + +# Setup logging +logging.basicConfig(level=logging.INFO) +logger = logging.getLogger(__name__) + + +async def main(): + """Basic producer example.""" + # Create producer client + producer = RoboticsProducer("http://localhost:8000") + + # Set up error callback + def on_error(error_msg): + logger.error(f"Producer error: {error_msg}") + + producer.on_error(on_error) + + try: + # Create a room and connect + room_id = await producer.create_room() + logger.info(f"Created room: {room_id}") + + # Connect as producer + success = await producer.connect(room_id) + if not success: + logger.error("Failed to connect!") + return + + logger.info("Connected as producer!") + + # Send some joint updates + joints = [ + {"name": "shoulder", "value": 45.0}, + {"name": "elbow", "value": -20.0}, + {"name": "wrist", "value": 10.0}, + ] + + logger.info("Sending joint updates...") + await producer.send_joint_update(joints) + + # Send state sync (converted to joint updates) + state = {"shoulder": 90.0, "elbow": -45.0, "wrist": 0.0} + + logger.info("Sending state sync...") + await producer.send_state_sync(state) + + # Keep alive for a bit + await asyncio.sleep(2) + + logger.info("Example completed successfully!") + + except Exception as e: + logger.error(f"Error: {e}") + finally: + # Always disconnect + if producer.is_connected(): + await producer.disconnect() + logger.info("Disconnected") + + +if __name__ == "__main__": + asyncio.run(main()) diff --git a/client/python/examples/consumer_first_recorder.py b/client/python/examples/consumer_first_recorder.py new file mode 100644 index 0000000000000000000000000000000000000000..7732435b9b7481d124ff9522efb4501d1f3a809b --- /dev/null +++ b/client/python/examples/consumer_first_recorder.py @@ -0,0 +1,319 @@ +#!/usr/bin/env python3 +""" +Consumer-First Video Recorder Example + +This example demonstrates the "consumer-first" scenario where: +1. Consumer creates a room and waits +2. Producer joins later and starts streaming +3. Consumer records exactly 10 seconds of video when frames arrive +4. Saves the recorded video to disk + +This tests the case where consumers are already waiting when producers start streaming. +""" + +import asyncio +import logging +import time +from pathlib import Path + +import cv2 +import numpy as np +from lerobot_arena_client.video import VideoConsumer + +# Setup logging +logging.basicConfig( + level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s" +) +logger = logging.getLogger(__name__) + + +class VideoRecorder: + """Records video frames for a specific duration""" + + def __init__( + self, + duration_seconds: float = 10.0, + output_dir: str = "./recordings", + fps: int = 30, + ): + self.duration_seconds = duration_seconds + self.output_dir = Path(output_dir) + self.output_dir.mkdir(exist_ok=True) + self.fps = fps + + # Recording state + self.recording = False + self.start_time: float | None = None + self.frames: list[np.ndarray] = [] + self.frame_count = 0 + self.recording_complete = False + + # Video writer for MP4 output + self.video_writer: cv2.VideoWriter | None = None + self.video_path: Path | None = None + + def start_recording(self, width: int, height: int) -> None: + """Start recording with the given frame dimensions""" + if self.recording: + logger.warning("Recording already in progress") + return + + self.recording = True + self.start_time = time.time() + self.frames = [] + self.frame_count = 0 + self.recording_complete = False + + # Create video writer for MP4 output + timestamp = int(time.time()) + self.video_path = self.output_dir / f"recording_{timestamp}.mp4" + + # Define codec and create VideoWriter + fourcc = cv2.VideoWriter_fourcc(*"mp4v") + self.video_writer = cv2.VideoWriter( + str(self.video_path), fourcc, self.fps, (width, height) + ) + + logger.info(f"๐ŸŽฌ Started recording to {self.video_path}") + logger.info(f" Duration: {self.duration_seconds}s") + logger.info(f" Resolution: {width}x{height}") + logger.info(f" Target FPS: {self.fps}") + + def add_frame(self, frame_data) -> bool: + """Add a frame to the recording. Returns True if recording is complete.""" + if not self.recording or self.recording_complete: + return self.recording_complete + + # Check if recording duration exceeded + if self.start_time and time.time() - self.start_time > self.duration_seconds: + self.stop_recording() + return True + + try: + # Extract frame information + metadata = frame_data.metadata + width = metadata.get("width", 0) + height = metadata.get("height", 0) + + # Convert bytes to numpy array (server sends RGB format) + frame_bytes = frame_data.data + img_rgb = np.frombuffer(frame_bytes, dtype=np.uint8).reshape(( + height, + width, + 3, + )) + + # Convert RGB to BGR for OpenCV + img_bgr = cv2.cvtColor(img_rgb, cv2.COLOR_RGB2BGR) + + # Write frame to video + if self.video_writer: + self.video_writer.write(img_bgr) + + # Store frame in memory for backup + self.frames.append(img_bgr.copy()) + self.frame_count += 1 + + # Progress logging + if self.frame_count % 30 == 0: # Every ~1 second at 30fps + elapsed = time.time() - self.start_time if self.start_time else 0 + remaining = max(0, self.duration_seconds - elapsed) + logger.info( + f"๐ŸŽฌ Recording: {elapsed:.1f}s / {self.duration_seconds}s ({remaining:.1f}s remaining)" + ) + + except Exception as e: + logger.error(f"โŒ Error adding frame to recording: {e}") + + return False + + def stop_recording(self) -> dict: + """Stop recording and save the video""" + if not self.recording: + logger.warning("No recording in progress") + return {} + + self.recording = False + self.recording_complete = True + + # Release video writer + if self.video_writer: + self.video_writer.release() + self.video_writer = None + + # Calculate stats + end_time = time.time() + actual_duration = end_time - self.start_time if self.start_time else 0 + actual_fps = self.frame_count / actual_duration if actual_duration > 0 else 0 + + stats = { + "duration": actual_duration, + "frame_count": self.frame_count, + "target_fps": self.fps, + "actual_fps": actual_fps, + "video_path": str(self.video_path) if self.video_path else None, + "frame_backup_count": len(self.frames), + } + + logger.info("๐ŸŽฌ Recording completed!") + logger.info(f" Actual duration: {actual_duration:.1f}s") + logger.info(f" Frames recorded: {self.frame_count}") + logger.info(f" Actual FPS: {actual_fps:.1f}") + logger.info(f" Video saved to: {self.video_path}") + + # Also save frame sequence as backup + if self.frames: + self._save_frame_sequence() + + return stats + + def _save_frame_sequence(self) -> None: + """Save individual frames as image sequence backup""" + frame_dir = self.output_dir / f"frames_{int(time.time())}" + frame_dir.mkdir(exist_ok=True) + + for i, frame in enumerate(self.frames): + frame_path = frame_dir / f"frame_{i:04d}.jpg" + cv2.imwrite(str(frame_path), frame) + + logger.info(f"๐Ÿ“ธ Saved {len(self.frames)} frames to {frame_dir}") + + +async def main(): + """Main consumer-first recorder example""" + # Configuration + base_url = "http://localhost:8000" + recording_duration = 10.0 # Record for 10 seconds + + logger.info("๐ŸŽฌ Consumer-First Video Recorder") + logger.info("=" * 50) + logger.info(f"Server: {base_url}") + logger.info(f"Recording duration: {recording_duration}s") + logger.info("") + + # Create consumer + consumer = VideoConsumer(base_url) + recorder = VideoRecorder(duration_seconds=recording_duration) + + # Track recording state + recording_started = False + recording_stats = {} + + def handle_frame(frame_data): + """Handle received frame data""" + nonlocal recording_started, recording_stats + + if not recording_started: + # Start recording on first frame + metadata = frame_data.metadata + width = metadata.get("width", 640) + height = metadata.get("height", 480) + + recorder.start_recording(width, height) + recording_started = True + + # Add frame to recording + is_complete = recorder.add_frame(frame_data) + + if is_complete and not recording_stats: + recording_stats = recorder.stop_recording() + + # Set up event handlers + consumer.on_frame_update(handle_frame) + + def on_stream_started(config, producer_id): + logger.info(f"๐Ÿš€ Producer {producer_id} started streaming!") + logger.info("๐ŸŽฌ Ready to record when frames arrive...") + + def on_stream_stopped(producer_id, reason): + logger.info(f"โน๏ธ Producer {producer_id} stopped streaming") + if reason: + logger.info(f" Reason: {reason}") + + consumer.on_stream_started(on_stream_started) + consumer.on_stream_stopped(on_stream_stopped) + + try: + # Step 1: Create our own room + logger.info("๐Ÿ—๏ธ Creating video room...") + room_id = await consumer.create_room("consumer-first-test") + logger.info(f"โœ… Created room: {room_id}") + + # Step 2: Connect as consumer + logger.info("๐Ÿ”Œ Connecting to room as consumer...") + connected = await consumer.connect(room_id) + + if not connected: + logger.error("โŒ Failed to connect to room") + return + + logger.info("โœ… Connected as consumer successfully") + + # Step 3: Start receiving (prepare for video) + logger.info("๐Ÿ“บ Starting video reception...") + await consumer.start_receiving() + + # Step 4: Wait for producer and record + logger.info("โณ Waiting for producer to join and start streaming...") + logger.info(f" Room ID: {room_id}") + logger.info(" (Start a producer with this room ID to begin recording)") + + # Wait for recording to complete or timeout + timeout = 300 # 5 minutes timeout + start_wait = time.time() + + while time.time() - start_wait < timeout: + await asyncio.sleep(1) + + # Check if recording is complete + if recording_stats: + logger.info("๐ŸŽ‰ Recording completed successfully!") + break + + # Show waiting status every 30 seconds + elapsed_wait = time.time() - start_wait + if int(elapsed_wait) % 30 == 0 and elapsed_wait > 0: + remaining_timeout = timeout - elapsed_wait + logger.info( + f"โณ Still waiting for producer... ({remaining_timeout:.0f}s timeout remaining)" + ) + + # Final results + if recording_stats: + logger.info("๐Ÿ“Š Final Recording Results:") + logger.info(f" Duration: {recording_stats['duration']:.1f}s") + logger.info(f" Frames: {recording_stats['frame_count']}") + logger.info(f" FPS: {recording_stats['actual_fps']:.1f}") + logger.info(f" Video file: {recording_stats['video_path']}") + logger.info("๐ŸŽ‰ SUCCESS: Consumer-first recording completed!") + else: + logger.warning("โš ๏ธ No recording was made - producer may not have joined") + + except Exception as e: + logger.error(f"โŒ Consumer-first recorder failed: {e}") + import traceback + + traceback.print_exc() + + finally: + # Cleanup + logger.info("๐Ÿงน Cleaning up...") + try: + await consumer.stop_receiving() + await consumer.disconnect() + logger.info("๐Ÿ‘‹ Consumer disconnected successfully") + except Exception as e: + logger.error(f"Error during cleanup: {e}") + + +if __name__ == "__main__": + try: + asyncio.run(main()) + except KeyboardInterrupt: + logger.info("๐Ÿ›‘ Stopped by user") + logger.info("๐Ÿ‘‹ Goodbye!") + except Exception as e: + logger.error(f"๐Ÿ’ฅ Fatal error: {e}") + import traceback + + traceback.print_exc() diff --git a/client/python/examples/context_manager_example.py b/client/python/examples/context_manager_example.py new file mode 100644 index 0000000000000000000000000000000000000000..3402b6db05be2b81e5fb63ad8e15098cc86f25a2 --- /dev/null +++ b/client/python/examples/context_manager_example.py @@ -0,0 +1,177 @@ +#!/usr/bin/env python3 +""" +Context Manager Example - LeRobot Arena + +This example demonstrates: +- Using clients as context managers for automatic cleanup +- Exception handling with proper resource cleanup +- Factory functions for quick client creation +- Graceful error recovery +""" + +import asyncio +import logging + +from lerobot_arena_client import ( + RoboticsConsumer, + RoboticsProducer, + create_consumer_client, + create_producer_client, +) + +# Setup logging +logging.basicConfig(level=logging.INFO) +logger = logging.getLogger(__name__) + + +async def basic_context_manager_example(): + """Basic example using context managers.""" + logger.info("=== Basic Context Manager Example ===") + + # Using producer as context manager + async with RoboticsProducer("http://localhost:8000") as producer: + room_id = await producer.create_room() + logger.info(f"Created room: {room_id}") + + await producer.connect(room_id) + logger.info("Producer connected") + + # Send some data + await producer.send_state_sync({"joint1": 45.0, "joint2": -30.0}) + logger.info("State sent") + + # Exception handling within context + try: + # This might fail if room doesn't exist + await producer.send_joint_update([{"name": "invalid", "value": 999.0}]) + except Exception as e: + logger.warning(f"Handled exception: {e}") + + # Producer is automatically disconnected here + logger.info("Producer automatically disconnected") + + +async def factory_function_example(): + """Example using factory functions for quick setup.""" + logger.info("\n=== Factory Function Example ===") + + # Create and auto-connect producer with factory function + producer = await create_producer_client("http://localhost:8000") + room_id = producer.room_id + logger.info(f"Producer auto-connected to room: {room_id}") + + try: + # Create and auto-connect consumer + consumer = await create_consumer_client(room_id, "http://localhost:8000") + logger.info("Consumer auto-connected") + + # Set up callback + received_updates = [] + consumer.on_joint_update(lambda joints: received_updates.append(joints)) + + # Send some updates + await producer.send_joint_update([ + {"name": "shoulder", "value": 90.0}, + {"name": "elbow", "value": -45.0}, + ]) + + await asyncio.sleep(0.5) # Wait for message propagation + + logger.info(f"Consumer received {len(received_updates)} updates") + + finally: + # Manual cleanup for factory-created clients + await producer.disconnect() + await consumer.disconnect() + logger.info("Manual cleanup completed") + + +async def exception_handling_example(): + """Example showing exception handling with context managers.""" + logger.info("\n=== Exception Handling Example ===") + + try: + async with RoboticsProducer("http://localhost:8000") as producer: + room_id = await producer.create_room() + await producer.connect(room_id) + + # Simulate some work that might fail + for i in range(5): + if i == 3: + # Simulate an error + raise ValueError("Simulated error during operation") + + await producer.send_state_sync({f"joint_{i}": float(i * 10)}) + logger.info(f"Sent update {i}") + await asyncio.sleep(0.1) + + except ValueError as e: + logger.error(f"Caught expected error: {e}") + logger.info("Context manager still ensures cleanup") + + logger.info("Exception handling example completed") + + +async def multiple_clients_example(): + """Example with multiple clients using context managers.""" + logger.info("\n=== Multiple Clients Example ===") + + # Create room first + async with RoboticsProducer("http://localhost:8000") as setup_producer: + room_id = await setup_producer.create_room() + logger.info(f"Setup room: {room_id}") + + # Now use multiple clients in the same room + async with RoboticsProducer("http://localhost:8000") as producer: + await producer.connect(room_id) + + # Use multiple consumers + consumers = [] + try: + # Create multiple consumers with context managers + for i in range(3): + consumer = RoboticsConsumer("http://localhost:8000") + consumers.append(consumer) + # Note: We're not using context manager here to show manual management + await consumer.connect(room_id, f"consumer-{i}") + + logger.info(f"Connected {len(consumers)} consumers") + + # Send data to all consumers + await producer.send_state_sync({ + "base": 0.0, + "shoulder": 45.0, + "elbow": -30.0, + "wrist": 15.0, + }) + + await asyncio.sleep(0.5) # Wait for propagation + logger.info("Data sent to all consumers") + + finally: + # Manual cleanup for consumers + for i, consumer in enumerate(consumers): + await consumer.disconnect() + logger.info(f"Disconnected consumer-{i}") + + logger.info("Multiple clients example completed") + + +async def main(): + """Run all context manager examples.""" + logger.info("๐Ÿค– LeRobot Arena Context Manager Examples ๐Ÿค–") + + try: + await basic_context_manager_example() + await factory_function_example() + await exception_handling_example() + await multiple_clients_example() + + logger.info("\nโœ… All context manager examples completed successfully!") + + except Exception as e: + logger.error(f"โŒ Example failed: {e}") + + +if __name__ == "__main__": + asyncio.run(main()) diff --git a/client/python/examples/producer_consumer_demo.py b/client/python/examples/producer_consumer_demo.py new file mode 100644 index 0000000000000000000000000000000000000000..4cce160c181747f0f3724c214b7fcc20e2cc0f2c --- /dev/null +++ b/client/python/examples/producer_consumer_demo.py @@ -0,0 +1,220 @@ +#!/usr/bin/env python3 +""" +Producer-Consumer Demo - LeRobot Arena + +This example demonstrates: +- Producer and multiple consumers working together +- Real-time joint updates +- Emergency stop functionality +- State synchronization +- Connection management +""" + +import asyncio +import logging +import random + +from lerobot_arena_client import RoboticsConsumer, RoboticsProducer + +# Setup logging +logging.basicConfig(level=logging.INFO) +logger = logging.getLogger(__name__) + + +class DemoConsumer: + """Demo consumer that logs all received messages.""" + + def __init__(self, name: str, room_id: str): + self.name = name + self.room_id = room_id + self.consumer = RoboticsConsumer("http://localhost:8000") + self.update_count = 0 + self.state_count = 0 + + async def setup(self): + """Setup consumer with callbacks.""" + + def on_joint_update(joints): + self.update_count += 1 + logger.info( + f"[{self.name}] Joint update #{self.update_count}: {len(joints)} joints" + ) + + def on_state_sync(state): + self.state_count += 1 + logger.info( + f"[{self.name}] State sync #{self.state_count}: {len(state)} joints" + ) + + def on_error(error_msg): + logger.error(f"[{self.name}] ERROR: {error_msg}") + + def on_connected(): + logger.info(f"[{self.name}] Connected!") + + def on_disconnected(): + logger.info(f"[{self.name}] Disconnected!") + + self.consumer.on_joint_update(on_joint_update) + self.consumer.on_state_sync(on_state_sync) + self.consumer.on_error(on_error) + self.consumer.on_connected(on_connected) + self.consumer.on_disconnected(on_disconnected) + + async def connect(self): + """Connect to room.""" + success = await self.consumer.connect(self.room_id, f"demo-{self.name}") + if success: + logger.info(f"[{self.name}] Successfully connected to room {self.room_id}") + else: + logger.error(f"[{self.name}] Failed to connect to room {self.room_id}") + return success + + async def disconnect(self): + """Disconnect from room.""" + if self.consumer.is_connected(): + await self.consumer.disconnect() + logger.info( + f"[{self.name}] Final stats: {self.update_count} updates, {self.state_count} states" + ) + + +async def simulate_robot_movement(producer: RoboticsProducer): + """Simulate realistic robot movement.""" + # Define some realistic joint ranges for a robotic arm + joints = { + "base": {"current": 0.0, "target": 0.0, "min": -180, "max": 180}, + "shoulder": {"current": 0.0, "target": 0.0, "min": -90, "max": 90}, + "elbow": {"current": 0.0, "target": 0.0, "min": -135, "max": 135}, + "wrist": {"current": 0.0, "target": 0.0, "min": -180, "max": 180}, + } + + logger.info("[Producer] Starting robot movement simulation...") + + for step in range(20): # 20 movement steps + # Occasionally set new random targets + if step % 5 == 0: + for joint_name, joint_data in joints.items(): + joint_data["target"] = random.uniform( + joint_data["min"], joint_data["max"] + ) + logger.info(f"[Producer] Step {step + 1}: New targets set") + + # Move each joint towards its target + joint_updates = [] + for joint_name, joint_data in joints.items(): + current = joint_data["current"] + target = joint_data["target"] + + # Simple movement: move 10% towards target each step + diff = target - current + move = diff * 0.1 + new_value = current + move + + joint_data["current"] = new_value + joint_updates.append({"name": joint_name, "value": new_value}) + + # Send the joint updates + await producer.send_joint_update(joint_updates) + + # Add some delay for realistic movement + await asyncio.sleep(0.5) + + logger.info("[Producer] Movement simulation completed") + + +async def main(): + """Main demo function.""" + logger.info("=== LeRobot Arena Producer-Consumer Demo ===") + + # Create producer + producer = RoboticsProducer("http://localhost:8000") + + # Setup producer callbacks + def on_producer_error(error_msg): + logger.error(f"[Producer] ERROR: {error_msg}") + + def on_producer_connected(): + logger.info("[Producer] Connected!") + + def on_producer_disconnected(): + logger.info("[Producer] Disconnected!") + + producer.on_error(on_producer_error) + producer.on_connected(on_producer_connected) + producer.on_disconnected(on_producer_disconnected) + + try: + # Create room and connect producer + room_id = await producer.create_room() + logger.info(f"Created room: {room_id}") + + success = await producer.connect(room_id, "robot-controller") + if not success: + logger.error("Failed to connect producer!") + return + + # Create multiple consumers + consumers = [] + consumer_names = ["visualizer", "logger", "safety-monitor"] + + for name in consumer_names: + consumer = DemoConsumer(name, room_id) + await consumer.setup() + consumers.append(consumer) + + # Connect all consumers + logger.info("Connecting consumers...") + for consumer in consumers: + await consumer.connect() + await asyncio.sleep(0.1) # Small delay between connections + + # Send initial state + logger.info("[Producer] Sending initial state...") + initial_state = {"base": 0.0, "shoulder": 0.0, "elbow": 0.0, "wrist": 0.0} + await producer.send_state_sync(initial_state) + await asyncio.sleep(1) + + # Start robot movement simulation + movement_task = asyncio.create_task(simulate_robot_movement(producer)) + + # Let it run for a bit + await asyncio.sleep(5) + + # Demonstrate emergency stop + logger.info("๐Ÿšจ [Producer] Sending emergency stop!") + await producer.send_emergency_stop( + "Demo emergency stop - testing safety systems" + ) + + # Wait for movement to complete + await movement_task + + # Final state check + logger.info("=== Final Demo Summary ===") + for consumer in consumers: + logger.info( + f"[{consumer.name}] Received {consumer.update_count} updates, {consumer.state_count} states" + ) + + logger.info("Demo completed successfully!") + + except Exception as e: + logger.error(f"Demo error: {e}") + finally: + # Cleanup + logger.info("Cleaning up...") + + # Disconnect all consumers + for consumer in consumers: + await consumer.disconnect() + + # Disconnect producer + if producer.is_connected(): + await producer.disconnect() + + logger.info("Demo cleanup completed") + + +if __name__ == "__main__": + asyncio.run(main()) diff --git a/client/python/examples/room_management.py b/client/python/examples/room_management.py new file mode 100644 index 0000000000000000000000000000000000000000..3d70de44917d40680e9d843e321a6330b27acb03 --- /dev/null +++ b/client/python/examples/room_management.py @@ -0,0 +1,93 @@ +#!/usr/bin/env python3 +""" +Room Management Example - LeRobot Arena + +This example demonstrates: +- Listing rooms +- Creating rooms (with and without custom IDs) +- Getting room information +- Getting room state +- Deleting rooms +""" + +import asyncio +import logging + +from lerobot_arena_client import RoboticsClientCore + +# Setup logging +logging.basicConfig(level=logging.INFO) +logger = logging.getLogger(__name__) + + +async def main(): + """Room management example.""" + # Create a basic client for API operations + client = RoboticsClientCore("http://localhost:8000") + + try: + # List existing rooms + logger.info("=== Listing existing rooms ===") + rooms = await client.list_rooms() + logger.info(f"Found {len(rooms)} rooms:") + for room in rooms: + logger.info( + f" - {room['id']}: {room['participants']['total']} participants" + ) + + # Create a room with auto-generated ID + logger.info("\n=== Creating room with auto-generated ID ===") + room_id_1 = await client.create_room() + logger.info(f"Created room: {room_id_1}") + + # Create a room with custom ID + logger.info("\n=== Creating room with custom ID ===") + custom_room_id = "my-custom-room-123" + room_id_2 = await client.create_room(custom_room_id) + logger.info(f"Created custom room: {room_id_2}") + + # Get room info + logger.info(f"\n=== Getting info for room {room_id_1} ===") + room_info = await client.get_room_info(room_id_1) + logger.info(f"Room info: {room_info}") + + # Get room state + logger.info(f"\n=== Getting state for room {room_id_1} ===") + room_state = await client.get_room_state(room_id_1) + logger.info(f"Room state: {room_state}") + + # List rooms again to see our new ones + logger.info("\n=== Listing rooms after creation ===") + rooms = await client.list_rooms() + logger.info(f"Now have {len(rooms)} rooms:") + for room in rooms: + logger.info( + f" - {room['id']}: {room['participants']['total']} participants" + ) + + # Clean up - delete the rooms we created + logger.info("\n=== Cleaning up ===") + + success_1 = await client.delete_room(room_id_1) + logger.info(f"Deleted room {room_id_1}: {success_1}") + + success_2 = await client.delete_room(room_id_2) + logger.info(f"Deleted room {room_id_2}: {success_2}") + + # Try to delete non-existent room + success_3 = await client.delete_room("non-existent-room") + logger.info(f"Tried to delete non-existent room: {success_3}") + + # List final rooms + logger.info("\n=== Final room list ===") + rooms = await client.list_rooms() + logger.info(f"Final count: {len(rooms)} rooms") + + logger.info("\nRoom management example completed!") + + except Exception as e: + logger.error(f"Error: {e}") + + +if __name__ == "__main__": + asyncio.run(main()) diff --git a/client/python/examples/test_consumer_fix.py b/client/python/examples/test_consumer_fix.py new file mode 100644 index 0000000000000000000000000000000000000000..1099fce5f7c16c9f16f6afcb7dd43578db4facc4 --- /dev/null +++ b/client/python/examples/test_consumer_fix.py @@ -0,0 +1,214 @@ +#!/usr/bin/env python3 +""" +Test Consumer Fix + +This script tests the fixed Python video consumer to ensure it can properly +receive and decode video frames from the server. +""" + +import asyncio +import logging +import time +from pathlib import Path + +import cv2 +import numpy as np +from lerobot_arena_client.video import VideoConsumer + +# Setup logging +logging.basicConfig( + level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s" +) +logger = logging.getLogger(__name__) + + +class FrameProcessor: + """Processes received video frames and saves them for verification""" + + def __init__(self, output_dir: str = "./test_frames"): + self.output_dir = Path(output_dir) + self.output_dir.mkdir(exist_ok=True) + self.frame_count = 0 + self.total_bytes = 0 + self.start_time = time.time() + self.last_frame_time = time.time() + + def process_frame(self, frame_data): + """Process received frame data""" + try: + self.frame_count += 1 + current_time = time.time() + + # Extract metadata + metadata = frame_data.metadata + width = metadata.get("width", 0) + height = metadata.get("height", 0) + format_type = metadata.get("format", "unknown") + + # Convert bytes back to numpy array + frame_bytes = frame_data.data + self.total_bytes += len(frame_bytes) + + # Reconstruct numpy array from bytes + img = np.frombuffer(frame_bytes, dtype=np.uint8).reshape((height, width, 3)) + + # Save every 10th frame for verification + if self.frame_count % 10 == 0: + # Convert RGB to BGR for OpenCV saving + img_bgr = cv2.cvtColor(img, cv2.COLOR_RGB2BGR) + frame_path = self.output_dir / f"frame_{self.frame_count:06d}.jpg" + cv2.imwrite(str(frame_path), img_bgr) + logger.info(f"๐Ÿ’พ Saved frame {self.frame_count} to {frame_path}") + + # Calculate FPS + fps = ( + 1.0 / (current_time - self.last_frame_time) + if self.frame_count > 1 + else 0 + ) + self.last_frame_time = current_time + + # Log progress every 30 frames + if self.frame_count % 30 == 0: + elapsed = current_time - self.start_time + avg_fps = self.frame_count / elapsed if elapsed > 0 else 0 + mb_received = self.total_bytes / (1024 * 1024) + + logger.info("๐Ÿ“Š Frame Stats:") + logger.info(f" Frames: {self.frame_count}") + logger.info(f" Resolution: {width}x{height}") + logger.info(f" Format: {format_type}") + logger.info(f" Current FPS: {fps:.1f}") + logger.info(f" Average FPS: {avg_fps:.1f}") + logger.info(f" Data received: {mb_received:.2f} MB") + + except Exception as e: + logger.error(f"โŒ Error processing frame {self.frame_count}: {e}") + + +async def test_consumer_fix(): + """Test the fixed consumer implementation""" + # Connect to the "webcam" room mentioned in the conversation + room_id = "webcam" + base_url = "http://localhost:8000" + + logger.info("๐ŸŽฌ Testing Fixed Video Consumer") + logger.info("=" * 50) + logger.info(f"Room ID: {room_id}") + logger.info(f"Server: {base_url}") + + # Create frame processor + processor = FrameProcessor() + + # Create consumer + consumer = VideoConsumer(base_url) + + # Set up frame callback + consumer.on_frame_update(processor.process_frame) + + # Track connection states + connection_established = False + frames_received = False + + def on_track_received(track): + nonlocal connection_established + connection_established = True + logger.info(f"โœ… Video track received: {track.kind}") + + try: + logger.info("๐Ÿ”Œ Connecting to room...") + connected = await consumer.connect(room_id) + + if not connected: + logger.error("โŒ Failed to connect to room") + return False + + logger.info("โœ… Connected to room successfully") + + # Start receiving + logger.info("๐Ÿ“บ Starting video reception...") + await consumer.start_receiving() + + # Wait for frames with timeout + test_duration = 30 # 30 seconds + logger.info(f"โฑ๏ธ Testing for {test_duration} seconds...") + + start_time = time.time() + while time.time() - start_time < test_duration: + await asyncio.sleep(1) + + # Check if we're receiving frames + if processor.frame_count > 0 and not frames_received: + frames_received = True + logger.info("๐ŸŽ‰ First frame received successfully!") + + # Show periodic status + if int(time.time() - start_time) % 5 == 0: + elapsed = time.time() - start_time + logger.info( + f"โฑ๏ธ Test progress: {elapsed:.0f}s - Frames: {processor.frame_count}" + ) + + # Final results + logger.info("๐Ÿ“Š Test Results:") + logger.info(f" Connection established: {connection_established}") + logger.info(f" Frames received: {frames_received}") + logger.info(f" Total frames: {processor.frame_count}") + + if processor.frame_count > 0: + elapsed = time.time() - processor.start_time + avg_fps = processor.frame_count / elapsed + mb_total = processor.total_bytes / (1024 * 1024) + + logger.info(f" Average FPS: {avg_fps:.1f}") + logger.info(f" Total data: {mb_total:.2f} MB") + logger.info( + f" Saved frames: {len(list(processor.output_dir.glob('*.jpg')))}" + ) + + # Verify saved frames + saved_frames = list(processor.output_dir.glob("*.jpg")) + if saved_frames: + logger.info(f"โœ… SUCCESS: Frames saved to {processor.output_dir}") + logger.info(f" Example frame: {saved_frames[0]}") + + return True + logger.error("โŒ FAILED: No frames received") + return False + + except Exception as e: + logger.error(f"โŒ Test failed with error: {e}") + import traceback + + traceback.print_exc() + return False + + finally: + # Cleanup + logger.info("๐Ÿงน Cleaning up...") + await consumer.stop_receiving() + logger.info("๐Ÿ‘‹ Test completed") + + +async def main(): + """Main test function""" + try: + success = await test_consumer_fix() + if success: + logger.info("๐ŸŽ‰ Consumer fix test PASSED!") + return 0 + logger.error("๐Ÿ’ฅ Consumer fix test FAILED!") + return 1 + except KeyboardInterrupt: + logger.info("๐Ÿ›‘ Test interrupted by user") + return 1 + except Exception as e: + logger.error(f"๐Ÿ’ฅ Unexpected error: {e}") + return 1 + + +if __name__ == "__main__": + import sys + + exit_code = asyncio.run(main()) + sys.exit(exit_code) diff --git a/client/python/examples/video_consumer_example.py b/client/python/examples/video_consumer_example.py new file mode 100644 index 0000000000000000000000000000000000000000..b35cf0d351c7f8c2d26f164e268b68e47c2f5860 --- /dev/null +++ b/client/python/examples/video_consumer_example.py @@ -0,0 +1,198 @@ +#!/usr/bin/env python3 +""" +Video Consumer Example - Fixed Version + +This example demonstrates how to connect as a video consumer and receive +video frames from a producer in the LeRobot Arena. +""" + +import asyncio +import logging +import time +from pathlib import Path + +import cv2 +import numpy as np +from lerobot_arena_client.video import VideoConsumer + +# Setup logging +logging.basicConfig( + level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s" +) +logger = logging.getLogger(__name__) + + +class VideoFrameHandler: + """Handles received video frames with optional saving and display""" + + def __init__( + self, save_frames: bool = False, output_dir: str = "./received_frames" + ): + self.save_frames = save_frames + self.output_dir = Path(output_dir) if save_frames else None + if self.output_dir: + self.output_dir.mkdir(exist_ok=True) + + self.frame_count = 0 + self.total_bytes = 0 + self.start_time = time.time() + self.last_log_time = time.time() + + def handle_frame(self, frame_data): + """Process received frame data""" + try: + self.frame_count += 1 + current_time = time.time() + + # Extract frame information + metadata = frame_data.metadata + width = metadata.get("width", 0) + height = metadata.get("height", 0) + format_type = metadata.get("format", "unknown") + + # Convert bytes to numpy array + frame_bytes = frame_data.data + self.total_bytes += len(frame_bytes) + + # Reconstruct image from bytes (server sends RGB format) + img = np.frombuffer(frame_bytes, dtype=np.uint8).reshape((height, width, 3)) + + # Save frames if requested + if self.save_frames and self.frame_count % 30 == 0: # Save every 30th frame + # Convert RGB to BGR for OpenCV + img_bgr = cv2.cvtColor(img, cv2.COLOR_RGB2BGR) + frame_path = self.output_dir / f"frame_{self.frame_count:06d}.jpg" + cv2.imwrite(str(frame_path), img_bgr) + logger.info(f"๐Ÿ’พ Saved frame {self.frame_count} to {frame_path}") + + # Log statistics periodically + if current_time - self.last_log_time >= 5.0: # Every 5 seconds + elapsed = current_time - self.start_time + fps = self.frame_count / elapsed if elapsed > 0 else 0 + mb_received = self.total_bytes / (1024 * 1024) + + logger.info("๐Ÿ“Š Video Stats:") + logger.info(f" Frames received: {self.frame_count}") + logger.info(f" Resolution: {width}x{height}") + logger.info(f" Format: {format_type}") + logger.info(f" Average FPS: {fps:.1f}") + logger.info(f" Data received: {mb_received:.2f} MB") + + self.last_log_time = current_time + + except Exception as e: + logger.error(f"โŒ Error handling frame {self.frame_count}: {e}") + + +async def main(): + """Main consumer example""" + # Configuration + room_id = "webcam" # Use the test webcam room + base_url = "http://localhost:8000" + duration = 60 # Run for 60 seconds + save_frames = True # Save some frames as proof + + logger.info("๐ŸŽฌ Video Consumer Example - Fixed Version") + logger.info("=" * 50) + logger.info(f"Room ID: {room_id}") + logger.info(f"Server: {base_url}") + logger.info(f"Duration: {duration} seconds") + logger.info(f"Save frames: {save_frames}") + + # Create frame handler + frame_handler = VideoFrameHandler(save_frames=save_frames) + + # Create consumer + consumer = VideoConsumer(base_url) + + # Set up event handlers + consumer.on_frame_update(frame_handler.handle_frame) + + # Track connection progress + connection_events = [] + + try: + logger.info("๐Ÿ”Œ Connecting to room...") + connected = await consumer.connect(room_id) + + if not connected: + logger.error("โŒ Failed to connect to room") + return + + logger.info("โœ… Connected to room successfully") + connection_events.append("connected") + + # Start receiving video + logger.info("๐Ÿ“บ Starting video reception...") + await consumer.start_receiving() + connection_events.append("receiving_started") + + # Run for specified duration + logger.info(f"โฑ๏ธ Running for {duration} seconds...") + logger.info("๐Ÿ“บ Waiting for video frames... (Press Ctrl+C to stop early)") + + start_time = time.time() + try: + while time.time() - start_time < duration: + await asyncio.sleep(1) + + # Show progress + elapsed = time.time() - start_time + if int(elapsed) % 10 == 0 and elapsed > 0: # Every 10 seconds + logger.info( + f"โฑ๏ธ Progress: {elapsed:.0f}s - Frames: {frame_handler.frame_count}" + ) + + except KeyboardInterrupt: + logger.info("๐Ÿ›‘ Stopped by user") + + # Final statistics + elapsed = time.time() - start_time + logger.info("๐Ÿ“Š Final Results:") + logger.info(f" Test duration: {elapsed:.1f} seconds") + logger.info(f" Total frames: {frame_handler.frame_count}") + logger.info(f" Connection events: {connection_events}") + + if frame_handler.frame_count > 0: + avg_fps = frame_handler.frame_count / elapsed + mb_total = frame_handler.total_bytes / (1024 * 1024) + + logger.info(f" Average FPS: {avg_fps:.1f}") + logger.info(f" Total data: {mb_total:.2f} MB") + + if save_frames and frame_handler.output_dir: + saved_files = list(frame_handler.output_dir.glob("*.jpg")) + logger.info(f" Saved frames: {len(saved_files)}") + if saved_files: + logger.info(f" Output directory: {frame_handler.output_dir}") + + logger.info("๐ŸŽ‰ SUCCESS: Video consumer is working correctly!") + else: + logger.warning("โš ๏ธ No frames received - check if producer is active") + + except Exception as e: + logger.error(f"โŒ Consumer example failed: {e}") + import traceback + + traceback.print_exc() + + finally: + # Cleanup + logger.info("๐Ÿงน Cleaning up...") + try: + await consumer.stop_receiving() + logger.info("๐Ÿ‘‹ Consumer stopped successfully") + except Exception as e: + logger.error(f"Error during cleanup: {e}") + + +if __name__ == "__main__": + try: + asyncio.run(main()) + except KeyboardInterrupt: + logger.info("๐Ÿ‘‹ Goodbye!") + except Exception as e: + logger.error(f"๐Ÿ’ฅ Fatal error: {e}") + import traceback + + traceback.print_exc() diff --git a/client/python/examples/video_producer_example.py b/client/python/examples/video_producer_example.py new file mode 100644 index 0000000000000000000000000000000000000000..70478171428a2ace1a59b3e46babc960a6f69721 --- /dev/null +++ b/client/python/examples/video_producer_example.py @@ -0,0 +1,239 @@ +#!/usr/bin/env python3 +""" +Basic Video Producer Example + +Demonstrates how to use the LeRobot Arena Python video client for streaming. +This example creates animated video content and streams it to the arena server. +""" + +import asyncio +import logging +import time + +import numpy as np + +# Import the video client +from lerobot_arena_client.video import ( + VideoProducer, + create_producer_client, +) + + +async def animated_frame_source() -> np.ndarray | None: + """Create animated frames with colorful patterns""" + # Create a colorful animated frame + height, width = 480, 640 + frame_count = int(time.time() * 30) % 1000 # 30 fps simulation + + # Generate animated RGB channels using vectorized operations + time_factor = frame_count * 0.1 + + # Create colorful animated patterns + y_coords, x_coords = np.meshgrid(np.arange(width), np.arange(height), indexing="xy") + + r = (128 + 127 * np.sin(time_factor + x_coords * 0.01)).astype(np.uint8) + g = (128 + 127 * np.sin(time_factor + y_coords * 0.01)).astype(np.uint8) + b = (128 + 127 * np.sin(time_factor) * np.ones((height, width))).astype(np.uint8) + + # Stack into RGB frame + frame = np.stack([r, g, b], axis=2) + + # Add a moving circle for visual feedback + center_x = int(320 + 200 * np.sin(frame_count * 0.05)) + center_y = int(240 + 100 * np.cos(frame_count * 0.05)) + + # Create circle mask + circle_mask = (x_coords - center_x) ** 2 + (y_coords - center_y) ** 2 < 50**2 + frame[circle_mask] = [255, 255, 0] # Yellow circle + + # Add frame counter text overlay + import cv2 + + cv2.putText( + frame, + f"Frame {frame_count}", + (20, 50), + cv2.FONT_HERSHEY_SIMPLEX, + 1.5, + (0, 0, 0), + 3, + ) # Black outline + cv2.putText( + frame, + f"Frame {frame_count}", + (20, 50), + cv2.FONT_HERSHEY_SIMPLEX, + 1.5, + (255, 255, 255), + 2, + ) # White text + + return frame + + +async def main(): + """Main function demonstrating video producer functionality""" + # Configure logging + logging.basicConfig( + level=logging.INFO, + format="%(asctime)s - %(name)s - %(levelname)s - %(message)s", + ) + logger = logging.getLogger(__name__) + + logger.info("๐Ÿš€ Starting LeRobot Arena Video Producer Example") + + try: + # Create video producer with configuration + producer = VideoProducer(base_url="http://localhost:8000") + + # Set up event handlers + producer.on_connected(lambda: logger.info("โœ… Connected to video server")) + producer.on_disconnected( + lambda: logger.info("๐Ÿ‘‹ Disconnected from video server") + ) + producer.on_error(lambda error: logger.error(f"โŒ Error: {error}")) + + producer.on_status_update( + lambda status, data: logger.info(f"๐Ÿ“Š Status: {status}") + ) + producer.on_stream_stats( + lambda stats: logger.debug(f"๐Ÿ“ˆ Stats: {stats.average_fps:.1f}fps") + ) + + # Create a room and connect + room_id = await producer.create_room() + logger.info(f"๐Ÿ  Created room: {room_id}") + + connected = await producer.connect(room_id) + if not connected: + logger.error("โŒ Failed to connect to room") + return + + logger.info(f"โœ… Connected as producer to room: {room_id}") + + # Start custom video stream with animated content + logger.info("๐ŸŽฌ Starting animated video stream...") + await producer.start_custom_stream(animated_frame_source) + + logger.info("๐Ÿ“บ Video streaming started!") + logger.info(f"๐Ÿ”— Consumers can connect to room: {room_id}") + logger.info( + f"๐Ÿ“ฑ Use JS consumer: http://localhost:5173/consumer?room={room_id}" + ) + + # Stream for demo duration + duration = 30 # Stream for 30 seconds + logger.info(f"โฑ๏ธ Streaming for {duration} seconds...") + + for i in range(duration): + await asyncio.sleep(1) + if i % 5 == 0: + logger.info(f"๐Ÿ“ก Streaming... {duration - i} seconds remaining") + + logger.info("๐Ÿ›‘ Stopping video stream...") + await producer.stop_streaming() + + except Exception as e: + logger.error(f"โŒ Unexpected error: {e}") + import traceback + + traceback.print_exc() + finally: + # Clean up + logger.info("๐Ÿงน Cleaning up...") + if "producer" in locals(): + await producer.disconnect() + logger.info("โœ… Video producer example completed") + + +async def camera_example(): + """Example using actual camera (if available)""" + logging.basicConfig(level=logging.INFO) + logger = logging.getLogger(__name__) + + logger.info("๐Ÿ“ท Starting Camera Video Producer Example") + + try: + # Create producer using factory function + producer = await create_producer_client(base_url="http://localhost:8000") + + room_id = producer.current_room_id + logger.info(f"๐Ÿ  Connected to room: {room_id}") + + # Get available cameras + cameras = await producer.get_camera_devices() + if cameras: + logger.info("๐Ÿ“น Available cameras:") + for camera in cameras: + logger.info( + f" Device {camera['device_id']}: {camera['name']} " + f"({camera['resolution']['width']}x{camera['resolution']['height']})" + ) + + # Start camera stream + logger.info("๐Ÿ“ท Starting camera stream...") + await producer.start_camera(device_id=0) + + logger.info("๐Ÿ“บ Camera streaming started!") + logger.info(f"๐Ÿ”— Consumers can connect to room: {room_id}") + + # Stream for demo duration + await asyncio.sleep(30) + + else: + logger.warning("โš ๏ธ No cameras found") + + except Exception as e: + logger.error(f"โŒ Camera error: {e}") + logger.info("๐Ÿ’ก Make sure your camera is available and not used by other apps") + finally: + if "producer" in locals(): + await producer.disconnect() + + +async def screen_share_example(): + """Example using screen sharing (animated pattern for demo)""" + logging.basicConfig(level=logging.INFO) + logger = logging.getLogger(__name__) + + logger.info("๐Ÿ–ฅ๏ธ Starting Screen Share Example") + + try: + producer = await create_producer_client() + room_id = producer.current_room_id + + logger.info("๐Ÿ–ฅ๏ธ Starting screen share...") + await producer.start_screen_share() + + logger.info(f"๐Ÿ“บ Screen sharing started! Room: {room_id}") + + # Share for demo duration + await asyncio.sleep(20) + + except Exception as e: + logger.error(f"โŒ Screen share error: {e}") + finally: + if "producer" in locals(): + await producer.disconnect() + + +if __name__ == "__main__": + import sys + + if len(sys.argv) > 1: + mode = sys.argv[1] + + if mode == "camera": + asyncio.run(camera_example()) + elif mode == "screen": + asyncio.run(screen_share_example()) + elif mode == "animated": + asyncio.run(main()) + else: + print("Usage:") + print(" python video_producer_example.py animated # Animated content") + print(" python video_producer_example.py camera # Camera stream") + print(" python video_producer_example.py screen # Screen share") + else: + # Default: run animated example + asyncio.run(main()) diff --git a/client/python/pyproject.toml b/client/python/pyproject.toml new file mode 100644 index 0000000000000000000000000000000000000000..57072a66db96032653f10680fe5cf6bdc3e4f2e3 --- /dev/null +++ b/client/python/pyproject.toml @@ -0,0 +1,25 @@ +[project] +name = "lerobot_arena_client" +version = "0.1.0" +description = "Python client for LeRobot Arena robotics and video streaming API" +readme = "README.md" +requires-python = ">=3.12" +dependencies = [ + "aiohttp>=3.9.0", + "websockets>=15.0.1", + # Video client dependencies + "aiortc>=1.9.0", + "opencv-python>=4.10.0", + "numpy>=1.26.0", + "av>=13.0.0", +] + +[dependency-groups] +dev = [ + "pytest>=8.4.0", + "pytest-asyncio>=1.0.0", +] + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" \ No newline at end of file diff --git a/client/python/src/__pycache__/__init__.cpython-312.pyc b/client/python/src/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..37b72033aad885f95178609c77d487f4c2e968c3 Binary files /dev/null and b/client/python/src/__pycache__/__init__.cpython-312.pyc differ diff --git a/client/python/src/lerobot_arena_client/__init__.py b/client/python/src/lerobot_arena_client/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..34da538ff734036ee13edf19440897644cbf9835 --- /dev/null +++ b/client/python/src/lerobot_arena_client/__init__.py @@ -0,0 +1,22 @@ +# Import video module +from lerobot_arena_client import video +from lerobot_arena_client.client import ( + RoboticsClientCore, + RoboticsConsumer, + RoboticsProducer, + create_client, + create_consumer_client, + create_producer_client, +) + +__all__ = [ + # Robotics exports + "RoboticsClientCore", + "RoboticsConsumer", + "RoboticsProducer", + "create_client", + "create_consumer_client", + "create_producer_client", + # Video module + "video", +] diff --git a/client/python/src/lerobot_arena_client/__pycache__/__init__.cpython-312.pyc b/client/python/src/lerobot_arena_client/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..915868df11da239137fe764172d289df40145d46 Binary files /dev/null and b/client/python/src/lerobot_arena_client/__pycache__/__init__.cpython-312.pyc differ diff --git a/client/python/src/lerobot_arena_client/__pycache__/client.cpython-312.pyc b/client/python/src/lerobot_arena_client/__pycache__/client.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1bc74469f4ecfbfe32f029160dd745e11bc64642 Binary files /dev/null and b/client/python/src/lerobot_arena_client/__pycache__/client.cpython-312.pyc differ diff --git a/client/python/src/lerobot_arena_client/__pycache__/client.cpython-313.pyc b/client/python/src/lerobot_arena_client/__pycache__/client.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7d062b731dc885e5ee51af9ee848c116fe975f82 Binary files /dev/null and b/client/python/src/lerobot_arena_client/__pycache__/client.cpython-313.pyc differ diff --git a/client/python/src/lerobot_arena_client/client.py b/client/python/src/lerobot_arena_client/client.py new file mode 100644 index 0000000000000000000000000000000000000000..b350892ff2ac12f97dd7a31a3c7edd8b8df1732b --- /dev/null +++ b/client/python/src/lerobot_arena_client/client.py @@ -0,0 +1,513 @@ +import asyncio +import json +import logging +from collections.abc import Callable +from urllib.parse import urlparse + +import aiohttp +import websockets + +logger = logging.getLogger(__name__) + + +class RoboticsClientCore: + """Base client for LeRobot Arena robotics API""" + + def __init__(self, base_url: str = "http://localhost:8000"): + self.base_url = base_url.rstrip("/") + self.api_base = f"{self.base_url}/robotics" + + # WebSocket connection + self.websocket: websockets.WebSocketServerProtocol | None = None + self.workspace_id: str | None = None + self.room_id: str | None = None + self.role: str | None = None + self.participant_id: str | None = None + self.connected = False + + # Background task for message handling + self._message_task: asyncio.Task | None = None + + # ============= REST API METHODS ============= + + async def list_rooms(self, workspace_id: str) -> list[dict]: + """List all available rooms in a workspace""" + async with aiohttp.ClientSession() as session: + async with session.get( + f"{self.api_base}/workspaces/{workspace_id}/rooms" + ) as response: + response.raise_for_status() + result = await response.json() + # Extract the rooms list from the response + return result.get("rooms", []) + + async def create_room( + self, workspace_id: str | None = None, room_id: str | None = None + ) -> tuple[str, str]: + """Create a new room and return (workspace_id, room_id)""" + # Generate workspace ID if not provided + final_workspace_id = workspace_id or self._generate_workspace_id() + + payload = {} + if room_id: + payload["room_id"] = room_id + + async with aiohttp.ClientSession() as session: + async with session.post( + f"{self.api_base}/workspaces/{final_workspace_id}/rooms", json=payload + ) as response: + response.raise_for_status() + result = await response.json() + return result["workspace_id"], result["room_id"] + + async def delete_room(self, workspace_id: str, room_id: str) -> bool: + """Delete a room""" + async with aiohttp.ClientSession() as session: + async with session.delete( + f"{self.api_base}/workspaces/{workspace_id}/rooms/{room_id}" + ) as response: + if response.status == 404: + return False + response.raise_for_status() + result = await response.json() + return result["success"] + + async def get_room_state(self, workspace_id: str, room_id: str) -> dict: + """Get current room state""" + async with aiohttp.ClientSession() as session: + async with session.get( + f"{self.api_base}/workspaces/{workspace_id}/rooms/{room_id}/state" + ) as response: + response.raise_for_status() + result = await response.json() + # Extract the state from the response + return result.get("state", {}) + + async def get_room_info(self, workspace_id: str, room_id: str) -> dict: + """Get basic room information""" + async with aiohttp.ClientSession() as session: + async with session.get( + f"{self.api_base}/workspaces/{workspace_id}/rooms/{room_id}" + ) as response: + response.raise_for_status() + result = await response.json() + # Extract the room data from the response + return result.get("room", {}) + + # ============= WEBSOCKET CONNECTION ============= + + async def connect_to_room( + self, + workspace_id: str, + room_id: str, + role: str, + participant_id: str | None = None, + ) -> bool: + """Connect to a room as producer or consumer""" + if self.connected: + await self.disconnect() + + self.workspace_id = workspace_id + self.room_id = room_id + self.role = role + self.participant_id = participant_id or f"{role}_{id(self)}" + + # Convert HTTP URL to WebSocket URL + parsed = urlparse(self.base_url) + ws_scheme = "wss" if parsed.scheme == "https" else "ws" + ws_url = f"{ws_scheme}://{parsed.netloc}/robotics/workspaces/{workspace_id}/rooms/{room_id}/ws" + + initial_state_sync = None + + try: + self.websocket = await websockets.connect(ws_url) + + # Send join message + join_message = {"participant_id": self.participant_id, "role": role} + await self.websocket.send(json.dumps(join_message)) + + # Wait for server response to join message + try: + response_text = await asyncio.wait_for( + self.websocket.recv(), timeout=5.0 + ) + response = json.loads(response_text) + + if response.get("type") == "error": + logger.error( + f"Server rejected connection: {response.get('message')}" + ) + await self.websocket.close() + return False + if response.get("type") == "state_sync": + # Consumer receives initial state sync, store it and wait for joined message + logger.debug("Received initial state sync") + initial_state_sync = response + # Wait for the joined message + response_text = await asyncio.wait_for( + self.websocket.recv(), timeout=5.0 + ) + response = json.loads(response_text) + if response.get("type") == "joined": + logger.info(f"Successfully joined room {room_id} as {role}") + elif response.get("type") == "error": + logger.error( + f"Server rejected connection: {response.get('message')}" + ) + await self.websocket.close() + return False + else: + logger.warning(f"Unexpected response from server: {response}") + elif response.get("type") == "joined": + logger.info(f"Successfully joined room {room_id} as {role}") + # Connection successful, continue with setup + else: + logger.warning(f"Unexpected response from server: {response}") + + except TimeoutError: + logger.error("Timeout waiting for server response") + await self.websocket.close() + return False + except json.JSONDecodeError: + logger.error("Invalid JSON response from server") + await self.websocket.close() + return False + + # Start message handling task + self._message_task = asyncio.create_task(self._handle_messages()) + + self.connected = True + logger.info(f"Connected to room {room_id} as {role}") + + await self._on_connected() + + # Process initial state sync if we received one + if initial_state_sync: + await self._process_message(initial_state_sync) + + return True + + except Exception as e: + logger.error(f"Failed to connect to room {room_id}: {e}") + return False + + async def disconnect(self): + """Disconnect from current room""" + if self._message_task: + self._message_task.cancel() + try: + await self._message_task + except asyncio.CancelledError: + pass + self._message_task = None + + if self.websocket: + await self.websocket.close() + self.websocket = None + + self.connected = False + self.workspace_id = None + self.room_id = None + self.role = None + self.participant_id = None + + await self._on_disconnected() + + logger.info("Disconnected from room") + + # ============= MESSAGE HANDLING ============= + + async def _handle_messages(self): + """Handle incoming WebSocket messages""" + try: + async for message in self.websocket: + try: + data = json.loads(message) + await self._process_message(data) + except json.JSONDecodeError: + logger.error(f"Invalid JSON received: {message}") + except Exception as e: + logger.error(f"Error processing message: {e}") + + except websockets.exceptions.ConnectionClosed: + logger.info("WebSocket connection closed") + except Exception as e: + logger.error(f"WebSocket error: {e}") + finally: + self.connected = False + await self._on_disconnected() + + async def _process_message(self, data: dict): + """Process incoming message based on type - to be overridden by subclasses""" + msg_type = data.get("type") + + if msg_type == "joined": + logger.info( + f"Successfully joined room {data.get('room_id')} as {data.get('role')}" + ) + elif msg_type == "heartbeat_ack": + logger.debug("Heartbeat acknowledged") + else: + # Let subclasses handle specific message types + await self._handle_role_specific_message(data) + + async def _handle_role_specific_message(self, data: dict): + """Handle role-specific messages - to be overridden by subclasses""" + + # ============= UTILITY METHODS ============= + + async def send_heartbeat(self): + """Send heartbeat to server""" + if not self.connected: + return + + message = {"type": "heartbeat"} + await self.websocket.send(json.dumps(message)) + + def is_connected(self) -> bool: + """Check if client is connected""" + return self.connected + + def get_connection_info(self) -> dict: + """Get current connection information""" + return { + "connected": self.connected, + "workspace_id": self.workspace_id, + "room_id": self.room_id, + "role": self.role, + "participant_id": self.participant_id, + "base_url": self.base_url, + } + + # ============= HOOKS FOR SUBCLASSES ============= + + async def _on_connected(self): + """Called when connection is established - to be overridden by subclasses""" + + async def _on_disconnected(self): + """Called when connection is lost - to be overridden by subclasses""" + + # ============= CONTEXT MANAGER SUPPORT ============= + + async def __aenter__(self): + return self + + async def __aexit__(self, exc_type, exc_val, exc_tb): + await self.disconnect() + + # ============= WORKSPACE HELPERS ============= + + def _generate_workspace_id(self) -> str: + """Generate a UUID-like workspace ID""" + import uuid + + return str(uuid.uuid4()) + + +class RoboticsProducer(RoboticsClientCore): + """Producer client for controlling robots""" + + def __init__(self, base_url: str = "http://localhost:8000"): + super().__init__(base_url) + self._on_error_callback: Callable[[str], None] | None = None + self._on_connected_callback: Callable[[], None] | None = None + self._on_disconnected_callback: Callable[[], None] | None = None + + async def connect( + self, workspace_id: str, room_id: str, participant_id: str | None = None + ) -> bool: + """Connect as producer to a room""" + return await self.connect_to_room( + workspace_id, room_id, "producer", participant_id + ) + + # ============= PRODUCER METHODS ============= + + async def send_joint_update(self, joints: list[dict]): + """Send joint updates""" + if not self.connected: + raise ValueError("Must be connected to send joint updates") + + message = {"type": "joint_update", "data": joints} + await self.websocket.send(json.dumps(message)) + + async def send_state_sync(self, state: dict): + """Send state synchronization (convert dict to list format)""" + joints = [{"name": name, "value": value} for name, value in state.items()] + await self.send_joint_update(joints) + + async def send_emergency_stop(self, reason: str = "Emergency stop"): + """Send emergency stop signal""" + if not self.connected: + raise ValueError("Must be connected to send emergency stop") + + message = {"type": "emergency_stop", "reason": reason} + await self.websocket.send(json.dumps(message)) + + # ============= EVENT CALLBACKS ============= + + def on_error(self, callback: Callable[[str], None]): + """Set callback for error events""" + self._on_error_callback = callback + + def on_connected(self, callback: Callable[[], None]): + """Set callback for connection events""" + self._on_connected_callback = callback + + def on_disconnected(self, callback: Callable[[], None]): + """Set callback for disconnection events""" + self._on_disconnected_callback = callback + + # ============= OVERRIDDEN HOOKS ============= + + async def _on_connected(self): + if self._on_connected_callback: + self._on_connected_callback() + + async def _on_disconnected(self): + if self._on_disconnected_callback: + self._on_disconnected_callback() + + async def _handle_role_specific_message(self, data: dict): + """Handle producer-specific messages""" + msg_type = data.get("type") + + if msg_type == "emergency_stop": + logger.warning(f"๐Ÿšจ Emergency stop: {data.get('reason', 'Unknown reason')}") + if self._on_error_callback: + self._on_error_callback( + f"Emergency stop: {data.get('reason', 'Unknown reason')}" + ) + + elif msg_type == "error": + error_msg = data.get("message", "Unknown error") + logger.error(f"Server error: {error_msg}") + if self._on_error_callback: + self._on_error_callback(error_msg) + + else: + logger.warning(f"Unknown message type for producer: {msg_type}") + + +class RoboticsConsumer(RoboticsClientCore): + """Consumer client for receiving robot commands""" + + def __init__(self, base_url: str = "http://localhost:8000"): + super().__init__(base_url) + self._on_state_sync_callback: Callable[[dict], None] | None = None + self._on_joint_update_callback: Callable[[list], None] | None = None + self._on_error_callback: Callable[[str], None] | None = None + self._on_connected_callback: Callable[[], None] | None = None + self._on_disconnected_callback: Callable[[], None] | None = None + + async def connect( + self, workspace_id: str, room_id: str, participant_id: str | None = None + ) -> bool: + """Connect as consumer to a room""" + return await self.connect_to_room( + workspace_id, room_id, "consumer", participant_id + ) + + # ============= CONSUMER METHODS ============= + + async def get_state_sync(self) -> dict: + """Get current state synchronously""" + if not self.workspace_id or not self.room_id: + raise ValueError("Must be connected to a room") + + state = await self.get_room_state(self.workspace_id, self.room_id) + return state.get("joints", {}) + + # ============= EVENT CALLBACKS ============= + + def on_state_sync(self, callback: Callable[[dict], None]): + """Set callback for state synchronization events""" + self._on_state_sync_callback = callback + + def on_joint_update(self, callback: Callable[[list], None]): + """Set callback for joint update events""" + self._on_joint_update_callback = callback + + def on_error(self, callback: Callable[[str], None]): + """Set callback for error events""" + self._on_error_callback = callback + + def on_connected(self, callback: Callable[[], None]): + """Set callback for connection events""" + self._on_connected_callback = callback + + def on_disconnected(self, callback: Callable[[], None]): + """Set callback for disconnection events""" + self._on_disconnected_callback = callback + + # ============= OVERRIDDEN HOOKS ============= + + async def _on_connected(self): + if self._on_connected_callback: + self._on_connected_callback() + + async def _on_disconnected(self): + if self._on_disconnected_callback: + self._on_disconnected_callback() + + async def _handle_role_specific_message(self, data: dict): + """Handle consumer-specific messages""" + msg_type = data.get("type") + + if msg_type == "state_sync": + if self._on_state_sync_callback: + self._on_state_sync_callback(data.get("data", {})) + + elif msg_type == "joint_update": + if self._on_joint_update_callback: + self._on_joint_update_callback(data.get("data", [])) + + elif msg_type == "emergency_stop": + logger.warning(f"๐Ÿšจ Emergency stop: {data.get('reason', 'Unknown reason')}") + if self._on_error_callback: + self._on_error_callback( + f"Emergency stop: {data.get('reason', 'Unknown reason')}" + ) + + elif msg_type == "error": + error_msg = data.get("message", "Unknown error") + logger.error(f"Server error: {error_msg}") + if self._on_error_callback: + self._on_error_callback(error_msg) + + else: + logger.warning(f"Unknown message type for consumer: {msg_type}") + + +# ============= FACTORY FUNCTIONS ============= + + +def create_client(role: str, base_url: str = "http://localhost:8000"): + """Factory function to create the appropriate client based on role""" + if role == "producer": + return RoboticsProducer(base_url) + if role == "consumer": + return RoboticsConsumer(base_url) + raise ValueError(f"Invalid role: {role}. Must be 'producer' or 'consumer'") + + +async def create_producer_client( + base_url: str = "http://localhost:8000", + workspace_id: str | None = None, + room_id: str | None = None, +) -> RoboticsProducer: + """Create and connect a producer client""" + client = RoboticsProducer(base_url) + + workspace_id, room_id = await client.create_room(workspace_id, room_id) + await client.connect(workspace_id, room_id) + return client + + +async def create_consumer_client( + workspace_id: str, room_id: str, base_url: str = "http://localhost:8000" +) -> RoboticsConsumer: + """Create and connect a consumer client""" + client = RoboticsConsumer(base_url) + await client.connect(workspace_id, room_id) + return client diff --git a/client/python/src/lerobot_arena_client/video/__init__.py b/client/python/src/lerobot_arena_client/video/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..c55bccb0491b264e754d17e60579961d4803c8ef --- /dev/null +++ b/client/python/src/lerobot_arena_client/video/__init__.py @@ -0,0 +1,160 @@ +""" +LeRobot Arena Video Client - Main Module + +TypeScript/JavaScript client for video streaming and monitoring +""" + +# Export core classes +from .consumer import VideoConsumer +from .core import VideoClientCore + +# Export factory functions for convenience +from .factory import create_client, create_consumer_client, create_producer_client +from .producer import CameraVideoTrack, CustomVideoTrack, VideoProducer + +# Export all types +from .types import ( + DEFAULT_CLIENT_OPTIONS, + # Defaults + DEFAULT_RESOLUTION, + DEFAULT_VIDEO_CONFIG, + # API response types + ApiResponse, + # Message types + BaseMessage, + # Client options + ClientOptions, + ConnectedCallback, + ConnectionInfo, + # Request types + CreateRoomRequest, + CreateRoomResponse, + DeleteRoomResponse, + DisconnectedCallback, + EmergencyStopMessage, + ErrorCallback, + ErrorMessage, + # Data structures + FrameData, + # Event callback types + FrameUpdateCallback, + FrameUpdateMessage, + GetRoomResponse, + GetRoomStateResponse, + JoinedMessage, + JoinMessage, + ListRoomsResponse, + MessageType, + ParticipantInfo, + ParticipantJoinedMessage, + ParticipantLeftMessage, + # Core types + ParticipantRole, + RecoveryConfig, + RecoveryPolicy, + RecoveryTriggeredCallback, + RecoveryTriggeredMessage, + # Configuration types + Resolution, + RoomInfo, + RoomState, + StatusUpdateCallback, + StatusUpdateMessage, + StreamStartedCallback, + StreamStartedMessage, + StreamStats, + StreamStatsCallback, + StreamStatsMessage, + StreamStoppedCallback, + StreamStoppedMessage, + VideoConfig, + VideoConfigUpdateCallback, + VideoConfigUpdateMessage, + VideoEncoding, + WebRTCAnswerMessage, + # WebRTC types + WebRTCConfig, + WebRTCIceMessage, + WebRTCOfferMessage, + WebRTCSignalRequest, + WebRTCSignalResponse, + WebRTCStats, +) + +__all__ = [ + "DEFAULT_CLIENT_OPTIONS", + # Defaults + "DEFAULT_RESOLUTION", + "DEFAULT_VIDEO_CONFIG", + # API response types + "ApiResponse", + # Message types + "BaseMessage", + "CameraVideoTrack", + # Client options + "ClientOptions", + "ConnectedCallback", + "ConnectionInfo", + # Request types + "CreateRoomRequest", + "CreateRoomResponse", + "CustomVideoTrack", + "DeleteRoomResponse", + "DisconnectedCallback", + "EmergencyStopMessage", + "ErrorCallback", + "ErrorMessage", + # Data structures + "FrameData", + # Event callback types + "FrameUpdateCallback", + "FrameUpdateMessage", + "GetRoomResponse", + "GetRoomStateResponse", + "JoinMessage", + "JoinedMessage", + "ListRoomsResponse", + "MessageType", + "ParticipantInfo", + "ParticipantJoinedMessage", + "ParticipantLeftMessage", + # Core types + "ParticipantRole", + "RecoveryConfig", + "RecoveryPolicy", + "RecoveryTriggeredCallback", + "RecoveryTriggeredMessage", + # Configuration types + "Resolution", + "RoomInfo", + "RoomState", + "StatusUpdateCallback", + "StatusUpdateMessage", + "StreamStartedCallback", + "StreamStartedMessage", + "StreamStats", + "StreamStatsCallback", + "StreamStatsMessage", + "StreamStoppedCallback", + "StreamStoppedMessage", + # Core classes + "VideoClientCore", + "VideoConfig", + "VideoConfigUpdateCallback", + "VideoConfigUpdateMessage", + "VideoConsumer", + "VideoEncoding", + "VideoProducer", + "WebRTCAnswerMessage", + # WebRTC types + "WebRTCConfig", + "WebRTCIceMessage", + "WebRTCOfferMessage", + "WebRTCSignalRequest", + "WebRTCSignalResponse", + "WebRTCStats", + "create_client", + "create_consumer_client", + # Factory functions + "create_producer_client", +] diff --git a/client/python/src/lerobot_arena_client/video/__pycache__/__init__.cpython-312.pyc b/client/python/src/lerobot_arena_client/video/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..925592a3e07317e2cb2f7aa15034bee972c93514 Binary files /dev/null and b/client/python/src/lerobot_arena_client/video/__pycache__/__init__.cpython-312.pyc differ diff --git a/client/python/src/lerobot_arena_client/video/__pycache__/consumer.cpython-312.pyc b/client/python/src/lerobot_arena_client/video/__pycache__/consumer.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5b4a007e05c660b5d0148558374aaf2738b8a450 Binary files /dev/null and b/client/python/src/lerobot_arena_client/video/__pycache__/consumer.cpython-312.pyc differ diff --git a/client/python/src/lerobot_arena_client/video/__pycache__/core.cpython-312.pyc b/client/python/src/lerobot_arena_client/video/__pycache__/core.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..54e792e45334e3eba0d8fb5967043d23eda5cf24 Binary files /dev/null and b/client/python/src/lerobot_arena_client/video/__pycache__/core.cpython-312.pyc differ diff --git a/client/python/src/lerobot_arena_client/video/__pycache__/core.cpython-313.pyc b/client/python/src/lerobot_arena_client/video/__pycache__/core.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9875d1191fcf4f736f98b1394b7184741d0fbffb Binary files /dev/null and b/client/python/src/lerobot_arena_client/video/__pycache__/core.cpython-313.pyc differ diff --git a/client/python/src/lerobot_arena_client/video/__pycache__/factory.cpython-312.pyc b/client/python/src/lerobot_arena_client/video/__pycache__/factory.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4ec4dbf2ea7e512bd2b74e3b41c44674004b9fc2 Binary files /dev/null and b/client/python/src/lerobot_arena_client/video/__pycache__/factory.cpython-312.pyc differ diff --git a/client/python/src/lerobot_arena_client/video/__pycache__/producer.cpython-312.pyc b/client/python/src/lerobot_arena_client/video/__pycache__/producer.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3c1c99e437defaa0b7285f4c4f2008f5e307d592 Binary files /dev/null and b/client/python/src/lerobot_arena_client/video/__pycache__/producer.cpython-312.pyc differ diff --git a/client/python/src/lerobot_arena_client/video/__pycache__/types.cpython-312.pyc b/client/python/src/lerobot_arena_client/video/__pycache__/types.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..41a4824dc2059c7b699cf57626b8b50ee80e2145 Binary files /dev/null and b/client/python/src/lerobot_arena_client/video/__pycache__/types.cpython-312.pyc differ diff --git a/client/python/src/lerobot_arena_client/video/consumer.py b/client/python/src/lerobot_arena_client/video/consumer.py new file mode 100644 index 0000000000000000000000000000000000000000..23b7a0a4e0ec877d6f5d152384fbecf0107629b4 --- /dev/null +++ b/client/python/src/lerobot_arena_client/video/consumer.py @@ -0,0 +1,637 @@ +""" +Consumer client for receiving video streams in LeRobot Arena +""" + +import asyncio +import logging +from typing import Any + +from aiortc import RTCIceCandidate, RTCSessionDescription + +from .core import VideoClientCore +from .types import ( + ClientOptions, + FrameData, + FrameUpdateCallback, + ParticipantRole, + RecoveryTriggeredCallback, + StatusUpdateCallback, + StreamStartedCallback, + StreamStatsCallback, + StreamStoppedCallback, + VideoConfig, + VideoConfigUpdateCallback, + WebRTCStats, +) + +logger = logging.getLogger(__name__) + + +class VideoConsumer(VideoClientCore): + """Consumer client for receiving video streams in LeRobot Arena""" + + def __init__( + self, + base_url: str = "http://localhost:8000", + options: ClientOptions | None = None, + ): + super().__init__(base_url, options) + + # Event callbacks + self.on_frame_update_callback: FrameUpdateCallback | None = None + self.on_video_config_update_callback: VideoConfigUpdateCallback | None = None + self.on_stream_started_callback: StreamStartedCallback | None = None + self.on_stream_stopped_callback: StreamStoppedCallback | None = None + self.on_recovery_triggered_callback: RecoveryTriggeredCallback | None = None + self.on_status_update_callback: StatusUpdateCallback | None = None + self.on_stream_stats_callback: StreamStatsCallback | None = None + + # ICE candidate queuing for proper timing + self.ice_candidate_queue: list[dict[str, Any]] = [] + self.has_remote_description = False + + # Frame monitoring for stream health + self._last_frame_time: float | None = None + self._frame_timeout_task: asyncio.Task | None = None + self._monitoring_frames = False + + # ============= CONSUMER CONNECTION ============= + + async def connect( + self, workspace_id: str, room_id: str, participant_id: str | None = None + ) -> bool: + """Connect to a room as consumer""" + # Create peer connection BEFORE connecting to avoid race condition + logger.info("Creating peer connection for consumer...") + self.create_peer_connection() + + # Add transceiver to receive video + if self.peer_connection: + self.peer_connection.addTransceiver("video", direction="recvonly") + logger.info("Added video transceiver for consumer") + + # Now connect to room - we're ready for WebRTC offers + connected = await self.connect_to_room( + workspace_id, room_id, ParticipantRole.CONSUMER, participant_id + ) + + if connected: + # Create peer connection immediately so we're ready for WebRTC offers + logger.info("๐Ÿ”ง Consumer connected and ready for WebRTC offers") + await self.start_receiving() + + return connected + + # ============= CONSUMER METHODS ============= + + async def start_receiving(self) -> None: + """Start receiving video stream""" + if not self.connected: + raise ValueError("Must be connected to start receiving") + + # Reset WebRTC state + self.has_remote_description = False + self.ice_candidate_queue = [] + + # Create peer connection for receiving (if not already created) + if not self.peer_connection: + self.create_peer_connection() + + # Set up to receive remote stream + if self.peer_connection: + # Add transceiver to receive video + self.peer_connection.addTransceiver("video", direction="recvonly") + logger.info("Added video transceiver for consumer") + else: + logger.info("Peer connection already exists for consumer") + + async def stop_receiving(self) -> None: + """Stop receiving video stream""" + # Stop frame monitoring + self._monitoring_frames = False + if self._frame_timeout_task and not self._frame_timeout_task.done(): + self._frame_timeout_task.cancel() + + if self.peer_connection: + await self.peer_connection.close() + self.peer_connection = None + self.remote_stream = None + + # ============= WEBRTC NEGOTIATION ============= + + async def handle_webrtc_offer( + self, offer_data: dict[str, Any], from_producer: str + ) -> None: + """Handle WebRTC offer from producer""" + try: + logger.info(f"๐Ÿ“ฅ Received WebRTC offer from producer {from_producer}") + + # Check if we need to restart the connection (new offer from same producer) + if self.peer_connection and self.has_remote_description: + logger.info("๐Ÿ”„ Restarting connection for new stream...") + await self._restart_connection_for_new_stream() + + if not self.peer_connection: + logger.info("๐Ÿ”ง Creating new peer connection for offer...") + self.create_peer_connection() + + # Add transceiver to receive video + if self.peer_connection: + self.peer_connection.addTransceiver("video", direction="recvonly") + logger.info("Added video transceiver for new connection") + + # Reset state for new offer + self.has_remote_description = False + self.ice_candidate_queue = [] + + # Set remote description (the offer) + offer = RTCSessionDescription( + sdp=offer_data["sdp"], type=offer_data["type"] + ) + await self.set_remote_description(offer) + self.has_remote_description = True + + # Process any queued ICE candidates now that we have remote description + await self._process_queued_ice_candidates() + + # Create answer + answer = await self.create_answer(offer) + + logger.info(f"๐Ÿ“ค Sending WebRTC answer to producer {from_producer}") + + # Send answer back through server to producer + if self.workspace_id and self.room_id and self.participant_id: + await self.send_webrtc_signal( + self.workspace_id, + self.room_id, + self.participant_id, + { + "type": "answer", + "sdp": answer.sdp, + "target_producer": from_producer, + }, + ) + + logger.info("โœ… WebRTC negotiation completed from consumer side") + except Exception as e: + logger.error(f"Failed to handle WebRTC offer: {e}") + if self.on_error_callback: + self.on_error_callback(f"Failed to handle WebRTC offer: {e}") + + async def _restart_connection_for_new_stream(self) -> None: + """Restart connection for new stream (called when getting new offer)""" + try: + logger.info("๐Ÿ”„ Restarting peer connection for new stream...") + + # Stop frame monitoring + self._monitoring_frames = False + if self._frame_timeout_task and not self._frame_timeout_task.done(): + self._frame_timeout_task.cancel() + + # Close existing peer connection + if self.peer_connection: + await self.peer_connection.close() + self.peer_connection = None + + # Reset all WebRTC state + self.remote_stream = None + self.has_remote_description = False + self.ice_candidate_queue = [] + self._last_frame_time = None + + logger.info("โœ… Connection restart completed") + + except Exception as e: + logger.error(f"โŒ Error restarting connection: {e}") + # Continue anyway - we'll try to create a new connection + + async def handle_webrtc_ice( + self, ice_data: dict[str, Any], from_producer: str + ) -> None: + """Handle WebRTC ICE candidate from producer""" + if not self.peer_connection: + logger.warning("No peer connection available to handle ICE") + return + + try: + logger.info(f"๐Ÿ“ฅ Received WebRTC ICE from producer {from_producer}") + + # Parse ICE candidate string and create RTCIceCandidate + candidate_str = ice_data["candidate"] + parts = candidate_str.split() + + if len(parts) >= 8: + candidate = RTCIceCandidate( + component=int(parts[1]), + foundation=parts[0].split(":")[1], # Remove "candidate:" prefix + ip=parts[4], + port=int(parts[5]), + priority=int(parts[3]), + protocol=parts[2], + type=parts[7], # typ value + sdpMid=ice_data.get("sdpMid"), + sdpMLineIndex=ice_data.get("sdpMLineIndex"), + ) + else: + logger.warning(f"Invalid ICE candidate format: {candidate_str}") + return + + if not self.has_remote_description: + # Queue ICE candidate until we have remote description + logger.info( + f"๐Ÿ”„ Queuing ICE candidate from {from_producer} (no remote description yet)" + ) + self.ice_candidate_queue.append({ + "candidate": candidate, + "from_producer": from_producer, + }) + return + + # Add ICE candidate to peer connection + await self.add_ice_candidate(candidate) + + logger.info(f"โœ… WebRTC ICE handled from producer {from_producer}") + except Exception as e: + logger.error(f"Failed to handle WebRTC ICE from {from_producer}: {e}") + if self.on_error_callback: + self.on_error_callback(f"Failed to handle WebRTC ICE: {e}") + + async def _process_queued_ice_candidates(self) -> None: + """Process all queued ICE candidates after remote description is set""" + if not self.ice_candidate_queue: + return + + logger.info( + f"๐Ÿ”„ Processing {len(self.ice_candidate_queue)} queued ICE candidates" + ) + + for item in self.ice_candidate_queue: + try: + candidate = item["candidate"] + from_producer = item["from_producer"] + + if self.peer_connection: + await self.peer_connection.addIceCandidate(candidate) + logger.info( + f"โœ… Processed queued ICE candidate from {from_producer}" + ) + except Exception as e: + logger.error( + f"Failed to process queued ICE candidate from {item.get('from_producer', 'unknown')}: {e}" + ) + + # Clear the queue + self.ice_candidate_queue = [] + + # ============= EVENT CALLBACKS ============= + + def on_frame_update(self, callback: FrameUpdateCallback) -> None: + """Set callback for frame updates""" + self.on_frame_update_callback = callback + + def on_video_config_update(self, callback: VideoConfigUpdateCallback) -> None: + """Set callback for video config updates""" + self.on_video_config_update_callback = callback + + def on_stream_started(self, callback: StreamStartedCallback) -> None: + """Set callback for stream started events""" + self.on_stream_started_callback = callback + + def on_stream_stopped(self, callback: StreamStoppedCallback) -> None: + """Set callback for stream stopped events""" + self.on_stream_stopped_callback = callback + + def on_recovery_triggered(self, callback: RecoveryTriggeredCallback) -> None: + """Set callback for recovery triggered events""" + self.on_recovery_triggered_callback = callback + + def on_status_update(self, callback: StatusUpdateCallback) -> None: + """Set callback for status updates""" + self.on_status_update_callback = callback + + def on_stream_stats(self, callback: StreamStatsCallback) -> None: + """Set callback for stream statistics""" + self.on_stream_stats_callback = callback + + # ============= MESSAGE HANDLING ============= + + async def _handle_role_specific_message(self, data: dict[str, Any]) -> None: + """Handle consumer-specific messages""" + msg_type = data.get("type") + + if msg_type == "frame_update": + await self._handle_frame_update(data) + elif msg_type == "video_config_update": + await self._handle_video_config_update(data) + elif msg_type == "stream_started": + await self._handle_stream_started(data) + elif msg_type == "stream_stopped": + await self._handle_stream_stopped(data) + elif msg_type == "recovery_triggered": + await self._handle_recovery_triggered(data) + elif msg_type == "status_update": + await self._handle_status_update(data) + elif msg_type == "stream_stats": + await self._handle_stream_stats(data) + elif msg_type == "participant_joined": + logger.info( + f"๐Ÿ“ฅ Participant joined: {data.get('participant_id')} as {data.get('role')}" + ) + # If it's a producer joining, we should be ready for offers + if data.get("role") == "producer": + producer_id = data.get("participant_id", "") + logger.info( + f"๐ŸŽฌ Producer {producer_id} joined - ready for WebRTC offers" + ) + elif msg_type == "participant_left": + logger.info( + f"๐Ÿ“ค Participant left: {data.get('participant_id')} ({data.get('role')})" + ) + # If it's a producer leaving, we should be ready for recovery + if data.get("role") == "producer": + producer_id = data.get("participant_id", "") + logger.info( + f"๐Ÿ‘‹ Producer {producer_id} left - waiting for reconnection..." + ) + # Reset state for potential reconnection + self.has_remote_description = False + self.ice_candidate_queue = [] + elif msg_type == "webrtc_offer": + await self.handle_webrtc_offer( + data.get("offer", {}), data.get("from_producer", "") + ) + elif msg_type == "webrtc_answer": + logger.info("Received WebRTC answer (consumer should not receive this)") + elif msg_type == "webrtc_ice": + await self.handle_webrtc_ice( + data.get("candidate", {}), data.get("from_producer", "") + ) + elif msg_type == "emergency_stop": + logger.warning(f"Emergency stop: {data.get('reason', 'Unknown reason')}") + if self.on_error_callback: + self.on_error_callback( + f"Emergency stop: {data.get('reason', 'Unknown reason')}" + ) + else: + logger.warning(f"Unknown message type for consumer: {msg_type}") + + async def _handle_frame_update(self, data: dict[str, Any]) -> None: + """Handle frame update message""" + if self.on_frame_update_callback: + frame_data = FrameData( + data=data.get("data", b""), metadata=data.get("metadata", {}) + ) + self.on_frame_update_callback(frame_data) + + async def _handle_video_config_update(self, data: dict[str, Any]) -> None: + """Handle video config update message""" + if self.on_video_config_update_callback: + config = self._dict_to_video_config(data.get("config", {})) + self.on_video_config_update_callback(config) + + async def _handle_stream_started(self, data: dict[str, Any]) -> None: + """Handle stream started message""" + if self.on_stream_started_callback: + config = self._dict_to_video_config(data.get("config", {})) + participant_id = data.get("participant_id", "") + self.on_stream_started_callback(config, participant_id) + + logger.info( + f"๐Ÿš€ Stream started by producer {data.get('participant_id')}, ready to receive video" + ) + + async def _handle_stream_stopped(self, data: dict[str, Any]) -> None: + """Handle stream stopped message""" + producer_id = data.get("participant_id", "") + reason = data.get("reason") + + logger.info(f"โน๏ธ Stream stopped by producer {producer_id}") + if reason: + logger.info(f" Reason: {reason}") + + # Reset WebRTC state for potential restart + self.has_remote_description = False + self.ice_candidate_queue = [] + + # Keep peer connection alive for potential restart + logger.info("๐Ÿ”„ Ready for stream restart...") + + if self.on_stream_stopped_callback: + self.on_stream_stopped_callback(producer_id, reason) + + async def _handle_recovery_triggered(self, data: dict[str, Any]) -> None: + """Handle recovery triggered message""" + if self.on_recovery_triggered_callback: + from .types import RecoveryPolicy + + policy = RecoveryPolicy(data.get("policy", "freeze_last_frame")) + reason = data.get("reason", "") + self.on_recovery_triggered_callback(policy, reason) + + async def _handle_status_update(self, data: dict[str, Any]) -> None: + """Handle status update message""" + if self.on_status_update_callback: + status = data.get("status", "") + status_data = data.get("data") + self.on_status_update_callback(status, status_data) + + async def _handle_stream_stats(self, data: dict[str, Any]) -> None: + """Handle stream stats message""" + if self.on_stream_stats_callback: + from .types import StreamStats + + stats_data = data.get("stats", {}) + stats = StreamStats( + stream_id=stats_data.get("stream_id", ""), + duration_seconds=stats_data.get("duration_seconds", 0.0), + frame_count=stats_data.get("frame_count", 0), + total_bytes=stats_data.get("total_bytes", 0), + average_fps=stats_data.get("average_fps", 0.0), + average_bitrate=stats_data.get("average_bitrate", 0.0), + ) + self.on_stream_stats_callback(stats) + + # ============= TRACK HANDLING ============= + + def _handle_track_received(self, track: Any) -> None: + """Handle received video track""" + logger.info(f"๐Ÿ“บ Received video track: {track.kind}") + self.remote_stream = track + + # Start reading frames from the track + if track.kind == "video": + asyncio.create_task(self._read_video_frames(track)) + # Start frame monitoring + asyncio.create_task(self._start_frame_monitoring()) + + async def _read_video_frames(self, track: Any) -> None: + """Read frames from video track and trigger callbacks""" + frame_count = 0 + self._monitoring_frames = True + consecutive_errors = 0 + max_consecutive_errors = 5 + + try: + logger.info(f"๐Ÿ“น Starting frame reading from track: {track.kind}") + + while self._monitoring_frames: + try: + # Use timeout to detect stream issues + frame = await asyncio.wait_for(track.recv(), timeout=5.0) + frame_count += 1 + consecutive_errors = 0 # Reset error count on success + + # Update frame monitoring + import time + + self._last_frame_time = time.time() + + # Convert frame to numpy array properly - use RGB format to match server + img = frame.to_ndarray(format="rgb24") + + # Convert RGB to BGR for OpenCV compatibility if needed + # For callbacks, we can provide RGB data and let user decide format + frame_data = FrameData( + data=img.tobytes(), + metadata={ + "width": frame.width, + "height": frame.height, + "format": "rgb24", # Server sends RGB format + "pts": frame.pts, + "time_base": str(frame.time_base), + "frame_count": frame_count, + }, + ) + + # Trigger frame update callback + if self.on_frame_update_callback: + self.on_frame_update_callback(frame_data) + + if frame_count % 30 == 0: # Log every 30 frames + logger.info(f"๐Ÿ“น Processed {frame_count} video frames") + + except TimeoutError: + logger.warning( + "โฐ Timeout waiting for video frame - stream may have stopped" + ) + consecutive_errors += 1 + if consecutive_errors >= max_consecutive_errors: + logger.error( + "โŒ Too many consecutive frame timeouts - stopping frame reading" + ) + break + await asyncio.sleep(1) # Wait before retrying + continue + + except Exception as frame_error: + # Individual frame processing error - log but continue + consecutive_errors += 1 + logger.warning( + f"โš ๏ธ Error processing frame {frame_count}: {frame_error}" + ) + + if consecutive_errors >= max_consecutive_errors: + logger.error( + f"โŒ Too many consecutive frame errors ({consecutive_errors}) - stopping frame reading" + ) + break + + await asyncio.sleep(0.1) # Brief pause before retrying + continue + + except Exception as e: + logger.error(f"โŒ Fatal error in frame reading loop: {e}") + + finally: + logger.info( + f"๐Ÿ“Š Frame reading stopped. Total frames processed: {frame_count}" + ) + self._monitoring_frames = False + + # If we stopped due to errors and we're still connected, try to restart + if consecutive_errors >= max_consecutive_errors and self.connected: + logger.info( + "๐Ÿ”„ Frame reading stopped due to errors - triggering connection recovery" + ) + asyncio.create_task(self._handle_connection_failure()) + + async def _start_frame_monitoring(self) -> None: + """Start monitoring for frame timeouts""" + if self._frame_timeout_task and not self._frame_timeout_task.done(): + self._frame_timeout_task.cancel() + + self._frame_timeout_task = asyncio.create_task(self._monitor_frame_timeout()) + + async def _monitor_frame_timeout(self) -> None: + """Monitor for frame timeouts and trigger recovery if needed""" + timeout_seconds = 10.0 # No frames for 10 seconds = problem + + while self.connected and self._monitoring_frames: + await asyncio.sleep(5) # Check every 5 seconds + + if self._last_frame_time is not None: + import time + + time_since_last_frame = time.time() - self._last_frame_time + + if time_since_last_frame > timeout_seconds: + logger.warning( + f"โš ๏ธ No frames received for {time_since_last_frame:.1f}s - stream may be stopped" + ) + # Reset frame monitoring + self._last_frame_time = None + + # ============= UTILITY METHODS ============= + + @staticmethod + async def create_and_connect( + workspace_id: str, + room_id: str, + base_url: str = "http://localhost:8000", + participant_id: str | None = None, + ) -> "VideoConsumer": + """Create a consumer and automatically connect to a room""" + consumer = VideoConsumer(base_url) + connected = await consumer.connect(workspace_id, room_id, participant_id) + + if not connected: + raise ValueError("Failed to connect as video consumer") + + return consumer + + def attach_to_video_element(self, video_element: Any) -> None: + """Attach remote stream to a video element (for web frameworks)""" + if self.remote_stream: + # This would be used in web contexts + # For now, just log that we have a stream + logger.info("Video stream available for attachment") + + async def get_video_stats(self) -> WebRTCStats | None: + """Get current video statistics""" + return await self.get_stats() + + def _dict_to_video_config(self, data: dict[str, Any]) -> VideoConfig: + """Convert dictionary to VideoConfig""" + from .types import Resolution, VideoEncoding + + config = VideoConfig() + + if "encoding" in data: + config.encoding = VideoEncoding(data["encoding"]) + + if "resolution" in data: + res_data = data["resolution"] + config.resolution = Resolution( + width=res_data.get("width", 640), height=res_data.get("height", 480) + ) + + if "framerate" in data: + config.framerate = data["framerate"] + + if "bitrate" in data: + config.bitrate = data["bitrate"] + + if "quality" in data: + config.quality = data["quality"] + + return config diff --git a/client/python/src/lerobot_arena_client/video/core.py b/client/python/src/lerobot_arena_client/video/core.py new file mode 100644 index 0000000000000000000000000000000000000000..319637cd5d3d531f23657165b6fccfa5400de73f --- /dev/null +++ b/client/python/src/lerobot_arena_client/video/core.py @@ -0,0 +1,715 @@ +""" +Core video client for LeRobot Arena +Base class providing REST API, WebSocket, and WebRTC functionality +""" + +import asyncio +import json +import logging +import time +from typing import Any +from urllib.parse import urlparse + +import aiohttp +import websockets +from aiortc import ( + RTCConfiguration, + RTCIceCandidate, + RTCIceServer, + RTCPeerConnection, + RTCSessionDescription, +) + +from .types import ( + DEFAULT_CLIENT_OPTIONS, + ClientOptions, + ConnectedCallback, + ConnectionInfo, + DisconnectedCallback, + ErrorCallback, + JoinMessage, + ParticipantRole, + RecoveryConfig, + RoomInfo, + RoomState, + VideoConfig, + WebRTCConfig, + WebRTCSignalRequest, + WebRTCSignalResponse, + WebRTCStats, +) + +logger = logging.getLogger(__name__) + + +class VideoClientCore: + """ + Core video client for LeRobot Arena + Base class providing REST API, WebSocket, and WebRTC functionality + """ + + def __init__( + self, + base_url: str = "http://localhost:8000", + options: ClientOptions | None = None, + ): + self.base_url = base_url.rstrip("/") + self.api_base = f"{self.base_url}/video" + + # Merge options with defaults + self.options = DEFAULT_CLIENT_OPTIONS + if options: + for key, value in options.__dict__.items(): + if value is not None: + setattr(self.options, key, value) + + # Connection state + self.websocket: websockets.WebSocketServerProtocol | None = None + self.peer_connection: RTCPeerConnection | None = None + self.local_stream: Any | None = None + self.remote_stream: Any | None = None + self.workspace_id: str | None = None + self.room_id: str | None = None + self.role: ParticipantRole | None = None + self.participant_id: str | None = None + self.connected = False + + # WebRTC configuration + self.webrtc_config = WebRTCConfig( + ice_servers=[{"urls": "stun:stun.l.google.com:19302"}], + constraints={ + "video": { + "width": {"ideal": 640}, + "height": {"ideal": 480}, + "frameRate": {"ideal": 30}, + }, + "audio": False, + }, + bitrate=1000000, + framerate=30, + resolution={"width": 640, "height": 480}, + codec_preferences=["VP8", "H264"], + ) + if self.options.webrtc_config: + # Merge WebRTC config + for key, value in self.options.webrtc_config.__dict__.items(): + if value is not None: + setattr(self.webrtc_config, key, value) + + # Event callbacks + self.on_error_callback: ErrorCallback | None = None + self.on_connected_callback: ConnectedCallback | None = None + self.on_disconnected_callback: DisconnectedCallback | None = None + + # Background tasks + self._message_task: asyncio.Task | None = None + + # ============= REST API METHODS ============= + + async def list_rooms(self, workspace_id: str) -> list[RoomInfo]: + """List all available rooms in a workspace""" + response = await self._fetch_api(f"/workspaces/{workspace_id}/rooms") + return [self._dict_to_room_info(room) for room in response.get("rooms", [])] + + async def create_room( + self, + workspace_id: str | None = None, + room_id: str | None = None, + config: VideoConfig | None = None, + recovery_config: RecoveryConfig | None = None, + ) -> tuple[str, str]: + """Create a new room and return (workspace_id, room_id)""" + # Generate workspace ID if not provided + final_workspace_id = workspace_id or self._generate_workspace_id() + + payload = {} + if room_id: + payload["room_id"] = room_id + if config: + payload["config"] = self._video_config_to_dict(config) + if recovery_config: + payload["recovery_config"] = self._recovery_config_to_dict(recovery_config) + + response = await self._fetch_api( + f"/workspaces/{final_workspace_id}/rooms", method="POST", json_data=payload + ) + return response["workspace_id"], response["room_id"] + + async def delete_room(self, workspace_id: str, room_id: str) -> bool: + """Delete a room""" + try: + response = await self._fetch_api( + f"/workspaces/{workspace_id}/rooms/{room_id}", method="DELETE" + ) + return response.get("success", False) + except aiohttp.ClientResponseError as e: + if e.status == 404: + return False + raise + + async def get_room_state(self, workspace_id: str, room_id: str) -> RoomState: + """Get current room state""" + response = await self._fetch_api( + f"/workspaces/{workspace_id}/rooms/{room_id}/state" + ) + return self._dict_to_room_state(response["state"]) + + async def get_room_info(self, workspace_id: str, room_id: str) -> RoomInfo: + """Get basic room information""" + response = await self._fetch_api(f"/workspaces/{workspace_id}/rooms/{room_id}") + return self._dict_to_room_info(response["room"]) + + # ============= WEBRTC SIGNALING ============= + + async def send_webrtc_signal( + self, + workspace_id: str, + room_id: str, + client_id: str, + message: dict[str, Any] | RTCSessionDescription | RTCIceCandidate, + ) -> WebRTCSignalResponse: + """Send WebRTC signaling message""" + if isinstance(message, RTCSessionDescription): + message_dict = {"type": message.type, "sdp": message.sdp} + elif isinstance(message, RTCIceCandidate): + message_dict = { + "type": "ice", + "candidate": message.candidate, + "sdpMid": message.sdpMid, + "sdpMLineIndex": message.sdpMLineIndex, + } + else: + message_dict = message + + request = WebRTCSignalRequest(client_id=client_id, message=message_dict) + response = await self._fetch_api( + f"/workspaces/{workspace_id}/rooms/{room_id}/webrtc/signal", + method="POST", + json_data={"client_id": request.client_id, "message": request.message}, + ) + return WebRTCSignalResponse(**response) + + # ============= WEBSOCKET CONNECTION ============= + + async def connect_to_room( + self, + workspace_id: str, + room_id: str, + role: ParticipantRole, + participant_id: str | None = None, + ) -> bool: + """Connect to a room via WebSocket""" + if self.connected: + await self.disconnect() + + self.workspace_id = workspace_id + self.room_id = room_id + self.role = role + self.participant_id = ( + participant_id or f"{role.value}_{int(time.time())}_{id(self) % 10000}" + ) + + # Convert HTTP URL to WebSocket URL + parsed = urlparse(self.base_url) + ws_scheme = "wss" if parsed.scheme == "https" else "ws" + ws_endpoint = f"{ws_scheme}://{parsed.netloc}/video/workspaces/{workspace_id}/rooms/{room_id}/ws" + + try: + self.websocket = await websockets.connect(ws_endpoint) + + # Send join message + await self._send_join_message() + + # Start message handler - this will handle the "joined" response + self._message_task = asyncio.create_task(self._handle_messages()) + + # Wait a brief moment for the join response to be processed + await asyncio.sleep(0.5) + + # Check if we got connected (will be set by _process_message when "joined" is received) + if self.connected: + return True + await self._cleanup_connection() + return False + + except Exception as e: + logger.error(f"Failed to connect to room {room_id}: {e}") + await self._cleanup_connection() + return False + + async def disconnect(self) -> None: + """Disconnect from the current room""" + await self._cleanup_connection() + + self.workspace_id = None + self.room_id = None + self.role = None + self.participant_id = None + self.connected = False + + if self.on_disconnected_callback: + self.on_disconnected_callback() + + # ============= WEBRTC METHODS ============= + + def create_peer_connection(self) -> RTCPeerConnection: + """Create and configure WebRTC peer connection""" + config = RTCConfiguration( + iceServers=[ + RTCIceServer(urls=server["urls"]) + for server in self.webrtc_config.ice_servers or [] + ] + ) + + self.peer_connection = RTCPeerConnection(config) + + # Set up event handlers + self.peer_connection.on( + "connectionstatechange", self._on_connection_state_change + ) + self.peer_connection.on( + "iceconnectionstatechange", self._on_ice_connection_state_change + ) + self.peer_connection.on("icecandidate", self._on_ice_candidate) + self.peer_connection.on("track", self._on_track) + + return self.peer_connection + + async def create_offer(self) -> RTCSessionDescription: + """Create WebRTC offer""" + if not self.peer_connection: + raise ValueError("Peer connection not created") + + offer = await self.peer_connection.createOffer() + await self.peer_connection.setLocalDescription(offer) + return offer + + async def create_answer( + self, offer: RTCSessionDescription + ) -> RTCSessionDescription: + """Create WebRTC answer""" + if not self.peer_connection: + raise ValueError("Peer connection not created") + + await self.peer_connection.setRemoteDescription(offer) + answer = await self.peer_connection.createAnswer() + await self.peer_connection.setLocalDescription(answer) + return answer + + async def set_remote_description(self, description: RTCSessionDescription) -> None: + """Set remote description""" + if not self.peer_connection: + raise ValueError("Peer connection not created") + await self.peer_connection.setRemoteDescription(description) + + async def add_ice_candidate(self, candidate: RTCIceCandidate) -> None: + """Add ICE candidate""" + if not self.peer_connection: + raise ValueError("Peer connection not created") + await self.peer_connection.addIceCandidate(candidate) + + # ============= MEDIA METHODS ============= + + async def start_producing(self, constraints: dict[str, Any] | None = None) -> Any: + """Start video production (to be implemented by subclasses)""" + raise NotImplementedError("start_producing must be implemented by subclasses") + + async def start_screen_share(self) -> Any: + """Start screen sharing (to be implemented by subclasses)""" + raise NotImplementedError( + "start_screen_share must be implemented by subclasses" + ) + + def stop_producing(self) -> None: + """Stop video production""" + if self.local_stream: + # Stop all tracks in the stream + for track in getattr(self.local_stream, "getTracks", list)(): + track.stop() + self.local_stream = None + + # ============= GETTERS ============= + + def get_local_stream(self) -> Any | None: + """Get local media stream""" + return self.local_stream + + def get_remote_stream(self) -> Any | None: + """Get remote media stream""" + return self.remote_stream + + def get_peer_connection(self) -> RTCPeerConnection | None: + """Get WebRTC peer connection""" + return self.peer_connection + + async def get_stats(self) -> WebRTCStats | None: + """Get WebRTC statistics""" + if not self.peer_connection: + return None + + stats = await self.peer_connection.getStats() + return self._extract_video_stats(stats) + + # ============= MESSAGE HANDLING ============= + + async def _send_join_message(self) -> None: + """Send join message to server""" + if not self.websocket or not self.participant_id or not self.role: + return + + join_message = JoinMessage(participant_id=self.participant_id, role=self.role) + + await self.websocket.send( + json.dumps({ + "participant_id": join_message.participant_id, + "role": join_message.role.value, + }) + ) + + async def _handle_messages(self) -> None: + """Handle incoming WebSocket messages""" + try: + async for message in self.websocket: + try: + data = json.loads(message) + await self._process_message(data) + except json.JSONDecodeError: + logger.error(f"Invalid JSON received: {message}") + except Exception as e: + logger.error(f"Error processing message: {e}") + + except websockets.exceptions.ConnectionClosed: + logger.info("WebSocket connection closed") + except Exception as e: + logger.error(f"WebSocket error: {e}") + finally: + self.connected = False + if self.on_disconnected_callback: + self.on_disconnected_callback() + + async def _process_message(self, data: dict[str, Any]) -> None: + """Process incoming message based on type""" + msg_type = data.get("type") + + if msg_type == "joined": + logger.info( + f"Successfully joined room {data.get('room_id')} as {data.get('role')}" + ) + self.connected = True + if self.on_connected_callback: + self.on_connected_callback() + elif msg_type == "heartbeat_ack": + logger.debug("Heartbeat acknowledged") + elif msg_type == "error": + error_msg = data.get("message", "Unknown error") + logger.error(f"Server error: {error_msg}") + if self.on_error_callback: + self.on_error_callback(error_msg) + elif msg_type == "participant_joined": + participant_id = data.get("participant_id", "") + role = data.get("role", "") + logger.info(f"Participant joined: {participant_id} as {role}") + # Forward to role-specific handler + await self._handle_role_specific_message(data) + elif msg_type == "participant_left": + participant_id = data.get("participant_id", "") + role = data.get("role", "") + logger.info(f"Participant left: {participant_id} ({role})") + else: + # Let subclasses handle specific message types + await self._handle_role_specific_message(data) + + async def _handle_role_specific_message(self, data: dict[str, Any]) -> None: + """Handle role-specific messages - to be overridden by subclasses""" + + async def _wait_for_message( + self, message_type: str, timeout: float = 5.0 + ) -> dict[str, Any] | None: + """Wait for a specific message type""" + # For now, just wait briefly and assume success if connected + # This is a simplified implementation for basic functionality + await asyncio.sleep(0.5) + if self.connected: + return {"type": message_type, "success": True} + return None + + # ============= UTILITY METHODS ============= + + async def send_heartbeat(self) -> None: + """Send heartbeat to server""" + if not self.connected or not self.websocket: + return + + message = {"type": "heartbeat"} + await self.websocket.send(json.dumps(message)) + + def is_connected(self) -> bool: + """Check if connected to a room""" + return self.connected + + def get_connection_info(self) -> ConnectionInfo: + """Get current connection information""" + return ConnectionInfo( + connected=self.connected, + workspace_id=self.workspace_id, + room_id=self.room_id, + role=self.role, + participant_id=self.participant_id, + base_url=self.base_url, + ) + + # ============= EVENT CALLBACK SETTERS ============= + + def on_error(self, callback: ErrorCallback) -> None: + """Set error callback""" + self.on_error_callback = callback + + def on_connected(self, callback: ConnectedCallback) -> None: + """Set connected callback""" + self.on_connected_callback = callback + + def on_disconnected(self, callback: DisconnectedCallback) -> None: + """Set disconnected callback""" + self.on_disconnected_callback = callback + + # ============= WEBRTC EVENT HANDLERS ============= + + def _on_connection_state_change(self) -> None: + """Handle WebRTC connection state change""" + if self.peer_connection: + state = self.peer_connection.connectionState + logger.info(f"๐Ÿ”Œ WebRTC connection state: {state}") + + # Handle failed connections for consumers + if ( + state in ["failed", "disconnected"] + and self.role == ParticipantRole.CONSUMER + ): + logger.warning("โš ๏ธ WebRTC connection failed, attempting to restart...") + asyncio.create_task(self._handle_connection_failure()) + + def _on_ice_connection_state_change(self) -> None: + """Handle ICE connection state change""" + if self.peer_connection: + state = self.peer_connection.iceConnectionState + logger.info(f"๐ŸงŠ ICE connection state: {state}") + + # Additional recovery on ICE failure + if state == "failed" and self.role == ParticipantRole.CONSUMER: + logger.warning("โš ๏ธ ICE connection failed, will attempt recovery...") + asyncio.create_task(self._handle_ice_failure()) + + def _on_ice_candidate(self, event: Any) -> None: + """Handle ICE candidate""" + if event.candidate and self.room_id and self.participant_id: + # Send ICE candidate via signaling + asyncio.create_task(self._send_ice_candidate(event.candidate)) + + def _on_track(self, track: Any) -> None: + """Handle received track""" + logger.info(f"๐Ÿ“บ Received track: {track.kind}") + if track.kind == "video": + self.remote_stream = track + # Let subclasses handle track reception + self._handle_track_received(track) + + def _handle_track_received(self, track: Any) -> None: + """Handle received track - to be overridden by subclasses""" + + async def _handle_connection_failure(self) -> None: + """Handle WebRTC connection failure with recovery attempt""" + if not self.connected or self.role != ParticipantRole.CONSUMER: + return + + try: + logger.info("๐Ÿ”„ Attempting WebRTC connection recovery...") + + # Wait a bit before retrying + await asyncio.sleep(2) + + # Close current peer connection completely + if self.peer_connection: + await self.peer_connection.close() + self.peer_connection = None + logger.info("๐Ÿงน Closed failed peer connection") + + # Reset remote stream + self.remote_stream = None + + # Reset consumer-specific state if it exists + if hasattr(self, "has_remote_description"): + self.has_remote_description = False + if hasattr(self, "ice_candidate_queue"): + self.ice_candidate_queue = [] + if hasattr(self, "_last_frame_time"): + self._last_frame_time = None + if hasattr(self, "_monitoring_frames"): + self._monitoring_frames = False + + # Recreate peer connection and restart receiving + if hasattr(self, "start_receiving"): + await self.start_receiving() + logger.info("โœ… WebRTC connection recovery completed") + else: + logger.warning("โš ๏ธ No start_receiving method available for recovery") + + except Exception as e: + logger.error(f"โŒ Failed to recover WebRTC connection: {e}") + # Schedule another retry + await asyncio.sleep(5) + if self.connected and self.role == ParticipantRole.CONSUMER: + logger.info("๐Ÿ”„ Scheduling another recovery attempt...") + asyncio.create_task(self._handle_connection_failure()) + + async def _handle_ice_failure(self) -> None: + """Handle ICE connection failure""" + # For now, just log - could implement more sophisticated recovery + logger.warning("๐ŸงŠ ICE connection failure detected, monitoring for recovery...") + await asyncio.sleep(5) # Wait and monitor + + if self.peer_connection and self.peer_connection.iceConnectionState == "failed": + logger.warning( + "๐Ÿ”„ ICE still failed after waiting, triggering connection recovery..." + ) + await self._handle_connection_failure() + + async def _send_ice_candidate(self, candidate: RTCIceCandidate) -> None: + """Send ICE candidate via signaling""" + if not self.room_id or not self.participant_id: + return + + try: + await self.send_webrtc_signal( + self.workspace_id, + self.room_id, + self.participant_id, + { + "type": "ice", + "candidate": candidate.toJSON() + if hasattr(candidate, "toJSON") + else { + "candidate": candidate.candidate, + "sdpMid": candidate.sdpMid, + "sdpMLineIndex": candidate.sdpMLineIndex, + }, + }, + ) + except Exception as e: + logger.error(f"Failed to send ICE candidate: {e}") + + # ============= PRIVATE HELPERS ============= + + async def _fetch_api( + self, + endpoint: str, + method: str = "GET", + json_data: dict[str, Any] | None = None, + ) -> dict[str, Any]: + """Fetch data from REST API""" + url = f"{self.api_base}{endpoint}" + timeout = aiohttp.ClientTimeout(total=self.options.timeout or 5.0) + + async with aiohttp.ClientSession(timeout=timeout) as session: + kwargs = ( + {"headers": {"Content-Type": "application/json"}} if json_data else {} + ) + if json_data: + kwargs["json"] = json_data + + async with session.request(method, url, **kwargs) as response: + response.raise_for_status() + return await response.json() + + async def _cleanup_connection(self) -> None: + """Clean up all connections""" + # Stop message handling task + if self._message_task: + self._message_task.cancel() + try: + await self._message_task + except asyncio.CancelledError: + pass + self._message_task = None + + # Close WebSocket + if self.websocket: + await self.websocket.close() + self.websocket = None + + # Close WebRTC connection + if self.peer_connection: + await self.peer_connection.close() + self.peer_connection = None + + # Stop local streams + self.stop_producing() + self.remote_stream = None + + def _extract_video_stats(self, stats: Any) -> WebRTCStats | None: + """Extract video statistics from WebRTC stats""" + # This would need to parse the actual stats report + # For now, return None - implement based on aiortc stats format + return None + + def _dict_to_room_info(self, data: dict[str, Any]) -> RoomInfo: + """Convert dictionary to RoomInfo object""" + # Implementation depends on actual API response format + # This is a placeholder + return RoomInfo( + id=data.get("id", ""), + participants=data.get("participants", {}), + frame_count=data.get("frame_count", 0), + config=VideoConfig(), + has_producer=data.get("has_producer", False), + active_consumers=data.get("active_consumers", 0), + ) + + def _dict_to_room_state(self, data: dict[str, Any]) -> RoomState: + """Convert dictionary to RoomState object""" + # Implementation depends on actual API response format + # This is a placeholder + return RoomState( + room_id=data.get("room_id", ""), + participants=data.get("participants", {}), + frame_count=data.get("frame_count", 0), + last_frame_time=data.get("last_frame_time"), + current_config=VideoConfig(), + timestamp=data.get("timestamp", ""), + ) + + def _video_config_to_dict(self, config: VideoConfig) -> dict[str, Any]: + """Convert VideoConfig to dictionary""" + result = {} + if config.encoding: + result["encoding"] = config.encoding.value + if config.resolution: + result["resolution"] = { + "width": config.resolution.width, + "height": config.resolution.height, + } + if config.framerate: + result["framerate"] = config.framerate + if config.bitrate: + result["bitrate"] = config.bitrate + if config.quality: + result["quality"] = config.quality + return result + + def _recovery_config_to_dict(self, config: RecoveryConfig) -> dict[str, Any]: + """Convert RecoveryConfig to dictionary""" + result = {} + for key, value in config.__dict__.items(): + if value is not None: + if hasattr(value, "value"): # Enum + result[key] = value.value + else: + result[key] = value + return result + + # ============= WORKSPACE HELPERS ============= + + def _generate_workspace_id(self) -> str: + """Generate a UUID-like workspace ID""" + import uuid + + return str(uuid.uuid4()) diff --git a/client/python/src/lerobot_arena_client/video/factory.py b/client/python/src/lerobot_arena_client/video/factory.py new file mode 100644 index 0000000000000000000000000000000000000000..b670b36485b21cdc717866ce887c29e7441db71a --- /dev/null +++ b/client/python/src/lerobot_arena_client/video/factory.py @@ -0,0 +1,56 @@ +""" +Factory functions for creating LeRobot Arena video clients +""" + +from .consumer import VideoConsumer +from .producer import VideoProducer +from .types import ClientOptions, ParticipantRole + + +def create_client( + role: ParticipantRole, + base_url: str = "http://localhost:8000", + options: ClientOptions | None = None, +) -> "VideoProducer | VideoConsumer": + """Factory function to create the appropriate client based on role""" + if role == ParticipantRole.PRODUCER: + return VideoProducer(base_url, options) + if role == ParticipantRole.CONSUMER: + return VideoConsumer(base_url, options) + raise ValueError(f"Invalid role: {role}. Must be 'producer' or 'consumer'") + + +async def create_producer_client( + base_url: str = "http://localhost:8000", + workspace_id: str | None = None, + room_id: str | None = None, + participant_id: str | None = None, + options: ClientOptions | None = None, +) -> VideoProducer: + """Create and connect a producer client""" + producer = VideoProducer(base_url, options) + + workspace_id, room_id = await producer.create_room(workspace_id, room_id) + connected = await producer.connect(workspace_id, room_id, participant_id) + + if not connected: + raise ValueError("Failed to connect as video producer") + + return producer + + +async def create_consumer_client( + workspace_id: str, + room_id: str, + base_url: str = "http://localhost:8000", + participant_id: str | None = None, + options: ClientOptions | None = None, +) -> VideoConsumer: + """Create and connect a consumer client""" + consumer = VideoConsumer(base_url, options) + connected = await consumer.connect(workspace_id, room_id, participant_id) + + if not connected: + raise ValueError("Failed to connect as video consumer") + + return consumer diff --git a/client/python/src/lerobot_arena_client/video/producer.py b/client/python/src/lerobot_arena_client/video/producer.py new file mode 100644 index 0000000000000000000000000000000000000000..a0f2056f812fc8d7552e2b536ad1794230e3680b --- /dev/null +++ b/client/python/src/lerobot_arena_client/video/producer.py @@ -0,0 +1,731 @@ +""" +Producer client for video streaming in LeRobot Arena +""" + +import asyncio +import fractions +import json +import logging +import time +from collections.abc import Awaitable, Callable +from typing import Any + +import av +import cv2 +import numpy as np +from aiortc import RTCIceCandidate, RTCSessionDescription, VideoStreamTrack + +from .core import VideoClientCore +from .types import ( + ClientOptions, + ParticipantRole, + StatusUpdateCallback, + StreamStatsCallback, + VideoConfig, +) + +logger = logging.getLogger(__name__) + + +class CameraVideoTrack(VideoStreamTrack): + """Custom video track for camera capture using OpenCV""" + + def __init__( + self, + device_id: int = 0, + resolution: dict[str, int] | None = None, + frame_rate: int = 30, + ): + super().__init__() + self.device_id = device_id + self.resolution = resolution or {"width": 640, "height": 480} + self.frame_rate = frame_rate + self.cap: cv2.VideoCapture | None = None + self._frame_time = 1.0 / frame_rate + + async def recv(self) -> Any: + """Receive the next video frame""" + if self.cap is None: + raise ValueError("Camera not initialized") + + # Calculate timing for consistent frame rate + start_time = time.time() + + # Capture frame + ret, frame = self.cap.read() + if not ret: + raise ValueError("Failed to capture frame from camera") + + # Convert BGR to RGB + frame_rgb = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB) + + # Create VideoFrame + av_frame = av.VideoFrame.from_ndarray(frame_rgb, format="rgb24") + av_frame.pts = self._get_next_pts() + av_frame.time_base = fractions.Fraction(1, 90000) + + # Maintain frame rate + elapsed = time.time() - start_time + sleep_time = max(0, self._frame_time - elapsed) + if sleep_time > 0: + await asyncio.sleep(sleep_time) + + return av_frame + + def _get_next_pts(self) -> int: + """Get the next presentation timestamp""" + if not hasattr(self, "_pts"): + self._pts = 0 + else: + self._pts += int( + 90000 / self.frame_rate + ) # 90000 is our time_base denominator + return self._pts + + async def start_capture(self) -> None: + """Start camera capture""" + if self.cap is not None: + return + + self.cap = cv2.VideoCapture(self.device_id) + if not self.cap.isOpened(): + raise ValueError(f"Cannot open camera device {self.device_id}") + + # Configure camera + self.cap.set(cv2.CAP_PROP_FRAME_WIDTH, self.resolution["width"]) + self.cap.set(cv2.CAP_PROP_FRAME_HEIGHT, self.resolution["height"]) + self.cap.set(cv2.CAP_PROP_FPS, self.frame_rate) + + # Verify actual settings + actual_width = int(self.cap.get(cv2.CAP_PROP_FRAME_WIDTH)) + actual_height = int(self.cap.get(cv2.CAP_PROP_FRAME_HEIGHT)) + actual_fps = self.cap.get(cv2.CAP_PROP_FPS) + + logger.info( + f"Camera initialized: {actual_width}x{actual_height} @ {actual_fps}fps" + ) + + async def stop_capture(self) -> None: + """Stop camera capture""" + if self.cap is not None: + self.cap.release() + self.cap = None + + +class CustomVideoTrack(VideoStreamTrack): + """Custom video track that accepts frames from a user-provided source""" + + def __init__( + self, + frame_source: Callable[[], Awaitable[np.ndarray | None]], + frame_rate: int = 30, + ): + super().__init__() + self.frame_source = frame_source + self.frame_rate = frame_rate + self._frame_time = 1.0 / frame_rate + + async def recv(self) -> Any: + """Receive the next video frame from the custom source""" + start_time = time.time() + + try: + # Get frame from source + frame_np = await self.frame_source() + + if frame_np is not None: + # Validate frame format + if len(frame_np.shape) != 3 or frame_np.shape[2] != 3: + logger.warning( + f"Invalid frame shape: {frame_np.shape}, expected (H, W, 3)" + ) + frame_np = np.zeros((480, 640, 3), dtype=np.uint8) + + # Create video frame directly from RGB data + frame = av.VideoFrame.from_ndarray(frame_np, format="rgb24") + frame.pts = self._get_next_pts() + frame.time_base = fractions.Fraction(1, self.frame_rate) + + else: + # No frame available - create a black frame + logger.debug("No frame from source, creating black frame") + black_frame = np.zeros((480, 640, 3), dtype=np.uint8) + frame = av.VideoFrame.from_ndarray(black_frame, format="rgb24") + frame.pts = self._get_next_pts() + frame.time_base = fractions.Fraction(1, self.frame_rate) + + # Maintain consistent frame rate + elapsed = time.time() - start_time + sleep_time = max(0, self._frame_time - elapsed) + if sleep_time > 0: + await asyncio.sleep(sleep_time) + + return frame + + except Exception as e: + logger.error(f"Error in custom video track recv: {e}") + # Return black frame on any error + black_frame = np.zeros((480, 640, 3), dtype=np.uint8) + frame = av.VideoFrame.from_ndarray(black_frame, format="rgb24") + frame.pts = self._get_next_pts() + frame.time_base = fractions.Fraction(1, self.frame_rate) + return frame + + def _get_next_pts(self) -> int: + """Get the next presentation timestamp""" + if not hasattr(self, "_pts"): + self._pts = 0 + else: + self._pts += int(90000 / self.frame_rate) + return self._pts + + +class VideoProducer(VideoClientCore): + """Producer client for video streaming in LeRobot Arena""" + + def __init__( + self, + base_url: str = "http://localhost:8000", + options: ClientOptions | None = None, + ): + super().__init__(base_url, options) + + # Multiple peer connections - one per consumer + self.consumer_connections: dict[str, Any] = {} + + # Video tracks + self.camera_track: CameraVideoTrack | None = None + self.custom_track: CustomVideoTrack | None = None + + # Event callbacks + self.on_status_update_callback: StatusUpdateCallback | None = None + self.on_stream_stats_callback: StreamStatsCallback | None = None + + # ============= PRODUCER CONNECTION ============= + + async def connect( + self, workspace_id: str, room_id: str, participant_id: str | None = None + ) -> bool: + """Connect to a room as producer""" + success = await self.connect_to_room( + workspace_id, room_id, ParticipantRole.PRODUCER, participant_id + ) + + if success: + logger.info("๐ŸŽฌ Connected as video producer") + # Check for existing consumers and initiate connections after a delay + asyncio.create_task(self._connect_to_existing_consumers()) + + return success + + async def _connect_to_existing_consumers(self) -> None: + """Connect to existing consumers in the room""" + await asyncio.sleep(1) # Give time for connection to stabilize + + if not self.workspace_id or not self.room_id: + return + + try: + room_info = await self.get_room_info(self.workspace_id, self.room_id) + for consumer_id in room_info.participants.consumers: + if consumer_id not in self.consumer_connections: + logger.info(f"๐Ÿ”„ Connecting to existing consumer {consumer_id}") + await self.initiate_webrtc_with_consumer(consumer_id) + except Exception as e: + logger.error(f"Failed to connect to existing consumers: {e}") + + async def _restart_connections_with_new_stream(self) -> None: + """Restart all connections with new stream tracks""" + logger.info("๐Ÿ”„ Restarting connections with new stream...") + + # Close all existing connections + for consumer_id, peer_connection in list(self.consumer_connections.items()): + await peer_connection.close() + logger.info(f"๐Ÿงน Closed existing connection to consumer {consumer_id}") + self.consumer_connections.clear() + + # Get current consumers and restart connections + try: + if self.workspace_id and self.room_id: + room_info = await self.get_room_info(self.workspace_id, self.room_id) + for consumer_id in room_info.participants.consumers: + logger.info( + f"๐Ÿ”„ Creating new connection to consumer {consumer_id}..." + ) + await self.initiate_webrtc_with_consumer(consumer_id) + except Exception as e: + logger.error(f"Failed to restart connections: {e}") + + def _create_peer_connection_for_consumer(self, consumer_id: str) -> Any: + """Create a peer connection for a specific consumer""" + from aiortc import RTCPeerConnection + + peer_connection = RTCPeerConnection() + + # Add current track if available + current_track = self.get_video_track() + if current_track: + peer_connection.addTrack(current_track) + + # Store the connection + self.consumer_connections[consumer_id] = peer_connection + + # Set up event handlers + @peer_connection.on("connectionstatechange") + async def on_connectionstatechange(): + state = peer_connection.connectionState + logger.info(f"๐Ÿ”Œ WebRTC connection state for {consumer_id}: {state}") + + if state in ["failed", "disconnected"]: + logger.warning( + f"โš ๏ธ Connection to {consumer_id} failed, attempting restart..." + ) + await asyncio.sleep(2) + await self._restart_connection_to_consumer(consumer_id) + + @peer_connection.on("icecandidate") + async def on_icecandidate(candidate): + if candidate and self.workspace_id and self.room_id and self.participant_id: + await self.send_webrtc_signal( + self.workspace_id, + self.room_id, + self.participant_id, + { + "type": "ice", + "candidate": { + "candidate": candidate.candidate, + "sdpMid": candidate.sdpMid, + "sdpMLineIndex": candidate.sdpMLineIndex, + }, + "target_consumer": consumer_id, + }, + ) + + return peer_connection + + async def _restart_connection_to_consumer(self, consumer_id: str) -> None: + """Restart connection to a consumer""" + logger.info(f"๐Ÿ”„ Restarting connection to consumer {consumer_id}") + await self.initiate_webrtc_with_consumer(consumer_id) + + def _handle_consumer_left(self, consumer_id: str) -> None: + """Handle consumer leaving - cleanup connection""" + if consumer_id in self.consumer_connections: + peer_connection = self.consumer_connections[consumer_id] + asyncio.create_task(peer_connection.close()) + del self.consumer_connections[consumer_id] + logger.info(f"๐Ÿงน Cleaned up peer connection for consumer {consumer_id}") + + # ============= PRODUCER METHODS ============= + + async def start_camera( + self, device_id: int = 0, constraints: dict[str, Any] | None = None + ) -> Any: + """Start camera streaming""" + if not self.connected: + raise ValueError("Must be connected to start camera") + + # Create camera track + resolution = None + if constraints and "video" in constraints: + video_constraints = constraints["video"] + if "width" in video_constraints and "height" in video_constraints: + resolution = { + "width": video_constraints["width"].get("ideal", 640), + "height": video_constraints["height"].get("ideal", 480), + } + + framerate = 30 + if ( + constraints + and "video" in constraints + and "frameRate" in constraints["video"] + ): + framerate = constraints["video"]["frameRate"].get("ideal", 30) + + self.camera_track = CameraVideoTrack(device_id, resolution, framerate) + await self.camera_track.start_capture() + + # Store as local stream and restart connections with new tracks + self.local_stream = self.camera_track + await self._restart_connections_with_new_stream() + + # Notify about stream start + await self._notify_stream_started() + + return self.camera_track + + async def start_screen_share(self) -> Any: + """Start screen sharing (placeholder - would need screen capture implementation)""" + if not self.connected: + raise ValueError("Must be connected to start screen share") + + # For now, create a simple pattern as a placeholder + async def screen_frame_source() -> np.ndarray | None: + # Create a simple animated pattern + frame = np.zeros((480, 640, 3), dtype=np.uint8) + t = time.time() + + # Create moving gradient + for y in range(480): + for x in range(640): + r = int(128 + 127 * np.sin(t + x * 0.01)) + g = int(128 + 127 * np.sin(t + y * 0.01 + 2)) + b = int(128 + 127 * np.sin(t + (x + y) * 0.005 + 4)) + frame[y, x] = [r, g, b] + + return frame + + self.custom_track = CustomVideoTrack(screen_frame_source, 30) + + # Store as local stream and restart connections with new tracks + self.local_stream = self.custom_track + await self._restart_connections_with_new_stream() + + # Notify about stream start + await self._notify_stream_started() + + logger.info("๐Ÿ“บ Screen share started and ready for consumers") + + return self.custom_track + + async def start_custom_stream( + self, frame_source: Callable[[], Awaitable[np.ndarray | None]] + ) -> Any: + """Start streaming from a custom frame source""" + if not self.connected: + raise ValueError("Must be connected to start custom stream") + + # Create custom track + self.custom_track = CustomVideoTrack(frame_source, 30) + + # Store as local stream and restart connections with new tracks + self.local_stream = self.custom_track + await self._restart_connections_with_new_stream() + + # Notify about stream start + await self._notify_stream_started() + + logger.info("๐Ÿ“บ Custom stream started and ready for consumers") + + return self.custom_track + + async def stop_streaming(self) -> None: + """Stop video streaming""" + if not self.connected or not self.websocket: + raise ValueError("Must be connected to stop streaming") + + # Close all consumer connections + for consumer_id, peer_connection in list(self.consumer_connections.items()): + await peer_connection.close() + logger.info(f"๐Ÿงน Closed connection to consumer {consumer_id}") + self.consumer_connections.clear() + + # Stop camera track + if self.camera_track: + await self.camera_track.stop_capture() + self.camera_track = None + + # Stop custom track + if self.custom_track: + self.custom_track = None + + # Stop local stream + self.stop_producing() + + # Notify about stream stop + await self._notify_stream_stopped() + + async def update_video_config(self, config: VideoConfig) -> None: + """Update video configuration""" + if not self.connected or not self.websocket: + raise ValueError("Must be connected to update video config") + + message = { + "type": "video_config_update", + "config": self._video_config_to_dict(config), + "timestamp": time.time(), + } + + await self.websocket.send(json.dumps(message)) + + async def send_emergency_stop(self, reason: str = "Emergency stop") -> None: + """Send emergency stop signal""" + if not self.connected or not self.websocket: + raise ValueError("Must be connected to send emergency stop") + + message = {"type": "emergency_stop", "reason": reason, "timestamp": time.time()} + + await self.websocket.send(json.dumps(message)) + + # ============= WEBRTC NEGOTIATION ============= + + async def initiate_webrtc_with_consumer(self, consumer_id: str) -> None: + """Initiate WebRTC connection with a consumer""" + if not self.workspace_id or not self.room_id or not self.participant_id: + logger.warning("WebRTC not ready, skipping negotiation with consumer") + return + + # Clean up existing connection if any + if consumer_id in self.consumer_connections: + existing_conn = self.consumer_connections[consumer_id] + await existing_conn.close() + del self.consumer_connections[consumer_id] + + try: + logger.info(f"๐Ÿ”„ Creating WebRTC offer for consumer {consumer_id}...") + + # Create a new peer connection specifically for this consumer + peer_connection = self._create_peer_connection_for_consumer(consumer_id) + + # Create offer with this consumer's peer connection + offer = await peer_connection.createOffer() + await peer_connection.setLocalDescription(offer) + + logger.info(f"๐Ÿ“ค Sending WebRTC offer to consumer {consumer_id}...") + + # Send offer to server/consumer + await self.send_webrtc_signal( + self.workspace_id, + self.room_id, + self.participant_id, + { + "type": offer.type, + "sdp": offer.sdp, + "target_consumer": consumer_id, + }, + ) + + logger.info(f"โœ… WebRTC offer sent to consumer {consumer_id}") + except Exception as e: + logger.error(f"Failed to initiate WebRTC with consumer {consumer_id}: {e}") + + async def handle_webrtc_answer( + self, answer_data: dict[str, Any], from_consumer: str + ) -> None: + """Handle WebRTC answer from consumer""" + try: + logger.info(f"๐Ÿ“ฅ Received WebRTC answer from consumer {from_consumer}") + + peer_connection = self.consumer_connections.get(from_consumer) + if not peer_connection: + logger.warning(f"No peer connection found for consumer {from_consumer}") + return + + # Set remote description on the correct peer connection + answer = RTCSessionDescription( + sdp=answer_data["sdp"], type=answer_data["type"] + ) + await peer_connection.setRemoteDescription(answer) + + logger.info( + f"โœ… WebRTC negotiation completed with consumer {from_consumer}" + ) + except Exception as e: + logger.error(f"Failed to handle WebRTC answer from {from_consumer}: {e}") + if self.on_error_callback: + self.on_error_callback(f"Failed to handle WebRTC answer: {e}") + + async def handle_webrtc_ice( + self, ice_data: dict[str, Any], from_consumer: str + ) -> None: + """Handle WebRTC ICE candidate from consumer""" + try: + if not from_consumer: + logger.warning("No consumer ID in ICE message") + return + + peer_connection = self.consumer_connections.get(from_consumer) + if not peer_connection: + logger.warning(f"No peer connection found for consumer {from_consumer}") + return + + logger.info(f"๐Ÿ“ฅ Received WebRTC ICE from consumer {from_consumer}") + + # Parse ICE candidate string and create RTCIceCandidate + candidate_str = ice_data["candidate"] + parts = candidate_str.split() + + if len(parts) >= 8: + candidate = RTCIceCandidate( + component=int(parts[1]), + foundation=parts[0].split(":")[1], # Remove "candidate:" prefix + ip=parts[4], + port=int(parts[5]), + priority=int(parts[3]), + protocol=parts[2], + type=parts[7], # typ value + sdpMid=ice_data.get("sdpMid"), + sdpMLineIndex=ice_data.get("sdpMLineIndex"), + ) + else: + logger.warning(f"Invalid ICE candidate format: {candidate_str}") + return + + await peer_connection.addIceCandidate(candidate) + + logger.info(f"โœ… WebRTC ICE handled with consumer {from_consumer}") + except Exception as e: + logger.error(f"Failed to handle WebRTC ICE from {from_consumer}: {e}") + if self.on_error_callback: + self.on_error_callback(f"Failed to handle WebRTC ICE: {e}") + + # ============= EVENT CALLBACKS ============= + + def on_status_update(self, callback: StatusUpdateCallback) -> None: + """Set callback for status updates""" + self.on_status_update_callback = callback + + def on_stream_stats(self, callback: StreamStatsCallback) -> None: + """Set callback for stream statistics""" + self.on_stream_stats_callback = callback + + # ============= MESSAGE HANDLING ============= + + async def _handle_role_specific_message(self, data: dict[str, Any]) -> None: + """Handle producer-specific messages""" + msg_type = data.get("type") + + if msg_type == "participant_joined": + # Check if this is a consumer joining + if ( + data.get("role") == "consumer" + and data.get("participant_id") != self.participant_id + ): + consumer_id = data.get("participant_id") + logger.info(f"๐ŸŽฏ Consumer {consumer_id} joined, initiating WebRTC...") + await self.initiate_webrtc_with_consumer(consumer_id) + elif msg_type == "participant_left": + # Check if this is a consumer leaving + if data.get("role") == "consumer": + consumer_id = data.get("participant_id") + logger.info(f"๐Ÿ‘‹ Consumer {consumer_id} left room") + self._handle_consumer_left(consumer_id) + elif msg_type == "webrtc_answer": + await self.handle_webrtc_answer( + data.get("answer", {}), data.get("from_consumer", "") + ) + elif msg_type == "webrtc_ice": + await self.handle_webrtc_ice( + data.get("candidate", {}), data.get("from_consumer", "") + ) + elif msg_type == "status_update": + await self._handle_status_update(data) + elif msg_type == "stream_stats": + await self._handle_stream_stats(data) + elif msg_type == "emergency_stop": + logger.warning(f"Emergency stop: {data.get('reason', 'Unknown reason')}") + if self.on_error_callback: + self.on_error_callback( + f"Emergency stop: {data.get('reason', 'Unknown reason')}" + ) + else: + logger.warning(f"Unknown message type for producer: {msg_type}") + + async def _handle_status_update(self, data: dict[str, Any]) -> None: + """Handle status update message""" + if self.on_status_update_callback: + status = data.get("status", "") + status_data = data.get("data") + self.on_status_update_callback(status, status_data) + + async def _handle_stream_stats(self, data: dict[str, Any]) -> None: + """Handle stream stats message""" + if self.on_stream_stats_callback: + from .types import StreamStats + + stats_data = data.get("stats", {}) + stats = StreamStats( + stream_id=stats_data.get("stream_id", ""), + duration_seconds=stats_data.get("duration_seconds", 0.0), + frame_count=stats_data.get("frame_count", 0), + total_bytes=stats_data.get("total_bytes", 0), + average_fps=stats_data.get("average_fps", 0.0), + average_bitrate=stats_data.get("average_bitrate", 0.0), + ) + self.on_stream_stats_callback(stats) + + # ============= UTILITY METHODS ============= + + async def _notify_stream_started(self) -> None: + """Notify server about stream start""" + if not self.websocket: + return + + config = { + "resolution": self.webrtc_config.resolution, + "framerate": self.webrtc_config.framerate, + "bitrate": self.webrtc_config.bitrate, + } + + message = { + "type": "stream_started", + "config": config, + "participant_id": self.participant_id, + "timestamp": time.time(), + } + + await self.websocket.send(json.dumps(message)) + + async def _notify_stream_stopped(self) -> None: + """Notify server about stream stop""" + if not self.websocket: + return + + message = { + "type": "stream_stopped", + "participant_id": self.participant_id, + "timestamp": time.time(), + } + + await self.websocket.send(json.dumps(message)) + + def get_video_track(self) -> VideoStreamTrack | None: + """Get the current video track""" + return self.camera_track or self.custom_track + + @staticmethod + async def create_and_connect( + base_url: str = "http://localhost:8000", + workspace_id: str | None = None, + room_id: str | None = None, + participant_id: str | None = None, + ) -> "VideoProducer": + """Create a room and automatically connect as producer""" + producer = VideoProducer(base_url) + + workspace_id, room_id = await producer.create_room(workspace_id, room_id) + connected = await producer.connect(workspace_id, room_id, participant_id) + + if not connected: + raise ValueError("Failed to connect as video producer") + + return producer + + @property + def current_room_id(self) -> str | None: + """Get the current room ID""" + return self.room_id + + async def get_camera_devices(self) -> list[dict[str, Any]]: + """Get available camera devices""" + devices = [] + + # Test up to 10 camera devices + for device_id in range(10): + cap = cv2.VideoCapture(device_id) + if cap.isOpened(): + # Get device info + width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)) + height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)) + fps = cap.get(cv2.CAP_PROP_FPS) + + devices.append({ + "device_id": device_id, + "name": f"Camera {device_id}", + "resolution": {"width": width, "height": height}, + "fps": fps, + }) + cap.release() + + return devices diff --git a/client/python/src/lerobot_arena_client/video/types.py b/client/python/src/lerobot_arena_client/video/types.py new file mode 100644 index 0000000000000000000000000000000000000000..fef749a8c8d8ce97316d5b9fdfa0ad728a0b4b80 --- /dev/null +++ b/client/python/src/lerobot_arena_client/video/types.py @@ -0,0 +1,410 @@ +""" +Type definitions for LeRobot Arena Video Client +Fully synchronized with server-side models and JavaScript client +""" + +import time +from collections.abc import Callable +from dataclasses import dataclass +from enum import Enum +from typing import Any, Union + +# ============= CORE TYPES ============= + + +class ParticipantRole(Enum): + PRODUCER = "producer" + CONSUMER = "consumer" + + +class MessageType(Enum): + FRAME_UPDATE = "frame_update" + VIDEO_CONFIG_UPDATE = "video_config_update" + STREAM_STARTED = "stream_started" + STREAM_STOPPED = "stream_stopped" + RECOVERY_TRIGGERED = "recovery_triggered" + HEARTBEAT = "heartbeat" + HEARTBEAT_ACK = "heartbeat_ack" + EMERGENCY_STOP = "emergency_stop" + JOINED = "joined" + ERROR = "error" + PARTICIPANT_JOINED = "participant_joined" + PARTICIPANT_LEFT = "participant_left" + WEBRTC_OFFER = "webrtc_offer" + WEBRTC_ANSWER = "webrtc_answer" + WEBRTC_ICE = "webrtc_ice" + STATUS_UPDATE = "status_update" + STREAM_STATS = "stream_stats" + + +# ============= VIDEO CONFIGURATION ============= + + +@dataclass +class Resolution: + width: int + height: int + + +class VideoEncoding(Enum): + JPEG = "jpeg" + H264 = "h264" + VP8 = "vp8" + VP9 = "vp9" + + +class RecoveryPolicy(Enum): + FREEZE_LAST_FRAME = "freeze_last_frame" + CONNECTION_INFO = "connection_info" + BLACK_SCREEN = "black_screen" + FADE_TO_BLACK = "fade_to_black" + OVERLAY_STATUS = "overlay_status" + + +@dataclass +class VideoConfig: + encoding: VideoEncoding | None = None + resolution: Resolution | None = None + framerate: int | None = None + bitrate: int | None = None + quality: int | None = None + + +@dataclass +class RecoveryConfig: + frame_timeout_ms: int | None = None + max_frame_reuse_count: int | None = None + recovery_policy: RecoveryPolicy | None = None + fallback_policy: RecoveryPolicy | None = None + show_hold_indicators: bool | None = None + info_frame_bg_color: list[int] | None = None + info_frame_text_color: list[int] | None = None + fade_intensity: float | None = None + overlay_opacity: float | None = None + + +# ============= DATA STRUCTURES ============= + + +@dataclass +class FrameData: + data: bytes + metadata: dict[str, Any] | None = None + + +@dataclass +class StreamStats: + stream_id: str + duration_seconds: float + frame_count: int + total_bytes: int + average_fps: float + average_bitrate: float + + +@dataclass +class ParticipantInfo: + producer: str | None + consumers: list[str] + total: int + + +@dataclass +class RoomInfo: + id: str + workspace_id: str + participants: ParticipantInfo + frame_count: int + config: VideoConfig + has_producer: bool + active_consumers: int + + +@dataclass +class RoomState: + room_id: str + workspace_id: str + participants: ParticipantInfo + frame_count: int + last_frame_time: str | None + current_config: VideoConfig + timestamp: str + + +@dataclass +class ConnectionInfo: + connected: bool + workspace_id: str | None + room_id: str | None + role: ParticipantRole | None + participant_id: str | None + base_url: str + + +# ============= MESSAGE TYPES ============= + + +@dataclass +class BaseMessage: + type: MessageType + timestamp: str | None = None + + def __post_init__(self): + if self.timestamp is None: + self.timestamp = time.time() + + +@dataclass +class FrameUpdateMessage(BaseMessage): + data: bytes = b"" + metadata: dict[str, Any] | None = None + + +@dataclass +class VideoConfigUpdateMessage(BaseMessage): + config: VideoConfig | None = None + source: str | None = None + + +@dataclass +class StreamStartedMessage(BaseMessage): + config: VideoConfig | None = None + participant_id: str = "" + + +@dataclass +class StreamStoppedMessage(BaseMessage): + participant_id: str = "" + reason: str | None = None + + +@dataclass +class RecoveryTriggeredMessage(BaseMessage): + policy: RecoveryPolicy = RecoveryPolicy.FREEZE_LAST_FRAME + reason: str = "" + + +@dataclass +class EmergencyStopMessage(BaseMessage): + reason: str = "" + source: str | None = None + + +@dataclass +class JoinedMessage(BaseMessage): + room_id: str = "" + role: ParticipantRole = ParticipantRole.CONSUMER + + +@dataclass +class ErrorMessage(BaseMessage): + message: str = "" + code: str | None = None + + +@dataclass +class ParticipantJoinedMessage(BaseMessage): + room_id: str = "" + participant_id: str = "" + role: ParticipantRole = ParticipantRole.CONSUMER + + +@dataclass +class ParticipantLeftMessage(BaseMessage): + room_id: str = "" + participant_id: str = "" + role: ParticipantRole = ParticipantRole.CONSUMER + + +@dataclass +class WebRTCOfferMessage(BaseMessage): + offer: dict[str, Any] | None = None + from_producer: str = "" + + +@dataclass +class WebRTCAnswerMessage(BaseMessage): + answer: dict[str, Any] | None = None + from_consumer: str = "" + + +@dataclass +class WebRTCIceMessage(BaseMessage): + candidate: dict[str, Any] | None = None + from_producer: str | None = None + from_consumer: str | None = None + + +@dataclass +class StatusUpdateMessage(BaseMessage): + status: str = "" + data: dict[str, Any] | None = None + + +@dataclass +class StreamStatsMessage(BaseMessage): + stats: StreamStats | None = None + + +# Union type for all WebSocket messages +WebSocketMessage = Union[ + FrameUpdateMessage, + VideoConfigUpdateMessage, + StreamStartedMessage, + StreamStoppedMessage, + RecoveryTriggeredMessage, + EmergencyStopMessage, + JoinedMessage, + ErrorMessage, + ParticipantJoinedMessage, + ParticipantLeftMessage, + WebRTCOfferMessage, + WebRTCAnswerMessage, + WebRTCIceMessage, + StatusUpdateMessage, + StreamStatsMessage, +] + + +# ============= API RESPONSE TYPES ============= + + +@dataclass +class ApiResponse: + success: bool + data: Any | None = None + error: str | None = None + message: str | None = None + + +@dataclass +class ListRoomsResponse: + success: bool + workspace_id: str + rooms: list[RoomInfo] + total: int + + +@dataclass +class CreateRoomResponse: + success: bool + workspace_id: str + room_id: str + message: str + + +@dataclass +class GetRoomResponse: + success: bool + workspace_id: str + room: RoomInfo + + +@dataclass +class GetRoomStateResponse: + success: bool + workspace_id: str + state: RoomState + + +@dataclass +class DeleteRoomResponse: + success: bool + workspace_id: str + message: str + + +@dataclass +class WebRTCSignalResponse: + success: bool + workspace_id: str + response: dict[str, Any] | None = None + message: str | None = None + + +# ============= REQUEST TYPES ============= + + +@dataclass +class CreateRoomRequest: + room_id: str | None = None + workspace_id: str | None = None + name: str | None = None + config: VideoConfig | None = None + recovery_config: RecoveryConfig | None = None + max_consumers: int | None = None + + +@dataclass +class WebRTCSignalRequest: + client_id: str + message: dict[str, Any] + + +@dataclass +class JoinMessage: + participant_id: str + role: ParticipantRole + + +# ============= WEBRTC TYPES ============= + + +@dataclass +class WebRTCConfig: + ice_servers: list[dict[str, Any]] | None = None + constraints: dict[str, Any] | None = None + bitrate: int | None = None + framerate: int | None = None + resolution: Resolution | None = None + codec_preferences: list[str] | None = None + + +@dataclass +class WebRTCStats: + video_bits_per_second: float + frames_per_second: float + frame_width: int + frame_height: int + packets_lost: int + total_packets: int + + +# ============= EVENT CALLBACK TYPES ============= + +FrameUpdateCallback = Callable[[FrameData], None] +VideoConfigUpdateCallback = Callable[[VideoConfig], None] +StreamStartedCallback = Callable[[VideoConfig, str], None] +StreamStoppedCallback = Callable[[str, str | None], None] +RecoveryTriggeredCallback = Callable[[RecoveryPolicy, str], None] +StatusUpdateCallback = Callable[[str, dict[str, Any] | None], None] +StreamStatsCallback = Callable[[StreamStats], None] +ErrorCallback = Callable[[str], None] +ConnectedCallback = Callable[[], None] +DisconnectedCallback = Callable[[], None] + + +# ============= CLIENT OPTIONS ============= + + +@dataclass +class ClientOptions: + base_url: str | None = None + timeout: float | None = None + reconnect_attempts: int | None = None + heartbeat_interval: float | None = None + webrtc_config: WebRTCConfig | None = None + + +# ============= DEFAULTS ============= + +DEFAULT_RESOLUTION = Resolution(width=640, height=480) +DEFAULT_VIDEO_CONFIG = VideoConfig( + resolution=DEFAULT_RESOLUTION, + framerate=30, + bitrate=1000000, + encoding=VideoEncoding.VP8, +) +DEFAULT_CLIENT_OPTIONS = ClientOptions( + timeout=5.0, reconnect_attempts=3, heartbeat_interval=30.0 +) diff --git a/client/python/test_ai_camera.py b/client/python/test_ai_camera.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/client/python/tests/README.md b/client/python/tests/README.md new file mode 100644 index 0000000000000000000000000000000000000000..6d957adad29aea2a21cffe322ebfbfb9f13de73e --- /dev/null +++ b/client/python/tests/README.md @@ -0,0 +1,243 @@ +# Integration Tests for LeRobot Arena Python Client + +Comprehensive integration tests for the LeRobot Arena Python client library. + +## Prerequisites + +1. **Server Running**: Make sure the LeRobot Arena server is running on `http://localhost:8000` +2. **Dependencies**: Install test dependencies: + ```bash + pip install -e ".[dev]" + ``` + +## Running Tests + +### Quick Start +```bash +# Run all tests +python run_tests.py + +# Or use pytest directly +pytest -v +``` + +### Specific Test Categories +```bash +# REST API tests only +pytest tests/test_rest_api.py -v + +# Producer tests only +pytest tests/test_producer.py -v + +# Consumer tests only +pytest tests/test_consumer.py -v + +# Factory function tests only +pytest tests/test_factory_functions.py -v + +# End-to-end integration tests only +pytest tests/test_integration.py -v +``` + +### Advanced Options +```bash +# Run tests with detailed output +pytest -v -s + +# Run specific test +pytest tests/test_producer.py::TestRoboticsProducer::test_send_joint_update -v + +# Run tests matching pattern +pytest -k "producer" -v + +# Stop on first failure +pytest -x +``` + +## Test Structure + +### `test_rest_api.py` +- Room creation and deletion +- Listing rooms +- Getting room state and info +- Error handling for nonexistent rooms + +### `test_producer.py` +- Producer connection and disconnection +- Sending joint updates and state sync +- Emergency stop functionality +- Event callbacks +- Error conditions and validation +- Context manager support +- Multiple room handling + +### `test_consumer.py` +- Consumer connection and disconnection +- Receiving joint updates and state sync +- Event callbacks and message handling +- Multiple consumers per room +- State synchronization +- Error propagation + +### `test_factory_functions.py` +- `create_client()` factory function +- `create_producer_client()` convenience function +- `create_consumer_client()` convenience function +- Parameter validation +- Auto room creation +- Error handling + +### `test_integration.py` +- End-to-end producer-consumer workflows +- Multiple consumers receiving same messages +- Emergency stop propagation +- Producer reconnection scenarios +- Late-joining consumers +- High-frequency update handling +- Room state persistence + +## Test Fixtures + +### Core Fixtures +- `producer`: Clean RoboticsProducer instance +- `consumer`: Clean RoboticsConsumer instance +- `test_room`: Auto-created and cleaned up room +- `connected_producer`: Producer connected to test room +- `connected_consumer`: Consumer connected to test room +- `producer_consumer_pair`: Connected producer and consumer pair + +## Test Coverage + +The test suite covers: + +โœ… **REST API Operations** +- โœ… Room CRUD operations +- โœ… State and info retrieval +- โœ… Error handling + +โœ… **WebSocket Communication** +- โœ… Connection establishment +- โœ… Message sending/receiving +- โœ… Connection cleanup + +โœ… **Producer Functionality** +- โœ… Joint updates and state sync +- โœ… Emergency stop +- โœ… Heartbeat +- โœ… Event callbacks + +โœ… **Consumer Functionality** +- โœ… Message reception +- โœ… State synchronization +- โœ… Event callbacks +- โœ… Multiple consumer support + +โœ… **Factory Functions** +- โœ… Client creation +- โœ… Auto room creation +- โœ… Parameter validation + +โœ… **Edge Cases** +- โœ… Network disconnections +- โœ… Invalid parameters +- โœ… Nonexistent rooms +- โœ… Duplicate connections +- โœ… High-frequency updates + +โœ… **Integration Scenarios** +- โœ… Full producer-consumer workflows +- โœ… Multi-consumer broadcasting +- โœ… Emergency stop propagation +- โœ… Reconnection handling +- โœ… Late consumer joining + +## Running Individual Test Categories + +Each test file can be run independently: + +```bash +# Test basic REST operations +pytest tests/test_rest_api.py + +# Test producer functionality +pytest tests/test_producer.py + +# Test consumer functionality +pytest tests/test_consumer.py + +# Test factory functions +pytest tests/test_factory_functions.py + +# Test end-to-end scenarios +pytest tests/test_integration.py +``` + +## Debugging Tests + +For debugging failed tests: + +```bash +# Run with full output +pytest -v -s --tb=long + +# Run single test with debugging +pytest tests/test_producer.py::TestRoboticsProducer::test_send_joint_update -v -s + +# Use pdb for interactive debugging +pytest --pdb +``` + +## Expected Test Results + +When all tests pass, you should see output like: + +``` +๐Ÿงช Running LeRobot Arena Python Client Integration Tests +============================================================ +โš ๏ธ Make sure the server is running on http://localhost:8000 + +========================= test session starts ========================= +collected 45+ items + +tests/test_rest_api.py::TestRestAPI::test_list_rooms_empty PASSED +tests/test_rest_api.py::TestRestAPI::test_create_room PASSED +... +tests/test_integration.py::TestIntegration::test_high_frequency_updates PASSED + +========================= 45+ passed in X.XXs ========================= + +โœ… All tests passed! +``` + +## Troubleshooting + +### Common Issues + +1. **Server Not Running** + ``` + ConnectionRefusedError: [Errno 61] Connection refused + ``` + **Solution**: Start the LeRobot Arena server on `http://localhost:8000` + +2. **WebSocket Connection Timeout** + ``` + TimeoutError: WebSocket connection timeout + ``` + **Solution**: Check server health and network connectivity + +3. **Test Timing Issues** + - Some tests may be sensitive to timing + - Increase sleep durations in tests if needed + - Run tests on a faster machine if possible + +4. **Port Conflicts** + - Make sure port 8000 is available + - Update `TEST_SERVER_URL` in `conftest.py` if using different port + +### Getting Help + +If tests fail consistently: +1. Check server logs for errors +2. Run individual test files to isolate issues +3. Use verbose output (`-v -s`) to see detailed information +4. Check network connectivity and firewall settings \ No newline at end of file diff --git a/client/python/tests/__pycache__/__init__.cpython-312.pyc b/client/python/tests/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5441ff1b3751c3123be87f579e98cc4b90e8bc93 Binary files /dev/null and b/client/python/tests/__pycache__/__init__.cpython-312.pyc differ diff --git a/client/python/tests/__pycache__/conftest.cpython-312-pytest-8.4.0.pyc b/client/python/tests/__pycache__/conftest.cpython-312-pytest-8.4.0.pyc new file mode 100644 index 0000000000000000000000000000000000000000..56d7f07b7cda1dcfa52473fb31f91e6b2ae0114e Binary files /dev/null and b/client/python/tests/__pycache__/conftest.cpython-312-pytest-8.4.0.pyc differ diff --git a/client/python/tests/__pycache__/test_consumer.cpython-312-pytest-8.4.0.pyc b/client/python/tests/__pycache__/test_consumer.cpython-312-pytest-8.4.0.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b16163138e50e392000ecc652dff7135e8dbfd7c Binary files /dev/null and b/client/python/tests/__pycache__/test_consumer.cpython-312-pytest-8.4.0.pyc differ diff --git a/client/python/tests/__pycache__/test_factory_functions.cpython-312-pytest-8.4.0.pyc b/client/python/tests/__pycache__/test_factory_functions.cpython-312-pytest-8.4.0.pyc new file mode 100644 index 0000000000000000000000000000000000000000..350960091f82b214b5f25b3182c5189d8ca5dde7 Binary files /dev/null and b/client/python/tests/__pycache__/test_factory_functions.cpython-312-pytest-8.4.0.pyc differ diff --git a/client/python/tests/__pycache__/test_integration.cpython-312-pytest-8.4.0.pyc b/client/python/tests/__pycache__/test_integration.cpython-312-pytest-8.4.0.pyc new file mode 100644 index 0000000000000000000000000000000000000000..bf42a32184761c79dcf060a8636af706feee243a Binary files /dev/null and b/client/python/tests/__pycache__/test_integration.cpython-312-pytest-8.4.0.pyc differ diff --git a/client/python/tests/__pycache__/test_producer.cpython-312-pytest-8.4.0.pyc b/client/python/tests/__pycache__/test_producer.cpython-312-pytest-8.4.0.pyc new file mode 100644 index 0000000000000000000000000000000000000000..96c450c15ce24b49c6b90ee88ec27a7f30e8dbc9 Binary files /dev/null and b/client/python/tests/__pycache__/test_producer.cpython-312-pytest-8.4.0.pyc differ diff --git a/client/python/tests/__pycache__/test_rest_api.cpython-312-pytest-8.4.0.pyc b/client/python/tests/__pycache__/test_rest_api.cpython-312-pytest-8.4.0.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7ff3db0dfa3e24da355c2f90a5dead7b7103aa4b Binary files /dev/null and b/client/python/tests/__pycache__/test_rest_api.cpython-312-pytest-8.4.0.pyc differ diff --git a/client/python/tests/__pycache__/test_video_client.cpython-312-pytest-8.4.0.pyc b/client/python/tests/__pycache__/test_video_client.cpython-312-pytest-8.4.0.pyc new file mode 100644 index 0000000000000000000000000000000000000000..181ce562b61eb5aa4bd266294a9b5068cd205fca Binary files /dev/null and b/client/python/tests/__pycache__/test_video_client.cpython-312-pytest-8.4.0.pyc differ diff --git a/client/python/tests/__pycache__/test_video_producer.cpython-312-pytest-8.4.0.pyc b/client/python/tests/__pycache__/test_video_producer.cpython-312-pytest-8.4.0.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e84888f995ce1a437403ce97448d2f025634fbeb Binary files /dev/null and b/client/python/tests/__pycache__/test_video_producer.cpython-312-pytest-8.4.0.pyc differ diff --git a/client/python/tests/conftest.py b/client/python/tests/conftest.py new file mode 100644 index 0000000000000000000000000000000000000000..ec15d0333fab7d3a4cbd3b2b633a55b7f21e4fdd --- /dev/null +++ b/client/python/tests/conftest.py @@ -0,0 +1,68 @@ +import asyncio + +import pytest +import pytest_asyncio +from lerobot_arena_client import RoboticsConsumer, RoboticsProducer + +# Default server URL for tests +TEST_SERVER_URL = "http://localhost:8000" + + +@pytest.fixture(scope="session") +def event_loop(): + """Create an instance of the default event loop for the test session.""" + loop = asyncio.get_event_loop_policy().new_event_loop() + yield loop + loop.close() + + +@pytest_asyncio.fixture +async def producer(): + """Create a RoboticsProducer instance for testing.""" + client = RoboticsProducer(TEST_SERVER_URL) + yield client + if client.is_connected(): + await client.disconnect() + + +@pytest_asyncio.fixture +async def consumer(): + """Create a RoboticsConsumer instance for testing.""" + client = RoboticsConsumer(TEST_SERVER_URL) + yield client + if client.is_connected(): + await client.disconnect() + + +@pytest_asyncio.fixture +async def test_room(producer): + """Create a test room and clean up after test.""" + room_id = await producer.create_room() + yield room_id + # Cleanup: delete the room after test + try: + await producer.delete_room(room_id) + except Exception: + pass # Room might already be deleted + + +@pytest_asyncio.fixture +async def connected_producer(producer, test_room): + """Create a connected producer in a test room.""" + await producer.connect(test_room) + yield producer, test_room + + +@pytest_asyncio.fixture +async def connected_consumer(consumer, test_room): + """Create a connected consumer in a test room.""" + await consumer.connect(test_room) + yield consumer, test_room + + +@pytest_asyncio.fixture +async def producer_consumer_pair(producer, consumer, test_room): + """Create a connected producer-consumer pair in the same room.""" + await producer.connect(test_room) + await consumer.connect(test_room) + yield producer, consumer, test_room diff --git a/client/python/tests/test_consumer.py b/client/python/tests/test_consumer.py new file mode 100644 index 0000000000000000000000000000000000000000..bc9f1212cd5db3b9b31df625f1842d686bc01e42 --- /dev/null +++ b/client/python/tests/test_consumer.py @@ -0,0 +1,300 @@ +import asyncio + +import pytest +from lerobot_arena_client import RoboticsConsumer + + +class TestRoboticsConsumer: + """Test RoboticsConsumer functionality.""" + + @pytest.mark.asyncio + async def test_consumer_connection(self, consumer, test_room): + """Test basic consumer connection.""" + assert not consumer.is_connected() + + success = await consumer.connect(test_room) + assert success is True + assert consumer.is_connected() + assert consumer.room_id == test_room + assert consumer.role == "consumer" + + await consumer.disconnect() + assert not consumer.is_connected() + + @pytest.mark.asyncio + async def test_consumer_connection_info(self, connected_consumer): + """Test getting connection information.""" + consumer, room_id = connected_consumer + + info = consumer.get_connection_info() + assert info["connected"] is True + assert info["room_id"] == room_id + assert info["role"] == "consumer" + assert info["participant_id"] is not None + assert info["base_url"] == "http://localhost:8000" + + @pytest.mark.asyncio + async def test_get_state_sync(self, connected_consumer): + """Test getting current state synchronously.""" + consumer, room_id = connected_consumer + + state = await consumer.get_state_sync() + assert isinstance(state, dict) + # Initial state should be empty + assert len(state) == 0 + + @pytest.mark.asyncio + async def test_consumer_callbacks_setup(self, consumer, test_room): + """Test setting up consumer callbacks.""" + state_sync_called = False + joint_update_called = False + error_called = False + connected_called = False + disconnected_called = False + + def on_state_sync(state): + nonlocal state_sync_called + state_sync_called = True + + def on_joint_update(joints): + nonlocal joint_update_called + joint_update_called = True + + def on_error(error): + nonlocal error_called + error_called = True + + def on_connected(): + nonlocal connected_called + connected_called = True + + def on_disconnected(): + nonlocal disconnected_called + disconnected_called = True + + # Set all callbacks + consumer.on_state_sync(on_state_sync) + consumer.on_joint_update(on_joint_update) + consumer.on_error(on_error) + consumer.on_connected(on_connected) + consumer.on_disconnected(on_disconnected) + + # Connect and test connection callbacks + await consumer.connect(test_room) + await asyncio.sleep(0.1) + assert connected_called is True + + await consumer.disconnect() + await asyncio.sleep(0.1) + assert disconnected_called is True + + @pytest.mark.asyncio + async def test_multiple_consumers(self, test_room): + """Test multiple consumers connecting to same room.""" + consumer1 = RoboticsConsumer("http://localhost:8000") + consumer2 = RoboticsConsumer("http://localhost:8000") + + try: + # Both consumers should be able to connect + success1 = await consumer1.connect(test_room) + success2 = await consumer2.connect(test_room) + + assert success1 is True + assert success2 is True + assert consumer1.is_connected() + assert consumer2.is_connected() + + finally: + if consumer1.is_connected(): + await consumer1.disconnect() + if consumer2.is_connected(): + await consumer2.disconnect() + + @pytest.mark.asyncio + async def test_consumer_receive_state_sync(self, producer_consumer_pair): + """Test consumer receiving state sync from producer.""" + producer, consumer, room_id = producer_consumer_pair + + received_states = [] + received_updates = [] + + def on_state_sync(state): + received_states.append(state) + + def on_joint_update(joints): + received_updates.append(joints) + + consumer.on_state_sync(on_state_sync) + consumer.on_joint_update(on_joint_update) + + # Give some time for connection to stabilize + await asyncio.sleep(0.1) + + # Producer sends state sync (which gets converted to joint updates) + await producer.send_state_sync({"shoulder": 45.0, "elbow": -20.0}) + + # Wait for message to be received + await asyncio.sleep(0.2) + + # Consumer should have received the joint updates from the state sync + # The initial state sync during connection might be empty, so we check for joint updates + assert len(received_updates) >= 1 + + @pytest.mark.asyncio + async def test_consumer_receive_joint_updates(self, producer_consumer_pair): + """Test consumer receiving joint updates from producer.""" + producer, consumer, room_id = producer_consumer_pair + + received_updates = [] + + def on_joint_update(joints): + received_updates.append(joints) + + consumer.on_joint_update(on_joint_update) + + # Give some time for connection to stabilize + await asyncio.sleep(0.1) + + # Producer sends joint updates + test_joints = [ + {"name": "shoulder", "value": 45.0}, + {"name": "elbow", "value": -20.0}, + ] + await producer.send_joint_update(test_joints) + + # Wait for message to be received + await asyncio.sleep(0.2) + + # Consumer should have received the joint update + assert len(received_updates) >= 1 + if received_updates: + received_joints = received_updates[-1] + assert isinstance(received_joints, list) + assert len(received_joints) == 2 + + @pytest.mark.asyncio + async def test_consumer_multiple_updates(self, producer_consumer_pair): + """Test consumer receiving multiple updates.""" + producer, consumer, room_id = producer_consumer_pair + + received_updates = [] + + def on_joint_update(joints): + received_updates.append(joints) + + consumer.on_joint_update(on_joint_update) + + # Give some time for connection to stabilize + await asyncio.sleep(0.1) + + # Send multiple updates + for i in range(5): + await producer.send_state_sync({ + "joint1": float(i * 10), + "joint2": float(i * -5), + }) + await asyncio.sleep(0.05) + + # Wait for all messages to be received + await asyncio.sleep(0.3) + + # Should have received multiple updates + assert len(received_updates) >= 3 + + @pytest.mark.asyncio + async def test_consumer_emergency_stop(self, producer_consumer_pair): + """Test consumer receiving emergency stop.""" + producer, consumer, room_id = producer_consumer_pair + + received_errors = [] + + def on_error(error): + received_errors.append(error) + + consumer.on_error(on_error) + + # Give some time for connection to stabilize + await asyncio.sleep(0.1) + + # Producer sends emergency stop + await producer.send_emergency_stop("Test emergency stop") + + # Wait for message to be received + await asyncio.sleep(0.2) + + # Consumer should have received emergency stop as error + assert len(received_errors) >= 1 + if received_errors: + assert "emergency stop" in received_errors[-1].lower() + + @pytest.mark.asyncio + async def test_custom_participant_id(self, consumer, test_room): + """Test connecting with custom participant ID.""" + custom_id = "custom-consumer-456" + + await consumer.connect(test_room, participant_id=custom_id) + + info = consumer.get_connection_info() + assert info["participant_id"] == custom_id + + @pytest.mark.asyncio + async def test_context_manager(self, test_room): + """Test using consumer as context manager.""" + async with RoboticsConsumer("http://localhost:8000") as consumer: + await consumer.connect(test_room) + assert consumer.is_connected() + + state = await consumer.get_state_sync() + assert isinstance(state, dict) + + # Should be disconnected after context exit + assert not consumer.is_connected() + + @pytest.mark.asyncio + async def test_get_state_without_connection(self, consumer): + """Test getting state without being connected.""" + assert not consumer.is_connected() + + with pytest.raises(ValueError, match="Must be connected to a room"): + await consumer.get_state_sync() + + @pytest.mark.asyncio + async def test_consumer_reconnection(self, consumer, test_room): + """Test consumer reconnecting to same room.""" + # First connection + await consumer.connect(test_room) + assert consumer.is_connected() + + await consumer.disconnect() + assert not consumer.is_connected() + + # Reconnect to same room + await consumer.connect(test_room) + assert consumer.is_connected() + assert consumer.room_id == test_room + + @pytest.mark.asyncio + async def test_consumer_state_after_producer_updates(self, producer_consumer_pair): + """Test that consumer can get updated state after producer sends updates.""" + producer, consumer, room_id = producer_consumer_pair + + # Give some time for connection to stabilize + await asyncio.sleep(0.1) + + # Producer sends some state updates + await producer.send_state_sync({ + "shoulder": 45.0, + "elbow": -20.0, + "wrist": 10.0, + }) + + # Wait for state to propagate + await asyncio.sleep(0.2) + + # Consumer should be able to get updated state + state = await consumer.get_state_sync() + assert isinstance(state, dict) + # State should contain the joints we sent + expected_joints = {"shoulder", "elbow", "wrist"} + if state: # Only check if state is not empty + assert set(state.keys()) == expected_joints diff --git a/client/python/tests/test_factory_functions.py b/client/python/tests/test_factory_functions.py new file mode 100644 index 0000000000000000000000000000000000000000..2752e27af6ea1f40009e76249ffa12506be521e2 --- /dev/null +++ b/client/python/tests/test_factory_functions.py @@ -0,0 +1,215 @@ +import asyncio + +import pytest +from lerobot_arena_client import ( + RoboticsConsumer, + RoboticsProducer, + create_client, + create_consumer_client, + create_producer_client, +) + + +class TestFactoryFunctions: + """Test factory and convenience functions.""" + + def test_create_client_producer(self): + """Test creating producer client via factory.""" + client = create_client("producer", "http://localhost:8000") + assert isinstance(client, RoboticsProducer) + assert client.base_url == "http://localhost:8000" + assert not client.is_connected() + + def test_create_client_consumer(self): + """Test creating consumer client via factory.""" + client = create_client("consumer", "http://localhost:8000") + assert isinstance(client, RoboticsConsumer) + assert client.base_url == "http://localhost:8000" + assert not client.is_connected() + + def test_create_client_invalid_role(self): + """Test creating client with invalid role.""" + with pytest.raises(ValueError, match="Invalid role"): + create_client("invalid_role", "http://localhost:8000") + + def test_create_client_default_url(self): + """Test creating client with default URL.""" + producer = create_client("producer") + consumer = create_client("consumer") + + assert producer.base_url == "http://localhost:8000" + assert consumer.base_url == "http://localhost:8000" + + @pytest.mark.asyncio + async def test_create_producer_client_auto_room(self): + """Test creating producer client with auto room creation.""" + producer = await create_producer_client("http://localhost:8000") + + try: + assert isinstance(producer, RoboticsProducer) + assert producer.is_connected() + assert producer.room_id is not None + assert producer.role == "producer" + + # Should be able to send commands immediately + await producer.send_state_sync({"test": 123.0}) + + finally: + room_id = producer.room_id + await producer.disconnect() + if room_id: + await producer.delete_room(room_id) + + @pytest.mark.asyncio + async def test_create_producer_client_specific_room(self): + """Test creating producer client with specific room.""" + # First create a room + temp_producer = RoboticsProducer("http://localhost:8000") + room_id = await temp_producer.create_room() + + try: + producer = await create_producer_client("http://localhost:8000", room_id) + + assert isinstance(producer, RoboticsProducer) + assert producer.is_connected() + assert producer.room_id == room_id + assert producer.role == "producer" + + await producer.disconnect() + + finally: + await temp_producer.delete_room(room_id) + + @pytest.mark.asyncio + async def test_create_consumer_client(self): + """Test creating consumer client.""" + # First create a room + temp_producer = RoboticsProducer("http://localhost:8000") + room_id = await temp_producer.create_room() + + try: + consumer = await create_consumer_client(room_id, "http://localhost:8000") + + assert isinstance(consumer, RoboticsConsumer) + assert consumer.is_connected() + assert consumer.room_id == room_id + assert consumer.role == "consumer" + + # Should be able to get state immediately + state = await consumer.get_state_sync() + assert isinstance(state, dict) + + await consumer.disconnect() + + finally: + await temp_producer.delete_room(room_id) + + @pytest.mark.asyncio + async def test_create_producer_consumer_pair(self): + """Test creating producer-consumer pair using convenience functions.""" + producer = await create_producer_client("http://localhost:8000") + room_id = producer.room_id + + try: + consumer = await create_consumer_client(room_id, "http://localhost:8000") + + # Both should be connected to same room + assert producer.room_id == consumer.room_id + assert producer.is_connected() + assert consumer.is_connected() + + # Test communication + received_updates = [] + + def on_joint_update(joints): + received_updates.append(joints) + + consumer.on_joint_update(on_joint_update) + + # Give some time for connection to stabilize + await asyncio.sleep(0.1) + + # Send update from producer + await producer.send_state_sync({"test_joint": 42.0}) + + # Wait for message + await asyncio.sleep(0.2) + + # Consumer should have received update + assert len(received_updates) >= 1 + + await consumer.disconnect() + + finally: + await producer.disconnect() + if room_id: + await producer.delete_room(room_id) + + @pytest.mark.asyncio + async def test_convenience_functions_with_default_url(self): + """Test convenience functions with default URL.""" + producer = await create_producer_client() + room_id = producer.room_id + + try: + assert producer.base_url == "http://localhost:8000" + assert producer.is_connected() + + consumer = await create_consumer_client(room_id) + + try: + assert consumer.base_url == "http://localhost:8000" + assert consumer.is_connected() + + finally: + await consumer.disconnect() + + finally: + await producer.disconnect() + if room_id: + await producer.delete_room(room_id) + + @pytest.mark.asyncio + async def test_multiple_convenience_producers(self): + """Test creating multiple producers via convenience function.""" + producer1 = await create_producer_client("http://localhost:8000") + producer2 = await create_producer_client("http://localhost:8000") + + try: + # Both should be connected to different rooms + assert producer1.room_id != producer2.room_id + assert producer1.is_connected() + assert producer2.is_connected() + + # Both should work independently + await producer1.send_state_sync({"joint1": 10.0}) + await producer2.send_state_sync({"joint2": 20.0}) + + finally: + room1 = producer1.room_id + room2 = producer2.room_id + + await producer1.disconnect() + await producer2.disconnect() + + if room1: + await producer1.delete_room(room1) + if room2: + await producer2.delete_room(room2) + + @pytest.mark.asyncio + async def test_create_consumer_nonexistent_room(self): + """Test creating consumer with nonexistent room.""" + fake_room_id = "nonexistent-room-12345" + + try: + consumer = await create_consumer_client( + fake_room_id, "http://localhost:8000" + ) + # If this succeeds, the server creates room automatically + # or connection fails silently + if consumer.is_connected(): + await consumer.disconnect() + except Exception: + # Expected behavior - connection should fail + pass diff --git a/client/python/tests/test_integration.py b/client/python/tests/test_integration.py new file mode 100644 index 0000000000000000000000000000000000000000..326b0b5e6b97c5eeabe933dca0020a48ccf6f19b --- /dev/null +++ b/client/python/tests/test_integration.py @@ -0,0 +1,331 @@ +import asyncio + +import pytest +from lerobot_arena_client import ( + RoboticsProducer, + create_consumer_client, + create_producer_client, +) + + +class TestIntegration: + """End-to-end integration tests.""" + + @pytest.mark.asyncio + async def test_full_producer_consumer_workflow(self): + """Test complete producer-consumer workflow.""" + # Create producer and room + producer = await create_producer_client("http://localhost:8000") + room_id = producer.room_id + + try: + # Create consumer and connect to same room + consumer = await create_consumer_client(room_id, "http://localhost:8000") + + try: + # Set up consumer to collect messages + received_states = [] + received_updates = [] + received_errors = [] + + def on_state_sync(state): + received_states.append(state) + + def on_joint_update(joints): + received_updates.append(joints) + + def on_error(error): + received_errors.append(error) + + consumer.on_state_sync(on_state_sync) + consumer.on_joint_update(on_joint_update) + consumer.on_error(on_error) + + # Wait for connections to stabilize + await asyncio.sleep(0.2) + + # Producer sends initial state + initial_state = {"shoulder": 0.0, "elbow": 0.0, "wrist": 0.0} + await producer.send_state_sync(initial_state) + await asyncio.sleep(0.1) + + # Producer sends series of joint updates + joint_sequences = [ + [{"name": "shoulder", "value": 45.0}], + [{"name": "elbow", "value": -30.0}], + [{"name": "wrist", "value": 15.0}], + [ + {"name": "shoulder", "value": 90.0}, + {"name": "elbow", "value": -60.0}, + ], + ] + + for joints in joint_sequences: + await producer.send_joint_update(joints) + await asyncio.sleep(0.1) + + # Wait for all messages to be received + await asyncio.sleep(0.3) + + # Verify consumer received messages + assert len(received_updates) >= 4 # At least the joint updates + + # Verify final state + final_state = await consumer.get_state_sync() + expected_final_state = {"shoulder": 90.0, "elbow": -60.0, "wrist": 15.0} + assert final_state == expected_final_state + + finally: + await consumer.disconnect() + + finally: + await producer.disconnect() + await producer.delete_room(room_id) + + @pytest.mark.asyncio + async def test_multiple_consumers_same_room(self): + """Test multiple consumers receiving same messages.""" + producer = await create_producer_client("http://localhost:8000") + room_id = producer.room_id + + try: + # Create multiple consumers + consumer1 = await create_consumer_client(room_id, "http://localhost:8000") + consumer2 = await create_consumer_client(room_id, "http://localhost:8000") + + try: + # Set up message collection for both consumers + consumer1_updates = [] + consumer2_updates = [] + + consumer1.on_joint_update( + lambda joints: consumer1_updates.append(joints) + ) + consumer2.on_joint_update( + lambda joints: consumer2_updates.append(joints) + ) + + # Wait for connections + await asyncio.sleep(0.2) + + # Producer sends updates + test_joints = [ + {"name": "joint1", "value": 10.0}, + {"name": "joint2", "value": 20.0}, + ] + await producer.send_joint_update(test_joints) + + # Wait for message propagation + await asyncio.sleep(0.2) + + # Both consumers should receive the same update + assert len(consumer1_updates) >= 1 + assert len(consumer2_updates) >= 1 + + # Verify both received same data + if consumer1_updates and consumer2_updates: + assert consumer1_updates[-1] == consumer2_updates[-1] + + finally: + await consumer1.disconnect() + await consumer2.disconnect() + + finally: + await producer.disconnect() + await producer.delete_room(room_id) + + @pytest.mark.asyncio + async def test_emergency_stop_propagation(self): + """Test emergency stop propagation to all consumers.""" + producer = await create_producer_client("http://localhost:8000") + room_id = producer.room_id + + try: + # Create consumers + consumer1 = await create_consumer_client(room_id, "http://localhost:8000") + consumer2 = await create_consumer_client(room_id, "http://localhost:8000") + + try: + # Set up error collection + consumer1_errors = [] + consumer2_errors = [] + + consumer1.on_error(lambda error: consumer1_errors.append(error)) + consumer2.on_error(lambda error: consumer2_errors.append(error)) + + # Wait for connections + await asyncio.sleep(0.2) + + # Producer sends emergency stop + await producer.send_emergency_stop("Integration test emergency stop") + + # Wait for message propagation + await asyncio.sleep(0.2) + + # Both consumers should receive emergency stop + assert len(consumer1_errors) >= 1 + assert len(consumer2_errors) >= 1 + + # Verify error messages contain emergency stop info + if consumer1_errors: + assert "emergency stop" in consumer1_errors[-1].lower() + if consumer2_errors: + assert "emergency stop" in consumer2_errors[-1].lower() + + finally: + await consumer1.disconnect() + await consumer2.disconnect() + + finally: + await producer.disconnect() + await producer.delete_room(room_id) + + @pytest.mark.asyncio + async def test_producer_reconnection_workflow(self): + """Test producer reconnecting and resuming operation.""" + # Create room first + temp_producer = RoboticsProducer("http://localhost:8000") + room_id = await temp_producer.create_room() + + try: + # Create consumer first + consumer = await create_consumer_client(room_id, "http://localhost:8000") + + try: + received_updates = [] + consumer.on_joint_update(lambda joints: received_updates.append(joints)) + + # Create producer and connect + producer = RoboticsProducer("http://localhost:8000") + await producer.connect(room_id) + + # Send initial update + await producer.send_state_sync({"joint1": 10.0}) + await asyncio.sleep(0.1) + + # Disconnect producer + await producer.disconnect() + + # Reconnect producer + await producer.connect(room_id) + + # Send another update + await producer.send_state_sync({"joint1": 20.0}) + await asyncio.sleep(0.2) + + # Consumer should have received both updates + assert len(received_updates) >= 2 + + await producer.disconnect() + + finally: + await consumer.disconnect() + + finally: + await temp_producer.delete_room(room_id) + + @pytest.mark.asyncio + async def test_consumer_late_join(self): + """Test consumer joining room after producer has sent updates.""" + producer = await create_producer_client("http://localhost:8000") + room_id = producer.room_id + + try: + # Producer sends some updates before consumer joins + await producer.send_state_sync({"joint1": 10.0, "joint2": 20.0}) + await asyncio.sleep(0.1) + + await producer.send_joint_update([{"name": "joint3", "value": 30.0}]) + await asyncio.sleep(0.1) + + # Now consumer joins + consumer = await create_consumer_client(room_id, "http://localhost:8000") + + try: + # Consumer should be able to get current state + current_state = await consumer.get_state_sync() + + # Should contain all previously sent updates + expected_state = {"joint1": 10.0, "joint2": 20.0, "joint3": 30.0} + assert current_state == expected_state + + finally: + await consumer.disconnect() + + finally: + await producer.disconnect() + await producer.delete_room(room_id) + + @pytest.mark.asyncio + async def test_room_cleanup_on_producer_disconnect(self): + """Test room state when producer disconnects.""" + producer = await create_producer_client("http://localhost:8000") + room_id = producer.room_id + + try: + consumer = await create_consumer_client(room_id, "http://localhost:8000") + + try: + # Send some state + await producer.send_state_sync({"joint1": 42.0}) + await asyncio.sleep(0.1) + + # Verify state exists + state_before = await consumer.get_state_sync() + assert state_before == {"joint1": 42.0} + + # Producer disconnects + await producer.disconnect() + await asyncio.sleep(0.1) + + # State should still be accessible to consumer + state_after = await consumer.get_state_sync() + assert state_after == {"joint1": 42.0} + + finally: + await consumer.disconnect() + + finally: + # Clean up room manually since producer disconnected + temp_producer = RoboticsProducer("http://localhost:8000") + await temp_producer.delete_room(room_id) + + @pytest.mark.asyncio + async def test_high_frequency_updates(self): + """Test handling high frequency updates.""" + producer = await create_producer_client("http://localhost:8000") + room_id = producer.room_id + + try: + consumer = await create_consumer_client(room_id, "http://localhost:8000") + + try: + received_updates = [] + consumer.on_joint_update(lambda joints: received_updates.append(joints)) + + # Wait for connection + await asyncio.sleep(0.1) + + # Send rapid updates + for i in range(20): + await producer.send_state_sync({"joint1": float(i), "timestamp": i}) + await asyncio.sleep(0.01) # 10ms intervals + + # Wait for all messages + await asyncio.sleep(0.5) + + # Should have received multiple updates + # (exact number may vary due to change detection) + assert len(received_updates) >= 5 + + # Final state should reflect last update + final_state = await consumer.get_state_sync() + assert final_state["joint1"] == 19.0 + assert final_state["timestamp"] == 19 + + finally: + await consumer.disconnect() + + finally: + await producer.disconnect() + await producer.delete_room(room_id) diff --git a/client/python/tests/test_producer.py b/client/python/tests/test_producer.py new file mode 100644 index 0000000000000000000000000000000000000000..435912d82b137db8e6e05007810c03fc0aaa0766 --- /dev/null +++ b/client/python/tests/test_producer.py @@ -0,0 +1,206 @@ +import asyncio + +import pytest +from lerobot_arena_client import RoboticsProducer + + +class TestRoboticsProducer: + """Test RoboticsProducer functionality.""" + + @pytest.mark.asyncio + async def test_producer_connection(self, producer, test_room): + """Test basic producer connection.""" + assert not producer.is_connected() + + success = await producer.connect(test_room) + assert success is True + assert producer.is_connected() + assert producer.room_id == test_room + assert producer.role == "producer" + + await producer.disconnect() + assert not producer.is_connected() + + @pytest.mark.asyncio + async def test_producer_connection_info(self, connected_producer): + """Test getting connection information.""" + producer, room_id = connected_producer + + info = producer.get_connection_info() + assert info["connected"] is True + assert info["room_id"] == room_id + assert info["role"] == "producer" + assert info["participant_id"] is not None + assert info["base_url"] == "http://localhost:8000" + + @pytest.mark.asyncio + async def test_send_joint_update(self, connected_producer): + """Test sending joint updates.""" + producer, room_id = connected_producer + + joints = [ + {"name": "shoulder", "value": 45.0}, + {"name": "elbow", "value": -20.0}, + {"name": "wrist", "value": 10.0}, + ] + + # Should not raise an exception + await producer.send_joint_update(joints) + + @pytest.mark.asyncio + async def test_send_state_sync(self, connected_producer): + """Test sending state synchronization.""" + producer, room_id = connected_producer + + state = {"shoulder": 45.0, "elbow": -20.0, "wrist": 10.0} + + # Should not raise an exception + await producer.send_state_sync(state) + + @pytest.mark.asyncio + async def test_send_emergency_stop(self, connected_producer): + """Test sending emergency stop.""" + producer, room_id = connected_producer + + # Should not raise an exception + await producer.send_emergency_stop("Test emergency stop") + await producer.send_emergency_stop() # Default reason + + @pytest.mark.asyncio + async def test_send_heartbeat(self, connected_producer): + """Test sending heartbeat.""" + producer, room_id = connected_producer + + # Should not raise an exception + await producer.send_heartbeat() + + @pytest.mark.asyncio + async def test_producer_callbacks(self, producer, test_room): + """Test producer event callbacks.""" + connected_called = False + disconnected_called = False + error_called = False + error_message = None + + def on_connected(): + nonlocal connected_called + connected_called = True + + def on_disconnected(): + nonlocal disconnected_called + disconnected_called = True + + def on_error(error): + nonlocal error_called, error_message + error_called = True + error_message = error + + # Set callbacks + producer.on_connected(on_connected) + producer.on_disconnected(on_disconnected) + producer.on_error(on_error) + + # Connect and disconnect + await producer.connect(test_room) + await asyncio.sleep(0.1) # Give callbacks time to execute + assert connected_called is True + + await producer.disconnect() + await asyncio.sleep(0.1) # Give callbacks time to execute + assert disconnected_called is True + + @pytest.mark.asyncio + async def test_send_without_connection(self, producer): + """Test that sending commands without connection raises errors.""" + assert not producer.is_connected() + + with pytest.raises(ValueError, match="Must be connected"): + await producer.send_joint_update([{"name": "test", "value": 0}]) + + with pytest.raises(ValueError, match="Must be connected"): + await producer.send_state_sync({"test": 0}) + + with pytest.raises(ValueError, match="Must be connected"): + await producer.send_emergency_stop() + + @pytest.mark.asyncio + async def test_multiple_connections(self, producer, test_room): + """Test connecting to multiple rooms sequentially.""" + # Connect to first room + await producer.connect(test_room) + assert producer.room_id == test_room + + # Create second room + room_id_2 = await producer.create_room() + + try: + # Connect to second room (should disconnect from first) + await producer.connect(room_id_2) + assert producer.room_id == room_id_2 + assert producer.is_connected() + + finally: + await producer.delete_room(room_id_2) + + @pytest.mark.asyncio + async def test_context_manager(self, test_room): + """Test using producer as context manager.""" + async with RoboticsProducer("http://localhost:8000") as producer: + await producer.connect(test_room) + assert producer.is_connected() + + await producer.send_state_sync({"test": 123.0}) + + # Should be disconnected after context exit + assert not producer.is_connected() + + @pytest.mark.asyncio + async def test_duplicate_producer_connection(self, producer, test_room): + """Test what happens when multiple producers try to connect to same room.""" + producer2 = RoboticsProducer("http://localhost:8000") + + try: + # First producer connects successfully + success1 = await producer.connect(test_room) + assert success1 is True + + # Second producer should fail to connect as producer + success2 = await producer2.connect(test_room) + assert success2 is False # Should fail since room already has producer + + finally: + if producer2.is_connected(): + await producer2.disconnect() + + @pytest.mark.asyncio + async def test_custom_participant_id(self, producer, test_room): + """Test connecting with custom participant ID.""" + custom_id = "custom-producer-123" + + await producer.connect(test_room, participant_id=custom_id) + + info = producer.get_connection_info() + assert info["participant_id"] == custom_id + + @pytest.mark.asyncio + async def test_large_joint_update(self, connected_producer): + """Test sending large joint update.""" + producer, room_id = connected_producer + + # Create a large joint update + joints = [] + for i in range(100): + joints.append({"name": f"joint_{i}", "value": float(i)}) + + # Should handle large updates without issue + await producer.send_joint_update(joints) + + @pytest.mark.asyncio + async def test_rapid_updates(self, connected_producer): + """Test sending rapid joint updates.""" + producer, room_id = connected_producer + + # Send multiple rapid updates + for i in range(10): + await producer.send_state_sync({"joint1": float(i), "joint2": float(i * 2)}) + await asyncio.sleep(0.01) # Small delay diff --git a/client/python/tests/test_rest_api.py b/client/python/tests/test_rest_api.py new file mode 100644 index 0000000000000000000000000000000000000000..b523e669a20dc57b567ca1dfe3e46d64fc9ed2ee --- /dev/null +++ b/client/python/tests/test_rest_api.py @@ -0,0 +1,149 @@ +import pytest +import pytest_asyncio +from lerobot_arena_client import RoboticsProducer + + +@pytest_asyncio.fixture +async def producer(): + """Create a producer for REST API testing.""" + client = RoboticsProducer("http://localhost:8000") + yield client + + +class TestRestAPI: + """Test REST API functionality.""" + + @pytest.mark.asyncio + async def test_list_rooms_empty(self, producer): + """Test listing rooms when no rooms exist.""" + rooms = await producer.list_rooms() + assert isinstance(rooms, list) + + @pytest.mark.asyncio + async def test_create_room(self, producer): + """Test creating a room.""" + room_id = await producer.create_room() + assert isinstance(room_id, str) + assert len(room_id) > 0 + + # Cleanup + await producer.delete_room(room_id) + + @pytest.mark.asyncio + async def test_create_room_with_id(self, producer): + """Test creating a room with specific ID.""" + custom_id = "test-room-123" + room_id = await producer.create_room(custom_id) + assert room_id == custom_id + + # Cleanup + await producer.delete_room(room_id) + + @pytest.mark.asyncio + async def test_list_rooms_with_rooms(self, producer): + """Test listing rooms when rooms exist.""" + # Create a test room + room_id = await producer.create_room() + + try: + rooms = await producer.list_rooms() + assert isinstance(rooms, list) + assert len(rooms) >= 1 + + # Check if our room is in the list + room_ids = [room["id"] for room in rooms] + assert room_id in room_ids + + # Verify room structure + test_room = next(room for room in rooms if room["id"] == room_id) + assert "participants" in test_room + assert "joints_count" in test_room + + finally: + await producer.delete_room(room_id) + + @pytest.mark.asyncio + async def test_get_room_info(self, producer): + """Test getting room information.""" + room_id = await producer.create_room() + + try: + room_info = await producer.get_room_info(room_id) + assert isinstance(room_info, dict) + assert room_info["id"] == room_id + assert "participants" in room_info + assert "joints_count" in room_info + assert "has_producer" in room_info + assert "active_consumers" in room_info + + finally: + await producer.delete_room(room_id) + + @pytest.mark.asyncio + async def test_get_room_state(self, producer): + """Test getting room state.""" + room_id = await producer.create_room() + + try: + room_state = await producer.get_room_state(room_id) + assert isinstance(room_state, dict) + assert "room_id" in room_state + assert "joints" in room_state + assert "participants" in room_state + assert "timestamp" in room_state + assert room_state["room_id"] == room_id + + finally: + await producer.delete_room(room_id) + + @pytest.mark.asyncio + async def test_delete_room(self, producer): + """Test deleting a room.""" + room_id = await producer.create_room() + + # Verify room exists + rooms_before = await producer.list_rooms() + room_ids_before = [room["id"] for room in rooms_before] + assert room_id in room_ids_before + + # Delete room + success = await producer.delete_room(room_id) + assert success is True + + # Verify room is deleted + rooms_after = await producer.list_rooms() + room_ids_after = [room["id"] for room in rooms_after] + assert room_id not in room_ids_after + + @pytest.mark.asyncio + async def test_delete_nonexistent_room(self, producer): + """Test deleting a room that doesn't exist.""" + fake_room_id = "nonexistent-room-id" + success = await producer.delete_room(fake_room_id) + assert success is False + + @pytest.mark.asyncio + async def test_get_room_info_nonexistent(self, producer): + """Test getting info for a room that doesn't exist.""" + fake_room_id = "nonexistent-room-id" + + # This should raise an exception or return error info + try: + await producer.get_room_info(fake_room_id) + # If no exception, check for error in response + except Exception: + # Expected behavior for nonexistent room + pass + + @pytest.mark.asyncio + async def test_get_room_state_nonexistent(self, producer): + """Test getting state for a room that doesn't exist.""" + fake_room_id = "nonexistent-room-id" + + # This should raise an exception or return error info + try: + await producer.get_room_state(fake_room_id) + # If no exception, check for error in response + except Exception: + # Expected behavior for nonexistent room + pass diff --git a/client/python/tests/test_video_client.py b/client/python/tests/test_video_client.py new file mode 100644 index 0000000000000000000000000000000000000000..782149cea6d4ed8fcb13154cff81a9d87086c290 --- /dev/null +++ b/client/python/tests/test_video_client.py @@ -0,0 +1,249 @@ +#!/usr/bin/env python3 +""" +Tests for the LeRobot Arena Video Client + +Basic tests to validate the video client implementation +""" + +import asyncio +import logging + +import numpy as np +import pytest +from lerobot_arena_client.video import ( + CustomVideoTrack, + ParticipantRole, + Resolution, + VideoConfig, + VideoConsumer, + VideoEncoding, + VideoProducer, + create_consumer_client, + create_producer_client, +) + + +class TestVideoTypes: + """Test video type definitions""" + + def test_resolution_creation(self): + """Test Resolution dataclass""" + res = Resolution(width=1920, height=1080) + assert res.width == 1920 + assert res.height == 1080 + + def test_video_config_creation(self): + """Test VideoConfig dataclass""" + config = VideoConfig( + encoding=VideoEncoding.VP8, + resolution=Resolution(640, 480), + framerate=30, + bitrate=1000000, + ) + assert config.encoding == VideoEncoding.VP8 + assert config.resolution.width == 640 + assert config.framerate == 30 + + def test_participant_role_enum(self): + """Test ParticipantRole enum""" + assert ParticipantRole.PRODUCER.value == "producer" + assert ParticipantRole.CONSUMER.value == "consumer" + + +class TestVideoCore: + """Test core video client functionality""" + + def test_video_producer_creation(self): + """Test VideoProducer initialization""" + producer = VideoProducer("http://localhost:8000") + assert producer.base_url == "http://localhost:8000" + assert producer.api_base == "http://localhost:8000/video" + assert not producer.connected + assert producer.room_id is None + + def test_video_consumer_creation(self): + """Test VideoConsumer initialization""" + consumer = VideoConsumer("http://localhost:8000") + assert consumer.base_url == "http://localhost:8000" + assert consumer.api_base == "http://localhost:8000/video" + assert not consumer.connected + assert consumer.room_id is None + + @pytest.mark.asyncio + async def test_producer_room_creation(self): + """Test room creation (requires server)""" + try: + producer = VideoProducer("http://localhost:8000") + room_id = await producer.create_room() + assert isinstance(room_id, str) + assert len(room_id) > 0 + print(f"โœ… Created room: {room_id}") + except Exception as e: + pytest.skip(f"Server not available: {e}") + + @pytest.mark.asyncio + async def test_consumer_list_rooms(self): + """Test listing rooms (requires server)""" + try: + consumer = VideoConsumer("http://localhost:8000") + rooms = await consumer.list_rooms() + assert isinstance(rooms, list) + print(f"โœ… Listed {len(rooms)} rooms") + except Exception as e: + pytest.skip(f"Server not available: {e}") + + +class TestVideoTracks: + """Test video track implementations""" + + @pytest.mark.asyncio + async def test_custom_video_track(self): + """Test CustomVideoTrack with mock frame source""" + frame_count = 0 + + async def mock_frame_source() -> np.ndarray | None: + nonlocal frame_count + if frame_count >= 3: + return None + + # Create a simple test frame + frame = np.zeros((240, 320, 3), dtype=np.uint8) + frame[:, :, frame_count % 3] = 255 # Red, Green, Blue frames + frame_count += 1 + return frame + + track = CustomVideoTrack(mock_frame_source, frame_rate=10) + + # Get a few frames + for i in range(3): + frame = await track.recv() + assert frame is not None + print(f"โœ… Generated frame {i + 1}") + + print("โœ… CustomVideoTrack test passed") + + +class TestVideoClientIntegration: + """Integration tests for video client""" + + @pytest.mark.asyncio + async def test_producer_consumer_setup(self): + """Test producer and consumer setup without server connection""" + # Test producer setup + producer = VideoProducer("http://localhost:8000") + assert producer.get_video_track() is None + + # Test consumer setup + consumer = VideoConsumer("http://localhost:8000") + assert consumer.get_remote_stream() is None + + print("โœ… Producer/Consumer setup test passed") + + @pytest.mark.asyncio + async def test_custom_stream_setup(self): + """Test custom stream setup""" + + async def test_frame_source() -> np.ndarray | None: + return np.random.randint(0, 255, (480, 640, 3), dtype=np.uint8) + + producer = VideoProducer("http://localhost:8000") + + # This will fail because we're not connected, but it tests the setup + try: + await producer.start_custom_stream(test_frame_source) + except ValueError as e: + assert "Must be connected" in str(e) + print("โœ… Custom stream setup validation passed") + + @pytest.mark.asyncio + async def test_factory_functions(self): + """Test factory function creation (without connection)""" + # Test that factory functions create the right types + # (We can't actually connect without a server) + + try: + producer = await create_producer_client("http://localhost:8000") + except Exception: + # Expected to fail without server + pass + + try: + consumer = await create_consumer_client( + "test-room", "http://localhost:8000" + ) + except Exception: + # Expected to fail without server + pass + + print("โœ… Factory functions test passed") + + +async def run_interactive_tests(): + """Run interactive tests for manual verification""" + logging.basicConfig(level=logging.INFO) + logger = logging.getLogger(__name__) + + logger.info("๐Ÿงช Running Interactive Video Client Tests") + + # Test 1: Basic client creation + logger.info("๐Ÿ“ Test 1: Creating video clients...") + producer = VideoProducer("http://localhost:8000") + consumer = VideoConsumer("http://localhost:8000") + logger.info("โœ… Clients created successfully") + + # Test 2: Custom video track + logger.info("๐Ÿ“ Test 2: Testing custom video track...") + + frame_count = 0 + + async def animated_frame_source() -> np.ndarray | None: + nonlocal frame_count + if frame_count >= 5: + return None + + # Create animated frame + frame = np.zeros((240, 320, 3), dtype=np.uint8) + t = frame_count * 0.5 + + # Simple animation + for y in range(240): + for x in range(320): + r = int(128 + 127 * np.sin(t + x * 0.05)) + g = int(128 + 127 * np.sin(t + y * 0.05)) + b = int(128 + 127 * np.sin(t)) + frame[y, x] = [r, g, b] + + frame_count += 1 + return frame + + track = CustomVideoTrack(animated_frame_source, frame_rate=5) + + for i in range(5): + frame = await track.recv() + logger.info( + f"๐Ÿ“บ Generated animated frame {i + 1}: {frame.width}x{frame.height}" + ) + + logger.info("โœ… Custom video track test completed") + + # Test 3: Server communication (if available) + logger.info("๐Ÿ“ Test 3: Testing server communication...") + try: + rooms = await consumer.list_rooms() + logger.info(f"โœ… Server communication successful - found {len(rooms)} rooms") + + # Try creating a room + room_id = await producer.create_room() + logger.info(f"โœ… Room created successfully: {room_id}") + + except Exception as e: + logger.warning( + f"โš ๏ธ Server communication failed (expected if server not running): {e}" + ) + + logger.info("๐ŸŽ‰ All interactive tests completed!") + + +if __name__ == "__main__": + # Run interactive tests + asyncio.run(run_interactive_tests()) diff --git a/demo/.gitignore b/demo/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..3b462cb0c4158547145078184d816bdcf314eaba --- /dev/null +++ b/demo/.gitignore @@ -0,0 +1,23 @@ +node_modules + +# Output +.output +.vercel +.netlify +.wrangler +/.svelte-kit +/build + +# OS +.DS_Store +Thumbs.db + +# Env +.env +.env.* +!.env.example +!.env.test + +# Vite +vite.config.js.timestamp-* +vite.config.ts.timestamp-* diff --git a/demo/.npmrc b/demo/.npmrc new file mode 100644 index 0000000000000000000000000000000000000000..b6f27f135954640c8cc5bfd7b8c9922ca6eb2aad --- /dev/null +++ b/demo/.npmrc @@ -0,0 +1 @@ +engine-strict=true diff --git a/demo/.prettierignore b/demo/.prettierignore new file mode 100644 index 0000000000000000000000000000000000000000..6562bcbb8ab96e6800a4dcb41bed4ebb413bcbe2 --- /dev/null +++ b/demo/.prettierignore @@ -0,0 +1,6 @@ +# Package Managers +package-lock.json +pnpm-lock.yaml +yarn.lock +bun.lock +bun.lockb diff --git a/demo/.prettierrc b/demo/.prettierrc new file mode 100644 index 0000000000000000000000000000000000000000..7ebb855b9477e546f0acea1f628fc5d65ce916d5 --- /dev/null +++ b/demo/.prettierrc @@ -0,0 +1,15 @@ +{ + "useTabs": true, + "singleQuote": true, + "trailingComma": "none", + "printWidth": 100, + "plugins": ["prettier-plugin-svelte", "prettier-plugin-tailwindcss"], + "overrides": [ + { + "files": "*.svelte", + "options": { + "parser": "svelte" + } + } + ] +} diff --git a/demo/README.md b/demo/README.md new file mode 100644 index 0000000000000000000000000000000000000000..9a30ba9ddda952ce721094ea5204607a56272bcd --- /dev/null +++ b/demo/README.md @@ -0,0 +1,292 @@ +# LeRobot Arena Demo + +A comprehensive SvelteKit demo application showcasing the LeRobot Arena robotics control platform with real-time 6-DOF robot arm control and monitoring. + +## ๐Ÿš€ Features + +### Dashboard +- **Real-time server status monitoring** +- **Active rooms overview** +- **Quick access to all signal types** +- **Clean, modern interface** + +### Robotics Control +- **6-DOF robot arm control** with real-time sliders +- **Producer/Consumer pattern** for robot control and monitoring +- **Room management** - create, delete, and join rooms +- **Live joint state monitoring** with trend visualization +- **Command history tracking** +- **Emergency stop functionality** +- **WebSocket-based real-time communication** + +### Architecture +- **Frontend**: Svelte 5, TypeScript, Tailwind CSS, Vite +- **Client Library**: Custom TypeScript/JavaScript client +- **Communication**: WebSocket for real-time control, REST API for management +- **Build System**: Bun for fast development and building + +## ๐Ÿ“ Project Structure + +``` +demo/ +โ”œโ”€โ”€ src/ +โ”‚ โ”œโ”€โ”€ routes/ +โ”‚ โ”‚ โ”œโ”€โ”€ +layout.svelte # Main layout with navigation +โ”‚ โ”‚ โ”œโ”€โ”€ +page.svelte # Dashboard homepage +โ”‚ โ”‚ โ”œโ”€โ”€ robotics/ +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ +page.svelte # Robotics control dashboard +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ producer/ +โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ +page.svelte # Producer interface +โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ [roomId]/+page.svelte # Room-specific producer +โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ consumer/ +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ +page.svelte # Consumer interface +โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ [roomId]/+page.svelte # Room-specific consumer +โ”‚ โ”‚ โ””โ”€โ”€ video/ +โ”‚ โ”‚ โ””โ”€โ”€ +page.svelte # Video placeholder +โ”‚ โ”œโ”€โ”€ app.css # Tailwind CSS and custom styles +โ”‚ โ”œโ”€โ”€ app.d.ts # TypeScript declarations +โ”‚ โ””โ”€โ”€ app.html # HTML template +โ”œโ”€โ”€ package.json # Dependencies and scripts +โ”œโ”€โ”€ tsconfig.json # TypeScript configuration +โ”œโ”€โ”€ tailwind.config.ts # Tailwind configuration +โ”œโ”€โ”€ vite.config.ts # Vite configuration +โ””โ”€โ”€ test-demo.js # Demo verification script +``` + +## ๐Ÿ› ๏ธ Prerequisites + +1. **Bun** >= 1.0.0 ([Install Bun](https://bun.sh/)) +2. **LeRobot Arena Server** running on port 8000 +3. **Built JavaScript Client** (automatically installed as dependency) + +## ๐Ÿš€ Quick Start + +### 1. Install Dependencies + +```bash +cd demo +bun install +``` + +### 2. Start Development Server + +```bash +bun run dev +``` + +The demo will be available at http://localhost:5173 + +### 3. Test the Setup + +```bash +node test-demo.js +``` + +## ๐Ÿ“Š Available Routes + +| Route | Description | +|-------|-------------| +| `/` | **Dashboard** - Server status, room overview, quick actions | +| `/robotics` | **Robotics Control** - Room management and overview | +| `/robotics/producer` | **Producer Interface** - Create rooms and control robots | +| `/robotics/consumer` | **Consumer Interface** - Monitor robot state and commands | +| `/robotics/producer/[roomId]` | **Room Producer** - Direct control of specific room | +| `/robotics/consumer/[roomId]` | **Room Consumer** - Direct monitoring of specific room | +| `/video` | **Video Placeholder** - Future video streaming functionality | + +## ๐ŸŽฎ Using the Demo + +### Dashboard +1. **Monitor server status** - Real-time connection indicator +2. **View active rooms** - See all current robotics sessions +3. **Quick launch** - One-click access to producer/consumer interfaces + +### Robot Control (Producer) +1. **Create or join a room** +2. **Control 6-DOF robot arm** with real-time sliders: + - Base rotation (-180ยฐ to 180ยฐ) + - Shoulder movement (-90ยฐ to 90ยฐ) + - Elbow movement (-135ยฐ to 135ยฐ) + - Wrist 1 rotation (-180ยฐ to 180ยฐ) + - Wrist 2 movement (-90ยฐ to 90ยฐ) + - Gripper control (0-100%, open to closed) +3. **Send commands** - State sync, emergency stop, heartbeat +4. **Monitor history** - Real-time command tracking + +### Robot Monitoring (Consumer) +1. **Connect to existing room** +2. **Live joint monitoring** with trend visualization +3. **Real-time statistics** - Update counts, timing +4. **Command history** - Joint updates and state syncs +5. **Error tracking** - Connection and communication errors + +### Room Management +1. **Create rooms** with custom IDs +2. **Delete rooms** when no longer needed +3. **View participants** - Producers and consumers +4. **Monitor activity** - Joint counts and connection status + +## ๐Ÿ”ง Development + +### Scripts + +```bash +# Development server +bun run dev + +# Build for production +bun run build + +# Preview production build +bun run preview + +# Type checking +bun run check + +# Linting and formatting +bun run lint +bun run format +``` + +### Client Library Integration + +The demo uses the local `lerobot-arena-client` package: + +```typescript +import { robotics } from 'lerobot-arena-client'; + +// Create clients +const producer = new robotics.RoboticsProducer('http://localhost:8000'); +const consumer = new robotics.RoboticsConsumer('http://localhost:8000'); + +// Use factory functions +const producer = await robotics.createProducerClient(); +const consumer = await robotics.createConsumerClient(roomId); +``` + +## ๐ŸŽจ UI/UX Features + +### Modern Design +- **Tailwind CSS** for responsive, utility-first styling +- **Custom components** with consistent design system +- **Status indicators** for real-time connection feedback +- **Interactive sliders** for intuitive robot control + +### Real-time Feedback +- **Live joint values** with degree precision +- **Trend visualization** showing joint movement history +- **Connection status** with visual indicators +- **Command history** with timestamps and details + +### Responsive Layout +- **Mobile-friendly** design for all screen sizes +- **Grid layouts** that adapt to viewport +- **Navigation** with active route highlighting +- **Modal dialogs** for room creation + +## ๐Ÿ”’ Safety Features + +### Emergency Stop +- **Manual emergency stop** button in producer interface +- **Propagation to all consumers** for immediate notification +- **Error tracking** for safety incident monitoring + +### Connection Management +- **Automatic reconnection** handling +- **Timeout configurations** for reliable communication +- **Error reporting** with user-friendly messages + +## ๐Ÿš€ Production Deployment + +### Build + +```bash +bun run build +``` + +### Environment Variables + +```bash +# Server URL (default: http://localhost:8000) +VITE_SERVER_URL=http://your-server.com:8000 +``` + +### Hosting + +The built application can be deployed to any static hosting service: +- Vercel +- Netlify +- GitHub Pages +- AWS S3 + CloudFront +- Any web server + +## ๐Ÿงช Testing + +### Manual Testing + +1. **Start the LeRobot Arena server** on port 8000 +2. **Run the demo** with `bun run dev` +3. **Test workflows**: + - Create room as producer + - Control robot with sliders + - Connect as consumer in another tab + - Monitor real-time updates + - Test emergency stop + - Verify command history + +### Integration Testing + +The demo includes integration with the JS client test suite. See `../client/js/tests/` for comprehensive testing. + +## ๐ŸŽฏ Use Cases + +### Development & Testing +- **Client library testing** - Interactive validation of API +- **Server testing** - Real-time load and functionality testing +- **UI/UX prototyping** - Design validation for robotics interfaces + +### Demonstrations +- **Product demos** - Showcase robotics control capabilities +- **Educational tool** - Learn producer/consumer patterns +- **Integration examples** - Reference implementation for developers + +### Real-world Applications +- **Remote robot control** - Control robots from anywhere +- **Multi-user collaboration** - Multiple operators monitoring one robot +- **Training simulations** - Safe environment for learning robot control + +## ๐Ÿค Contributing + +1. **Fork the repository** +2. **Create feature branch** (`git checkout -b feature/amazing-feature`) +3. **Make changes** and add tests +4. **Run linting** (`bun run lint`) +5. **Test thoroughly** with demo application +6. **Commit changes** (`git commit -m 'Add amazing feature'`) +7. **Push to branch** (`git push origin feature/amazing-feature`) +8. **Open Pull Request** + +## ๐Ÿ“ License + +MIT License - see LICENSE file for details + +--- + +## ๐Ÿ†˜ Troubleshooting + +### Connection Issues +- **Server not running**: Ensure LeRobot Arena server is active on port 8000 +- **CORS errors**: Check server CORS configuration +- **WebSocket failures**: Verify firewall settings + +### Build Issues +- **Import errors**: Ensure client library is built (`cd ../client/js && bun run build`) +- **Type errors**: Run `bun run check` for detailed TypeScript diagnostics +- **Dependency issues**: Try `rm -rf node_modules && bun install` + +### Runtime Issues +- **Slow performance**: Check browser dev tools for console errors +- **UI not updating**: Verify WebSocket connection in network tab +- **Commands not working**: Check server logs for error messages + +For more help, see the main project documentation or open an issue on GitHub. diff --git a/demo/bun.lock b/demo/bun.lock new file mode 100644 index 0000000000000000000000000000000000000000..138f80c639c0589081bc52578104c909970398c3 --- /dev/null +++ b/demo/bun.lock @@ -0,0 +1,591 @@ +{ + "lockfileVersion": 1, + "workspaces": { + "": { + "name": "demo", + "dependencies": { + "lerobot-arena-client": "link:lerobot-arena-client", + }, + "devDependencies": { + "@eslint/compat": "^1.2.5", + "@eslint/js": "^9.18.0", + "@sveltejs/adapter-static": "^3.0.0", + "@sveltejs/kit": "^2.16.0", + "@sveltejs/vite-plugin-svelte": "^5.0.0", + "@tailwindcss/vite": "^4.0.0", + "eslint": "^9.18.0", + "eslint-config-prettier": "^10.0.1", + "eslint-plugin-svelte": "^3.0.0", + "globals": "^16.0.0", + "prettier": "^3.4.2", + "prettier-plugin-svelte": "^3.3.3", + "prettier-plugin-tailwindcss": "^0.6.11", + "svelte": "^5.0.0", + "svelte-check": "^4.0.0", + "tailwindcss": "^4.0.0", + "typescript": "^5.0.0", + "typescript-eslint": "^8.20.0", + "vite": "^6.2.6", + }, + }, + }, + "packages": { + "@ampproject/remapping": ["@ampproject/remapping@2.3.0", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw=="], + + "@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.5", "", { "os": "aix", "cpu": "ppc64" }, "sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA=="], + + "@esbuild/android-arm": ["@esbuild/android-arm@0.25.5", "", { "os": "android", "cpu": "arm" }, "sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA=="], + + "@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.5", "", { "os": "android", "cpu": "arm64" }, "sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg=="], + + "@esbuild/android-x64": ["@esbuild/android-x64@0.25.5", "", { "os": "android", "cpu": "x64" }, "sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw=="], + + "@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.5", "", { "os": "darwin", "cpu": "arm64" }, "sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ=="], + + "@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.5", "", { "os": "darwin", "cpu": "x64" }, "sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ=="], + + "@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.5", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw=="], + + "@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.5", "", { "os": "freebsd", "cpu": "x64" }, "sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw=="], + + "@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.5", "", { "os": "linux", "cpu": "arm" }, "sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw=="], + + "@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.5", "", { "os": "linux", "cpu": "arm64" }, "sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg=="], + + "@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.5", "", { "os": "linux", "cpu": "ia32" }, "sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA=="], + + "@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.5", "", { "os": "linux", "cpu": "none" }, "sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg=="], + + "@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.5", "", { "os": "linux", "cpu": "none" }, "sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg=="], + + "@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.5", "", { "os": "linux", "cpu": "ppc64" }, "sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ=="], + + "@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.5", "", { "os": "linux", "cpu": "none" }, "sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA=="], + + "@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.5", "", { "os": "linux", "cpu": "s390x" }, "sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ=="], + + "@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.5", "", { "os": "linux", "cpu": "x64" }, "sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw=="], + + "@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.5", "", { "os": "none", "cpu": "arm64" }, "sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw=="], + + "@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.5", "", { "os": "none", "cpu": "x64" }, "sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ=="], + + "@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.5", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw=="], + + "@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.5", "", { "os": "openbsd", "cpu": "x64" }, "sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg=="], + + "@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.5", "", { "os": "sunos", "cpu": "x64" }, "sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA=="], + + "@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.5", "", { "os": "win32", "cpu": "arm64" }, "sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw=="], + + "@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.5", "", { "os": "win32", "cpu": "ia32" }, "sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ=="], + + "@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.5", "", { "os": "win32", "cpu": "x64" }, "sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g=="], + + "@eslint-community/eslint-utils": ["@eslint-community/eslint-utils@4.7.0", "", { "dependencies": { "eslint-visitor-keys": "^3.4.3" }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw=="], + + "@eslint-community/regexpp": ["@eslint-community/regexpp@4.12.1", "", {}, "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ=="], + + "@eslint/compat": ["@eslint/compat@1.2.9", "", { "peerDependencies": { "eslint": "^9.10.0" }, "optionalPeers": ["eslint"] }, "sha512-gCdSY54n7k+driCadyMNv8JSPzYLeDVM/ikZRtvtROBpRdFSkS8W9A82MqsaY7lZuwL0wiapgD0NT1xT0hyJsA=="], + + "@eslint/config-array": ["@eslint/config-array@0.20.0", "", { "dependencies": { "@eslint/object-schema": "^2.1.6", "debug": "^4.3.1", "minimatch": "^3.1.2" } }, "sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ=="], + + "@eslint/config-helpers": ["@eslint/config-helpers@0.2.2", "", {}, "sha512-+GPzk8PlG0sPpzdU5ZvIRMPidzAnZDl/s9L+y13iodqvb8leL53bTannOrQ/Im7UkpsmFU5Ily5U60LWixnmLg=="], + + "@eslint/core": ["@eslint/core@0.14.0", "", { "dependencies": { "@types/json-schema": "^7.0.15" } }, "sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg=="], + + "@eslint/eslintrc": ["@eslint/eslintrc@3.3.1", "", { "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", "espree": "^10.0.1", "globals": "^14.0.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" } }, "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ=="], + + "@eslint/js": ["@eslint/js@9.28.0", "", {}, "sha512-fnqSjGWd/CoIp4EXIxWVK/sHA6DOHN4+8Ix2cX5ycOY7LG0UY8nHCU5pIp2eaE1Mc7Qd8kHspYNzYXT2ojPLzg=="], + + "@eslint/object-schema": ["@eslint/object-schema@2.1.6", "", {}, "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA=="], + + "@eslint/plugin-kit": ["@eslint/plugin-kit@0.3.1", "", { "dependencies": { "@eslint/core": "^0.14.0", "levn": "^0.4.1" } }, "sha512-0J+zgWxHN+xXONWIyPWKFMgVuJoZuGiIFu8yxk7RJjxkzpGmyja5wRFqZIVtjDVOQpV+Rw0iOAjYPE2eQyjr0w=="], + + "@humanfs/core": ["@humanfs/core@0.19.1", "", {}, "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA=="], + + "@humanfs/node": ["@humanfs/node@0.16.6", "", { "dependencies": { "@humanfs/core": "^0.19.1", "@humanwhocodes/retry": "^0.3.0" } }, "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw=="], + + "@humanwhocodes/module-importer": ["@humanwhocodes/module-importer@1.0.1", "", {}, "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA=="], + + "@humanwhocodes/retry": ["@humanwhocodes/retry@0.4.3", "", {}, "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ=="], + + "@isaacs/fs-minipass": ["@isaacs/fs-minipass@4.0.1", "", { "dependencies": { "minipass": "^7.0.4" } }, "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w=="], + + "@jridgewell/gen-mapping": ["@jridgewell/gen-mapping@0.3.8", "", { "dependencies": { "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA=="], + + "@jridgewell/resolve-uri": ["@jridgewell/resolve-uri@3.1.2", "", {}, "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw=="], + + "@jridgewell/set-array": ["@jridgewell/set-array@1.2.1", "", {}, "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A=="], + + "@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.5.0", "", {}, "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ=="], + + "@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.25", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ=="], + + "@nodelib/fs.scandir": ["@nodelib/fs.scandir@2.1.5", "", { "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" } }, "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g=="], + + "@nodelib/fs.stat": ["@nodelib/fs.stat@2.0.5", "", {}, "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A=="], + + "@nodelib/fs.walk": ["@nodelib/fs.walk@1.2.8", "", { "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" } }, "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg=="], + + "@polka/url": ["@polka/url@1.0.0-next.29", "", {}, "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww=="], + + "@rollup/rollup-android-arm-eabi": ["@rollup/rollup-android-arm-eabi@4.41.1", "", { "os": "android", "cpu": "arm" }, "sha512-NELNvyEWZ6R9QMkiytB4/L4zSEaBC03KIXEghptLGLZWJ6VPrL63ooZQCOnlx36aQPGhzuOMwDerC1Eb2VmrLw=="], + + "@rollup/rollup-android-arm64": ["@rollup/rollup-android-arm64@4.41.1", "", { "os": "android", "cpu": "arm64" }, "sha512-DXdQe1BJ6TK47ukAoZLehRHhfKnKg9BjnQYUu9gzhI8Mwa1d2fzxA1aw2JixHVl403bwp1+/o/NhhHtxWJBgEA=="], + + "@rollup/rollup-darwin-arm64": ["@rollup/rollup-darwin-arm64@4.41.1", "", { "os": "darwin", "cpu": "arm64" }, "sha512-5afxvwszzdulsU2w8JKWwY8/sJOLPzf0e1bFuvcW5h9zsEg+RQAojdW0ux2zyYAz7R8HvvzKCjLNJhVq965U7w=="], + + "@rollup/rollup-darwin-x64": ["@rollup/rollup-darwin-x64@4.41.1", "", { "os": "darwin", "cpu": "x64" }, "sha512-egpJACny8QOdHNNMZKf8xY0Is6gIMz+tuqXlusxquWu3F833DcMwmGM7WlvCO9sB3OsPjdC4U0wHw5FabzCGZg=="], + + "@rollup/rollup-freebsd-arm64": ["@rollup/rollup-freebsd-arm64@4.41.1", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-DBVMZH5vbjgRk3r0OzgjS38z+atlupJ7xfKIDJdZZL6sM6wjfDNo64aowcLPKIx7LMQi8vybB56uh1Ftck/Atg=="], + + "@rollup/rollup-freebsd-x64": ["@rollup/rollup-freebsd-x64@4.41.1", "", { "os": "freebsd", "cpu": "x64" }, "sha512-3FkydeohozEskBxNWEIbPfOE0aqQgB6ttTkJ159uWOFn42VLyfAiyD9UK5mhu+ItWzft60DycIN1Xdgiy8o/SA=="], + + "@rollup/rollup-linux-arm-gnueabihf": ["@rollup/rollup-linux-arm-gnueabihf@4.41.1", "", { "os": "linux", "cpu": "arm" }, "sha512-wC53ZNDgt0pqx5xCAgNunkTzFE8GTgdZ9EwYGVcg+jEjJdZGtq9xPjDnFgfFozQI/Xm1mh+D9YlYtl+ueswNEg=="], + + "@rollup/rollup-linux-arm-musleabihf": ["@rollup/rollup-linux-arm-musleabihf@4.41.1", "", { "os": "linux", "cpu": "arm" }, "sha512-jwKCca1gbZkZLhLRtsrka5N8sFAaxrGz/7wRJ8Wwvq3jug7toO21vWlViihG85ei7uJTpzbXZRcORotE+xyrLA=="], + + "@rollup/rollup-linux-arm64-gnu": ["@rollup/rollup-linux-arm64-gnu@4.41.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-g0UBcNknsmmNQ8V2d/zD2P7WWfJKU0F1nu0k5pW4rvdb+BIqMm8ToluW/eeRmxCared5dD76lS04uL4UaNgpNA=="], + + "@rollup/rollup-linux-arm64-musl": ["@rollup/rollup-linux-arm64-musl@4.41.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-XZpeGB5TKEZWzIrj7sXr+BEaSgo/ma/kCgrZgL0oo5qdB1JlTzIYQKel/RmhT6vMAvOdM2teYlAaOGJpJ9lahg=="], + + "@rollup/rollup-linux-loongarch64-gnu": ["@rollup/rollup-linux-loongarch64-gnu@4.41.1", "", { "os": "linux", "cpu": "none" }, "sha512-bkCfDJ4qzWfFRCNt5RVV4DOw6KEgFTUZi2r2RuYhGWC8WhCA8lCAJhDeAmrM/fdiAH54m0mA0Vk2FGRPyzI+tw=="], + + "@rollup/rollup-linux-powerpc64le-gnu": ["@rollup/rollup-linux-powerpc64le-gnu@4.41.1", "", { "os": "linux", "cpu": "ppc64" }, "sha512-3mr3Xm+gvMX+/8EKogIZSIEF0WUu0HL9di+YWlJpO8CQBnoLAEL/roTCxuLncEdgcfJcvA4UMOf+2dnjl4Ut1A=="], + + "@rollup/rollup-linux-riscv64-gnu": ["@rollup/rollup-linux-riscv64-gnu@4.41.1", "", { "os": "linux", "cpu": "none" }, "sha512-3rwCIh6MQ1LGrvKJitQjZFuQnT2wxfU+ivhNBzmxXTXPllewOF7JR1s2vMX/tWtUYFgphygxjqMl76q4aMotGw=="], + + "@rollup/rollup-linux-riscv64-musl": ["@rollup/rollup-linux-riscv64-musl@4.41.1", "", { "os": "linux", "cpu": "none" }, "sha512-LdIUOb3gvfmpkgFZuccNa2uYiqtgZAz3PTzjuM5bH3nvuy9ty6RGc/Q0+HDFrHrizJGVpjnTZ1yS5TNNjFlklw=="], + + "@rollup/rollup-linux-s390x-gnu": ["@rollup/rollup-linux-s390x-gnu@4.41.1", "", { "os": "linux", "cpu": "s390x" }, "sha512-oIE6M8WC9ma6xYqjvPhzZYk6NbobIURvP/lEbh7FWplcMO6gn7MM2yHKA1eC/GvYwzNKK/1LYgqzdkZ8YFxR8g=="], + + "@rollup/rollup-linux-x64-gnu": ["@rollup/rollup-linux-x64-gnu@4.41.1", "", { "os": "linux", "cpu": "x64" }, "sha512-cWBOvayNvA+SyeQMp79BHPK8ws6sHSsYnK5zDcsC3Hsxr1dgTABKjMnMslPq1DvZIp6uO7kIWhiGwaTdR4Og9A=="], + + "@rollup/rollup-linux-x64-musl": ["@rollup/rollup-linux-x64-musl@4.41.1", "", { "os": "linux", "cpu": "x64" }, "sha512-y5CbN44M+pUCdGDlZFzGGBSKCA4A/J2ZH4edTYSSxFg7ce1Xt3GtydbVKWLlzL+INfFIZAEg1ZV6hh9+QQf9YQ=="], + + "@rollup/rollup-win32-arm64-msvc": ["@rollup/rollup-win32-arm64-msvc@4.41.1", "", { "os": "win32", "cpu": "arm64" }, "sha512-lZkCxIrjlJlMt1dLO/FbpZbzt6J/A8p4DnqzSa4PWqPEUUUnzXLeki/iyPLfV0BmHItlYgHUqJe+3KiyydmiNQ=="], + + "@rollup/rollup-win32-ia32-msvc": ["@rollup/rollup-win32-ia32-msvc@4.41.1", "", { "os": "win32", "cpu": "ia32" }, "sha512-+psFT9+pIh2iuGsxFYYa/LhS5MFKmuivRsx9iPJWNSGbh2XVEjk90fmpUEjCnILPEPJnikAU6SFDiEUyOv90Pg=="], + + "@rollup/rollup-win32-x64-msvc": ["@rollup/rollup-win32-x64-msvc@4.41.1", "", { "os": "win32", "cpu": "x64" }, "sha512-Wq2zpapRYLfi4aKxf2Xff0tN+7slj2d4R87WEzqw7ZLsVvO5zwYCIuEGSZYiK41+GlwUo1HiR+GdkLEJnCKTCw=="], + + "@sveltejs/acorn-typescript": ["@sveltejs/acorn-typescript@1.0.5", "", { "peerDependencies": { "acorn": "^8.9.0" } }, "sha512-IwQk4yfwLdibDlrXVE04jTZYlLnwsTT2PIOQQGNLWfjavGifnk1JD1LcZjZaBTRcxZu2FfPfNLOE04DSu9lqtQ=="], + + "@sveltejs/adapter-static": ["@sveltejs/adapter-static@3.0.8", "", { "peerDependencies": { "@sveltejs/kit": "^2.0.0" } }, "sha512-YaDrquRpZwfcXbnlDsSrBQNCChVOT9MGuSg+dMAyfsAa1SmiAhrA5jUYUiIMC59G92kIbY/AaQOWcBdq+lh+zg=="], + + "@sveltejs/kit": ["@sveltejs/kit@2.21.2", "", { "dependencies": { "@sveltejs/acorn-typescript": "^1.0.5", "@types/cookie": "^0.6.0", "acorn": "^8.14.1", "cookie": "^0.6.0", "devalue": "^5.1.0", "esm-env": "^1.2.2", "kleur": "^4.1.5", "magic-string": "^0.30.5", "mrmime": "^2.0.0", "sade": "^1.8.1", "set-cookie-parser": "^2.6.0", "sirv": "^3.0.0" }, "peerDependencies": { "@sveltejs/vite-plugin-svelte": "^3.0.0 || ^4.0.0-next.1 || ^5.0.0", "svelte": "^4.0.0 || ^5.0.0-next.0", "vite": "^5.0.3 || ^6.0.0" }, "bin": { "svelte-kit": "svelte-kit.js" } }, "sha512-EMYTY4+rNa7TaRZYzCqhQslEkACEZzWc363jOYuc90oJrgvlWTcgqTxcGSIJim48hPaXwYlHyatRnnMmTFf5tA=="], + + "@sveltejs/vite-plugin-svelte": ["@sveltejs/vite-plugin-svelte@5.1.0", "", { "dependencies": { "@sveltejs/vite-plugin-svelte-inspector": "^4.0.1", "debug": "^4.4.1", "deepmerge": "^4.3.1", "kleur": "^4.1.5", "magic-string": "^0.30.17", "vitefu": "^1.0.6" }, "peerDependencies": { "svelte": "^5.0.0", "vite": "^6.0.0" } }, "sha512-wojIS/7GYnJDYIg1higWj2ROA6sSRWvcR1PO/bqEyFr/5UZah26c8Cz4u0NaqjPeVltzsVpt2Tm8d2io0V+4Tw=="], + + "@sveltejs/vite-plugin-svelte-inspector": ["@sveltejs/vite-plugin-svelte-inspector@4.0.1", "", { "dependencies": { "debug": "^4.3.7" }, "peerDependencies": { "@sveltejs/vite-plugin-svelte": "^5.0.0", "svelte": "^5.0.0", "vite": "^6.0.0" } }, "sha512-J/Nmb2Q2y7mck2hyCX4ckVHcR5tu2J+MtBEQqpDrrgELZ2uvraQcK/ioCV61AqkdXFgriksOKIceDcQmqnGhVw=="], + + "@tailwindcss/node": ["@tailwindcss/node@4.1.8", "", { "dependencies": { "@ampproject/remapping": "^2.3.0", "enhanced-resolve": "^5.18.1", "jiti": "^2.4.2", "lightningcss": "1.30.1", "magic-string": "^0.30.17", "source-map-js": "^1.2.1", "tailwindcss": "4.1.8" } }, "sha512-OWwBsbC9BFAJelmnNcrKuf+bka2ZxCE2A4Ft53Tkg4uoiE67r/PMEYwCsourC26E+kmxfwE0hVzMdxqeW+xu7Q=="], + + "@tailwindcss/oxide": ["@tailwindcss/oxide@4.1.8", "", { "dependencies": { "detect-libc": "^2.0.4", "tar": "^7.4.3" }, "optionalDependencies": { "@tailwindcss/oxide-android-arm64": "4.1.8", "@tailwindcss/oxide-darwin-arm64": "4.1.8", "@tailwindcss/oxide-darwin-x64": "4.1.8", "@tailwindcss/oxide-freebsd-x64": "4.1.8", "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.8", "@tailwindcss/oxide-linux-arm64-gnu": "4.1.8", "@tailwindcss/oxide-linux-arm64-musl": "4.1.8", "@tailwindcss/oxide-linux-x64-gnu": "4.1.8", "@tailwindcss/oxide-linux-x64-musl": "4.1.8", "@tailwindcss/oxide-wasm32-wasi": "4.1.8", "@tailwindcss/oxide-win32-arm64-msvc": "4.1.8", "@tailwindcss/oxide-win32-x64-msvc": "4.1.8" } }, "sha512-d7qvv9PsM5N3VNKhwVUhpK6r4h9wtLkJ6lz9ZY9aeZgrUWk1Z8VPyqyDT9MZlem7GTGseRQHkeB1j3tC7W1P+A=="], + + "@tailwindcss/oxide-android-arm64": ["@tailwindcss/oxide-android-arm64@4.1.8", "", { "os": "android", "cpu": "arm64" }, "sha512-Fbz7qni62uKYceWYvUjRqhGfZKwhZDQhlrJKGtnZfuNtHFqa8wmr+Wn74CTWERiW2hn3mN5gTpOoxWKk0jRxjg=="], + + "@tailwindcss/oxide-darwin-arm64": ["@tailwindcss/oxide-darwin-arm64@4.1.8", "", { "os": "darwin", "cpu": "arm64" }, "sha512-RdRvedGsT0vwVVDztvyXhKpsU2ark/BjgG0huo4+2BluxdXo8NDgzl77qh0T1nUxmM11eXwR8jA39ibvSTbi7A=="], + + "@tailwindcss/oxide-darwin-x64": ["@tailwindcss/oxide-darwin-x64@4.1.8", "", { "os": "darwin", "cpu": "x64" }, "sha512-t6PgxjEMLp5Ovf7uMb2OFmb3kqzVTPPakWpBIFzppk4JE4ix0yEtbtSjPbU8+PZETpaYMtXvss2Sdkx8Vs4XRw=="], + + "@tailwindcss/oxide-freebsd-x64": ["@tailwindcss/oxide-freebsd-x64@4.1.8", "", { "os": "freebsd", "cpu": "x64" }, "sha512-g8C8eGEyhHTqwPStSwZNSrOlyx0bhK/V/+zX0Y+n7DoRUzyS8eMbVshVOLJTDDC+Qn9IJnilYbIKzpB9n4aBsg=="], + + "@tailwindcss/oxide-linux-arm-gnueabihf": ["@tailwindcss/oxide-linux-arm-gnueabihf@4.1.8", "", { "os": "linux", "cpu": "arm" }, "sha512-Jmzr3FA4S2tHhaC6yCjac3rGf7hG9R6Gf2z9i9JFcuyy0u79HfQsh/thifbYTF2ic82KJovKKkIB6Z9TdNhCXQ=="], + + "@tailwindcss/oxide-linux-arm64-gnu": ["@tailwindcss/oxide-linux-arm64-gnu@4.1.8", "", { "os": "linux", "cpu": "arm64" }, "sha512-qq7jXtO1+UEtCmCeBBIRDrPFIVI4ilEQ97qgBGdwXAARrUqSn/L9fUrkb1XP/mvVtoVeR2bt/0L77xx53bPZ/Q=="], + + "@tailwindcss/oxide-linux-arm64-musl": ["@tailwindcss/oxide-linux-arm64-musl@4.1.8", "", { "os": "linux", "cpu": "arm64" }, "sha512-O6b8QesPbJCRshsNApsOIpzKt3ztG35gfX9tEf4arD7mwNinsoCKxkj8TgEE0YRjmjtO3r9FlJnT/ENd9EVefQ=="], + + "@tailwindcss/oxide-linux-x64-gnu": ["@tailwindcss/oxide-linux-x64-gnu@4.1.8", "", { "os": "linux", "cpu": "x64" }, "sha512-32iEXX/pXwikshNOGnERAFwFSfiltmijMIAbUhnNyjFr3tmWmMJWQKU2vNcFX0DACSXJ3ZWcSkzNbaKTdngH6g=="], + + "@tailwindcss/oxide-linux-x64-musl": ["@tailwindcss/oxide-linux-x64-musl@4.1.8", "", { "os": "linux", "cpu": "x64" }, "sha512-s+VSSD+TfZeMEsCaFaHTaY5YNj3Dri8rST09gMvYQKwPphacRG7wbuQ5ZJMIJXN/puxPcg/nU+ucvWguPpvBDg=="], + + "@tailwindcss/oxide-wasm32-wasi": ["@tailwindcss/oxide-wasm32-wasi@4.1.8", "", { "dependencies": { "@emnapi/core": "^1.4.3", "@emnapi/runtime": "^1.4.3", "@emnapi/wasi-threads": "^1.0.2", "@napi-rs/wasm-runtime": "^0.2.10", "@tybys/wasm-util": "^0.9.0", "tslib": "^2.8.0" }, "cpu": "none" }, "sha512-CXBPVFkpDjM67sS1psWohZ6g/2/cd+cq56vPxK4JeawelxwK4YECgl9Y9TjkE2qfF+9/s1tHHJqrC4SS6cVvSg=="], + + "@tailwindcss/oxide-win32-arm64-msvc": ["@tailwindcss/oxide-win32-arm64-msvc@4.1.8", "", { "os": "win32", "cpu": "arm64" }, "sha512-7GmYk1n28teDHUjPlIx4Z6Z4hHEgvP5ZW2QS9ygnDAdI/myh3HTHjDqtSqgu1BpRoI4OiLx+fThAyA1JePoENA=="], + + "@tailwindcss/oxide-win32-x64-msvc": ["@tailwindcss/oxide-win32-x64-msvc@4.1.8", "", { "os": "win32", "cpu": "x64" }, "sha512-fou+U20j+Jl0EHwK92spoWISON2OBnCazIc038Xj2TdweYV33ZRkS9nwqiUi2d/Wba5xg5UoHfvynnb/UB49cQ=="], + + "@tailwindcss/vite": ["@tailwindcss/vite@4.1.8", "", { "dependencies": { "@tailwindcss/node": "4.1.8", "@tailwindcss/oxide": "4.1.8", "tailwindcss": "4.1.8" }, "peerDependencies": { "vite": "^5.2.0 || ^6" } }, "sha512-CQ+I8yxNV5/6uGaJjiuymgw0kEQiNKRinYbZXPdx1fk5WgiyReG0VaUx/Xq6aVNSUNJFzxm6o8FNKS5aMaim5A=="], + + "@types/cookie": ["@types/cookie@0.6.0", "", {}, "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA=="], + + "@types/estree": ["@types/estree@1.0.8", "", {}, "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w=="], + + "@types/json-schema": ["@types/json-schema@7.0.15", "", {}, "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA=="], + + "@types/node": ["@types/node@22.15.30", "", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-6Q7lr06bEHdlfplU6YRbgG1SFBdlsfNC4/lX+SkhiTs0cpJkOElmWls8PxDFv4yY/xKb8Y6SO0OmSX4wgqTZbA=="], + + "@typescript-eslint/eslint-plugin": ["@typescript-eslint/eslint-plugin@8.33.1", "", { "dependencies": { "@eslint-community/regexpp": "^4.10.0", "@typescript-eslint/scope-manager": "8.33.1", "@typescript-eslint/type-utils": "8.33.1", "@typescript-eslint/utils": "8.33.1", "@typescript-eslint/visitor-keys": "8.33.1", "graphemer": "^1.4.0", "ignore": "^7.0.0", "natural-compare": "^1.4.0", "ts-api-utils": "^2.1.0" }, "peerDependencies": { "@typescript-eslint/parser": "^8.33.1", "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.9.0" } }, "sha512-TDCXj+YxLgtvxvFlAvpoRv9MAncDLBV2oT9Bd7YBGC/b/sEURoOYuIwLI99rjWOfY3QtDzO+mk0n4AmdFExW8A=="], + + "@typescript-eslint/parser": ["@typescript-eslint/parser@8.33.1", "", { "dependencies": { "@typescript-eslint/scope-manager": "8.33.1", "@typescript-eslint/types": "8.33.1", "@typescript-eslint/typescript-estree": "8.33.1", "@typescript-eslint/visitor-keys": "8.33.1", "debug": "^4.3.4" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.9.0" } }, "sha512-qwxv6dq682yVvgKKp2qWwLgRbscDAYktPptK4JPojCwwi3R9cwrvIxS4lvBpzmcqzR4bdn54Z0IG1uHFskW4dA=="], + + "@typescript-eslint/project-service": ["@typescript-eslint/project-service@8.33.1", "", { "dependencies": { "@typescript-eslint/tsconfig-utils": "^8.33.1", "@typescript-eslint/types": "^8.33.1", "debug": "^4.3.4" }, "peerDependencies": { "typescript": ">=4.8.4 <5.9.0" } }, "sha512-DZR0efeNklDIHHGRpMpR5gJITQpu6tLr9lDJnKdONTC7vvzOlLAG/wcfxcdxEWrbiZApcoBCzXqU/Z458Za5Iw=="], + + "@typescript-eslint/scope-manager": ["@typescript-eslint/scope-manager@8.33.1", "", { "dependencies": { "@typescript-eslint/types": "8.33.1", "@typescript-eslint/visitor-keys": "8.33.1" } }, "sha512-dM4UBtgmzHR9bS0Rv09JST0RcHYearoEoo3pG5B6GoTR9XcyeqX87FEhPo+5kTvVfKCvfHaHrcgeJQc6mrDKrA=="], + + "@typescript-eslint/tsconfig-utils": ["@typescript-eslint/tsconfig-utils@8.33.1", "", { "peerDependencies": { "typescript": ">=4.8.4 <5.9.0" } }, "sha512-STAQsGYbHCF0/e+ShUQ4EatXQ7ceh3fBCXkNU7/MZVKulrlq1usH7t2FhxvCpuCi5O5oi1vmVaAjrGeL71OK1g=="], + + "@typescript-eslint/type-utils": ["@typescript-eslint/type-utils@8.33.1", "", { "dependencies": { "@typescript-eslint/typescript-estree": "8.33.1", "@typescript-eslint/utils": "8.33.1", "debug": "^4.3.4", "ts-api-utils": "^2.1.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.9.0" } }, "sha512-1cG37d9xOkhlykom55WVwG2QRNC7YXlxMaMzqw2uPeJixBFfKWZgaP/hjAObqMN/u3fr5BrTwTnc31/L9jQ2ww=="], + + "@typescript-eslint/types": ["@typescript-eslint/types@8.33.1", "", {}, "sha512-xid1WfizGhy/TKMTwhtVOgalHwPtV8T32MS9MaH50Cwvz6x6YqRIPdD2WvW0XaqOzTV9p5xdLY0h/ZusU5Lokg=="], + + "@typescript-eslint/typescript-estree": ["@typescript-eslint/typescript-estree@8.33.1", "", { "dependencies": { "@typescript-eslint/project-service": "8.33.1", "@typescript-eslint/tsconfig-utils": "8.33.1", "@typescript-eslint/types": "8.33.1", "@typescript-eslint/visitor-keys": "8.33.1", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", "minimatch": "^9.0.4", "semver": "^7.6.0", "ts-api-utils": "^2.1.0" }, "peerDependencies": { "typescript": ">=4.8.4 <5.9.0" } }, "sha512-+s9LYcT8LWjdYWu7IWs7FvUxpQ/DGkdjZeE/GGulHvv8rvYwQvVaUZ6DE+j5x/prADUgSbbCWZ2nPI3usuVeOA=="], + + "@typescript-eslint/utils": ["@typescript-eslint/utils@8.33.1", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.7.0", "@typescript-eslint/scope-manager": "8.33.1", "@typescript-eslint/types": "8.33.1", "@typescript-eslint/typescript-estree": "8.33.1" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.9.0" } }, "sha512-52HaBiEQUaRYqAXpfzWSR2U3gxk92Kw006+xZpElaPMg3C4PgM+A5LqwoQI1f9E5aZ/qlxAZxzm42WX+vn92SQ=="], + + "@typescript-eslint/visitor-keys": ["@typescript-eslint/visitor-keys@8.33.1", "", { "dependencies": { "@typescript-eslint/types": "8.33.1", "eslint-visitor-keys": "^4.2.0" } }, "sha512-3i8NrFcZeeDHJ+7ZUuDkGT+UHq+XoFGsymNK2jZCOHcfEzRQ0BdpRtdpSx/Iyf3MHLWIcLS0COuOPibKQboIiQ=="], + + "acorn": ["acorn@8.14.1", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg=="], + + "acorn-jsx": ["acorn-jsx@5.3.2", "", { "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ=="], + + "ajv": ["ajv@6.12.6", "", { "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g=="], + + "ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], + + "argparse": ["argparse@2.0.1", "", {}, "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="], + + "aria-query": ["aria-query@5.3.2", "", {}, "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw=="], + + "axobject-query": ["axobject-query@4.1.0", "", {}, "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ=="], + + "balanced-match": ["balanced-match@1.0.2", "", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="], + + "brace-expansion": ["brace-expansion@1.1.11", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA=="], + + "braces": ["braces@3.0.3", "", { "dependencies": { "fill-range": "^7.1.1" } }, "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA=="], + + "callsites": ["callsites@3.1.0", "", {}, "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="], + + "chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], + + "chokidar": ["chokidar@4.0.3", "", { "dependencies": { "readdirp": "^4.0.1" } }, "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA=="], + + "chownr": ["chownr@3.0.0", "", {}, "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g=="], + + "clsx": ["clsx@2.1.1", "", {}, "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA=="], + + "color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="], + + "color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="], + + "concat-map": ["concat-map@0.0.1", "", {}, "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="], + + "cookie": ["cookie@0.6.0", "", {}, "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw=="], + + "cross-spawn": ["cross-spawn@7.0.6", "", { "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" } }, "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA=="], + + "cssesc": ["cssesc@3.0.0", "", { "bin": { "cssesc": "bin/cssesc" } }, "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg=="], + + "debug": ["debug@4.4.1", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ=="], + + "deep-is": ["deep-is@0.1.4", "", {}, "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="], + + "deepmerge": ["deepmerge@4.3.1", "", {}, "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A=="], + + "detect-libc": ["detect-libc@2.0.4", "", {}, "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA=="], + + "devalue": ["devalue@5.1.1", "", {}, "sha512-maua5KUiapvEwiEAe+XnlZ3Rh0GD+qI1J/nb9vrJc3muPXvcF/8gXYTWF76+5DAqHyDUtOIImEuo0YKE9mshVw=="], + + "enhanced-resolve": ["enhanced-resolve@5.18.1", "", { "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" } }, "sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg=="], + + "esbuild": ["esbuild@0.25.5", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.5", "@esbuild/android-arm": "0.25.5", "@esbuild/android-arm64": "0.25.5", "@esbuild/android-x64": "0.25.5", "@esbuild/darwin-arm64": "0.25.5", "@esbuild/darwin-x64": "0.25.5", "@esbuild/freebsd-arm64": "0.25.5", "@esbuild/freebsd-x64": "0.25.5", "@esbuild/linux-arm": "0.25.5", "@esbuild/linux-arm64": "0.25.5", "@esbuild/linux-ia32": "0.25.5", "@esbuild/linux-loong64": "0.25.5", "@esbuild/linux-mips64el": "0.25.5", "@esbuild/linux-ppc64": "0.25.5", "@esbuild/linux-riscv64": "0.25.5", "@esbuild/linux-s390x": "0.25.5", "@esbuild/linux-x64": "0.25.5", "@esbuild/netbsd-arm64": "0.25.5", "@esbuild/netbsd-x64": "0.25.5", "@esbuild/openbsd-arm64": "0.25.5", "@esbuild/openbsd-x64": "0.25.5", "@esbuild/sunos-x64": "0.25.5", "@esbuild/win32-arm64": "0.25.5", "@esbuild/win32-ia32": "0.25.5", "@esbuild/win32-x64": "0.25.5" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ=="], + + "escape-string-regexp": ["escape-string-regexp@4.0.0", "", {}, "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="], + + "eslint": ["eslint@9.28.0", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.12.1", "@eslint/config-array": "^0.20.0", "@eslint/config-helpers": "^0.2.1", "@eslint/core": "^0.14.0", "@eslint/eslintrc": "^3.3.1", "@eslint/js": "9.28.0", "@eslint/plugin-kit": "^0.3.1", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", "@types/estree": "^1.0.6", "@types/json-schema": "^7.0.15", "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.6", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", "eslint-scope": "^8.3.0", "eslint-visitor-keys": "^4.2.0", "espree": "^10.3.0", "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^8.0.0", "find-up": "^5.0.0", "glob-parent": "^6.0.2", "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "json-stable-stringify-without-jsonify": "^1.0.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", "optionator": "^0.9.3" }, "peerDependencies": { "jiti": "*" }, "optionalPeers": ["jiti"], "bin": { "eslint": "bin/eslint.js" } }, "sha512-ocgh41VhRlf9+fVpe7QKzwLj9c92fDiqOj8Y3Sd4/ZmVA4Btx4PlUYPq4pp9JDyupkf1upbEXecxL2mwNV7jPQ=="], + + "eslint-config-prettier": ["eslint-config-prettier@10.1.5", "", { "peerDependencies": { "eslint": ">=7.0.0" }, "bin": { "eslint-config-prettier": "bin/cli.js" } }, "sha512-zc1UmCpNltmVY34vuLRV61r1K27sWuX39E+uyUnY8xS2Bex88VV9cugG+UZbRSRGtGyFboj+D8JODyme1plMpw=="], + + "eslint-plugin-svelte": ["eslint-plugin-svelte@3.9.1", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.6.1", "@jridgewell/sourcemap-codec": "^1.5.0", "esutils": "^2.0.3", "globals": "^16.0.0", "known-css-properties": "^0.36.0", "postcss": "^8.4.49", "postcss-load-config": "^3.1.4", "postcss-safe-parser": "^7.0.0", "semver": "^7.6.3", "svelte-eslint-parser": "^1.2.0" }, "peerDependencies": { "eslint": "^8.57.1 || ^9.0.0", "svelte": "^3.37.0 || ^4.0.0 || ^5.0.0" }, "optionalPeers": ["svelte"] }, "sha512-mXFulSdD/0/p+zwENjPNsiVwAqmSRp90sy5zvVQBX1yAXhJbdhIn6C/tn8BZYjU94Ia7Y87d1Xdbvi49DeWyHQ=="], + + "eslint-scope": ["eslint-scope@8.3.0", "", { "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" } }, "sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ=="], + + "eslint-visitor-keys": ["eslint-visitor-keys@4.2.0", "", {}, "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw=="], + + "esm-env": ["esm-env@1.2.2", "", {}, "sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA=="], + + "espree": ["espree@10.3.0", "", { "dependencies": { "acorn": "^8.14.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^4.2.0" } }, "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg=="], + + "esquery": ["esquery@1.6.0", "", { "dependencies": { "estraverse": "^5.1.0" } }, "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg=="], + + "esrap": ["esrap@1.4.7", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.15" } }, "sha512-0ZxW6guTF/AeKeKi7he93lmgv7Hx7giD1tBrOeVqkqsZGQJd2/kfnL7LdIsr9FT/AtkBK9XeDTov+gxprBqdEg=="], + + "esrecurse": ["esrecurse@4.3.0", "", { "dependencies": { "estraverse": "^5.2.0" } }, "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag=="], + + "estraverse": ["estraverse@5.3.0", "", {}, "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="], + + "esutils": ["esutils@2.0.3", "", {}, "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="], + + "fast-deep-equal": ["fast-deep-equal@3.1.3", "", {}, "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="], + + "fast-glob": ["fast-glob@3.3.3", "", { "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", "micromatch": "^4.0.8" } }, "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg=="], + + "fast-json-stable-stringify": ["fast-json-stable-stringify@2.1.0", "", {}, "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="], + + "fast-levenshtein": ["fast-levenshtein@2.0.6", "", {}, "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw=="], + + "fastq": ["fastq@1.19.1", "", { "dependencies": { "reusify": "^1.0.4" } }, "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ=="], + + "fdir": ["fdir@6.4.5", "", { "peerDependencies": { "picomatch": "^3 || ^4" }, "optionalPeers": ["picomatch"] }, "sha512-4BG7puHpVsIYxZUbiUE3RqGloLaSSwzYie5jvasC4LWuBWzZawynvYouhjbQKw2JuIGYdm0DzIxl8iVidKlUEw=="], + + "file-entry-cache": ["file-entry-cache@8.0.0", "", { "dependencies": { "flat-cache": "^4.0.0" } }, "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ=="], + + "fill-range": ["fill-range@7.1.1", "", { "dependencies": { "to-regex-range": "^5.0.1" } }, "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg=="], + + "find-up": ["find-up@5.0.0", "", { "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" } }, "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng=="], + + "flat-cache": ["flat-cache@4.0.1", "", { "dependencies": { "flatted": "^3.2.9", "keyv": "^4.5.4" } }, "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw=="], + + "flatted": ["flatted@3.3.3", "", {}, "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg=="], + + "fsevents": ["fsevents@2.3.3", "", { "os": "darwin" }, "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="], + + "glob-parent": ["glob-parent@6.0.2", "", { "dependencies": { "is-glob": "^4.0.3" } }, "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A=="], + + "globals": ["globals@16.2.0", "", {}, "sha512-O+7l9tPdHCU320IigZZPj5zmRCFG9xHmx9cU8FqU2Rp+JN714seHV+2S9+JslCpY4gJwU2vOGox0wzgae/MCEg=="], + + "graceful-fs": ["graceful-fs@4.2.11", "", {}, "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="], + + "graphemer": ["graphemer@1.4.0", "", {}, "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag=="], + + "has-flag": ["has-flag@4.0.0", "", {}, "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="], + + "ignore": ["ignore@5.3.2", "", {}, "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g=="], + + "import-fresh": ["import-fresh@3.3.1", "", { "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" } }, "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ=="], + + "imurmurhash": ["imurmurhash@0.1.4", "", {}, "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA=="], + + "is-extglob": ["is-extglob@2.1.1", "", {}, "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="], + + "is-glob": ["is-glob@4.0.3", "", { "dependencies": { "is-extglob": "^2.1.1" } }, "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg=="], + + "is-number": ["is-number@7.0.0", "", {}, "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="], + + "is-reference": ["is-reference@3.0.3", "", { "dependencies": { "@types/estree": "^1.0.6" } }, "sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw=="], + + "isexe": ["isexe@2.0.0", "", {}, "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="], + + "jiti": ["jiti@2.4.2", "", { "bin": { "jiti": "lib/jiti-cli.mjs" } }, "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A=="], + + "js-yaml": ["js-yaml@4.1.0", "", { "dependencies": { "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA=="], + + "json-buffer": ["json-buffer@3.0.1", "", {}, "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ=="], + + "json-schema-traverse": ["json-schema-traverse@0.4.1", "", {}, "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="], + + "json-stable-stringify-without-jsonify": ["json-stable-stringify-without-jsonify@1.0.1", "", {}, "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw=="], + + "keyv": ["keyv@4.5.4", "", { "dependencies": { "json-buffer": "3.0.1" } }, "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw=="], + + "kleur": ["kleur@4.1.5", "", {}, "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ=="], + + "known-css-properties": ["known-css-properties@0.36.0", "", {}, "sha512-A+9jP+IUmuQsNdsLdcg6Yt7voiMF/D4K83ew0OpJtpu+l34ef7LaohWV0Rc6KNvzw6ZDizkqfyB5JznZnzuKQA=="], + + "lerobot-arena-client": ["lerobot-arena-client@link:lerobot-arena-client", {}], + + "levn": ["levn@0.4.1", "", { "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" } }, "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ=="], + + "lightningcss": ["lightningcss@1.30.1", "", { "dependencies": { "detect-libc": "^2.0.3" }, "optionalDependencies": { "lightningcss-darwin-arm64": "1.30.1", "lightningcss-darwin-x64": "1.30.1", "lightningcss-freebsd-x64": "1.30.1", "lightningcss-linux-arm-gnueabihf": "1.30.1", "lightningcss-linux-arm64-gnu": "1.30.1", "lightningcss-linux-arm64-musl": "1.30.1", "lightningcss-linux-x64-gnu": "1.30.1", "lightningcss-linux-x64-musl": "1.30.1", "lightningcss-win32-arm64-msvc": "1.30.1", "lightningcss-win32-x64-msvc": "1.30.1" } }, "sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg=="], + + "lightningcss-darwin-arm64": ["lightningcss-darwin-arm64@1.30.1", "", { "os": "darwin", "cpu": "arm64" }, "sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ=="], + + "lightningcss-darwin-x64": ["lightningcss-darwin-x64@1.30.1", "", { "os": "darwin", "cpu": "x64" }, "sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA=="], + + "lightningcss-freebsd-x64": ["lightningcss-freebsd-x64@1.30.1", "", { "os": "freebsd", "cpu": "x64" }, "sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig=="], + + "lightningcss-linux-arm-gnueabihf": ["lightningcss-linux-arm-gnueabihf@1.30.1", "", { "os": "linux", "cpu": "arm" }, "sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q=="], + + "lightningcss-linux-arm64-gnu": ["lightningcss-linux-arm64-gnu@1.30.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw=="], + + "lightningcss-linux-arm64-musl": ["lightningcss-linux-arm64-musl@1.30.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ=="], + + "lightningcss-linux-x64-gnu": ["lightningcss-linux-x64-gnu@1.30.1", "", { "os": "linux", "cpu": "x64" }, "sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw=="], + + "lightningcss-linux-x64-musl": ["lightningcss-linux-x64-musl@1.30.1", "", { "os": "linux", "cpu": "x64" }, "sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ=="], + + "lightningcss-win32-arm64-msvc": ["lightningcss-win32-arm64-msvc@1.30.1", "", { "os": "win32", "cpu": "arm64" }, "sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA=="], + + "lightningcss-win32-x64-msvc": ["lightningcss-win32-x64-msvc@1.30.1", "", { "os": "win32", "cpu": "x64" }, "sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg=="], + + "lilconfig": ["lilconfig@2.1.0", "", {}, "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ=="], + + "locate-character": ["locate-character@3.0.0", "", {}, "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA=="], + + "locate-path": ["locate-path@6.0.0", "", { "dependencies": { "p-locate": "^5.0.0" } }, "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw=="], + + "lodash.merge": ["lodash.merge@4.6.2", "", {}, "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ=="], + + "magic-string": ["magic-string@0.30.17", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0" } }, "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA=="], + + "merge2": ["merge2@1.4.1", "", {}, "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="], + + "micromatch": ["micromatch@4.0.8", "", { "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" } }, "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA=="], + + "minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="], + + "minipass": ["minipass@7.1.2", "", {}, "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw=="], + + "minizlib": ["minizlib@3.0.2", "", { "dependencies": { "minipass": "^7.1.2" } }, "sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA=="], + + "mkdirp": ["mkdirp@3.0.1", "", { "bin": { "mkdirp": "dist/cjs/src/bin.js" } }, "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg=="], + + "mri": ["mri@1.2.0", "", {}, "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA=="], + + "mrmime": ["mrmime@2.0.1", "", {}, "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ=="], + + "ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="], + + "nanoid": ["nanoid@3.3.11", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="], + + "natural-compare": ["natural-compare@1.4.0", "", {}, "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw=="], + + "optionator": ["optionator@0.9.4", "", { "dependencies": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", "type-check": "^0.4.0", "word-wrap": "^1.2.5" } }, "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g=="], + + "p-limit": ["p-limit@3.1.0", "", { "dependencies": { "yocto-queue": "^0.1.0" } }, "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ=="], + + "p-locate": ["p-locate@5.0.0", "", { "dependencies": { "p-limit": "^3.0.2" } }, "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw=="], + + "parent-module": ["parent-module@1.0.1", "", { "dependencies": { "callsites": "^3.0.0" } }, "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g=="], + + "path-exists": ["path-exists@4.0.0", "", {}, "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="], + + "path-key": ["path-key@3.1.1", "", {}, "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="], + + "picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="], + + "picomatch": ["picomatch@4.0.2", "", {}, "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg=="], + + "postcss": ["postcss@8.5.4", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-QSa9EBe+uwlGTFmHsPKokv3B/oEMQZxfqW0QqNCyhpa6mB1afzulwn8hihglqAb2pOw+BJgNlmXQ8la2VeHB7w=="], + + "postcss-load-config": ["postcss-load-config@3.1.4", "", { "dependencies": { "lilconfig": "^2.0.5", "yaml": "^1.10.2" }, "peerDependencies": { "postcss": ">=8.0.9", "ts-node": ">=9.0.0" }, "optionalPeers": ["postcss", "ts-node"] }, "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg=="], + + "postcss-safe-parser": ["postcss-safe-parser@7.0.1", "", { "peerDependencies": { "postcss": "^8.4.31" } }, "sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A=="], + + "postcss-scss": ["postcss-scss@4.0.9", "", { "peerDependencies": { "postcss": "^8.4.29" } }, "sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A=="], + + "postcss-selector-parser": ["postcss-selector-parser@7.1.0", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA=="], + + "prelude-ls": ["prelude-ls@1.2.1", "", {}, "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g=="], + + "prettier": ["prettier@3.5.3", "", { "bin": { "prettier": "bin/prettier.cjs" } }, "sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw=="], + + "prettier-plugin-svelte": ["prettier-plugin-svelte@3.4.0", "", { "peerDependencies": { "prettier": "^3.0.0", "svelte": "^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0" } }, "sha512-pn1ra/0mPObzqoIQn/vUTR3ZZI6UuZ0sHqMK5x2jMLGrs53h0sXhkVuDcrlssHwIMk7FYrMjHBPoUSyyEEDlBQ=="], + + "prettier-plugin-tailwindcss": ["prettier-plugin-tailwindcss@0.6.12", "", { "peerDependencies": { "@ianvs/prettier-plugin-sort-imports": "*", "@prettier/plugin-pug": "*", "@shopify/prettier-plugin-liquid": "*", "@trivago/prettier-plugin-sort-imports": "*", "@zackad/prettier-plugin-twig": "*", "prettier": "^3.0", "prettier-plugin-astro": "*", "prettier-plugin-css-order": "*", "prettier-plugin-import-sort": "*", "prettier-plugin-jsdoc": "*", "prettier-plugin-marko": "*", "prettier-plugin-multiline-arrays": "*", "prettier-plugin-organize-attributes": "*", "prettier-plugin-organize-imports": "*", "prettier-plugin-sort-imports": "*", "prettier-plugin-style-order": "*", "prettier-plugin-svelte": "*" }, "optionalPeers": ["@ianvs/prettier-plugin-sort-imports", "@prettier/plugin-pug", "@shopify/prettier-plugin-liquid", "@trivago/prettier-plugin-sort-imports", "@zackad/prettier-plugin-twig", "prettier-plugin-astro", "prettier-plugin-css-order", "prettier-plugin-import-sort", "prettier-plugin-jsdoc", "prettier-plugin-marko", "prettier-plugin-multiline-arrays", "prettier-plugin-organize-attributes", "prettier-plugin-organize-imports", "prettier-plugin-sort-imports", "prettier-plugin-style-order", "prettier-plugin-svelte"] }, "sha512-OuTQKoqNwV7RnxTPwXWzOFXy6Jc4z8oeRZYGuMpRyG3WbuR3jjXdQFK8qFBMBx8UHWdHrddARz2fgUenild6aw=="], + + "punycode": ["punycode@2.3.1", "", {}, "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg=="], + + "queue-microtask": ["queue-microtask@1.2.3", "", {}, "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A=="], + + "readdirp": ["readdirp@4.1.2", "", {}, "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg=="], + + "resolve-from": ["resolve-from@4.0.0", "", {}, "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="], + + "reusify": ["reusify@1.1.0", "", {}, "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw=="], + + "rollup": ["rollup@4.41.1", "", { "dependencies": { "@types/estree": "1.0.7" }, "optionalDependencies": { "@rollup/rollup-android-arm-eabi": "4.41.1", "@rollup/rollup-android-arm64": "4.41.1", "@rollup/rollup-darwin-arm64": "4.41.1", "@rollup/rollup-darwin-x64": "4.41.1", "@rollup/rollup-freebsd-arm64": "4.41.1", "@rollup/rollup-freebsd-x64": "4.41.1", "@rollup/rollup-linux-arm-gnueabihf": "4.41.1", "@rollup/rollup-linux-arm-musleabihf": "4.41.1", "@rollup/rollup-linux-arm64-gnu": "4.41.1", "@rollup/rollup-linux-arm64-musl": "4.41.1", "@rollup/rollup-linux-loongarch64-gnu": "4.41.1", "@rollup/rollup-linux-powerpc64le-gnu": "4.41.1", "@rollup/rollup-linux-riscv64-gnu": "4.41.1", "@rollup/rollup-linux-riscv64-musl": "4.41.1", "@rollup/rollup-linux-s390x-gnu": "4.41.1", "@rollup/rollup-linux-x64-gnu": "4.41.1", "@rollup/rollup-linux-x64-musl": "4.41.1", "@rollup/rollup-win32-arm64-msvc": "4.41.1", "@rollup/rollup-win32-ia32-msvc": "4.41.1", "@rollup/rollup-win32-x64-msvc": "4.41.1", "fsevents": "~2.3.2" }, "bin": { "rollup": "dist/bin/rollup" } }, "sha512-cPmwD3FnFv8rKMBc1MxWCwVQFxwf1JEmSX3iQXrRVVG15zerAIXRjMFVWnd5Q5QvgKF7Aj+5ykXFhUl+QGnyOw=="], + + "run-parallel": ["run-parallel@1.2.0", "", { "dependencies": { "queue-microtask": "^1.2.2" } }, "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA=="], + + "sade": ["sade@1.8.1", "", { "dependencies": { "mri": "^1.1.0" } }, "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A=="], + + "semver": ["semver@7.7.2", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA=="], + + "set-cookie-parser": ["set-cookie-parser@2.7.1", "", {}, "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ=="], + + "shebang-command": ["shebang-command@2.0.0", "", { "dependencies": { "shebang-regex": "^3.0.0" } }, "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA=="], + + "shebang-regex": ["shebang-regex@3.0.0", "", {}, "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="], + + "sirv": ["sirv@3.0.1", "", { "dependencies": { "@polka/url": "^1.0.0-next.24", "mrmime": "^2.0.0", "totalist": "^3.0.0" } }, "sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A=="], + + "source-map-js": ["source-map-js@1.2.1", "", {}, "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="], + + "strip-json-comments": ["strip-json-comments@3.1.1", "", {}, "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig=="], + + "supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], + + "svelte": ["svelte@5.33.14", "", { "dependencies": { "@ampproject/remapping": "^2.3.0", "@jridgewell/sourcemap-codec": "^1.5.0", "@sveltejs/acorn-typescript": "^1.0.5", "@types/estree": "^1.0.5", "acorn": "^8.12.1", "aria-query": "^5.3.1", "axobject-query": "^4.1.0", "clsx": "^2.1.1", "esm-env": "^1.2.1", "esrap": "^1.4.6", "is-reference": "^3.0.3", "locate-character": "^3.0.0", "magic-string": "^0.30.11", "zimmerframe": "^1.1.2" } }, "sha512-kRlbhIlMTijbFmVDQFDeKXPLlX1/ovXwV0I162wRqQhRcygaqDIcu1d/Ese3H2uI+yt3uT8E7ndgDthQv5v5BA=="], + + "svelte-check": ["svelte-check@4.2.1", "", { "dependencies": { "@jridgewell/trace-mapping": "^0.3.25", "chokidar": "^4.0.1", "fdir": "^6.2.0", "picocolors": "^1.0.0", "sade": "^1.7.4" }, "peerDependencies": { "svelte": "^4.0.0 || ^5.0.0-next.0", "typescript": ">=5.0.0" }, "bin": { "svelte-check": "bin/svelte-check" } }, "sha512-e49SU1RStvQhoipkQ/aonDhHnG3qxHSBtNfBRb9pxVXoa+N7qybAo32KgA9wEb2PCYFNaDg7bZCdhLD1vHpdYA=="], + + "svelte-eslint-parser": ["svelte-eslint-parser@1.2.0", "", { "dependencies": { "eslint-scope": "^8.2.0", "eslint-visitor-keys": "^4.0.0", "espree": "^10.0.0", "postcss": "^8.4.49", "postcss-scss": "^4.0.9", "postcss-selector-parser": "^7.0.0" }, "peerDependencies": { "svelte": "^3.37.0 || ^4.0.0 || ^5.0.0" }, "optionalPeers": ["svelte"] }, "sha512-mbPtajIeuiyU80BEyGvwAktBeTX7KCr5/0l+uRGLq1dafwRNrjfM5kHGJScEBlPG3ipu6dJqfW/k0/fujvIEVw=="], + + "tailwindcss": ["tailwindcss@4.1.8", "", {}, "sha512-kjeW8gjdxasbmFKpVGrGd5T4i40mV5J2Rasw48QARfYeQ8YS9x02ON9SFWax3Qf616rt4Cp3nVNIj6Hd1mP3og=="], + + "tapable": ["tapable@2.2.2", "", {}, "sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg=="], + + "tar": ["tar@7.4.3", "", { "dependencies": { "@isaacs/fs-minipass": "^4.0.0", "chownr": "^3.0.0", "minipass": "^7.1.2", "minizlib": "^3.0.1", "mkdirp": "^3.0.1", "yallist": "^5.0.0" } }, "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw=="], + + "tinyglobby": ["tinyglobby@0.2.14", "", { "dependencies": { "fdir": "^6.4.4", "picomatch": "^4.0.2" } }, "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ=="], + + "to-regex-range": ["to-regex-range@5.0.1", "", { "dependencies": { "is-number": "^7.0.0" } }, "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ=="], + + "totalist": ["totalist@3.0.1", "", {}, "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ=="], + + "ts-api-utils": ["ts-api-utils@2.1.0", "", { "peerDependencies": { "typescript": ">=4.8.4" } }, "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ=="], + + "type-check": ["type-check@0.4.0", "", { "dependencies": { "prelude-ls": "^1.2.1" } }, "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew=="], + + "typescript": ["typescript@5.8.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ=="], + + "typescript-eslint": ["typescript-eslint@8.33.1", "", { "dependencies": { "@typescript-eslint/eslint-plugin": "8.33.1", "@typescript-eslint/parser": "8.33.1", "@typescript-eslint/utils": "8.33.1" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.9.0" } }, "sha512-AgRnV4sKkWOiZ0Kjbnf5ytTJXMUZQ0qhSVdQtDNYLPLnjsATEYhaO94GlRQwi4t4gO8FfjM6NnikHeKjUm8D7A=="], + + "undici-types": ["undici-types@6.21.0", "", {}, "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="], + + "uri-js": ["uri-js@4.4.1", "", { "dependencies": { "punycode": "^2.1.0" } }, "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg=="], + + "util-deprecate": ["util-deprecate@1.0.2", "", {}, "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="], + + "vite": ["vite@6.3.5", "", { "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.4.4", "picomatch": "^4.0.2", "postcss": "^8.5.3", "rollup": "^4.34.9", "tinyglobby": "^0.2.13" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", "jiti": ">=1.21.0", "less": "*", "lightningcss": "^1.21.0", "sass": "*", "sass-embedded": "*", "stylus": "*", "sugarss": "*", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ=="], + + "vitefu": ["vitefu@1.0.6", "", { "peerDependencies": { "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0" }, "optionalPeers": ["vite"] }, "sha512-+Rex1GlappUyNN6UfwbVZne/9cYC4+R2XDk9xkNXBKMw6HQagdX9PgZ8V2v1WUSK1wfBLp7qbI1+XSNIlB1xmA=="], + + "which": ["which@2.0.2", "", { "dependencies": { "isexe": "^2.0.0" }, "bin": { "node-which": "./bin/node-which" } }, "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA=="], + + "word-wrap": ["word-wrap@1.2.5", "", {}, "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA=="], + + "yallist": ["yallist@5.0.0", "", {}, "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw=="], + + "yaml": ["yaml@1.10.2", "", {}, "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg=="], + + "yocto-queue": ["yocto-queue@0.1.0", "", {}, "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="], + + "zimmerframe": ["zimmerframe@1.1.2", "", {}, "sha512-rAbqEGa8ovJy4pyBxZM70hg4pE6gDgaQ0Sl9M3enG3I0d6H4XSAM3GeNGLKnsBpuijUow064sf7ww1nutC5/3w=="], + + "@eslint-community/eslint-utils/eslint-visitor-keys": ["eslint-visitor-keys@3.4.3", "", {}, "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag=="], + + "@eslint/eslintrc/globals": ["globals@14.0.0", "", {}, "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ=="], + + "@humanfs/node/@humanwhocodes/retry": ["@humanwhocodes/retry@0.3.1", "", {}, "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA=="], + + "@tailwindcss/oxide-wasm32-wasi/@emnapi/core": ["@emnapi/core@1.4.3", "", { "dependencies": { "@emnapi/wasi-threads": "1.0.2", "tslib": "^2.4.0" }, "bundled": true }, "sha512-4m62DuCE07lw01soJwPiBGC0nAww0Q+RY70VZ+n49yDIO13yyinhbWCeNnaob0lakDtWQzSdtNWzJeOJt2ma+g=="], + + "@tailwindcss/oxide-wasm32-wasi/@emnapi/runtime": ["@emnapi/runtime@1.4.3", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-pBPWdu6MLKROBX05wSNKcNb++m5Er+KQ9QkB+WVM+pW2Kx9hoSrVTnu3BdkI5eBLZoKu/J6mW/B6i6bJB2ytXQ=="], + + "@tailwindcss/oxide-wasm32-wasi/@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.0.2", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-5n3nTJblwRi8LlXkJ9eBzu+kZR8Yxcc7ubakyQTFzPMtIhFpUBRbsnc2Dv88IZDIbCDlBiWrknhB4Lsz7mg6BA=="], + + "@tailwindcss/oxide-wasm32-wasi/@napi-rs/wasm-runtime": ["@napi-rs/wasm-runtime@0.2.10", "", { "dependencies": { "@emnapi/core": "^1.4.3", "@emnapi/runtime": "^1.4.3", "@tybys/wasm-util": "^0.9.0" }, "bundled": true }, "sha512-bCsCyeZEwVErsGmyPNSzwfwFn4OdxBj0mmv6hOFucB/k81Ojdu68RbZdxYsRQUPc9l6SU5F/cG+bXgWs3oUgsQ=="], + + "@tailwindcss/oxide-wasm32-wasi/@tybys/wasm-util": ["@tybys/wasm-util@0.9.0", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw=="], + + "@tailwindcss/oxide-wasm32-wasi/tslib": ["tslib@2.8.1", "", { "bundled": true }, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + + "@typescript-eslint/eslint-plugin/ignore": ["ignore@7.0.5", "", {}, "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg=="], + + "@typescript-eslint/typescript-estree/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], + + "fast-glob/glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="], + + "micromatch/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], + + "rollup/@types/estree": ["@types/estree@1.0.7", "", {}, "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ=="], + + "@typescript-eslint/typescript-estree/minimatch/brace-expansion": ["brace-expansion@2.0.1", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA=="], + } +} diff --git a/demo/eslint.config.js b/demo/eslint.config.js new file mode 100644 index 0000000000000000000000000000000000000000..e024736464b6870953ed249e22f40ede901343e0 --- /dev/null +++ b/demo/eslint.config.js @@ -0,0 +1,4 @@ +import prettier from 'eslint-config-prettier'; +import svelte from 'eslint-plugin-svelte'; + +export default [prettier, ...svelte.configs.prettier]; diff --git a/demo/package.json b/demo/package.json new file mode 100644 index 0000000000000000000000000000000000000000..c4a7ecbfc88a624d2c08e61c1bda4849f6ee2552 --- /dev/null +++ b/demo/package.json @@ -0,0 +1,40 @@ +{ + "name": "demo", + "private": true, + "version": "0.0.1", + "type": "module", + "scripts": { + "dev": "vite dev", + "build": "vite build", + "preview": "vite preview", + "prepare": "svelte-kit sync || echo ''", + "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", + "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", + "format": "prettier --write .", + "lint": "prettier --check . && eslint ." + }, + "dependencies": { + "lerobot-arena-client": "link:lerobot-arena-client" + }, + "devDependencies": { + "@eslint/compat": "^1.2.5", + "@eslint/js": "^9.18.0", + "@sveltejs/adapter-static": "^3.0.0", + "@sveltejs/kit": "^2.16.0", + "@sveltejs/vite-plugin-svelte": "^5.0.0", + "@tailwindcss/vite": "^4.0.0", + "eslint": "^9.18.0", + "eslint-config-prettier": "^10.0.1", + "eslint-plugin-svelte": "^3.0.0", + "globals": "^16.0.0", + "prettier": "^3.4.2", + "prettier-plugin-svelte": "^3.3.3", + "prettier-plugin-tailwindcss": "^0.6.11", + "svelte": "^5.0.0", + "svelte-check": "^4.0.0", + "tailwindcss": "^4.0.0", + "typescript": "^5.0.0", + "typescript-eslint": "^8.20.0", + "vite": "^6.2.6" + } +} diff --git a/demo/src/app.css b/demo/src/app.css new file mode 100644 index 0000000000000000000000000000000000000000..d4b5078586e291f9dc7d6f04a380aa3c1b52b84b --- /dev/null +++ b/demo/src/app.css @@ -0,0 +1 @@ +@import 'tailwindcss'; diff --git a/demo/src/app.d.ts b/demo/src/app.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..da08e6da592d210d5cc574d8a629868eced88543 --- /dev/null +++ b/demo/src/app.d.ts @@ -0,0 +1,13 @@ +// See https://svelte.dev/docs/kit/types#app.d.ts +// for information about these interfaces +declare global { + namespace App { + // interface Error {} + // interface Locals {} + // interface PageData {} + // interface PageState {} + // interface Platform {} + } +} + +export {}; diff --git a/demo/src/app.html b/demo/src/app.html new file mode 100644 index 0000000000000000000000000000000000000000..77a5ff52c9239ef2a5c38ba452c659f49e64a7db --- /dev/null +++ b/demo/src/app.html @@ -0,0 +1,12 @@ + + + + + + + %sveltekit.head% + + +
%sveltekit.body%
+ + diff --git a/demo/src/lib/index.ts b/demo/src/lib/index.ts new file mode 100644 index 0000000000000000000000000000000000000000..856f2b6c38aec1085db88189bcf492dbb49a1c45 --- /dev/null +++ b/demo/src/lib/index.ts @@ -0,0 +1 @@ +// place files you want to import through the `$lib` alias in this folder. diff --git a/demo/src/routes/+layout.svelte b/demo/src/routes/+layout.svelte new file mode 100644 index 0000000000000000000000000000000000000000..1238cb4cb0249e430036e326f74b1cb6f38c30c3 --- /dev/null +++ b/demo/src/routes/+layout.svelte @@ -0,0 +1,96 @@ + + +
+ +
+
+
+
+

๐Ÿค– LeRobot Arena Debug

+ {#if isWorkspaceRoute} +
+ Workspace: {workspaceId} +
+ {/if} +
+ +
+
+
+ + +
+ {@render children()} +
+ + +
+
+

+ LeRobot Arena Debug Tool - Real-time Library Testing + {#if isWorkspaceRoute} + | Workspace: {workspaceId} + {/if} +

+
+
+
diff --git a/demo/src/routes/+page.svelte b/demo/src/routes/+page.svelte new file mode 100644 index 0000000000000000000000000000000000000000..5c00d58e7e3538f44579ffaa2409d69ebc0a2681 --- /dev/null +++ b/demo/src/routes/+page.svelte @@ -0,0 +1,262 @@ + + + + LeRobot Arena - Workspace Selection + + +
+ +
+

๐Ÿค– LeRobot Arena

+

+ Real-time robotics control and monitoring platform +

+

+ Select or create a workspace to get started +

+
+ + +
+ +
+
+

Create New Workspace

+

+ Start fresh with a new isolated workspace +

+
+ +
+ +
+
+ + +
+
+

Join Existing Workspace

+

+ Enter a workspace ID to join an existing session +

+
+ +
+
+ + { + if (e.key === 'Enter') { + joinWorkspace(); + } + }} + /> +
+ + + + {#if error} +
+

{error}

+
+ {/if} +
+
+ + + {#if recentWorkspaces.length > 0} +
+
+

Recent Workspaces

+

+ Quick access to your previously used workspaces +

+
+ +
+ {#each recentWorkspaces as workspaceId} +
+
+
{workspaceId}
+
UUID Workspace
+
+
+ + +
+
+ {/each} +
+
+ {/if} +
+ + +
+

About Workspaces

+
+

๐Ÿ”’ Isolation: Each workspace provides a secure, isolated environment for your robotics sessions

+

๐Ÿ  Rooms: Create multiple rooms within a workspace for different robot configurations

+

๐Ÿ‘ฅ Sharing: Share the workspace ID with others to collaborate on the same robots

+

๐Ÿ”„ Real-time: All participants in a workspace see live updates from producers

+
+
+
diff --git a/demo/src/routes/[workspaceId]/+page.svelte b/demo/src/routes/[workspaceId]/+page.svelte new file mode 100644 index 0000000000000000000000000000000000000000..c1487cf47d87b52caa39d1433fde79043fe1e2ea --- /dev/null +++ b/demo/src/routes/[workspaceId]/+page.svelte @@ -0,0 +1,356 @@ + + + + Workspace {workspaceId} - LeRobot Arena + + +
+ +
+
+

๐Ÿ  Workspace Dashboard

+

+ Workspace: {workspaceId} + | Manage robotics and video rooms +

+
+
+ + + โ† All Workspaces + +
+
+ + +
+
WORKSPACE DEBUG - {workspaceId}
+
+
Last Refresh: {debugInfo.lastRefresh}
+
Refresh Count: {debugInfo.refreshCount}
+
API Calls: {debugInfo.apiCalls}
+
Response Time: {debugInfo.responseTime}ms
+
+
+ Robotics Rooms: {roboticsRooms.length} | Video Rooms: {videoRooms.length} | Loading: {loading + ? 'YES' + : 'NO'} +
+ {#if roboticsError || videoError} +
+ {#if roboticsError}Robotics Error: {roboticsError}{/if} + {#if videoError}Video Error: {videoError}{/if} +
+ {/if} +
+ + + + + +
+ +
+
+

๐Ÿค– Robotics Rooms

+
+ + + View All + +
+
+ + {#if roboticsError} +
+

{roboticsError}

+
+ {:else if roboticsRooms.length === 0} +
+
๐Ÿค–
+

No robotics rooms yet

+ +
+ {:else} +
+ {#each roboticsRooms.slice(0, 3) as room} +
+
+
+

{room.id}

+

+ ๐Ÿ‘ฅ {room.participants.total} participants +

+
+
+ + ๐Ÿ‘๏ธ Monitor + + {#if !room.participants.producer} + + ๐ŸŽฎ Control + + {/if} +
+
+
+ {/each} + {#if roboticsRooms.length > 3} + + {/if} +
+ {/if} +
+ + +
+
+

๐Ÿ“น Video Rooms

+
+ + + View All + +
+
+ + {#if videoError} +
+

{videoError}

+
+ {:else if videoRooms.length === 0} +
+
๐Ÿ“น
+

No video rooms yet

+ +
+ {:else} +
+ {#each videoRooms.slice(0, 3) as room} +
+
+
+

{room.id}

+

+ ๐Ÿ‘ฅ {room.participants.total} participants + {#if room.participants.producer} + | ๐Ÿ”ด Streaming + {/if} +

+
+
+ + ๐Ÿ“บ Watch + + {#if !room.participants.producer} + + ๐Ÿ“น Stream + + {/if} +
+
+
+ {/each} + {#if videoRooms.length > 3} + + {/if} +
+ {/if} +
+
+
\ No newline at end of file diff --git a/demo/src/routes/[workspaceId]/+page.ts b/demo/src/routes/[workspaceId]/+page.ts new file mode 100644 index 0000000000000000000000000000000000000000..bc8b41d01d8c3fbb66e27c721f0faa3527cce66d --- /dev/null +++ b/demo/src/routes/[workspaceId]/+page.ts @@ -0,0 +1,6 @@ +export const load = ({ params }: { params: { workspaceId: string } }) => { + const workspaceId = params.workspaceId; + return { + workspaceId: workspaceId + }; +}; \ No newline at end of file diff --git a/demo/src/routes/[workspaceId]/robotics/+page.svelte b/demo/src/routes/[workspaceId]/robotics/+page.svelte new file mode 100644 index 0000000000000000000000000000000000000000..4003d218701ccf7e5b69f8f01989c90d348e8131 --- /dev/null +++ b/demo/src/routes/[workspaceId]/robotics/+page.svelte @@ -0,0 +1,361 @@ + + + + Robotics Control - Workspace {workspaceId} - LeRobot Arena + + +
+ +
+
+

๐Ÿค– Robotics Control Console

+

+ Workspace: {workspaceId} + | Real-time robot arm control and monitoring +

+
+
+ + + + โ† Back to Workspace + +
+
+ + +
+
ROBOTICS DEBUG - WORKSPACE {workspaceId}
+
+
Last Refresh: {debugInfo.lastRefresh}
+
Refresh Count: {debugInfo.refreshCount}
+
API Calls: {debugInfo.apiCalls}
+
Response Time: {debugInfo.responseTime}ms
+
+
+ Active Rooms: {rooms.length} | Loading: {loading ? 'YES' : 'NO'} +
+ {#if error} +
Error: {error}
+ {/if} +
+ + + {#if error} +
+
+
+ โš ๏ธ +
+
+

Connection Error

+
+

{error}

+
+
+
+
+ {/if} + + +
+

๐Ÿš€ Quick Launch

+
+ + ๐ŸŽฎ Producer + + + ๐Ÿ“Š Consumer + + + ๐Ÿ  Workspace + + +
+
+ + +
+
+

Active Robotics Rooms

+ + {rooms.length} room{rooms.length !== 1 ? 's' : ''} active in this workspace + +
+ + {#if loading} +
+
+

Loading robotics rooms...

+
+ {:else if rooms.length === 0} +
+
๐Ÿค–
+

No Active Robotics Rooms

+

Create a room to start robot control

+ +
+ {:else} +
+ {#each rooms as room} +
+
+
+
+

{room.id}

+ {#if room.participants.producer} + + โœ“ Producer Active + + {:else} + + โ—‹ No Producer + + {/if} +
+ +
+
๐Ÿ‘ฅ Participants: {room.participants.total}
+
๐Ÿ“Š Consumers: {room.participants.consumers.length}
+
๐ŸŽฎ Producer: {room.participants.producer || 'None'}
+
+ + {#if room.participants.consumers.length > 0} +
+ Consumers: {room.participants.consumers.join(', ')} +
+ {/if} +
+ +
+ + ๐Ÿ“Š Monitor + + + {#if !room.participants.producer} + + ๐ŸŽฎ Control + + {:else} + Producer occupied + {/if} + + +
+
+
+ {/each} +
+ {/if} +
+
+ + +{#if showCreateRoom} +
+
+

Create New Robotics Room

+ +
+ + +

+ Use alphanumeric characters, hyphens, and underscores +

+
+ +
+ + +
+
+
+{/if} \ No newline at end of file diff --git a/demo/src/routes/[workspaceId]/robotics/+page.ts b/demo/src/routes/[workspaceId]/robotics/+page.ts new file mode 100644 index 0000000000000000000000000000000000000000..bc8b41d01d8c3fbb66e27c721f0faa3527cce66d --- /dev/null +++ b/demo/src/routes/[workspaceId]/robotics/+page.ts @@ -0,0 +1,6 @@ +export const load = ({ params }: { params: { workspaceId: string } }) => { + const workspaceId = params.workspaceId; + return { + workspaceId: workspaceId + }; +}; \ No newline at end of file diff --git a/demo/src/routes/[workspaceId]/robotics/consumer/+page.svelte b/demo/src/routes/[workspaceId]/robotics/consumer/+page.svelte new file mode 100644 index 0000000000000000000000000000000000000000..db800225bcf4848d8e5f70a85c2b83b69e5e9d7b --- /dev/null +++ b/demo/src/routes/[workspaceId]/robotics/consumer/+page.svelte @@ -0,0 +1,530 @@ + + + + Robotics Consumer{roomId ? ` - Room ${roomId}` : ''} - Workspace {workspaceId} - LeRobot Arena + + +
+ +
+
+

๐Ÿค– Robotics Consumer

+

+ Workspace: {workspaceId} + {#if roomId} + | Room: {roomId} + {:else} + | Monitor robot arm state in real-time + {/if} +

+
+
+
+ {#if connected} +
+ Connected + {:else if connecting} +
+ Connecting... + {:else} +
+ Disconnected + {/if} +
+ + โ† Back to Robotics + +
+
+ + +
+
ROBOTICS CONSUMER DEBUG - WORKSPACE {debugInfo.workspaceId}{roomId ? ` - ROOM ${roomId}` : ''}
+
+
Attempts: {debugInfo.connectionAttempts}
+
Messages: {debugInfo.messagesReceived}
+
Last: {debugInfo.lastMessageType || 'None'}
+
WS: {debugInfo.wsConnected ? 'ON' : 'OFF'}
+
Room: {debugInfo.currentRoom || 'None'}
+
+
+
Updates: {updateCount}
+
State Syncs: {stateSyncCount}
+
Errors: {errorCount}
+
+
Last Update: {lastUpdate ? lastUpdate.toLocaleTimeString() : 'Never'}
+ {#if error} +
Error: {error}
+ {/if} +
+ + {#if !connected} + +
+

Connect to Robotics Room

+ +
+
+ + +
+
+ + +
+
+ +
+ +
+ + {#if error} +
+

{error}

+
+ {/if} +
+ {:else} + +
+ +
+
+
{updateCount}
+
Joint Updates
+
+
+
{stateSyncCount}
+
State Syncs
+
+
+
{errorCount}
+
Errors
+
+
+
+ {lastUpdate ? lastUpdate.toLocaleTimeString() : 'N/A'} +
+
Last Update
+
+
+ + +
+ +
+

Robot Arm Visualization

+ +
+
+
+
๐Ÿฆพ
+

3D Robot Visualization

+

Live joint positions from producer

+
+
+
+ + + {#if Object.keys(currentJoints).length > 0} +
+ {#each Object.entries(currentJoints) as [name, value]} +
+
+ {name.replace(/([A-Z])/g, ' $1').replace(/^./, (str) => str.toUpperCase())} +
+
{value.toFixed(1)}ยฐ
+
+ {/each} +
+ {/if} +
+ + +
+ +
+

Session Info

+
+
Workspace: {workspaceId}
+
Room: {roomId}
+
ID: {participantId}
+
Role: Consumer
+
Active Joints: {Object.keys(currentJoints).length}
+
+
+ + +
+
+ + + {#if Object.keys(jointTrends).length > 0} +
+

Joint Trends

+
+ {#each Object.entries(jointTrends) as [name, values]} +
+
+ + {name.replace(/([A-Z])/g, ' $1').replace(/^./, (str) => str.toUpperCase())} + + + {values[values.length - 1]?.toFixed(1) || '0.0'}ยฐ + +
+
+ {#each values as value, i} +
+ {/each} +
+
+ {/each} +
+
+ {/if} +
+
+ + +
+ +
+

Recent Joint Updates

+
+ {#each jointHistory.slice(0, 10) as update} +
+
+ {update.timestamp} + JOINT_UPDATE +
+
+ + {update.joints.length} joint(s): + {update.joints.map(j => `${j.name}=${j.value.toFixed(1)}ยฐ`).join(', ')} + +
+
+ {:else} +

No joint updates received yet

+ {/each} +
+
+ + +
+

State Sync History

+
+ {#each stateHistory as state} +
+
+ {state.timestamp} + STATE_SYNC +
+
+
+ {Object.keys(state.state).length} joints synchronized +
+
+
+ {:else} +

+ No state syncs received yet +

+ {/each} +
+
+
+ + + {#if errorHistory.length > 0} +
+

Recent Errors

+
+ {#each errorHistory as error} +
+
+ {error.timestamp} + ERROR +
+
+ {error.message} +
+
+ {/each} +
+
+ {/if} +
+ {/if} +
\ No newline at end of file diff --git a/demo/src/routes/[workspaceId]/robotics/consumer/+page.ts b/demo/src/routes/[workspaceId]/robotics/consumer/+page.ts new file mode 100644 index 0000000000000000000000000000000000000000..13259afd29766abacd17e690e81664458feb37b8 --- /dev/null +++ b/demo/src/routes/[workspaceId]/robotics/consumer/+page.ts @@ -0,0 +1,8 @@ +export const load = ({ params, url }: { params: { workspaceId: string }, url: URL }) => { + const workspaceId = params.workspaceId; + const roomId = url.searchParams.get('room') || ''; + return { + workspaceId: workspaceId, + roomId: roomId + }; +}; \ No newline at end of file diff --git a/demo/src/routes/[workspaceId]/robotics/producer/+page.svelte b/demo/src/routes/[workspaceId]/robotics/producer/+page.svelte new file mode 100644 index 0000000000000000000000000000000000000000..e56ec36a8c395fe02f7e72d816eef2bfaed82593 --- /dev/null +++ b/demo/src/routes/[workspaceId]/robotics/producer/+page.svelte @@ -0,0 +1,566 @@ + + + + Robotics Producer{roomId ? ` - Room ${roomId}` : ''} - Workspace {workspaceId} - LeRobot Arena + + +
+ +
+
+

๐Ÿค– Robotics Producer

+

+ Workspace: {workspaceId} + {#if roomId} + | Room: {roomId} + {:else} + | Control robot arm joints in real-time + {/if} +

+
+
+
+ {#if connected} +
+ Connected + {:else if connecting} +
+ Connecting... + {:else} +
+ Disconnected + {/if} +
+ + โ† Back to Robotics + +
+
+ + +
+
ROBOTICS PRODUCER DEBUG - WORKSPACE {debugInfo.workspaceId}{roomId ? ` - ROOM ${roomId}` : ''}
+
+
Attempts: {debugInfo.connectionAttempts}
+
Commands: {debugInfo.commandsSent}
+
Last: {debugInfo.lastCommandSent || 'None'}
+
WS: {debugInfo.wsConnected ? 'ON' : 'OFF'}
+
Room: {debugInfo.currentRoom || 'None'}
+
+ {#if error} +
Error: {error}
+ {/if} +
+ + {#if !connected} + +
+ +
+

Join Existing Room

+
+
+ + +
+
+ + +
+ +
+
+ + +
+

Create New Room

+
+

Create a new room in this workspace

+
+ + +
+ +
+
+
+ + {#if error} +
+

{error}

+
+ {/if} + {:else} + +
+ +
+ +
+

Session Info

+
+
Workspace: {workspaceId}
+
Room: {roomId}
+
ID: {participantId}
+
Role: Producer
+
+
+ + +
+

Robot Arm Visualization

+
+
+
+
๐Ÿฆพ
+

3D Robot Visualization

+

Real-time joint positions

+
+
+
+
+ + +
+
+

Joint Control

+ +
+ +
+ {#each Object.entries(joints) as [jointName, value]} + {@const limits = jointLimits[jointName as JointName]} +
+
+ + + {value.toFixed(1)}ยฐ + +
+ handleJointChange(jointName as JointName)} + class="w-full" + /> +
+ {limits.min}ยฐ + {limits.max}ยฐ +
+
+ {/each} +
+
+
+ + +
+ +
+

Current Values

+
+ {#each Object.entries(joints) as [name, value]} +
+ + {name.replace(/([A-Z])/g, ' $1').replace(/^./, (str) => str.toUpperCase())}: + + {value.toFixed(1)}ยฐ +
+ {/each} +
+
+ + +
+

Recent Commands

+
+ {#each commandHistory as command} +
+
+ {command.timestamp} + + {command.command} + +
+
+ {:else} +

No commands sent yet

+ {/each} +
+
+ + +
+

Session Control

+ +
+
+
+ {/if} +
+ + \ No newline at end of file diff --git a/demo/src/routes/[workspaceId]/robotics/producer/+page.ts b/demo/src/routes/[workspaceId]/robotics/producer/+page.ts new file mode 100644 index 0000000000000000000000000000000000000000..13259afd29766abacd17e690e81664458feb37b8 --- /dev/null +++ b/demo/src/routes/[workspaceId]/robotics/producer/+page.ts @@ -0,0 +1,8 @@ +export const load = ({ params, url }: { params: { workspaceId: string }, url: URL }) => { + const workspaceId = params.workspaceId; + const roomId = url.searchParams.get('room') || ''; + return { + workspaceId: workspaceId, + roomId: roomId + }; +}; \ No newline at end of file diff --git a/demo/src/routes/[workspaceId]/video/+page.svelte b/demo/src/routes/[workspaceId]/video/+page.svelte new file mode 100644 index 0000000000000000000000000000000000000000..ca056b504a2c9cabd74045f9bfd61cfd67e3caa1 --- /dev/null +++ b/demo/src/routes/[workspaceId]/video/+page.svelte @@ -0,0 +1,371 @@ + + + + Video Streaming - Workspace {workspaceId} - LeRobot Arena + + +
+ +
+
+

๐Ÿ“น Video Streaming Console

+

+ Workspace: {workspaceId} + | WebRTC Producer/Consumer streaming +

+
+
+ + + + โ† Back to Workspace + +
+
+ + +
+
VIDEO DEBUG - WORKSPACE {workspaceId}
+
+
Last Refresh: {debugInfo.lastRefresh}
+
Refresh Count: {debugInfo.refreshCount}
+
API Calls: {debugInfo.apiCalls}
+
Response Time: {debugInfo.responseTime}ms
+
+
+ Active Rooms: {rooms.length} | Loading: {loading ? 'YES' : 'NO'} +
+ {#if error} +
Error: {error}
+ {/if} +
+ + + {#if error} +
+
+
+ โš ๏ธ +
+
+

Connection Error

+
+

{error}

+
+
+
+
+ {/if} + + +
+

๐Ÿš€ Quick Launch

+
+ + ๐Ÿ“น Producer + + + ๐Ÿ“บ Consumer + + + ๐Ÿ  Workspace + + +
+
+ + +
+
+

Active Video Rooms

+ + {rooms.length} room{rooms.length !== 1 ? 's' : ''} active in this workspace + +
+ + {#if loading} +
+
+

Loading video rooms...

+
+ {:else if rooms.length === 0} +
+
๐Ÿ“น
+

No Active Video Rooms

+

Create a room to start video streaming

+ +
+ {:else} +
+ {#each rooms as room} +
+
+
+
+

{room.id}

+ {#if room.participants.producer} + + โœ“ Streaming + + {:else} + + โ—‹ No Stream + + {/if} +
+ +
+
๐Ÿ‘ฅ Participants: {room.participants.total}
+
๐Ÿ“บ Viewers: {room.participants.consumers.length}
+
๐ŸŽฌ FPS: {room.config.framerate || 30}
+
+ ๐Ÿ“ Resolution: {room.config.resolution?.width || 640}x{room.config.resolution + ?.height || 480} +
+
+ + {#if room.participants.producer} +
+ Producer: {room.participants.producer} +
+ {/if} + + {#if room.participants.consumers.length > 0} +
+ Viewers: {room.participants.consumers.join(', ')} +
+ {/if} +
+ +
+ + ๐Ÿ“บ Watch + + + {#if !room.participants.producer} + + ๐Ÿ“น Stream + + {:else} + Producer occupied + {/if} + + +
+
+
+ {/each} +
+ {/if} +
+
+ + +{#if showCreateRoom} +
+
+

Create New Video Room

+ +
+ + +

+ Use alphanumeric characters, hyphens, and underscores +

+
+ +
+ + +
+
+
+{/if} \ No newline at end of file diff --git a/demo/src/routes/[workspaceId]/video/+page.ts b/demo/src/routes/[workspaceId]/video/+page.ts new file mode 100644 index 0000000000000000000000000000000000000000..bc8b41d01d8c3fbb66e27c721f0faa3527cce66d --- /dev/null +++ b/demo/src/routes/[workspaceId]/video/+page.ts @@ -0,0 +1,6 @@ +export const load = ({ params }: { params: { workspaceId: string } }) => { + const workspaceId = params.workspaceId; + return { + workspaceId: workspaceId + }; +}; \ No newline at end of file diff --git a/demo/src/routes/[workspaceId]/video/consumer/+page.svelte b/demo/src/routes/[workspaceId]/video/consumer/+page.svelte new file mode 100644 index 0000000000000000000000000000000000000000..bf31694472c0f00278fced168fc8b4dd77141233 --- /dev/null +++ b/demo/src/routes/[workspaceId]/video/consumer/+page.svelte @@ -0,0 +1,541 @@ + + + + Video Consumer{roomId ? ` - Room ${roomId}` : ''} - Workspace {workspaceId} - LeRobot Arena + + +
+ +
+
+

๐Ÿ“บ Video Consumer

+

+ Workspace: {workspaceId} + {#if roomId} + | Room: {roomId} + {:else} + | Watch video streams via WebRTC + {/if} +

+
+
+
+ {#if connected} +
+ Connected + {:else if connecting} +
+ Connecting... + {:else} +
+ Disconnected + {/if} +
+ + โ† Back to Video + +
+
+ + +
+
VIDEO CONSUMER DEBUG - WORKSPACE {debugInfo.workspaceId}{roomId ? ` - ROOM ${roomId}` : ''}
+
+
Attempts: {debugInfo.connectionAttempts}
+
Frames: {debugInfo.framesReceived}
+
Bytes: {(debugInfo.bytesReceived / 1024).toFixed(1)}KB
+
WS: {debugInfo.wsConnected ? 'ON' : 'OFF'}
+
Room: {debugInfo.currentRoom || 'None'}
+
+
+ Stream: {streamActive ? 'ACTIVE' : 'INACTIVE'} | Producer: {producerConnected ? 'CONNECTED' : 'DISCONNECTED'} +
+
+ Bitrate: {debugInfo.currentBitrate}bps | Last Frame: {debugInfo.lastFrameReceived || 'Never'} +
+ {#if error} +
Error: {error}
+ {/if} +
+ + {#if !connected} + +
+

Connect to Video Room

+ +
+
+ + +
+
+ + +
+
+ +
+ +
+ + {#if error} +
+

{error}

+
+ {/if} +
+ {:else} + +
+ +
+
+
+

๐Ÿ“บ Live Stream

+
+ {#if streamActive} +
+ LIVE + {:else if producerConnected} +
+ WAITING + {:else} +
+ NO STREAM + {/if} +
+
+ +
+ {#if streamActive && remoteVideoStream} + + {:else if producerConnected} +
+
+
โณ
+

Waiting for video stream...

+

Producer is connected but not streaming yet

+
+
+ {:else} +
+
+
๐Ÿ“บ
+

No video stream available

+

Waiting for producer to join and start streaming

+
+
+ {/if} +
+ + + {#if streamActive && streamQuality.resolution} +
+
+ Resolution: {streamQuality.resolution.width}x{streamQuality.resolution.height} +
+
Framerate: {streamQuality.framerate} FPS
+
Codec: {streamQuality.codec || 'Unknown'}
+
+ {/if} +
+
+ + +
+ +
+

Session Info

+
+
Workspace: {workspaceId}
+
Room: {roomId}
+
ID: {participantId}
+
Role: Consumer
+
+ Status: + {#if streamActive} + Streaming + {:else if producerConnected} + Waiting + {:else} + No Producer + {/if} +
+
+
+ + + {#if streamActive} +
+

๐Ÿ“Š Stream Stats

+
+
+ Frames Received: + {debugInfo.framesReceived} +
+
+ Data Received: + {(debugInfo.bytesReceived / 1024).toFixed(1)} KB +
+
+ Bitrate: + {debugInfo.currentBitrate} bps +
+ {#if streamQuality.resolution} +
+ Resolution: + {streamQuality.resolution.width}x{streamQuality.resolution.height} +
+
+ FPS: + {streamQuality.framerate} +
+ {/if} +
+
+ {/if} + + +
+

Controls

+
+ {#if streamActive && remoteVideoRef} + + {/if} + + +
+
+
+
+ {/if} +
\ No newline at end of file diff --git a/demo/src/routes/[workspaceId]/video/consumer/+page.ts b/demo/src/routes/[workspaceId]/video/consumer/+page.ts new file mode 100644 index 0000000000000000000000000000000000000000..13259afd29766abacd17e690e81664458feb37b8 --- /dev/null +++ b/demo/src/routes/[workspaceId]/video/consumer/+page.ts @@ -0,0 +1,8 @@ +export const load = ({ params, url }: { params: { workspaceId: string }, url: URL }) => { + const workspaceId = params.workspaceId; + const roomId = url.searchParams.get('room') || ''; + return { + workspaceId: workspaceId, + roomId: roomId + }; +}; \ No newline at end of file diff --git a/demo/src/routes/[workspaceId]/video/producer/+page.svelte b/demo/src/routes/[workspaceId]/video/producer/+page.svelte new file mode 100644 index 0000000000000000000000000000000000000000..24f6fc852e0523b7ab51ff38e54cdc86fcefb4da --- /dev/null +++ b/demo/src/routes/[workspaceId]/video/producer/+page.svelte @@ -0,0 +1,685 @@ + + + + Video Producer{roomId ? ` - Room ${roomId}` : ''} - Workspace {workspaceId} - LeRobot Arena + + +
+ +
+
+

๐Ÿ“น Video Producer

+

+ Workspace: {workspaceId} + {#if roomId} + | Room: {roomId} + {:else} + | Stream video via WebRTC + {/if} +

+
+
+
+ {#if connected} +
+ Connected + {:else if connecting} +
+ Connecting... + {:else} +
+ Disconnected + {/if} +
+ + โ† Back to Video + +
+
+ + +
+
VIDEO PRODUCER DEBUG - WORKSPACE {debugInfo.workspaceId}{roomId ? ` - ROOM ${roomId}` : ''}
+
+
Attempts: {debugInfo.connectionAttempts}
+
Frames: {debugInfo.framesSent}
+
Bytes: {(debugInfo.bytesTransferred / 1024).toFixed(1)}KB
+
WS: {debugInfo.wsConnected ? 'ON' : 'OFF'}
+
Room: {debugInfo.currentRoom || 'None'}
+
+
+ Bitrate: {debugInfo.activeBitrate}bps | Last Frame: {debugInfo.lastFrameSent || 'Never'} +
+ {#if error} +
Error: {error}
+ {/if} +
+ + +
+

๐Ÿ“ท Camera Setup

+ +
+ +
+ +
+ + +
+ + +
+ +
+ {#each qualityPresets as preset} + + {/each} +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+ + +
+
+ {#if localVideoStream} + + {:else} +
+
+
๐Ÿ“ท
+

Start camera preview to see video

+
+
+ {/if} +
+ +
+
Resolution: {videoConfig.width}x{videoConfig.height}
+
Framerate: {videoConfig.framerate} FPS
+
+ Device: {videoDevices.find((d) => d.deviceId === videoConfig.deviceId)?.label || + 'Default'} +
+
+
+
+
+ + {#if !connected} + +
+ +
+

Join Existing Room

+
+
+ + +
+
+ + +
+ +
+
+ + +
+

Create New Room

+
+

Create a new room in this workspace

+
+ + +
+ +
+
+
+ + {#if error} +
+

{error}

+
+ {/if} + {:else} + +
+ +
+
+

๐Ÿ”ด Live Stream

+ +
+ {#if localVideoStream} + + {/if} +
+ +
+
Workspace: {workspaceId}
+
Room: {roomId}
+
ID: {participantId}
+
+
+
+ + +
+ +
+

๐Ÿ“Š Stream Stats

+
+
+ Frames Sent: + {debugInfo.framesSent} +
+
+ Data Sent: + {(debugInfo.bytesTransferred / 1024).toFixed(1)} KB +
+
+ Bitrate: + {debugInfo.activeBitrate} bps +
+
+ Resolution: + {videoConfig.width}x{videoConfig.height} +
+
+ FPS: + {videoConfig.framerate} +
+
+
+ + +
+

Session Control

+
+ + +
+
+
+
+ {/if} +
\ No newline at end of file diff --git a/demo/src/routes/[workspaceId]/video/producer/+page.ts b/demo/src/routes/[workspaceId]/video/producer/+page.ts new file mode 100644 index 0000000000000000000000000000000000000000..13259afd29766abacd17e690e81664458feb37b8 --- /dev/null +++ b/demo/src/routes/[workspaceId]/video/producer/+page.ts @@ -0,0 +1,8 @@ +export const load = ({ params, url }: { params: { workspaceId: string }, url: URL }) => { + const workspaceId = params.workspaceId; + const roomId = url.searchParams.get('room') || ''; + return { + workspaceId: workspaceId, + roomId: roomId + }; +}; \ No newline at end of file diff --git a/demo/static/favicon.png b/demo/static/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..825b9e65af7c104cfb07089bb28659393b4f2097 Binary files /dev/null and b/demo/static/favicon.png differ diff --git a/demo/svelte.config.js b/demo/svelte.config.js new file mode 100644 index 0000000000000000000000000000000000000000..448930fb0041167de9a3824176a269590dfe98f2 --- /dev/null +++ b/demo/svelte.config.js @@ -0,0 +1,22 @@ +import adapter from '@sveltejs/adapter-static'; +import { vitePreprocess } from '@sveltejs/vite-plugin-svelte'; + +/** @type {import('@sveltejs/kit').Config} */ +const config = { + // Consult https://svelte.dev/docs/kit/integrations + // for more information about preprocessors + preprocess: vitePreprocess(), + + kit: { + // Use static adapter for Docker deployment + adapter: adapter({ + pages: 'build', + assets: 'build', + fallback: 'index.html', + precompress: false, + strict: true + }) + } +}; + +export default config; diff --git a/demo/test-demo.js b/demo/test-demo.js new file mode 100644 index 0000000000000000000000000000000000000000..be772d19cf132b9883ad1f28cc04dc737b75e23d --- /dev/null +++ b/demo/test-demo.js @@ -0,0 +1,38 @@ +#!/usr/bin/env node + +/** + * Simple test script to verify the demo application + */ + +import { robotics } from 'lerobot-arena-client'; + +console.log('๐Ÿค– Testing LeRobot Arena Demo'); +console.log('โœ… Successfully imported robotics client'); + +// Test that we can create clients +try { + const producer = new robotics.RoboticsProducer('http://localhost:8000'); + console.log('โœ… Producer client created successfully'); + + const consumer = new robotics.RoboticsConsumer('http://localhost:8000'); + console.log('โœ… Consumer client created successfully'); + + console.log('\n๐ŸŽ‰ Demo application is ready!'); + console.log('๐Ÿ“Š Available routes:'); + console.log(' - / (Dashboard)'); + console.log(' - /robotics (Robotics Control)'); + console.log(' - /robotics/producer (Producer Interface)'); + console.log(' - /robotics/consumer (Consumer Interface)'); + console.log(' - /robotics/producer/[roomId] (Room-specific Producer)'); + console.log(' - /robotics/consumer/[roomId] (Room-specific Consumer)'); + console.log(' - /video (Video placeholder)'); + + console.log('\n๐Ÿ’ก To test the demo:'); + console.log(' 1. Start the LeRobot Arena server on port 8000'); + console.log(' 2. Run: bun run dev'); + console.log(' 3. Open http://localhost:5173 in your browser'); + +} catch (error) { + console.error('โŒ Error testing demo:', error); + process.exit(1); +} \ No newline at end of file diff --git a/demo/tsconfig.json b/demo/tsconfig.json new file mode 100644 index 0000000000000000000000000000000000000000..0b2d8865f4efe30f84b6516a5de8d6bd6b927fb6 --- /dev/null +++ b/demo/tsconfig.json @@ -0,0 +1,19 @@ +{ + "extends": "./.svelte-kit/tsconfig.json", + "compilerOptions": { + "allowJs": true, + "checkJs": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "resolveJsonModule": true, + "skipLibCheck": true, + "sourceMap": true, + "strict": true, + "moduleResolution": "bundler" + } + // Path aliases are handled by https://svelte.dev/docs/kit/configuration#alias + // except $lib which is handled by https://svelte.dev/docs/kit/configuration#files + // + // If you want to overwrite includes/excludes, make sure to copy over the relevant includes/excludes + // from the referenced tsconfig.json - TypeScript does not merge them in +} diff --git a/demo/vite.config.ts b/demo/vite.config.ts new file mode 100644 index 0000000000000000000000000000000000000000..d6fb967bcfdfe585be2ba693e7d3e083ff57231d --- /dev/null +++ b/demo/vite.config.ts @@ -0,0 +1,12 @@ +import tailwindcss from '@tailwindcss/vite'; +import { sveltekit } from '@sveltejs/kit/vite'; +import { defineConfig } from 'vite'; + +export default defineConfig({ + plugins: [tailwindcss(), sveltekit()], + server: { + fs: { + allow: ['../client/js'] + } + } +}); diff --git a/server/README.md b/server/README.md new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/server/__pycache__/launch_with_ui.cpython-312.pyc b/server/__pycache__/launch_with_ui.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..282d11e05356c2889fb20f436197243869593cf5 Binary files /dev/null and b/server/__pycache__/launch_with_ui.cpython-312.pyc differ diff --git a/server/launch_with_ui.py b/server/launch_with_ui.py new file mode 100644 index 0000000000000000000000000000000000000000..f7ea13397fa8ec658dbd5b50d4254f56f204d753 --- /dev/null +++ b/server/launch_with_ui.py @@ -0,0 +1,127 @@ +import logging +import os +from pathlib import Path + +import uvicorn +from fastapi import FastAPI +from fastapi.middleware.cors import CORSMiddleware +from fastapi.responses import FileResponse +from fastapi.staticfiles import StaticFiles + +# Import the existing API +from src.api import app as api_app + +logging.basicConfig( + level=logging.INFO, + format="%(asctime)s - %(name)s - %(levelname)s - %(message)s", + handlers=[logging.StreamHandler(), logging.FileHandler("server.log")], +) + +logger = logging.getLogger(__name__) + +# Create a new FastAPI app that combines API and frontend +app = FastAPI( + title="LeRobot Arena Transport Server with UI", + description="Combined API and web interface for LeRobot Arena transport server", + version="2.0.0", +) + +# Add CORS middleware +app.add_middleware( + CORSMiddleware, + allow_origins=["*"], + allow_credentials=True, + allow_methods=["*"], + allow_headers=["*"], +) + +# Mount the API under /api prefix +app.mount("/api", api_app) + +# Check if we should serve frontend +serve_frontend = os.getenv("SERVE_FRONTEND", "false").lower() == "true" + +if serve_frontend: + # Get the frontend static files path + frontend_path = Path(__file__).parent.parent / "static-frontend" + + if frontend_path.exists(): + logger.info(f"Serving frontend from: {frontend_path}") + + # Mount static files (JS, CSS, etc.) + app.mount("/static", StaticFiles(directory=frontend_path), name="static") + + # Serve the main app for all other routes (SPA) + @app.get("/{full_path:path}") + async def serve_frontend_app(full_path: str): + """Serve the SvelteKit app for all non-API routes.""" + # Don't serve frontend for API routes + if full_path.startswith("api/"): + return {"error": "API route not found"} + + # Check if requesting a specific file + file_path = frontend_path / full_path + if file_path.is_file(): + return FileResponse(file_path) + + # For all other routes, serve the main index.html (SPA behavior) + index_path = frontend_path / "index.html" + if index_path.exists(): + return FileResponse(index_path) + return {"error": "Frontend not available"} + + else: + logger.warning(f"Frontend path not found: {frontend_path}") + + @app.get("/") + async def no_frontend(): + return { + "message": "LeRobot Arena Transport Server", + "frontend": "not available", + "api": "available at /api/", + "docs": "available at /api/docs", + } + +else: + + @app.get("/") + async def api_only(): + return { + "message": "LeRobot Arena Transport Server - API Only", + "api": "available at /api/", + "docs": "available at /api/docs", + } + + +@app.get("/health") +async def health_check(): + return { + "status": "healthy", + "server_running": True, + "frontend_enabled": serve_frontend, + "api_available": True, + } + + +if __name__ == "__main__": + port = int(os.getenv("PORT", 7860)) + host = os.getenv("HOST", "0.0.0.0") + + logger.info("๐Ÿค– Starting LeRobot Arena Combined Server...") + logger.info(f" - API available at: http://{host}:{port}/api/") + logger.info(f" - API docs at: http://{host}:{port}/api/docs") + + if serve_frontend: + logger.info(f" - Frontend available at: http://{host}:{port}/") + else: + logger.info(" - Frontend disabled (set SERVE_FRONTEND=true to enable)") + + print(f"๐Ÿค– Starting LeRobot Arena Combined Server on {host}:{port}") + + uvicorn.run( + "launch_with_ui:app", + host=host, + port=port, + reload=False, + log_level="info", + ) diff --git a/server/logs.txt b/server/logs.txt new file mode 100644 index 0000000000000000000000000000000000000000..380c09fb7afd3d097c0196e34571ef8090940934 --- /dev/null +++ b/server/logs.txt @@ -0,0 +1,141 @@ +๐Ÿค– Starting LeRobot Arena Modular Server... +Starting server... +INFO: 127.0.0.1:64126 - "GET /video/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64126 - "OPTIONS /video/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64126 - "POST /video/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64126 - "GET /video/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64126 - "GET /video/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64132 - "OPTIONS /video/rooms/webcam/webrtc/signal HTTP/1.1" 200 OK +INFO: 127.0.0.1:64134 - "GET /video/rooms/webcam HTTP/1.1" 200 OK +INFO: 127.0.0.1:64132 - "POST /video/rooms/webcam/webrtc/signal HTTP/1.1" 200 OK +INFO: 127.0.0.1:64134 - "POST /video/rooms/webcam/webrtc/signal HTTP/1.1" 200 OK +INFO: 127.0.0.1:64134 - "GET /video/rooms/webcam HTTP/1.1" 200 OK +INFO: 127.0.0.1:64134 - "POST /video/rooms/webcam/webrtc/signal HTTP/1.1" 200 OK +INFO: 127.0.0.1:64136 - "POST /video/rooms/webcam/webrtc/signal HTTP/1.1" 200 OK +INFO: 127.0.0.1:64141 - "POST /video/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64145 - "GET /video/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64145 - "GET /video/rooms/b22f5bc5-caa2-47bb-b4b5-d0411654dc9d/state HTTP/1.1" 200 OK +INFO: 127.0.0.1:64158 - "POST /video/rooms/b22f5bc5-caa2-47bb-b4b5-d0411654dc9d/webrtc/signal HTTP/1.1" 200 OK +INFO: 127.0.0.1:64145 - "OPTIONS /video/rooms/b22f5bc5-caa2-47bb-b4b5-d0411654dc9d/webrtc/signal HTTP/1.1" 200 OK +INFO: 127.0.0.1:64160 - "GET /video/rooms/b22f5bc5-caa2-47bb-b4b5-d0411654dc9d HTTP/1.1" 200 OK +INFO: 127.0.0.1:64145 - "POST /video/rooms/b22f5bc5-caa2-47bb-b4b5-d0411654dc9d/webrtc/signal HTTP/1.1" 200 OK +INFO: 127.0.0.1:64145 - "POST /video/rooms/b22f5bc5-caa2-47bb-b4b5-d0411654dc9d/webrtc/signal HTTP/1.1" 200 OK +INFO: 127.0.0.1:64170 - "POST /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64181 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64181 - "GET /robotics/rooms/53ba9baa-e462-4a1b-8812-83f1337ae9f4/state HTTP/1.1" 200 OK +INFO: 127.0.0.1:64185 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64185 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64187 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64187 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64187 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64187 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64196 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64201 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64217 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64217 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64223 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64223 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64225 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64225 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64228 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64228 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64228 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64232 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64232 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64232 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64232 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64232 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64232 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64232 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64267 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64267 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64276 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64276 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64276 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64276 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64283 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64283 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64294 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64294 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64294 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64294 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64294 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64294 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64294 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64308 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64320 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64322 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64327 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64327 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64327 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64349 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64349 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64353 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64353 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64358 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64358 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64371 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64384 - "POST /video/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64386 - "POST /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64388 - "POST /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64400 - "POST /video/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64422 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64422 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64422 - "GET /video/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64422 - "GET /video/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64422 - "GET /video/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64422 - "GET /video/rooms/act-session-cb638131-camera/state HTTP/1.1" 200 OK +INFO: 127.0.0.1:64441 - "POST /video/rooms/act-session-cb638131-camera/webrtc/signal HTTP/1.1" 200 OK +INFO: 127.0.0.1:64422 - "OPTIONS /video/rooms/act-session-cb638131-camera/webrtc/signal HTTP/1.1" 200 OK +INFO: 127.0.0.1:64443 - "GET /video/rooms/act-session-cb638131-camera HTTP/1.1" 200 OK +INFO: 127.0.0.1:64422 - "POST /video/rooms/act-session-cb638131-camera/webrtc/signal HTTP/1.1" 200 OK +INFO: 127.0.0.1:64422 - "POST /video/rooms/act-session-cb638131-camera/webrtc/signal HTTP/1.1" 200 OK +INFO: 127.0.0.1:64422 - "GET /video/rooms/act-session-cb638131-camera HTTP/1.1" 200 OK +INFO: 127.0.0.1:64422 - "POST /video/rooms/act-session-cb638131-camera/webrtc/signal HTTP/1.1" 200 OK +INFO: 127.0.0.1:64445 - "GET /video/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64445 - "GET /video/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64445 - "GET /video/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64445 - "GET /video/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64445 - "GET /video/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64451 - "POST /video/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64453 - "POST /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64455 - "POST /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64445 - "GET /video/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64465 - "GET /video/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64465 - "GET /video/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64482 - "GET /video/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64482 - "GET /video/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64496 - "GET /video/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64499 - "GET /video/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64499 - "GET /video/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64499 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64499 - "GET /video/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64499 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64499 - "GET /video/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64499 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64499 - "GET /video/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64499 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64499 - "GET /video/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64499 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64499 - "GET /video/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64520 - "POST /video/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64522 - "POST /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64524 - "POST /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64499 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64499 - "GET /video/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64499 - "GET /robotics/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64499 - "GET /video/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64499 - "GET /video/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64568 - "GET /robotics/rooms/act-session-a440b338-joint-output/state HTTP/1.1" 200 OK +INFO: 127.0.0.1:64598 - "GET /video/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64600 - "OPTIONS /video/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64600 - "POST /video/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64600 - "GET /video/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64600 - "GET /video/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64609 - "GET /video/rooms/sdpoksd/state HTTP/1.1" 200 OK +INFO: 127.0.0.1:64609 - "GET /video/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64614 - "GET /video/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64616 - "GET /video/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64618 - "GET /video/rooms HTTP/1.1" 200 OK +INFO: 127.0.0.1:64621 - "GET /video/rooms HTTP/1.1" 200 OK +Shutting down server... diff --git a/server/p2p&server.txt b/server/p2p&server.txt new file mode 100644 index 0000000000000000000000000000000000000000..4afe2d63e44b865d5be9dc189921663e34db29c3 --- /dev/null +++ b/server/p2p&server.txt @@ -0,0 +1,1817 @@ +""" +Video API routes for LeRobot Arena + +This module provides REST API endpoints for video room management, +WebRTC signaling, and real-time communication. +""" + +import logging + +from fastapi import APIRouter, Depends, HTTPException, WebSocket + +from .core import VideoCore +from .models import ( + CommunicationStrategy, + CreateRoomRequest, + ParticipantRole, + WebRTCSignalRequest, +) + +logger = logging.getLogger(__name__) + +# Global video core instance +video_core = VideoCore() + +# Create router +router = APIRouter(prefix="/video", tags=["video"]) + + +def get_video_core() -> VideoCore: + """Dependency to get the video core instance""" + return video_core + + +@router.get("/rooms") +async def list_rooms(): + """List all video rooms with details""" + return { + "success": True, + "rooms": video_core.list_rooms(), + "total": len(video_core.rooms), + } + + +@router.post("/rooms") +async def create_room(request: CreateRoomRequest | None = None): + """Create a new video room""" + room_id = None + config = None + recovery_config = None + communication_config = None + + if request: + room_id = request.room_id + config = request.config + recovery_config = request.recovery_config + communication_config = request.communication_config + + room_id = video_core.create_room( + room_id, config, recovery_config, communication_config + ) + + return { + "success": True, + "room_id": room_id, + "message": f"Video room {room_id} created successfully", + "communication_strategy": video_core.rooms[room_id].active_strategy.value + if room_id in video_core.rooms + else "unknown", + } + + +@router.get("/rooms/{room_id}") +async def get_room(room_id: str): + """Get room details""" + room_info = video_core.get_room_info(room_id) + if "error" in room_info: + raise HTTPException(status_code=404, detail="Room not found") + + return {"success": True, "room": room_info} + + +@router.delete("/rooms/{room_id}") +async def delete_room(room_id: str): + """Delete a video room""" + if video_core.delete_room(room_id): + return {"success": True, "message": f"Room {room_id} deleted successfully"} + raise HTTPException(status_code=404, detail="Room not found") + + +@router.get("/rooms/{room_id}/state") +async def get_room_state(room_id: str): + """Get current room state with participants and video stats""" + state = video_core.get_room_state(room_id) + if "error" in state: + raise HTTPException(status_code=404, detail="Room not found") + + return {"success": True, "state": state} + + +@router.post("/rooms/{room_id}/webrtc/signal") +async def handle_webrtc_signal(room_id: str, signal: WebRTCSignalRequest): + """Handle WebRTC signaling (offer, answer, ice)""" + try: + # Get the participant's role from the room + room = video_core.rooms.get(room_id) + participant_role = None + + if room: + if room.producer == signal.client_id: + participant_role = "producer" + elif signal.client_id in room.consumers: + participant_role = "consumer" + + logger.info( + f"๐Ÿ”ง WebRTC signal from {signal.client_id} (role: {participant_role}) in room {room_id}" + ) + + response = await video_core.handle_webrtc_signal( + room_id, signal.client_id, signal.message, participant_role + ) + + except ValueError as e: + raise HTTPException(status_code=400) from e + except Exception as e: + raise HTTPException(status_code=500) from e + else: + if response: + return {"success": True, "response": response} + return {"success": True, "message": "Signal processed"} + + +@router.post("/rooms/{room_id}/strategy") +async def switch_room_strategy( + room_id: str, + request: dict, + video_core: VideoCore = Depends(get_video_core), +): + """Switch communication strategy for a room""" + try: + strategy_str = request.get("strategy") + reason = request.get("reason", "API request") + + if not strategy_str: + raise HTTPException(status_code=400, detail="Strategy is required") + + try: + strategy = CommunicationStrategy(strategy_str) + except ValueError: + raise HTTPException( + status_code=400, detail=f"Invalid strategy: {strategy_str}" + ) + + success = await video_core.switch_strategy(room_id, strategy, reason) + + if not success: + raise HTTPException(status_code=404, detail="Room not found") + + # Get updated strategy info + room = video_core.rooms.get(room_id) + if not room: + raise HTTPException(status_code=404, detail="Room not found") + + strategy_info = { + "current_strategy": room.active_strategy.value, + "available_strategies": ["p2p", "server", "hybrid"], + "can_switch": True, + "switch_count": 0, # Could be tracked if needed + } + + return { + "success": True, + "strategy_info": strategy_info, + "message": f"Strategy switched to {strategy.value}", + } + + except HTTPException: + raise + except Exception as e: + logger.exception(f"Error switching strategy for room {room_id}") + raise HTTPException(status_code=500, detail=f"Failed to switch strategy: {e!s}") + + +@router.get("/rooms/{room_id}/strategy") +async def get_room_strategy( + room_id: str, + video_core: VideoCore = Depends(get_video_core), +): + """Get current strategy information for a room""" + room = video_core.rooms.get(room_id) + if not room: + raise HTTPException(status_code=404, detail="Room not found") + + strategy_info = { + "current_strategy": room.active_strategy.value, + "available_strategies": ["p2p", "server", "hybrid"], + "can_switch": True, + "switch_count": 0, # Could be tracked if needed + } + + return {"success": True, "strategy_info": strategy_info} + + +@router.get("/status") +async def get_status(): + """Get video service status""" + strategy_handlers = video_core.strategy_handlers + strategy_stats = {} + + for room_id, handler in strategy_handlers.items(): + strategy = handler.strategy.value + if strategy not in strategy_stats: + strategy_stats[strategy] = 0 + strategy_stats[strategy] += 1 + + return { + "service": "video", + "status": "active", + "rooms_count": len(video_core.rooms), + "websocket_connections_count": len(video_core.websocket_connections), + "version": "2.0.0", + "supported_roles": [role.value for role in ParticipantRole], + "supported_encodings": ["jpeg", "h264", "vp8", "vp9"], + "recovery_policies": [ + "freeze_last_frame", + "connection_info", + "black_screen", + "fade_to_black", + "overlay_status", + ], + "communication_strategies": { + "supported": ["p2p", "server", "hybrid"], + "active_by_strategy": strategy_stats, + "total_strategy_handlers": len(strategy_handlers), + }, + } + + +@router.get("/health") +async def health_check(): + """Health check endpoint""" + return {"status": "healthy", "service": "video"} + + +@router.get("/") +async def video_status(): + """Video service main endpoint""" + return { + "status": "active", + "service": "video", + "message": "Video service running with room-based WebRTC streaming", + "version": "2.0.0", + "architecture": "producer/consumer rooms", + "endpoints": [ + "/video/rooms - List all video rooms", + "/video/rooms/{room_id} - Get room details", + "/video/rooms/{room_id}/webrtc/signal - WebRTC signaling", + "/video/rooms/{room_id}/ws - WebSocket connection", + "/video/status - Service status", + ], + } + + +@router.websocket("/rooms/{room_id}/ws") +async def websocket_endpoint(websocket: WebSocket, room_id: str): + """WebSocket connection for room management and heartbeat""" + await video_core.handle_websocket(websocket, room_id) + + + + + Video Producer - LeRobot Arena + + +
+ +
+
+

๐Ÿ“น Video Producer Session

+

+ Stream camera or screen with real-time WebRTC +

+
+
+
+ {#if connected} +
+ Connected + {:else if connecting} +
+ Connecting... + {:else} +
+ Disconnected + {/if} +
+ {#if streaming} +
+
+ Streaming +
+ {/if} + โ† Back +
+
+ + +
+
VIDEO PRODUCER DEBUG
+
+
Attempts: {debugInfo.connectionAttempts}
+
Commands: {debugInfo.commandsSent}
+
Last: {debugInfo.lastCommandSent || 'None'}
+
WS: {debugInfo.wsConnected ? 'ON' : 'OFF'}
+
Room: {debugInfo.currentRoom || 'None'}
+
WebRTC: {debugInfo.webrtcState}
+
+ {#if stats} +
+
FPS: {stats.framesPerSecond.toFixed(1)}
+
Bitrate: {(stats.videoBitsPerSecond / 1000).toFixed(0)}k
+
Resolution: {stats.frameWidth}x{stats.frameHeight}
+
Packets Lost: {stats.packetsLost}
+
Total Packets: {stats.totalPackets}
+
+ Loss Rate: {stats.totalPackets > 0 + ? ((stats.packetsLost / stats.totalPackets) * 100).toFixed(1) + : 0}% +
+
+ {/if} + {#if error} +
Error: {error}
+ {/if} +
+ + {#if !connected} + +
+ +
+

Join Existing Room

+
+
+ + +
+
+ + +
+ +
+
+ + +
+

Create New Room

+
+

Create a new room and connect as producer

+
+ + +
+ +
+
+
+ + {#if error} +
+

{error}

+
+ {/if} + {:else} + +
+ +
+ +
+

Session Info

+
+
Room: {roomId}
+
ID: {participantId}
+
Role: Producer
+
+
+ + +
+
+

Stream Control

+
+ + +
+
+ + +
+
+ +
+

+ Local {streamType} preview +

+
+ + +
+ {#if !streaming} + + {:else} + + {/if} + +
+
+ + +
+

Video Configuration

+
+ +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+
+
+ + +
+

Actions

+
+ + +
+
+
+ + +
+ +
+

Current Status

+
+
+ Stream Type: + {streamType} +
+
+ Resolution: + {videoConfig.resolution?.width}x{videoConfig.resolution?.height} +
+
+ Framerate: + {videoConfig.framerate} FPS +
+
+ Bitrate: + {((videoConfig.bitrate || 0) / 1000000).toFixed(1)} Mbps +
+
+ Quality: + {videoConfig.quality}% +
+
+
+ + +
+

Recent Commands

+
+ {#each commandHistory as command} +
+
+ {command.timestamp} + + {command.command} + +
+ {#if typeof command.data === 'string'} +
+ {command.data} +
+ {:else if command.command === 'CONFIG_UPDATE'} +
+ {command.data.resolution?.width}x{command.data.resolution?.height} @ {command + .data.framerate}fps +
+ {/if} +
+ {:else} +

No commands sent yet

+ {/each} +
+
+ + +
+

Session Control

+ +
+
+
+ {/if} +
+ + + + + Video Consumer - Room {roomId} - LeRobot Arena + + +
+ +
+
+

๐Ÿ“บ Video Consumer

+

+ Room: {roomId} +

+
+
+
+ {#if connected} +
+ Connected + {:else if connecting} +
+ Connecting... + {:else} +
+ Disconnected + {/if} +
+ {#if receiving} +
+
+ Receiving +
+ {/if} + โ† Back to Video +
+
+ + +
+
VIDEO CONSUMER DEBUG - ROOM {roomId}
+
+
Attempts: {debugInfo.connectionAttempts}
+
Messages: {debugInfo.messagesReceived}
+
Last: {debugInfo.lastMessageType || 'None'}
+
WS: {debugInfo.wsConnected ? 'ON' : 'OFF'}
+
Room: {debugInfo.currentRoom || 'None'}
+
WebRTC: {debugInfo.webrtcState}
+
+
+
Frames: {frameCount}
+
Config Updates: {configUpdateCount}
+
Strategy Changes: {strategyChangeCount}
+
Errors: {errorCount}
+
+
+
+ Current Strategy: + {#if currentStrategy} + {currentStrategy.toUpperCase()} + {:else} + Unknown + {/if} +
+
+ {#if stats} +
+
FPS: {stats.framesPerSecond.toFixed(1)}
+
Bitrate: {(stats.videoBitsPerSecond / 1000).toFixed(0)}k
+
Resolution: {stats.frameWidth}x{stats.frameHeight}
+
Packets Lost: {stats.packetsLost}
+
Total Packets: {stats.totalPackets}
+
+ Loss Rate: {stats.totalPackets > 0 + ? ((stats.packetsLost / stats.totalPackets) * 100).toFixed(1) + : 0}% +
+
+ {/if} +
Last Update: {lastUpdate ? lastUpdate.toLocaleTimeString() : 'Never'}
+ {#if error} +
Error: {error}
+ {/if} +
+ + {#if !connected} + +
+

Connect to Video Room {roomId}

+ +
+
+ + +
+
+ + +
+
+ +
+ +
+ + {#if error} +
+

{error}

+
+ {/if} +
+ {:else} + +
+ +
+
+
{frameCount}
+
Frames Received
+
+
+
{configUpdateCount}
+
Config Updates
+
+
+
{strategyChangeCount}
+
Strategy Changes
+
+
+
{errorCount}
+
Errors
+
+
+ + +
+ +
+

Live Video Stream

+ +
+ + + {#if !receiving} +
+
+
๐Ÿ“บ
+

Waiting for video stream...

+

Producer needs to start streaming

+
+
+ {/if} +
+ + + {#if Object.keys(currentConfig).length > 0} +
+
+
Resolution
+
+ {currentConfig.resolution?.width || '?'}x{currentConfig.resolution?.height || '?'} +
+
+
+
Framerate
+
{currentConfig.framerate || '?'} FPS
+
+
+
Bitrate
+
+ {currentConfig.bitrate + ? (currentConfig.bitrate / 1000000).toFixed(1) + ' Mbps' + : '?'} +
+
+
+
Encoding
+
+ {currentConfig.encoding || '?'} +
+
+
+ {/if} +
+ + +
+ +
+

Session Info

+
+
Room: {roomId}
+
ID: {participantId}
+
Role: Consumer
+
Receiving: {receiving ? 'Yes' : 'No'}
+
+ Strategy: + {#if currentStrategy} + {currentStrategy.toUpperCase()} + {:else} + Unknown + {/if} +
+
+ Last Update: + {lastUpdate ? lastUpdate.toLocaleTimeString() : 'Never'} +
+
+
+ + +
+
+ + +
+

Strategy Management

+
+
+ +
+ + +
+
+ {#if strategyHistory.length > 0} +
+

Strategy History

+
+ {#each strategyHistory.slice(0, 5) as change} +
+
+ {change.timestamp} + + {change.oldStrategy.toUpperCase()} โ†’ {change.newStrategy.toUpperCase()} + +
+
{change.reason}
+
+ {/each} +
+
+ {/if} +
+
+ + +
+

Stream Events

+
+ {#each streamHistory as event} +
+
+ {event.timestamp} + {event.event} +
+ {#if event.participant} +
+ Participant: {event.participant} +
+ {/if} + {#if event.reason} +
+ {event.reason} +
+ {/if} +
+ {:else} +

No stream events yet

+ {/each} +
+
+
+
+ + +
+ +
+

Recent Frames

+
+ {#each frameHistory.slice(0, 10) as frame} +
+
+ {frame.timestamp} + FRAME_UPDATE +
+
+ + {frame.frame.width}x{frame.frame.height} + + + {frame.frame.encoding.toUpperCase()} + + + {(frame.frame.data.byteLength / 1024).toFixed(1)}KB + +
+
+ {:else} +

No frames received yet

+ {/each} +
+
+ + +
+

Config Updates

+
+ {#each configHistory as config} +
+
+ {config.timestamp} + CONFIG_UPDATE +
+
+
+ {config.config.resolution?.width}x{config.config.resolution?.height} @ + {config.config.framerate}fps +
+
+ {((config.config.bitrate || 0) / 1000000).toFixed(1)}Mbps, + {config.config.encoding?.toUpperCase()} +
+
+
+ {:else} +

+ No config updates received yet +

+ {/each} +
+
+
+ + + {#if errorHistory.length > 0} +
+

Recent Errors

+
+ {#each errorHistory as error} +
+
+ {error.timestamp} + ERROR +
+
+ {error.message} +
+
+ {/each} +
+
+ {/if} +
+ {/if} +
diff --git a/server/pyproject.toml b/server/pyproject.toml new file mode 100644 index 0000000000000000000000000000000000000000..01d665cb942ba8cf0c59f46ff6160c1fd0f6ede8 --- /dev/null +++ b/server/pyproject.toml @@ -0,0 +1,19 @@ +[project] +name = "lerobot_arena_server" +version = "0.1.0" +description = "Add your description here" +readme = "README.md" +requires-python = ">=3.12" +dependencies = [ + "fastapi>=0.115.12", + "opencv-python>=4.11.0.86", + "pydantic>=2.11.5", + "uvicorn[standard]>=0.34.3", +] + +[dependency-groups] +dev = [ + "pytest>=8.4.0", + "pytest-asyncio>=1.0.0", + "pytest-cov>=6.1.1", +] diff --git a/server/server.log b/server/server.log new file mode 100644 index 0000000000000000000000000000000000000000..159147d5e11510d2b536b064602605eddd90fe90 --- /dev/null +++ b/server/server.log @@ -0,0 +1,31060 @@ +2025-06-05 23:13:39,577 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-05 23:13:40,137 - watchfiles.main - INFO - 28 changes detected +2025-06-05 23:13:40,555 - watchfiles.main - INFO - 111 changes detected +2025-06-05 23:13:48,480 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:13:50,728 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-05 23:14:04,493 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-05 23:14:13,004 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:14:15,954 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-05 23:14:20,273 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-05 23:14:49,686 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-05 23:15:02,638 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-05 23:16:45,544 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-05 23:17:35,004 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-05 23:17:40,199 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-05 23:18:03,199 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-05 23:18:10,512 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-05 23:18:22,673 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:18:23,303 - watchfiles.main - INFO - 7 changes detected +2025-06-05 23:18:57,359 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:19:17,358 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:19:17,717 - watchfiles.main - INFO - 13 changes detected +2025-06-05 23:19:24,681 - watchfiles.main - INFO - 2 changes detected +2025-06-05 23:19:25,276 - watchfiles.main - INFO - 6 changes detected +2025-06-05 23:19:25,796 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:20:15,056 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:20:16,447 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:20:41,125 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:20:42,707 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:21:11,513 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:21:13,141 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:22:13,560 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:22:14,206 - robotics.api - INFO - ๐Ÿค– Initializing robotics system... +2025-06-05 23:22:14,207 - robotics.robot_manager - INFO - Created robot demo-arm-1 (so-arm100) with 6 joints +2025-06-05 23:22:14,207 - robotics.robot_manager - INFO - Created robot demo-arm-2 (so-arm100) with 6 joints +2025-06-05 23:22:14,207 - robotics.api - INFO - โœ… Demo robots created successfully +2025-06-05 23:22:14,209 - watchfiles.main - INFO - 12 changes detected +2025-06-05 23:23:07,070 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:23:07,683 - watchfiles.main - INFO - 10 changes detected +2025-06-05 23:23:07,710 - robotics.api - INFO - ๐Ÿค– Initializing robotics system... +2025-06-05 23:23:07,711 - robotics.robot_manager - INFO - Created robot demo-arm-1 (so-arm100) with 6 joints +2025-06-05 23:23:07,711 - robotics.robot_manager - INFO - Created robot demo-arm-2 (so-arm100) with 6 joints +2025-06-05 23:23:07,711 - robotics.api - INFO - โœ… Demo robots created successfully +2025-06-05 23:24:40,249 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:24:40,870 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:24:41,102 - robotics.api - INFO - ๐Ÿค– Initializing robotics system... +2025-06-05 23:24:41,159 - robotics.robot_manager - INFO - Created robot demo-arm-1 (so-arm100) with 6 joints +2025-06-05 23:24:41,161 - robotics.robot_manager - INFO - Created robot demo-arm-2 (so-arm100) with 6 joints +2025-06-05 23:24:41,161 - robotics.api - INFO - โœ… Demo robots created successfully +2025-06-05 23:24:41,741 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:24:42,258 - robotics.api - INFO - ๐Ÿค– Initializing robotics system... +2025-06-05 23:24:42,260 - robotics.robot_manager - INFO - Created robot demo-arm-1 (so-arm100) with 6 joints +2025-06-05 23:24:42,261 - robotics.robot_manager - INFO - Created robot demo-arm-2 (so-arm100) with 6 joints +2025-06-05 23:24:42,261 - robotics.api - INFO - โœ… Demo robots created successfully +2025-06-05 23:24:42,329 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:25:14,793 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:25:15,371 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:25:15,495 - robotics.api - INFO - ๐Ÿค– Initializing robotics system... +2025-06-05 23:25:15,495 - robotics.robot_manager - INFO - Created robot demo-arm-1 (so-arm100) with 6 joints +2025-06-05 23:25:15,495 - robotics.robot_manager - INFO - Created robot demo-arm-2 (so-arm100) with 6 joints +2025-06-05 23:25:15,495 - robotics.api - INFO - โœ… Demo robots created successfully +2025-06-05 23:25:16,431 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:25:16,982 - robotics.api - INFO - ๐Ÿค– Initializing robotics system... +2025-06-05 23:25:16,982 - robotics.robot_manager - INFO - Created robot demo-arm-1 (so-arm100) with 6 joints +2025-06-05 23:25:16,983 - robotics.robot_manager - INFO - Created robot demo-arm-2 (so-arm100) with 6 joints +2025-06-05 23:25:16,983 - robotics.api - INFO - โœ… Demo robots created successfully +2025-06-05 23:25:17,076 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:26:31,588 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:26:32,175 - watchfiles.main - INFO - 10 changes detected +2025-06-05 23:26:32,203 - robotics.api - INFO - ๐Ÿค– Initializing robotics system... +2025-06-05 23:26:32,203 - robotics.robot_manager - INFO - Created robot demo-arm-1 (so-arm100) with 6 joints +2025-06-05 23:26:32,203 - robotics.robot_manager - INFO - Created robot demo-arm-2 (so-arm100) with 6 joints +2025-06-05 23:26:32,203 - robotics.api - INFO - โœ… Demo robots created successfully +2025-06-05 23:27:52,993 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:27:53,621 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:27:53,704 - robotics.api - INFO - ๐Ÿค– Initializing robotics system... +2025-06-05 23:27:53,704 - robotics.robot_manager - INFO - Created robot demo-arm-1 (so-arm100) with 6 joints +2025-06-05 23:27:53,704 - robotics.robot_manager - INFO - Created robot demo-arm-2 (so-arm100) with 6 joints +2025-06-05 23:27:53,704 - robotics.api - INFO - โœ… Demo robots created successfully +2025-06-05 23:27:55,365 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:27:55,946 - robotics.api - INFO - ๐Ÿค– Initializing robotics system... +2025-06-05 23:27:55,947 - robotics.robot_manager - INFO - Created robot demo-arm-1 (so-arm100) with 6 joints +2025-06-05 23:27:55,947 - robotics.robot_manager - INFO - Created robot demo-arm-2 (so-arm100) with 6 joints +2025-06-05 23:27:55,947 - robotics.api - INFO - โœ… Demo robots created successfully +2025-06-05 23:27:55,988 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:28:20,358 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:28:20,995 - robotics.api - INFO - ๐Ÿค– Initializing robotics system... +2025-06-05 23:28:20,995 - robotics.api - ERROR - โŒ Failed to create demo robots: name 'robot_manager' is not defined +2025-06-05 23:28:21,002 - watchfiles.main - INFO - 7 changes detected +2025-06-05 23:28:42,488 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:28:43,097 - watchfiles.main - INFO - 4 changes detected +2025-06-05 23:28:54,594 - watchfiles.main - INFO - 2 changes detected +2025-06-05 23:28:59,334 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:29:05,251 - watchfiles.main - INFO - 2 changes detected +2025-06-05 23:29:11,600 - watchfiles.main - INFO - 2 changes detected +2025-06-05 23:29:19,619 - watchfiles.main - INFO - 2 changes detected +2025-06-05 23:29:27,352 - watchfiles.main - INFO - 2 changes detected +2025-06-05 23:29:27,997 - watchfiles.main - INFO - 6 changes detected +2025-06-05 23:29:33,210 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:29:36,716 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:29:45,336 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:29:53,689 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:29:54,295 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:30:17,897 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:30:18,266 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:30:34,861 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:30:35,228 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:30:40,880 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:30:41,244 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:30:45,939 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:30:46,302 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:31:35,968 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:31:36,337 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:31:46,817 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:31:47,181 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:31:50,289 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:31:50,656 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:32:10,410 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:32:10,776 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:32:12,751 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:32:13,117 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:32:15,282 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:32:15,645 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:32:28,000 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:32:28,370 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:32:38,566 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:32:38,925 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:32:50,595 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:32:50,959 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:33:10,487 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:33:10,848 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:33:42,897 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:33:43,259 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:34:07,458 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:34:07,822 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:34:13,539 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:34:13,899 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:34:14,474 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:34:14,835 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:34:44,082 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:34:44,446 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:35:27,218 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:35:27,583 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:35:54,847 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:35:55,265 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:36:34,443 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:36:34,810 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:36:41,772 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:36:42,131 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:36:45,063 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:36:45,423 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:36:47,935 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:36:48,296 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:36:54,806 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:36:55,170 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:36:56,714 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:36:57,080 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:36:58,255 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:36:58,619 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:37:32,193 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:37:32,554 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:37:34,835 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:37:35,202 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:37:36,204 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:37:36,571 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:37:38,800 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:37:39,163 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:37:42,540 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:37:42,904 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:37:44,710 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:37:45,070 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:38:05,715 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:38:06,082 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:38:45,193 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:38:45,556 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:38:54,301 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:38:54,663 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:38:56,872 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:38:57,236 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:39:16,330 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:39:16,698 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:39:17,925 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:39:18,287 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:39:21,362 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:39:21,733 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:39:25,971 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:39:26,331 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:39:30,020 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:39:30,382 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:39:33,194 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:39:33,568 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:39:39,952 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:39:40,315 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:39:50,521 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:39:50,884 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:39:56,552 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:39:56,919 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:39:57,274 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:39:57,637 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:40:32,038 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:40:32,403 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:40:51,647 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:40:52,013 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:41:00,851 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:41:01,212 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:41:03,686 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:41:04,053 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:43:26,286 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:43:26,648 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:43:34,825 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:43:35,491 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:44:43,712 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:44:44,071 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:44:53,644 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:44:54,002 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:45:02,776 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:45:03,153 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:45:16,919 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:45:17,285 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:45:37,958 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:45:38,325 - watchfiles.main - INFO - 6 changes detected +2025-06-05 23:46:18,824 - watchfiles.main - INFO - 2 changes detected +2025-06-05 23:46:19,408 - watchfiles.main - INFO - 6 changes detected +2025-06-05 23:47:16,901 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:47:17,556 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:47:23,327 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:47:23,963 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:50:17,234 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:50:17,872 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:54:37,063 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:54:37,749 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:54:59,888 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:55:00,532 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:55:21,729 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:55:22,305 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:55:44,162 - watchfiles.main - INFO - 1 change detected +2025-06-05 23:55:44,821 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:57:43,441 - watchfiles.main - INFO - 3 changes detected +2025-06-05 23:57:44,099 - watchfiles.main - INFO - 9 changes detected +2025-06-06 00:02:13,785 - watchfiles.main - INFO - 1 change detected +2025-06-06 00:02:14,353 - watchfiles.main - INFO - 3 changes detected +2025-06-06 00:02:28,206 - watchfiles.main - INFO - 1 change detected +2025-06-06 00:02:28,852 - watchfiles.main - INFO - 3 changes detected +2025-06-06 00:02:56,650 - watchfiles.main - INFO - 1 change detected +2025-06-06 00:02:58,090 - watchfiles.main - INFO - 1 change detected +2025-06-06 00:03:28,108 - watchfiles.main - INFO - 1 change detected +2025-06-06 00:03:28,730 - watchfiles.main - INFO - 3 changes detected +2025-06-06 00:03:36,373 - watchfiles.main - INFO - 1 change detected +2025-06-06 00:03:36,947 - watchfiles.main - INFO - 3 changes detected +2025-06-06 00:03:48,938 - watchfiles.main - INFO - 1 change detected +2025-06-06 00:03:58,206 - watchfiles.main - INFO - 1 change detected +2025-06-06 00:07:57,795 - watchfiles.main - INFO - 1 change detected +2025-06-06 00:08:09,938 - watchfiles.main - INFO - 1 change detected +2025-06-06 00:08:10,578 - watchfiles.main - INFO - 3 changes detected +2025-06-06 00:08:16,639 - watchfiles.main - INFO - 1 change detected +2025-06-06 00:08:17,285 - watchfiles.main - INFO - 3 changes detected +2025-06-06 00:08:24,722 - watchfiles.main - INFO - 1 change detected +2025-06-06 00:08:25,296 - watchfiles.main - INFO - 3 changes detected +2025-06-06 00:08:33,166 - watchfiles.main - INFO - 1 change detected +2025-06-06 00:08:33,830 - watchfiles.main - INFO - 3 changes detected +2025-06-06 00:08:40,423 - watchfiles.main - INFO - 1 change detected +2025-06-06 00:08:41,090 - watchfiles.main - INFO - 3 changes detected +2025-06-06 00:09:01,413 - watchfiles.main - INFO - 1 change detected +2025-06-06 00:09:01,994 - watchfiles.main - INFO - 3 changes detected +2025-06-06 00:09:16,615 - watchfiles.main - INFO - 1 change detected +2025-06-06 00:09:17,190 - watchfiles.main - INFO - 3 changes detected +2025-06-06 00:09:29,031 - watchfiles.main - INFO - 1 change detected +2025-06-06 00:09:29,677 - watchfiles.main - INFO - 3 changes detected +2025-06-06 00:09:55,885 - watchfiles.main - INFO - 1 change detected +2025-06-06 00:09:56,543 - watchfiles.main - INFO - 3 changes detected +2025-06-06 00:10:49,100 - watchfiles.main - INFO - 1 change detected +2025-06-06 00:10:49,696 - watchfiles.main - INFO - 4 changes detected +2025-06-06 00:30:00,065 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-06 00:30:04,718 - watchfiles.main - INFO - 3 changes detected +2025-06-06 00:37:55,756 - watchfiles.main - INFO - 1 change detected +2025-06-06 00:37:56,481 - watchfiles.main - INFO - 3 changes detected +2025-06-06 00:38:37,608 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-06 00:38:38,204 - watchfiles.main - INFO - 28 changes detected +2025-06-06 00:38:38,620 - watchfiles.main - INFO - 111 changes detected +2025-06-06 00:38:48,941 - watchfiles.main - INFO - 3 changes detected +2025-06-06 00:45:57,907 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-06 00:45:58,291 - watchfiles.main - INFO - 15 changes detected +2025-06-06 00:45:58,758 - watchfiles.main - INFO - 79 changes detected +2025-06-06 00:45:59,121 - watchfiles.main - INFO - 60 changes detected +2025-06-06 00:47:13,369 - robotics.core - INFO - Created room 551e9e9e-d017-4819-bfd2-5952d3225e9b +2025-06-06 00:47:13,560 - robotics.core - INFO - Deleted room 551e9e9e-d017-4819-bfd2-5952d3225e9b +2025-06-06 00:47:13,562 - robotics.core - INFO - Created room 0611ce4d-5d4c-436e-a0e3-72631be44ed6 +2025-06-06 00:47:13,568 - robotics.core - INFO - Deleted room 0611ce4d-5d4c-436e-a0e3-72631be44ed6 +2025-06-06 00:47:13,570 - robotics.core - INFO - Created room cecc36b1-ee62-4ad0-a5f0-4456c926da15 +2025-06-06 00:47:13,596 - robotics.core - INFO - Deleted room cecc36b1-ee62-4ad0-a5f0-4456c926da15 +2025-06-06 00:47:13,598 - robotics.core - INFO - Created room a0bf4593-acf5-49e4-be4f-fca05e858786 +2025-06-06 00:47:13,706 - robotics.core - INFO - Deleted room a0bf4593-acf5-49e4-be4f-fca05e858786 +2025-06-06 00:47:13,709 - robotics.core - INFO - Created room bf61784d-5cd9-4f93-bd8e-45c36ec7835d +2025-06-06 00:47:13,716 - robotics.core - INFO - Deleted room bf61784d-5cd9-4f93-bd8e-45c36ec7835d +2025-06-06 00:47:13,718 - robotics.core - INFO - Created room cbe421df-0105-4418-a9c5-95660253c4ab +2025-06-06 00:47:13,834 - robotics.core - INFO - Deleted room cbe421df-0105-4418-a9c5-95660253c4ab +2025-06-06 00:47:13,837 - robotics.core - INFO - Created room e14642c9-7339-43aa-a190-d07900f6e7a6 +2025-06-06 00:47:13,950 - robotics.core - INFO - Deleted room e14642c9-7339-43aa-a190-d07900f6e7a6 +2025-06-06 00:47:13,952 - robotics.core - INFO - Created room 47072e40-4ba3-4917-99b6-438e5720d6e4 +2025-06-06 00:47:14,068 - robotics.core - INFO - Deleted room 47072e40-4ba3-4917-99b6-438e5720d6e4 +2025-06-06 00:47:14,070 - robotics.core - INFO - Created room 36de4004-a2cf-428e-b013-20197a527047 +2025-06-06 00:47:14,189 - robotics.core - INFO - Deleted room 36de4004-a2cf-428e-b013-20197a527047 +2025-06-06 00:47:14,193 - robotics.core - INFO - Created room 815489eb-26db-46f3-a1f2-8cf0de81cbb8 +2025-06-06 00:47:14,198 - robotics.core - INFO - Deleted room 815489eb-26db-46f3-a1f2-8cf0de81cbb8 +2025-06-06 00:47:14,202 - robotics.core - INFO - Created room 035d8703-854e-46d8-bb1f-86c3368dbd2e +2025-06-06 00:47:14,211 - robotics.core - INFO - Deleted room 035d8703-854e-46d8-bb1f-86c3368dbd2e +2025-06-06 00:47:14,217 - robotics.core - INFO - Created room e178628e-4271-495d-b776-45f8adeaa0c8 +2025-06-06 00:47:14,223 - robotics.core - INFO - Deleted room e178628e-4271-495d-b776-45f8adeaa0c8 +2025-06-06 00:47:14,226 - robotics.core - INFO - Created room c323d1aa-782c-4ac3-8b3b-e32c83e827a9 +2025-06-06 00:47:14,344 - robotics.core - INFO - Deleted room c323d1aa-782c-4ac3-8b3b-e32c83e827a9 +2025-06-06 00:47:14,348 - robotics.core - INFO - Created room 47ef300e-0f3b-4930-9c78-fa525780b0b1 +2025-06-06 00:47:14,352 - robotics.core - INFO - Deleted room 47ef300e-0f3b-4930-9c78-fa525780b0b1 +2025-06-06 00:47:14,358 - robotics.core - INFO - Created room dc0c4c24-0cc2-45b6-b941-3d74e2034127 +2025-06-06 00:47:14,361 - robotics.core - INFO - Deleted room dc0c4c24-0cc2-45b6-b941-3d74e2034127 +2025-06-06 00:47:14,365 - robotics.core - INFO - Created room 735cefe1-c7cb-4d1d-87dc-6ea8932b9011 +2025-06-06 00:47:14,368 - robotics.core - INFO - Deleted room 735cefe1-c7cb-4d1d-87dc-6ea8932b9011 +2025-06-06 00:47:14,372 - robotics.core - INFO - Created room 7a17b7db-a67c-437f-873e-551777d9a5a0 +2025-06-06 00:47:14,378 - robotics.core - INFO - Deleted room 7a17b7db-a67c-437f-873e-551777d9a5a0 +2025-06-06 00:47:14,382 - robotics.core - INFO - Created room 1b4d630b-3dea-4a7d-85eb-028911d06f69 +2025-06-06 00:47:14,385 - robotics.core - INFO - Deleted room 1b4d630b-3dea-4a7d-85eb-028911d06f69 +2025-06-06 00:47:14,390 - robotics.core - INFO - Created room 95304595-1d2d-41d3-829f-7b304ba46d31 +2025-06-06 00:47:14,395 - robotics.core - INFO - Created room 34aca240-a22f-4b01-8ae4-d93d5cfdb153 +2025-06-06 00:47:14,398 - robotics.core - INFO - Deleted room 95304595-1d2d-41d3-829f-7b304ba46d31 +2025-06-06 00:47:14,399 - robotics.core - INFO - Deleted room 34aca240-a22f-4b01-8ae4-d93d5cfdb153 +2025-06-06 00:47:14,406 - robotics.core - INFO - Created room 94702529-a8f9-4881-84a7-a43af618ef35 +2025-06-06 00:47:14,620 - robotics.core - INFO - Deleted room 94702529-a8f9-4881-84a7-a43af618ef35 +2025-06-06 00:47:14,645 - robotics.core - INFO - Created room d25b9131-d70d-40d8-af3e-b6e367e106e7 +2025-06-06 00:47:14,863 - robotics.core - INFO - Deleted room d25b9131-d70d-40d8-af3e-b6e367e106e7 +2025-06-06 00:47:14,873 - robotics.core - INFO - Created room 28a94939-7774-44a8-b6d2-728ae9072927 +2025-06-06 00:47:15,082 - robotics.core - INFO - Deleted room 28a94939-7774-44a8-b6d2-728ae9072927 +2025-06-06 00:47:15,091 - robotics.core - INFO - Created room 3e25b51d-d18d-4fe4-ac18-6dbcaed90174 +2025-06-06 00:47:15,096 - robotics.core - INFO - Deleted room 3e25b51d-d18d-4fe4-ac18-6dbcaed90174 +2025-06-06 00:47:15,105 - robotics.core - INFO - Created room a840c89b-8358-4a57-8847-8e2182a7331c +2025-06-06 00:47:15,108 - robotics.core - INFO - Deleted room a840c89b-8358-4a57-8847-8e2182a7331c +2025-06-06 00:47:15,116 - robotics.core - INFO - Created room 0799bc25-9f58-40ac-8ffb-c38eaddb271d +2025-06-06 00:47:15,120 - robotics.core - INFO - Deleted room 0799bc25-9f58-40ac-8ffb-c38eaddb271d +2025-06-06 00:47:15,129 - robotics.core - INFO - Created room bdc2b5c6-3cb0-4d2b-9d40-b22b24ac4e0c +2025-06-06 00:47:15,234 - robotics.core - INFO - Deleted room bdc2b5c6-3cb0-4d2b-9d40-b22b24ac4e0c +2025-06-06 00:47:15,243 - robotics.core - INFO - Created room 00460f56-68b6-46a5-a6df-f952b3d49949 +2025-06-06 00:47:15,255 - robotics.core - INFO - Deleted room 00460f56-68b6-46a5-a6df-f952b3d49949 +2025-06-06 00:47:15,258 - robotics.core - INFO - Created room 26fb00eb-e2cd-4556-aeb4-0a012d01cb74 +2025-06-06 00:47:15,265 - robotics.core - INFO - Deleted room 26fb00eb-e2cd-4556-aeb4-0a012d01cb74 +2025-06-06 00:47:15,267 - robotics.core - INFO - Created room 7782826d-7436-4030-8ebe-4fa5a1b0c812 +2025-06-06 00:47:15,277 - robotics.core - INFO - Deleted room 7782826d-7436-4030-8ebe-4fa5a1b0c812 +2025-06-06 00:47:15,279 - robotics.core - INFO - Created room b13da52a-5b50-4d47-af2a-08cc4db79618 +2025-06-06 00:47:15,289 - robotics.core - INFO - Deleted room b13da52a-5b50-4d47-af2a-08cc4db79618 +2025-06-06 00:47:15,291 - robotics.core - INFO - Created room 2deb7dbd-23a2-4a9f-a2f2-9778cbb284f2 +2025-06-06 00:47:15,300 - robotics.core - INFO - Deleted room 2deb7dbd-23a2-4a9f-a2f2-9778cbb284f2 +2025-06-06 00:47:15,302 - robotics.core - INFO - Created room eb7bc19d-e787-4ab3-bc10-3d0a92e18da2 +2025-06-06 00:47:15,307 - robotics.core - INFO - Deleted room eb7bc19d-e787-4ab3-bc10-3d0a92e18da2 +2025-06-06 00:47:15,310 - robotics.core - INFO - Created room d5143b8f-a2e7-42e8-9797-75c9ad8a964d +2025-06-06 00:47:15,417 - robotics.core - INFO - Deleted room d5143b8f-a2e7-42e8-9797-75c9ad8a964d +2025-06-06 00:47:15,420 - robotics.core - INFO - Created room 0acff73f-db59-4299-b04a-1edbb4608ef2 +2025-06-06 00:47:15,423 - robotics.core - INFO - Created room f588576d-defd-4400-9a82-7f6623b29b57 +2025-06-06 00:47:15,427 - robotics.core - INFO - Deleted room f588576d-defd-4400-9a82-7f6623b29b57 +2025-06-06 00:47:15,431 - robotics.core - INFO - Deleted room 0acff73f-db59-4299-b04a-1edbb4608ef2 +2025-06-06 00:47:15,434 - robotics.core - INFO - Created room 3f273c8d-92c5-4e63-b010-e1543457d958 +2025-06-06 00:47:15,445 - robotics.core - INFO - Deleted room 3f273c8d-92c5-4e63-b010-e1543457d958 +2025-06-06 00:47:15,450 - robotics.core - INFO - Created room 1b03ae4f-782f-4e6d-818d-a555ecbe9625 +2025-06-06 00:47:15,457 - robotics.core - INFO - Deleted room 1b03ae4f-782f-4e6d-818d-a555ecbe9625 +2025-06-06 00:47:15,459 - robotics.core - INFO - Created room dbc9629e-e3f2-4fa8-9d3b-3823d24dbdc6 +2025-06-06 00:47:15,463 - robotics.core - INFO - Deleted room dbc9629e-e3f2-4fa8-9d3b-3823d24dbdc6 +2025-06-06 00:47:15,464 - robotics.core - INFO - Created room d9d677c8-c3d2-4ba9-87e5-7bcae710e535 +2025-06-06 00:47:15,472 - robotics.core - INFO - Deleted room d9d677c8-c3d2-4ba9-87e5-7bcae710e535 +2025-06-06 00:47:15,474 - robotics.core - INFO - Created room 4cf8216f-b8dd-4163-9bab-9b06ea1af7e8 +2025-06-06 00:47:15,484 - robotics.core - INFO - Deleted room 4cf8216f-b8dd-4163-9bab-9b06ea1af7e8 +2025-06-06 00:47:15,490 - robotics.core - INFO - Created room 9ed6659f-73fd-475e-a9c9-ca6332a5f690 +2025-06-06 00:47:15,492 - robotics.core - INFO - Deleted room 9ed6659f-73fd-475e-a9c9-ca6332a5f690 +2025-06-06 00:47:15,494 - robotics.core - INFO - Created room 53f1c740-9690-4fae-8fad-27515790d9ae +2025-06-06 00:47:15,498 - robotics.core - INFO - Created room c8b803d0-ac2b-495f-8f52-8575cc77de4e +2025-06-06 00:47:15,500 - robotics.core - INFO - Deleted room c8b803d0-ac2b-495f-8f52-8575cc77de4e +2025-06-06 00:47:15,504 - robotics.core - INFO - Created room 853195df-f5ad-45ce-9304-8c16ddbed75b +2025-06-06 00:47:15,507 - robotics.core - INFO - Deleted room 853195df-f5ad-45ce-9304-8c16ddbed75b +2025-06-06 00:47:15,511 - robotics.core - INFO - Created room 0044db42-2371-4a39-9113-16e3544b3a94 +2025-06-06 00:47:15,514 - robotics.core - INFO - Deleted room 0044db42-2371-4a39-9113-16e3544b3a94 +2025-06-06 00:47:15,529 - robotics.core - INFO - Created room 256dfad6-10f8-4ed9-bc91-41eaaebd7d05 +2025-06-06 00:48:16,664 - watchfiles.main - INFO - 1 change detected +2025-06-06 00:48:17,292 - watchfiles.main - INFO - 4 changes detected +2025-06-06 00:48:20,260 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-06 00:48:22,084 - robotics.core - INFO - Created room b5d201c6-86bc-485f-9dcc-298d86093801 +2025-06-06 00:48:22,113 - robotics.core - INFO - Deleted room b5d201c6-86bc-485f-9dcc-298d86093801 +2025-06-06 00:48:22,114 - robotics.core - INFO - Created room 57910fd8-9210-4cf2-be4b-473852265826 +2025-06-06 00:48:22,120 - robotics.core - INFO - Deleted room 57910fd8-9210-4cf2-be4b-473852265826 +2025-06-06 00:48:22,121 - robotics.core - INFO - Created room d254d2ee-7511-47ca-969c-41ce6464e19f +2025-06-06 00:48:22,127 - robotics.core - INFO - Deleted room d254d2ee-7511-47ca-969c-41ce6464e19f +2025-06-06 00:48:22,129 - robotics.core - INFO - Created room e029d773-101d-4860-bc71-d489113e5363 +2025-06-06 00:48:22,236 - robotics.core - INFO - Deleted room e029d773-101d-4860-bc71-d489113e5363 +2025-06-06 00:48:22,237 - robotics.core - INFO - Created room a5bd73a2-b085-4b6f-997d-7ccc4355e913 +2025-06-06 00:48:22,244 - robotics.core - INFO - Deleted room a5bd73a2-b085-4b6f-997d-7ccc4355e913 +2025-06-06 00:48:22,246 - robotics.core - INFO - Created room 57d9b063-5f68-4fa6-973a-bef870cad2ee +2025-06-06 00:48:22,360 - robotics.core - INFO - Deleted room 57d9b063-5f68-4fa6-973a-bef870cad2ee +2025-06-06 00:48:22,362 - robotics.core - INFO - Created room 73c7f021-ed48-4264-9b06-819913253dbe +2025-06-06 00:48:22,479 - robotics.core - INFO - Deleted room 73c7f021-ed48-4264-9b06-819913253dbe +2025-06-06 00:48:22,482 - robotics.core - INFO - Created room 73a107ea-dd44-4e70-98ec-ba325dc48796 +2025-06-06 00:48:22,607 - robotics.core - INFO - Deleted room 73a107ea-dd44-4e70-98ec-ba325dc48796 +2025-06-06 00:48:22,611 - robotics.core - INFO - Created room ca234b9d-8275-422c-8417-241c9d283dc3 +2025-06-06 00:48:22,725 - robotics.core - INFO - Deleted room ca234b9d-8275-422c-8417-241c9d283dc3 +2025-06-06 00:48:22,728 - robotics.core - INFO - Created room 382ff409-0038-49ce-bd84-aace7c7474e0 +2025-06-06 00:48:22,731 - robotics.core - INFO - Deleted room 382ff409-0038-49ce-bd84-aace7c7474e0 +2025-06-06 00:48:22,734 - robotics.core - INFO - Created room c40cc9f1-2416-4333-bbcb-2a6bb3215277 +2025-06-06 00:48:22,740 - robotics.core - INFO - Deleted room c40cc9f1-2416-4333-bbcb-2a6bb3215277 +2025-06-06 00:48:22,744 - robotics.core - INFO - Created room 0fdc7010-9e7c-412d-90f3-b93cdf07aceb +2025-06-06 00:48:22,750 - robotics.core - INFO - Deleted room 0fdc7010-9e7c-412d-90f3-b93cdf07aceb +2025-06-06 00:48:22,752 - robotics.core - INFO - Created room c1751f51-0ffb-43ce-8a04-17d414f6b9eb +2025-06-06 00:48:22,865 - robotics.core - INFO - Deleted room c1751f51-0ffb-43ce-8a04-17d414f6b9eb +2025-06-06 00:48:22,869 - robotics.core - INFO - Created room a791a826-f815-4fe5-90fd-2e5754a6f9fa +2025-06-06 00:48:22,872 - robotics.core - INFO - Deleted room a791a826-f815-4fe5-90fd-2e5754a6f9fa +2025-06-06 00:48:22,877 - robotics.core - INFO - Created room b119cc8c-9940-4e28-87d8-82c33a89ade3 +2025-06-06 00:48:22,880 - robotics.core - INFO - Deleted room b119cc8c-9940-4e28-87d8-82c33a89ade3 +2025-06-06 00:48:22,884 - robotics.core - INFO - Created room 9e36e841-7015-4dd3-83f3-6779cd2712a8 +2025-06-06 00:48:22,886 - robotics.core - INFO - Deleted room 9e36e841-7015-4dd3-83f3-6779cd2712a8 +2025-06-06 00:48:22,890 - robotics.core - INFO - Created room 0c140c34-6959-47b9-801a-883a9803d22a +2025-06-06 00:48:22,895 - robotics.core - INFO - Deleted room 0c140c34-6959-47b9-801a-883a9803d22a +2025-06-06 00:48:22,899 - robotics.core - INFO - Created room 2061bdcc-a6b9-4c30-8022-06d8de885463 +2025-06-06 00:48:22,902 - robotics.core - INFO - Deleted room 2061bdcc-a6b9-4c30-8022-06d8de885463 +2025-06-06 00:48:22,906 - robotics.core - INFO - Created room 7e050d10-317f-44e4-bd46-3a3f153b108f +2025-06-06 00:48:22,909 - robotics.core - INFO - Created room d7f3f67c-3eb4-4d5b-b192-729aae52c9a8 +2025-06-06 00:48:22,912 - robotics.core - INFO - Deleted room 7e050d10-317f-44e4-bd46-3a3f153b108f +2025-06-06 00:48:22,913 - robotics.core - INFO - Deleted room d7f3f67c-3eb4-4d5b-b192-729aae52c9a8 +2025-06-06 00:48:22,927 - robotics.core - INFO - Created room 817fe6a0-ba9d-4c4f-9846-06ca634b10e2 +2025-06-06 00:48:23,135 - robotics.core - INFO - Deleted room 817fe6a0-ba9d-4c4f-9846-06ca634b10e2 +2025-06-06 00:48:23,156 - robotics.core - INFO - Created room 174b1ef1-db1d-44b0-ac9b-167994331456 +2025-06-06 00:48:23,367 - robotics.core - INFO - Deleted room 174b1ef1-db1d-44b0-ac9b-167994331456 +2025-06-06 00:48:23,374 - robotics.core - INFO - Created room 86a318ea-d71f-492c-8223-7a9e9a083499 +2025-06-06 00:48:23,586 - robotics.core - INFO - Deleted room 86a318ea-d71f-492c-8223-7a9e9a083499 +2025-06-06 00:48:23,602 - robotics.core - INFO - Created room 3d8ea95b-5fbb-456f-9232-3d9e40c54602 +2025-06-06 00:48:23,609 - robotics.core - INFO - Deleted room 3d8ea95b-5fbb-456f-9232-3d9e40c54602 +2025-06-06 00:48:23,621 - robotics.core - INFO - Created room 0b74d439-6059-4763-8d6a-c585878ba730 +2025-06-06 00:48:23,625 - robotics.core - INFO - Deleted room 0b74d439-6059-4763-8d6a-c585878ba730 +2025-06-06 00:48:23,636 - robotics.core - INFO - Created room a3fa357b-76f1-464a-96c2-17a320eb1b30 +2025-06-06 00:48:23,640 - robotics.core - INFO - Deleted room a3fa357b-76f1-464a-96c2-17a320eb1b30 +2025-06-06 00:48:23,651 - robotics.core - INFO - Created room bec02a7a-35fa-46ea-b6b8-7514e1fb880c +2025-06-06 00:48:23,759 - robotics.core - INFO - Deleted room bec02a7a-35fa-46ea-b6b8-7514e1fb880c +2025-06-06 00:48:23,770 - robotics.core - INFO - Created room dfb0772d-6f23-4f20-a143-38466b7c72d9 +2025-06-06 00:48:23,778 - robotics.core - INFO - Deleted room dfb0772d-6f23-4f20-a143-38466b7c72d9 +2025-06-06 00:48:23,780 - robotics.core - INFO - Created room 9090f1d7-57bf-482c-9c5f-abe071ec6b4c +2025-06-06 00:48:23,787 - robotics.core - INFO - Deleted room 9090f1d7-57bf-482c-9c5f-abe071ec6b4c +2025-06-06 00:48:23,790 - robotics.core - INFO - Created room e0265c56-42ba-4a06-ba88-c5ec4c233c26 +2025-06-06 00:48:23,798 - robotics.core - INFO - Deleted room e0265c56-42ba-4a06-ba88-c5ec4c233c26 +2025-06-06 00:48:23,801 - robotics.core - INFO - Created room fd58c4b0-acac-44f2-9c63-d26b81f4b1d5 +2025-06-06 00:48:23,810 - robotics.core - INFO - Deleted room fd58c4b0-acac-44f2-9c63-d26b81f4b1d5 +2025-06-06 00:48:23,812 - robotics.core - INFO - Created room 3796930a-2020-4ad1-8ea2-dd619d458de5 +2025-06-06 00:48:23,823 - robotics.core - INFO - Deleted room 3796930a-2020-4ad1-8ea2-dd619d458de5 +2025-06-06 00:48:23,827 - robotics.core - INFO - Created room c153a377-b4b0-4ae1-b7fa-b65e28eb9a9b +2025-06-06 00:48:23,831 - robotics.core - INFO - Deleted room c153a377-b4b0-4ae1-b7fa-b65e28eb9a9b +2025-06-06 00:48:23,833 - robotics.core - INFO - Created room f708869d-8e99-493d-914a-6b78a7b46553 +2025-06-06 00:48:23,941 - robotics.core - INFO - Deleted room f708869d-8e99-493d-914a-6b78a7b46553 +2025-06-06 00:48:23,944 - robotics.core - INFO - Created room 6e4f7b8f-b5cd-459d-a48f-12d330be3422 +2025-06-06 00:48:23,947 - robotics.core - INFO - Created room ee906a94-97c3-40e3-a1f0-2c06e9a2fbb8 +2025-06-06 00:48:23,950 - robotics.core - INFO - Deleted room ee906a94-97c3-40e3-a1f0-2c06e9a2fbb8 +2025-06-06 00:48:23,954 - robotics.core - INFO - Deleted room 6e4f7b8f-b5cd-459d-a48f-12d330be3422 +2025-06-06 00:48:23,956 - robotics.core - INFO - Created room ce1cb163-34ee-4cc4-bb17-9a9800641366 +2025-06-06 00:48:23,962 - robotics.core - INFO - Deleted room ce1cb163-34ee-4cc4-bb17-9a9800641366 +2025-06-06 00:48:23,964 - robotics.core - INFO - Created room c8090be9-2f0c-4526-ab21-a3f63079e130 +2025-06-06 00:48:23,970 - robotics.core - INFO - Deleted room c8090be9-2f0c-4526-ab21-a3f63079e130 +2025-06-06 00:48:23,972 - robotics.core - INFO - Created room 53a939cc-e37a-4cc5-af7e-e902a024e446 +2025-06-06 00:48:23,976 - robotics.core - INFO - Deleted room 53a939cc-e37a-4cc5-af7e-e902a024e446 +2025-06-06 00:48:23,977 - robotics.core - INFO - Created room 9f4e4b98-435c-4804-b6e6-04861ef724af +2025-06-06 00:48:23,986 - robotics.core - INFO - Deleted room 9f4e4b98-435c-4804-b6e6-04861ef724af +2025-06-06 00:48:23,988 - robotics.core - INFO - Created room ee36b9d2-2be4-4c04-b430-b0016d74dcab +2025-06-06 00:48:23,997 - robotics.core - INFO - Deleted room ee36b9d2-2be4-4c04-b430-b0016d74dcab +2025-06-06 00:48:24,003 - robotics.core - INFO - Created room d901bea0-ad81-4b05-ba87-233b433fa063 +2025-06-06 00:48:24,004 - robotics.core - INFO - Deleted room d901bea0-ad81-4b05-ba87-233b433fa063 +2025-06-06 00:48:24,006 - robotics.core - INFO - Created room 7b93c02d-0415-4861-861d-5ee0fd59da32 +2025-06-06 00:48:24,011 - robotics.core - INFO - Created room 680eb837-52a1-4570-af8e-74eeaf313ca5 +2025-06-06 00:48:24,013 - robotics.core - INFO - Deleted room 680eb837-52a1-4570-af8e-74eeaf313ca5 +2025-06-06 00:48:24,017 - robotics.core - INFO - Created room 50645048-da14-4a4d-a32d-c43264c484f8 +2025-06-06 00:48:24,019 - robotics.core - INFO - Deleted room 50645048-da14-4a4d-a32d-c43264c484f8 +2025-06-06 00:48:24,023 - robotics.core - INFO - Created room 19d2d88a-3a38-409a-8069-87bd21b5b696 +2025-06-06 00:48:24,026 - robotics.core - INFO - Deleted room 19d2d88a-3a38-409a-8069-87bd21b5b696 +2025-06-06 00:48:24,029 - robotics.core - INFO - Created room 41ea0061-9538-4fd6-93b9-b187a8a00779 +2025-06-06 00:48:47,407 - robotics.core - INFO - Created room 5ae1ba69-da83-4071-8640-19f6ae35c8aa +2025-06-06 00:48:47,435 - robotics.core - INFO - Deleted room 5ae1ba69-da83-4071-8640-19f6ae35c8aa +2025-06-06 00:48:47,437 - robotics.core - INFO - Created room ebec55e1-ee60-4ecb-9ff4-81d5829f6eac +2025-06-06 00:48:47,443 - robotics.core - INFO - Deleted room ebec55e1-ee60-4ecb-9ff4-81d5829f6eac +2025-06-06 00:48:47,446 - robotics.core - INFO - Created room 8949e3bf-d97f-4120-8d60-9f23c739d50f +2025-06-06 00:48:47,451 - robotics.core - INFO - Deleted room 8949e3bf-d97f-4120-8d60-9f23c739d50f +2025-06-06 00:48:47,452 - robotics.core - INFO - Created room 246ba7a8-935a-44ce-ac2a-edecc1c13727 +2025-06-06 00:48:47,560 - robotics.core - INFO - Deleted room 246ba7a8-935a-44ce-ac2a-edecc1c13727 +2025-06-06 00:48:47,562 - robotics.core - INFO - Created room 0723c53b-9886-46c0-865b-3ae436e29080 +2025-06-06 00:48:47,569 - robotics.core - INFO - Deleted room 0723c53b-9886-46c0-865b-3ae436e29080 +2025-06-06 00:48:47,571 - robotics.core - INFO - Created room a8480500-cb91-4537-9b4d-be63a20453d9 +2025-06-06 00:48:47,686 - robotics.core - INFO - Deleted room a8480500-cb91-4537-9b4d-be63a20453d9 +2025-06-06 00:48:47,689 - robotics.core - INFO - Created room 9e7d8bc5-5d0e-410a-8a8d-13da6d9586ca +2025-06-06 00:48:47,803 - robotics.core - INFO - Deleted room 9e7d8bc5-5d0e-410a-8a8d-13da6d9586ca +2025-06-06 00:48:47,806 - robotics.core - INFO - Created room 1679c887-d40a-4223-ac6d-a07e7cbe82f4 +2025-06-06 00:48:47,920 - robotics.core - INFO - Deleted room 1679c887-d40a-4223-ac6d-a07e7cbe82f4 +2025-06-06 00:48:47,923 - robotics.core - INFO - Created room 7acc3088-8e73-49bf-be67-398583576313 +2025-06-06 00:48:48,037 - robotics.core - INFO - Deleted room 7acc3088-8e73-49bf-be67-398583576313 +2025-06-06 00:48:48,039 - robotics.core - INFO - Created room bc4c6b4b-e6c0-48f0-a6f3-73c6eb4b3438 +2025-06-06 00:48:48,044 - robotics.core - INFO - Deleted room bc4c6b4b-e6c0-48f0-a6f3-73c6eb4b3438 +2025-06-06 00:48:48,046 - robotics.core - INFO - Created room 7625596b-7bc2-4c25-a8bb-308ea2e589d8 +2025-06-06 00:48:48,052 - robotics.core - INFO - Deleted room 7625596b-7bc2-4c25-a8bb-308ea2e589d8 +2025-06-06 00:48:48,055 - robotics.core - INFO - Created room 597ca887-dc5d-4dfb-9c47-50981aa35e4e +2025-06-06 00:48:48,062 - robotics.core - INFO - Deleted room 597ca887-dc5d-4dfb-9c47-50981aa35e4e +2025-06-06 00:48:48,064 - robotics.core - INFO - Created room 5c419a38-b219-40ce-8855-aefcf96d8bfa +2025-06-06 00:48:48,180 - robotics.core - INFO - Deleted room 5c419a38-b219-40ce-8855-aefcf96d8bfa +2025-06-06 00:48:48,183 - robotics.core - INFO - Created room 948cda2b-52de-4030-b574-412b80683fa6 +2025-06-06 00:48:48,186 - robotics.core - INFO - Deleted room 948cda2b-52de-4030-b574-412b80683fa6 +2025-06-06 00:48:48,192 - robotics.core - INFO - Created room cd6527e0-0b7d-4916-94f0-41f5e89d01eb +2025-06-06 00:48:48,196 - robotics.core - INFO - Deleted room cd6527e0-0b7d-4916-94f0-41f5e89d01eb +2025-06-06 00:48:48,201 - robotics.core - INFO - Created room ef39bb16-42d1-46e0-b9b2-db53a37cc483 +2025-06-06 00:48:48,204 - robotics.core - INFO - Deleted room ef39bb16-42d1-46e0-b9b2-db53a37cc483 +2025-06-06 00:48:48,207 - robotics.core - INFO - Created room 4b262dac-a690-4bfe-b0fd-5572ceb558b8 +2025-06-06 00:48:48,212 - robotics.core - INFO - Deleted room 4b262dac-a690-4bfe-b0fd-5572ceb558b8 +2025-06-06 00:48:48,216 - robotics.core - INFO - Created room 24a3b254-a7de-4ad1-99c7-57e33521f9b3 +2025-06-06 00:48:48,219 - robotics.core - INFO - Deleted room 24a3b254-a7de-4ad1-99c7-57e33521f9b3 +2025-06-06 00:48:48,223 - robotics.core - INFO - Created room 4cbe636a-b8fa-4517-b161-efb3e3beecde +2025-06-06 00:48:48,226 - robotics.core - INFO - Created room 369dffaf-936c-473a-9dde-bbcd2ced8a39 +2025-06-06 00:48:48,230 - robotics.core - INFO - Deleted room 4cbe636a-b8fa-4517-b161-efb3e3beecde +2025-06-06 00:48:48,231 - robotics.core - INFO - Deleted room 369dffaf-936c-473a-9dde-bbcd2ced8a39 +2025-06-06 00:48:48,244 - robotics.core - INFO - Created room 1e9b59aa-98bf-437d-81c5-9d7954db79ce +2025-06-06 00:48:48,451 - robotics.core - INFO - Deleted room 1e9b59aa-98bf-437d-81c5-9d7954db79ce +2025-06-06 00:48:48,459 - robotics.core - INFO - Created room 637d9970-7035-4208-88de-cab021af85ca +2025-06-06 00:48:48,668 - robotics.core - INFO - Deleted room 637d9970-7035-4208-88de-cab021af85ca +2025-06-06 00:48:48,681 - robotics.core - INFO - Created room 3d0aa36d-37ce-4413-8b4f-4599cad8bae3 +2025-06-06 00:48:48,890 - robotics.core - INFO - Deleted room 3d0aa36d-37ce-4413-8b4f-4599cad8bae3 +2025-06-06 00:48:48,900 - robotics.core - INFO - Created room d044f9e9-fb0e-479c-adf5-78268efbfcd3 +2025-06-06 00:48:48,905 - robotics.core - INFO - Deleted room d044f9e9-fb0e-479c-adf5-78268efbfcd3 +2025-06-06 00:48:48,916 - robotics.core - INFO - Created room 92026c59-7073-4ef2-b9b5-411ce3f0cce5 +2025-06-06 00:48:48,920 - robotics.core - INFO - Deleted room 92026c59-7073-4ef2-b9b5-411ce3f0cce5 +2025-06-06 00:48:48,929 - robotics.core - INFO - Created room dcfc7b79-db5a-4243-8506-c9b9678587c3 +2025-06-06 00:48:48,934 - robotics.core - INFO - Deleted room dcfc7b79-db5a-4243-8506-c9b9678587c3 +2025-06-06 00:48:48,943 - robotics.core - INFO - Created room 387fa57a-4ce0-4585-a3a8-1b0fe02db946 +2025-06-06 00:48:49,051 - robotics.core - INFO - Deleted room 387fa57a-4ce0-4585-a3a8-1b0fe02db946 +2025-06-06 00:48:49,061 - robotics.core - INFO - Created room 5b10a154-710f-44c5-a9fe-12d24377a04e +2025-06-06 00:48:49,068 - robotics.core - INFO - Deleted room 5b10a154-710f-44c5-a9fe-12d24377a04e +2025-06-06 00:48:49,070 - robotics.core - INFO - Created room 1583ac41-ba20-44ed-bd24-fbe07da6ef51 +2025-06-06 00:48:49,076 - robotics.core - INFO - Deleted room 1583ac41-ba20-44ed-bd24-fbe07da6ef51 +2025-06-06 00:48:49,078 - robotics.core - INFO - Created room 758137f4-8a7b-4c28-9a91-a991a7fb584b +2025-06-06 00:48:49,087 - robotics.core - INFO - Deleted room 758137f4-8a7b-4c28-9a91-a991a7fb584b +2025-06-06 00:48:49,089 - robotics.core - INFO - Created room 68a08733-95f7-4f70-a8da-9c88650fb1e2 +2025-06-06 00:48:49,099 - robotics.core - INFO - Deleted room 68a08733-95f7-4f70-a8da-9c88650fb1e2 +2025-06-06 00:48:49,101 - robotics.core - INFO - Created room 5335da5f-21f2-4484-907f-2dbb58e834c2 +2025-06-06 00:48:49,109 - robotics.core - INFO - Deleted room 5335da5f-21f2-4484-907f-2dbb58e834c2 +2025-06-06 00:48:49,111 - robotics.core - INFO - Created room 257e8330-71cb-417d-9ea7-133ddf6c9a21 +2025-06-06 00:48:49,115 - robotics.core - INFO - Deleted room 257e8330-71cb-417d-9ea7-133ddf6c9a21 +2025-06-06 00:48:49,116 - robotics.core - INFO - Created room 9a3020bb-7cef-4a7f-b3bd-637f47a17fc3 +2025-06-06 00:48:49,224 - robotics.core - INFO - Deleted room 9a3020bb-7cef-4a7f-b3bd-637f47a17fc3 +2025-06-06 00:48:49,228 - robotics.core - INFO - Created room 46af74d1-5e1d-474e-b47e-b179762b58f3 +2025-06-06 00:48:49,231 - robotics.core - INFO - Created room 929b0079-103f-4948-a9dc-c6fafd463487 +2025-06-06 00:48:49,234 - robotics.core - INFO - Deleted room 929b0079-103f-4948-a9dc-c6fafd463487 +2025-06-06 00:48:49,238 - robotics.core - INFO - Deleted room 46af74d1-5e1d-474e-b47e-b179762b58f3 +2025-06-06 00:48:49,240 - robotics.core - INFO - Created room 80b7fe5f-6fa3-4231-b4f6-8dea2f3b6a48 +2025-06-06 00:48:49,246 - robotics.core - INFO - Deleted room 80b7fe5f-6fa3-4231-b4f6-8dea2f3b6a48 +2025-06-06 00:48:49,248 - robotics.core - INFO - Created room 8feadf68-7d4a-46aa-af95-8cbada85c3df +2025-06-06 00:48:49,254 - robotics.core - INFO - Deleted room 8feadf68-7d4a-46aa-af95-8cbada85c3df +2025-06-06 00:48:49,256 - robotics.core - INFO - Created room 95a54923-92d7-433c-a7a5-fbca07010819 +2025-06-06 00:48:49,260 - robotics.core - INFO - Deleted room 95a54923-92d7-433c-a7a5-fbca07010819 +2025-06-06 00:48:49,262 - robotics.core - INFO - Created room fac34e6c-4477-497f-9980-cd813bd3906f +2025-06-06 00:48:49,270 - robotics.core - INFO - Deleted room fac34e6c-4477-497f-9980-cd813bd3906f +2025-06-06 00:48:49,272 - robotics.core - INFO - Created room fd3de424-8ce2-4469-8db5-398252f2fbfb +2025-06-06 00:48:49,282 - robotics.core - INFO - Deleted room fd3de424-8ce2-4469-8db5-398252f2fbfb +2025-06-06 00:48:49,289 - robotics.core - INFO - Created room 2db76765-fba6-461d-b648-15a9aafd86c9 +2025-06-06 00:48:49,290 - robotics.core - INFO - Deleted room 2db76765-fba6-461d-b648-15a9aafd86c9 +2025-06-06 00:48:49,292 - robotics.core - INFO - Created room 6e973eac-00b1-4532-b6c5-5a2a3935e9bb +2025-06-06 00:48:49,298 - robotics.core - INFO - Created room 3d10df87-844d-4440-971a-cabdcc05562b +2025-06-06 00:48:49,301 - robotics.core - INFO - Deleted room 3d10df87-844d-4440-971a-cabdcc05562b +2025-06-06 00:48:49,305 - robotics.core - INFO - Created room b4d1caaf-fe07-4413-acbb-90bfd70f9a50 +2025-06-06 00:48:49,309 - robotics.core - INFO - Deleted room b4d1caaf-fe07-4413-acbb-90bfd70f9a50 +2025-06-06 00:48:49,314 - robotics.core - INFO - Created room 7de04e19-5cf0-40bf-b00b-35bec45b595f +2025-06-06 00:48:49,316 - robotics.core - INFO - Deleted room 7de04e19-5cf0-40bf-b00b-35bec45b595f +2025-06-06 00:48:49,321 - robotics.core - INFO - Created room f21b1daa-180d-467c-9fad-fa9d8d9f62e6 +2025-06-06 00:48:51,542 - robotics.core - INFO - Created room c43ad425-3b5b-4670-8598-f21df98ba5ad +2025-06-06 00:48:51,568 - robotics.core - INFO - Deleted room c43ad425-3b5b-4670-8598-f21df98ba5ad +2025-06-06 00:48:51,570 - robotics.core - INFO - Created room 0c04c0e5-5a21-4ac7-a959-5a8a211f9844 +2025-06-06 00:48:51,577 - robotics.core - INFO - Deleted room 0c04c0e5-5a21-4ac7-a959-5a8a211f9844 +2025-06-06 00:48:51,579 - robotics.core - INFO - Created room a3a4d733-b7a9-48a6-905b-88216275cccd +2025-06-06 00:48:51,584 - robotics.core - INFO - Deleted room a3a4d733-b7a9-48a6-905b-88216275cccd +2025-06-06 00:48:51,586 - robotics.core - INFO - Created room 7f3d779c-495a-412b-b53a-011b7d6bd1eb +2025-06-06 00:48:51,694 - robotics.core - INFO - Deleted room 7f3d779c-495a-412b-b53a-011b7d6bd1eb +2025-06-06 00:48:51,697 - robotics.core - INFO - Created room d54eb99c-9ba0-4de3-a7ae-d90a37f2b4cf +2025-06-06 00:48:51,704 - robotics.core - INFO - Deleted room d54eb99c-9ba0-4de3-a7ae-d90a37f2b4cf +2025-06-06 00:48:51,707 - robotics.core - INFO - Created room 1d841d4d-2582-4c07-9bf8-07dffebf4c85 +2025-06-06 00:48:51,823 - robotics.core - INFO - Deleted room 1d841d4d-2582-4c07-9bf8-07dffebf4c85 +2025-06-06 00:48:51,825 - robotics.core - INFO - Created room abc458dc-6b9e-4c63-b1e0-9a7fbefe9a86 +2025-06-06 00:48:51,940 - robotics.core - INFO - Deleted room abc458dc-6b9e-4c63-b1e0-9a7fbefe9a86 +2025-06-06 00:48:51,942 - robotics.core - INFO - Created room f2799ab4-9bc3-42cc-bd21-2bd619e13d90 +2025-06-06 00:48:52,062 - robotics.core - INFO - Deleted room f2799ab4-9bc3-42cc-bd21-2bd619e13d90 +2025-06-06 00:48:52,065 - robotics.core - INFO - Created room e11c96c7-1043-473a-9bf0-e530b1eeee0b +2025-06-06 00:48:52,180 - robotics.core - INFO - Deleted room e11c96c7-1043-473a-9bf0-e530b1eeee0b +2025-06-06 00:48:52,183 - robotics.core - INFO - Created room 417397ad-8e76-47f8-9f6e-139979d5b275 +2025-06-06 00:48:52,187 - robotics.core - INFO - Deleted room 417397ad-8e76-47f8-9f6e-139979d5b275 +2025-06-06 00:48:52,189 - robotics.core - INFO - Created room 52ad0722-522e-4099-809a-3c8d1485e231 +2025-06-06 00:48:52,196 - robotics.core - INFO - Deleted room 52ad0722-522e-4099-809a-3c8d1485e231 +2025-06-06 00:48:52,199 - robotics.core - INFO - Created room 0e85ed95-50a8-4537-8113-94d905b98fa8 +2025-06-06 00:48:52,205 - robotics.core - INFO - Deleted room 0e85ed95-50a8-4537-8113-94d905b98fa8 +2025-06-06 00:48:52,207 - robotics.core - INFO - Created room 8dd747c1-3122-411f-9677-a577769bfa2a +2025-06-06 00:48:52,319 - robotics.core - INFO - Deleted room 8dd747c1-3122-411f-9677-a577769bfa2a +2025-06-06 00:48:52,324 - robotics.core - INFO - Created room bdc7c5cd-1767-4c41-b89d-5787a8a2e213 +2025-06-06 00:48:52,327 - robotics.core - INFO - Deleted room bdc7c5cd-1767-4c41-b89d-5787a8a2e213 +2025-06-06 00:48:52,331 - robotics.core - INFO - Created room f77145dd-3b8e-48f5-a124-460eaaf94050 +2025-06-06 00:48:52,334 - robotics.core - INFO - Deleted room f77145dd-3b8e-48f5-a124-460eaaf94050 +2025-06-06 00:48:52,337 - robotics.core - INFO - Created room e85e42f4-076c-42e9-a33e-4e67e2a90352 +2025-06-06 00:48:52,340 - robotics.core - INFO - Deleted room e85e42f4-076c-42e9-a33e-4e67e2a90352 +2025-06-06 00:48:52,345 - robotics.core - INFO - Created room 0f1c4294-fc06-40bd-8cc6-2ee554b7d7cb +2025-06-06 00:48:52,349 - robotics.core - INFO - Deleted room 0f1c4294-fc06-40bd-8cc6-2ee554b7d7cb +2025-06-06 00:48:52,352 - robotics.core - INFO - Created room cb326f96-7c70-4a18-945d-5a1bd513bd81 +2025-06-06 00:48:52,355 - robotics.core - INFO - Deleted room cb326f96-7c70-4a18-945d-5a1bd513bd81 +2025-06-06 00:48:52,360 - robotics.core - INFO - Created room d12b0a98-19cd-4ad7-ad26-6f90b97bf180 +2025-06-06 00:48:52,363 - robotics.core - INFO - Created room d8061d7d-5e9b-4dbd-846f-2a77a8ecc3ce +2025-06-06 00:48:52,365 - robotics.core - INFO - Deleted room d12b0a98-19cd-4ad7-ad26-6f90b97bf180 +2025-06-06 00:48:52,366 - robotics.core - INFO - Deleted room d8061d7d-5e9b-4dbd-846f-2a77a8ecc3ce +2025-06-06 00:48:52,379 - robotics.core - INFO - Created room 602ecd3e-777f-484d-98fa-d44942de5741 +2025-06-06 00:48:52,586 - robotics.core - INFO - Deleted room 602ecd3e-777f-484d-98fa-d44942de5741 +2025-06-06 00:48:52,603 - robotics.core - INFO - Created room d4c7d5ed-2fd6-4f7b-9862-e5c7008c8cc3 +2025-06-06 00:48:52,816 - robotics.core - INFO - Deleted room d4c7d5ed-2fd6-4f7b-9862-e5c7008c8cc3 +2025-06-06 00:48:52,832 - robotics.core - INFO - Created room 6dcd825a-2608-49c7-9c88-7705f94145ea +2025-06-06 00:48:53,043 - robotics.core - INFO - Deleted room 6dcd825a-2608-49c7-9c88-7705f94145ea +2025-06-06 00:48:53,059 - robotics.core - INFO - Created room 234541b5-ea82-4829-8455-67cec9df6efe +2025-06-06 00:48:53,065 - robotics.core - INFO - Deleted room 234541b5-ea82-4829-8455-67cec9df6efe +2025-06-06 00:48:53,076 - robotics.core - INFO - Created room 0c134bee-e12e-40a9-896c-ae0f84dc7cfa +2025-06-06 00:48:53,079 - robotics.core - INFO - Deleted room 0c134bee-e12e-40a9-896c-ae0f84dc7cfa +2025-06-06 00:48:53,088 - robotics.core - INFO - Created room 6202f7ce-c275-4802-8dd9-19ceb45910a3 +2025-06-06 00:48:53,093 - robotics.core - INFO - Deleted room 6202f7ce-c275-4802-8dd9-19ceb45910a3 +2025-06-06 00:48:53,157 - robotics.core - INFO - Created room 4e3fd87e-e58b-4af9-b391-440f741d9905 +2025-06-06 00:48:53,272 - robotics.core - INFO - Deleted room 4e3fd87e-e58b-4af9-b391-440f741d9905 +2025-06-06 00:48:53,283 - robotics.core - INFO - Created room 39d20293-2c15-4b9a-8723-f44fafbb34ea +2025-06-06 00:48:53,289 - robotics.core - INFO - Deleted room 39d20293-2c15-4b9a-8723-f44fafbb34ea +2025-06-06 00:48:53,291 - robotics.core - INFO - Created room 6500290a-4115-4e0d-8e36-c55b73919c06 +2025-06-06 00:48:53,297 - robotics.core - INFO - Deleted room 6500290a-4115-4e0d-8e36-c55b73919c06 +2025-06-06 00:48:53,298 - robotics.core - INFO - Created room 337264b9-2f20-422e-a5f3-af00f876181f +2025-06-06 00:48:53,306 - robotics.core - INFO - Deleted room 337264b9-2f20-422e-a5f3-af00f876181f +2025-06-06 00:48:53,309 - robotics.core - INFO - Created room 8b942923-0de2-4be8-8d8e-311531cde518 +2025-06-06 00:48:53,319 - robotics.core - INFO - Deleted room 8b942923-0de2-4be8-8d8e-311531cde518 +2025-06-06 00:48:53,323 - robotics.core - INFO - Created room f0001fd9-ccbc-4916-8e3c-6b10feacc82e +2025-06-06 00:48:53,333 - robotics.core - INFO - Deleted room f0001fd9-ccbc-4916-8e3c-6b10feacc82e +2025-06-06 00:48:53,335 - robotics.core - INFO - Created room be1d6a45-b096-4136-b9d1-bcb74476f02c +2025-06-06 00:48:53,338 - robotics.core - INFO - Deleted room be1d6a45-b096-4136-b9d1-bcb74476f02c +2025-06-06 00:48:53,340 - robotics.core - INFO - Created room e39009ba-c3b6-4a0a-9850-d2635c4aaa7b +2025-06-06 00:48:53,448 - robotics.core - INFO - Deleted room e39009ba-c3b6-4a0a-9850-d2635c4aaa7b +2025-06-06 00:48:53,450 - robotics.core - INFO - Created room 7166a8aa-0520-4e8a-b793-27debf9402d0 +2025-06-06 00:48:53,454 - robotics.core - INFO - Created room 94a3aa7f-ab43-49ef-b0d4-3b0904c3c73b +2025-06-06 00:48:53,458 - robotics.core - INFO - Deleted room 94a3aa7f-ab43-49ef-b0d4-3b0904c3c73b +2025-06-06 00:48:53,462 - robotics.core - INFO - Deleted room 7166a8aa-0520-4e8a-b793-27debf9402d0 +2025-06-06 00:48:53,464 - robotics.core - INFO - Created room 0ff25177-e2a3-4f78-843d-751ff43c2dcf +2025-06-06 00:48:53,468 - robotics.core - INFO - Deleted room 0ff25177-e2a3-4f78-843d-751ff43c2dcf +2025-06-06 00:48:53,470 - robotics.core - INFO - Created room 7ad6213d-f95d-47f8-b782-9c3cd4b0d7b4 +2025-06-06 00:48:53,475 - robotics.core - INFO - Deleted room 7ad6213d-f95d-47f8-b782-9c3cd4b0d7b4 +2025-06-06 00:48:53,477 - robotics.core - INFO - Created room 68f3c32a-2fa0-4157-a7ab-3c1a30e04bcb +2025-06-06 00:48:53,480 - robotics.core - INFO - Deleted room 68f3c32a-2fa0-4157-a7ab-3c1a30e04bcb +2025-06-06 00:48:53,482 - robotics.core - INFO - Created room c63dcd0c-24c6-4308-9919-4d03251c1209 +2025-06-06 00:48:53,490 - robotics.core - INFO - Deleted room c63dcd0c-24c6-4308-9919-4d03251c1209 +2025-06-06 00:48:53,492 - robotics.core - INFO - Created room 79ab7fa6-4dbc-40cf-a42e-6ff42b414f9b +2025-06-06 00:48:53,501 - robotics.core - INFO - Deleted room 79ab7fa6-4dbc-40cf-a42e-6ff42b414f9b +2025-06-06 00:48:53,506 - robotics.core - INFO - Created room 08ff2a21-2ef9-464e-a55d-d16e49258610 +2025-06-06 00:48:53,508 - robotics.core - INFO - Deleted room 08ff2a21-2ef9-464e-a55d-d16e49258610 +2025-06-06 00:48:53,510 - robotics.core - INFO - Created room 42f780b6-2198-4077-a3d4-a5d96e9411bb +2025-06-06 00:48:53,513 - robotics.core - INFO - Created room b459e6a6-4694-4f6d-8f57-ac696807445a +2025-06-06 00:48:53,515 - robotics.core - INFO - Deleted room b459e6a6-4694-4f6d-8f57-ac696807445a +2025-06-06 00:48:53,519 - robotics.core - INFO - Created room ed397454-062b-4367-8e61-bfa379a4c46e +2025-06-06 00:48:53,521 - robotics.core - INFO - Deleted room ed397454-062b-4367-8e61-bfa379a4c46e +2025-06-06 00:48:53,525 - robotics.core - INFO - Created room ba91ec6a-9c51-4d7e-b07f-17e95d5d4d5c +2025-06-06 00:48:53,527 - robotics.core - INFO - Deleted room ba91ec6a-9c51-4d7e-b07f-17e95d5d4d5c +2025-06-06 00:48:53,530 - robotics.core - INFO - Created room 2807371d-4ee5-4c98-a0bf-7cfe2426a54e +2025-06-06 00:49:14,666 - robotics.core - INFO - Created room b821d7af-4851-4afa-8b31-e1a6c8ba966d +2025-06-06 00:49:14,695 - robotics.core - INFO - Deleted room b821d7af-4851-4afa-8b31-e1a6c8ba966d +2025-06-06 00:49:14,697 - robotics.core - INFO - Created room da0d8edf-392d-4c23-aa77-7e8a43fe4341 +2025-06-06 00:49:14,702 - robotics.core - INFO - Deleted room da0d8edf-392d-4c23-aa77-7e8a43fe4341 +2025-06-06 00:49:14,705 - robotics.core - INFO - Created room 750e85b1-a1dd-47de-8b33-1930b051ad57 +2025-06-06 00:49:14,709 - robotics.core - INFO - Deleted room 750e85b1-a1dd-47de-8b33-1930b051ad57 +2025-06-06 00:49:14,711 - robotics.core - INFO - Created room af14b241-5566-41d8-a281-15bb0369c8e2 +2025-06-06 00:49:14,821 - robotics.core - INFO - Deleted room af14b241-5566-41d8-a281-15bb0369c8e2 +2025-06-06 00:49:14,825 - robotics.core - INFO - Created room 9feab60b-6ec3-4de8-ab2f-652f02e3f96b +2025-06-06 00:49:14,835 - robotics.core - INFO - Deleted room 9feab60b-6ec3-4de8-ab2f-652f02e3f96b +2025-06-06 00:49:14,838 - robotics.core - INFO - Created room 01a63d9b-b4f7-4712-800b-21d67e4a6863 +2025-06-06 00:49:14,953 - robotics.core - INFO - Deleted room 01a63d9b-b4f7-4712-800b-21d67e4a6863 +2025-06-06 00:49:14,959 - robotics.core - INFO - Created room 471c223b-2f68-4a65-a741-e50b6783eb0c +2025-06-06 00:49:15,108 - robotics.core - INFO - Deleted room 471c223b-2f68-4a65-a741-e50b6783eb0c +2025-06-06 00:49:15,116 - robotics.core - INFO - Created room b0941c97-b788-4954-bf58-3a4c1c08e1ed +2025-06-06 00:49:15,294 - robotics.core - INFO - Deleted room b0941c97-b788-4954-bf58-3a4c1c08e1ed +2025-06-06 00:49:15,296 - robotics.core - INFO - Created room 2c31d6c5-6464-467d-973b-cf4daf675eff +2025-06-06 00:49:15,408 - robotics.core - INFO - Deleted room 2c31d6c5-6464-467d-973b-cf4daf675eff +2025-06-06 00:49:15,410 - robotics.core - INFO - Created room 69a216e5-cdc1-4601-aef1-da33f60513ba +2025-06-06 00:49:15,416 - robotics.core - INFO - Deleted room 69a216e5-cdc1-4601-aef1-da33f60513ba +2025-06-06 00:49:15,420 - robotics.core - INFO - Created room 2e5d5907-05a6-4c88-bae4-5b11ae5f2ff3 +2025-06-06 00:49:15,429 - robotics.core - INFO - Deleted room 2e5d5907-05a6-4c88-bae4-5b11ae5f2ff3 +2025-06-06 00:49:15,434 - robotics.core - INFO - Created room abfa7c6e-bb63-495c-83ca-86012d427490 +2025-06-06 00:49:15,440 - robotics.core - INFO - Deleted room abfa7c6e-bb63-495c-83ca-86012d427490 +2025-06-06 00:49:15,443 - robotics.core - INFO - Created room 734c0967-4473-43e8-876f-9bb0ed6e8299 +2025-06-06 00:49:15,557 - robotics.core - INFO - Deleted room 734c0967-4473-43e8-876f-9bb0ed6e8299 +2025-06-06 00:49:15,560 - robotics.core - INFO - Created room 86f6e6d1-d2af-4bcb-b2a5-e27d00fcd8a9 +2025-06-06 00:49:15,563 - robotics.core - INFO - Deleted room 86f6e6d1-d2af-4bcb-b2a5-e27d00fcd8a9 +2025-06-06 00:49:15,567 - robotics.core - INFO - Created room adf8e31f-6b31-4457-9740-bb8777576cd2 +2025-06-06 00:49:15,581 - robotics.core - INFO - Deleted room adf8e31f-6b31-4457-9740-bb8777576cd2 +2025-06-06 00:49:15,587 - robotics.core - INFO - Created room 9a102bf9-6ec0-4510-9b4e-03e2fde577d6 +2025-06-06 00:49:15,590 - robotics.core - INFO - Deleted room 9a102bf9-6ec0-4510-9b4e-03e2fde577d6 +2025-06-06 00:49:15,595 - robotics.core - INFO - Created room 9b1501e5-5331-44b0-90ff-2af793ef17da +2025-06-06 00:49:15,600 - robotics.core - INFO - Deleted room 9b1501e5-5331-44b0-90ff-2af793ef17da +2025-06-06 00:49:15,604 - robotics.core - INFO - Created room 61109454-e814-4809-8b08-f9532732cbe5 +2025-06-06 00:49:15,608 - robotics.core - INFO - Deleted room 61109454-e814-4809-8b08-f9532732cbe5 +2025-06-06 00:49:15,613 - robotics.core - INFO - Created room a223bcc0-ba3f-4cbf-bf77-822648900b42 +2025-06-06 00:49:15,617 - robotics.core - INFO - Created room 12d92d70-0b97-4a46-b4c7-eaab94e2952a +2025-06-06 00:49:15,620 - robotics.core - INFO - Deleted room a223bcc0-ba3f-4cbf-bf77-822648900b42 +2025-06-06 00:49:15,621 - robotics.core - INFO - Deleted room 12d92d70-0b97-4a46-b4c7-eaab94e2952a +2025-06-06 00:49:15,635 - robotics.core - INFO - Created room 98f57787-26ae-4bbb-ac3a-c6ff02dcd3b9 +2025-06-06 00:49:15,842 - robotics.core - INFO - Deleted room 98f57787-26ae-4bbb-ac3a-c6ff02dcd3b9 +2025-06-06 00:49:15,855 - robotics.core - INFO - Created room 28d25c5d-2c20-4732-b5ff-f2e7108417fd +2025-06-06 00:49:16,064 - robotics.core - INFO - Deleted room 28d25c5d-2c20-4732-b5ff-f2e7108417fd +2025-06-06 00:49:16,072 - robotics.core - INFO - Created room f29588a7-0e21-4344-b901-32343c0d48d4 +2025-06-06 00:49:16,280 - robotics.core - INFO - Deleted room f29588a7-0e21-4344-b901-32343c0d48d4 +2025-06-06 00:49:16,292 - robotics.core - INFO - Created room 47666886-7826-4985-a6ae-0165678424db +2025-06-06 00:49:16,297 - robotics.core - INFO - Deleted room 47666886-7826-4985-a6ae-0165678424db +2025-06-06 00:49:16,306 - robotics.core - INFO - Created room 04ad285e-a4ef-4f50-b842-110a388c396c +2025-06-06 00:49:16,309 - robotics.core - INFO - Deleted room 04ad285e-a4ef-4f50-b842-110a388c396c +2025-06-06 00:49:16,318 - robotics.core - INFO - Created room d0999400-3606-4f53-b9e7-d4ea464b0564 +2025-06-06 00:49:16,323 - robotics.core - INFO - Deleted room d0999400-3606-4f53-b9e7-d4ea464b0564 +2025-06-06 00:49:16,333 - robotics.core - INFO - Created room 70090bf3-5bc4-4a3f-b57b-f555500e4db9 +2025-06-06 00:49:16,439 - robotics.core - INFO - Deleted room 70090bf3-5bc4-4a3f-b57b-f555500e4db9 +2025-06-06 00:49:16,447 - robotics.core - INFO - Created room 9abb4702-90ef-4e52-bb03-33efc43597f2 +2025-06-06 00:49:16,454 - robotics.core - INFO - Deleted room 9abb4702-90ef-4e52-bb03-33efc43597f2 +2025-06-06 00:49:16,456 - robotics.core - INFO - Created room 311bb0c0-d03a-4684-90f1-4b120c27217a +2025-06-06 00:49:16,462 - robotics.core - INFO - Deleted room 311bb0c0-d03a-4684-90f1-4b120c27217a +2025-06-06 00:49:16,465 - robotics.core - INFO - Created room 707f9a2b-afeb-4da9-aea1-ceac619f8db3 +2025-06-06 00:49:16,473 - robotics.core - INFO - Deleted room 707f9a2b-afeb-4da9-aea1-ceac619f8db3 +2025-06-06 00:49:16,475 - robotics.core - INFO - Created room 538bbd2f-2606-459c-9f84-53796ce7cb66 +2025-06-06 00:49:16,485 - robotics.core - INFO - Deleted room 538bbd2f-2606-459c-9f84-53796ce7cb66 +2025-06-06 00:49:16,487 - robotics.core - INFO - Created room b95766d0-7f1f-42bf-9e37-f3cc6819a691 +2025-06-06 00:49:16,497 - robotics.core - INFO - Deleted room b95766d0-7f1f-42bf-9e37-f3cc6819a691 +2025-06-06 00:49:16,499 - robotics.core - INFO - Created room 20157853-10a8-4adb-b301-5abe23f1a515 +2025-06-06 00:49:16,502 - robotics.core - INFO - Deleted room 20157853-10a8-4adb-b301-5abe23f1a515 +2025-06-06 00:49:16,504 - robotics.core - INFO - Created room 5d6b0496-6a87-4b0e-a403-db13f568be65 +2025-06-06 00:49:16,611 - robotics.core - INFO - Deleted room 5d6b0496-6a87-4b0e-a403-db13f568be65 +2025-06-06 00:49:16,614 - robotics.core - INFO - Created room 3771465b-2da9-4144-8975-79473e63a065 +2025-06-06 00:49:16,617 - robotics.core - INFO - Created room 2602711b-c3e7-43c6-a5ea-0897c801af29 +2025-06-06 00:49:16,620 - robotics.core - INFO - Deleted room 2602711b-c3e7-43c6-a5ea-0897c801af29 +2025-06-06 00:49:16,623 - robotics.core - INFO - Deleted room 3771465b-2da9-4144-8975-79473e63a065 +2025-06-06 00:49:16,625 - robotics.core - INFO - Created room 44992b35-fc7f-4edf-bea1-d87614cb401f +2025-06-06 00:49:16,631 - robotics.core - INFO - Deleted room 44992b35-fc7f-4edf-bea1-d87614cb401f +2025-06-06 00:49:16,633 - robotics.core - INFO - Created room ad14ab34-f7ff-40a9-aa1f-fec5fe85d3c4 +2025-06-06 00:49:16,638 - robotics.core - INFO - Deleted room ad14ab34-f7ff-40a9-aa1f-fec5fe85d3c4 +2025-06-06 00:49:16,640 - robotics.core - INFO - Created room b25498be-4b41-4119-9f7c-b499d87f5070 +2025-06-06 00:49:16,643 - robotics.core - INFO - Deleted room b25498be-4b41-4119-9f7c-b499d87f5070 +2025-06-06 00:49:16,646 - robotics.core - INFO - Created room 9c2f0969-e140-4e5d-b70a-653656edcf8a +2025-06-06 00:49:16,654 - robotics.core - INFO - Deleted room 9c2f0969-e140-4e5d-b70a-653656edcf8a +2025-06-06 00:49:16,656 - robotics.core - INFO - Created room f62f29be-110a-4ba5-b513-e7ccc45078f2 +2025-06-06 00:49:16,665 - robotics.core - INFO - Deleted room f62f29be-110a-4ba5-b513-e7ccc45078f2 +2025-06-06 00:49:16,672 - robotics.core - INFO - Created room 18447b07-a438-447c-b565-db293a090f63 +2025-06-06 00:49:16,673 - robotics.core - INFO - Deleted room 18447b07-a438-447c-b565-db293a090f63 +2025-06-06 00:49:16,675 - robotics.core - INFO - Created room 291dab41-5ff6-491f-847c-dc2b9f87b5bf +2025-06-06 00:49:16,679 - robotics.core - INFO - Created room aaa7c033-5beb-4407-8bc8-af1b5b1d885d +2025-06-06 00:49:16,681 - robotics.core - INFO - Deleted room aaa7c033-5beb-4407-8bc8-af1b5b1d885d +2025-06-06 00:49:16,685 - robotics.core - INFO - Created room a9ce5a90-e5c0-4775-821a-180762984f2a +2025-06-06 00:49:16,687 - robotics.core - INFO - Deleted room a9ce5a90-e5c0-4775-821a-180762984f2a +2025-06-06 00:49:16,690 - robotics.core - INFO - Created room 0813decd-b4da-4017-bc1c-1443fda3d686 +2025-06-06 00:49:16,692 - robotics.core - INFO - Deleted room 0813decd-b4da-4017-bc1c-1443fda3d686 +2025-06-06 00:49:16,696 - robotics.core - INFO - Created room 33f3ed61-9ce1-43bb-8c29-7061893c4552 +2025-06-06 00:50:04,709 - robotics.core - INFO - Created room 716f7239-04af-4d2c-9366-d2d4efde8084 +2025-06-06 00:50:04,728 - robotics.core - INFO - Consumer consumer_4396095376 joined room 716f7239-04af-4d2c-9366-d2d4efde8084 +2025-06-06 00:50:04,728 - robotics.core - INFO - Consumer consumer_4396095376 left room 716f7239-04af-4d2c-9366-d2d4efde8084 +2025-06-06 00:50:04,730 - robotics.core - INFO - Deleted room 716f7239-04af-4d2c-9366-d2d4efde8084 +2025-06-06 00:50:04,732 - robotics.core - INFO - Created room ca2379ab-fe8c-4587-ad68-cf2c8ca78696 +2025-06-06 00:50:04,733 - robotics.core - INFO - Consumer consumer_4361725296 joined room ca2379ab-fe8c-4587-ad68-cf2c8ca78696 +2025-06-06 00:50:04,735 - robotics.core - INFO - Consumer consumer_4361725296 left room ca2379ab-fe8c-4587-ad68-cf2c8ca78696 +2025-06-06 00:50:04,735 - robotics.core - INFO - Deleted room ca2379ab-fe8c-4587-ad68-cf2c8ca78696 +2025-06-06 00:50:04,737 - robotics.core - INFO - Created room 5a0b61ee-7777-45ff-9104-5c4e331a1c32 +2025-06-06 00:50:04,740 - robotics.core - INFO - Consumer consumer_4398381824 joined room 5a0b61ee-7777-45ff-9104-5c4e331a1c32 +2025-06-06 00:50:04,744 - robotics.core - INFO - Consumer consumer_4398381824 left room 5a0b61ee-7777-45ff-9104-5c4e331a1c32 +2025-06-06 00:50:04,744 - robotics.core - INFO - Deleted room 5a0b61ee-7777-45ff-9104-5c4e331a1c32 +2025-06-06 00:50:04,746 - robotics.core - INFO - Created room d93cb3f1-4f0c-42a1-b54e-09d5d88c3450 +2025-06-06 00:50:04,748 - robotics.core - INFO - Consumer consumer_4398377168 joined room d93cb3f1-4f0c-42a1-b54e-09d5d88c3450 +2025-06-06 00:50:04,850 - robotics.core - INFO - Consumer consumer_4398377168 left room d93cb3f1-4f0c-42a1-b54e-09d5d88c3450 +2025-06-06 00:50:04,954 - robotics.core - INFO - Deleted room d93cb3f1-4f0c-42a1-b54e-09d5d88c3450 +2025-06-06 00:50:04,957 - robotics.core - INFO - Created room eb497903-3b9b-4a32-a892-1e632f20d08f +2025-06-06 00:50:04,962 - robotics.core - INFO - Consumer consumer_4398382688 joined room eb497903-3b9b-4a32-a892-1e632f20d08f +2025-06-06 00:50:04,964 - robotics.core - INFO - Consumer consumer_4398383072 joined room eb497903-3b9b-4a32-a892-1e632f20d08f +2025-06-06 00:50:04,965 - robotics.core - INFO - Consumer consumer_4398382688 left room eb497903-3b9b-4a32-a892-1e632f20d08f +2025-06-06 00:50:04,965 - robotics.core - INFO - Consumer consumer_4398383072 left room eb497903-3b9b-4a32-a892-1e632f20d08f +2025-06-06 00:50:04,966 - robotics.core - INFO - Deleted room eb497903-3b9b-4a32-a892-1e632f20d08f +2025-06-06 00:50:04,969 - robotics.core - INFO - Created room 5d269cca-a6a8-4648-9217-5802e4c3a64e +2025-06-06 00:50:04,971 - robotics.core - INFO - Producer producer_4398582048 joined room 5d269cca-a6a8-4648-9217-5802e4c3a64e +2025-06-06 00:50:04,973 - robotics.core - INFO - Consumer consumer_4398584304 joined room 5d269cca-a6a8-4648-9217-5802e4c3a64e +2025-06-06 00:50:05,281 - robotics.core - INFO - Consumer consumer_4398584304 left room 5d269cca-a6a8-4648-9217-5802e4c3a64e +2025-06-06 00:50:05,281 - robotics.core - INFO - Producer producer_4398582048 left room 5d269cca-a6a8-4648-9217-5802e4c3a64e +2025-06-06 00:50:05,281 - robotics.core - INFO - Deleted room 5d269cca-a6a8-4648-9217-5802e4c3a64e +2025-06-06 00:50:05,330 - robotics.core - INFO - Created room 720e05b3-068b-4e20-b9a4-8ecfbf4332ce +2025-06-06 00:50:05,333 - robotics.core - INFO - Producer producer_4398581616 joined room 720e05b3-068b-4e20-b9a4-8ecfbf4332ce +2025-06-06 00:50:05,341 - robotics.core - INFO - Consumer consumer_4398585168 joined room 720e05b3-068b-4e20-b9a4-8ecfbf4332ce +2025-06-06 00:50:05,647 - robotics.core - INFO - Consumer consumer_4398585168 left room 720e05b3-068b-4e20-b9a4-8ecfbf4332ce +2025-06-06 00:50:05,647 - robotics.core - INFO - Producer producer_4398581616 left room 720e05b3-068b-4e20-b9a4-8ecfbf4332ce +2025-06-06 00:50:05,647 - robotics.core - INFO - Deleted room 720e05b3-068b-4e20-b9a4-8ecfbf4332ce +2025-06-06 00:50:05,654 - robotics.core - INFO - Created room 87c7f466-288a-406a-a883-eb069d88a303 +2025-06-06 00:50:05,660 - robotics.core - INFO - Producer producer_4398380432 joined room 87c7f466-288a-406a-a883-eb069d88a303 +2025-06-06 00:50:05,662 - robotics.core - INFO - Consumer consumer_4398382352 joined room 87c7f466-288a-406a-a883-eb069d88a303 +2025-06-06 00:50:06,329 - robotics.core - INFO - Consumer consumer_4398382352 left room 87c7f466-288a-406a-a883-eb069d88a303 +2025-06-06 00:50:06,330 - robotics.core - INFO - Producer producer_4398380432 left room 87c7f466-288a-406a-a883-eb069d88a303 +2025-06-06 00:50:06,333 - robotics.core - INFO - Deleted room 87c7f466-288a-406a-a883-eb069d88a303 +2025-06-06 00:50:06,339 - robotics.core - INFO - Created room 01d1ab20-0915-464d-b3b5-d352106de2cb +2025-06-06 00:50:06,345 - robotics.core - INFO - Producer producer_4398590256 joined room 01d1ab20-0915-464d-b3b5-d352106de2cb +2025-06-06 00:50:06,410 - robotics.core - INFO - Consumer consumer_4398588624 joined room 01d1ab20-0915-464d-b3b5-d352106de2cb +2025-06-06 00:50:06,513 - robotics.core - WARNING - ๐Ÿšจ Emergency stop triggered by producer_4398590256 in room 01d1ab20-0915-464d-b3b5-d352106de2cb +2025-06-06 00:50:06,715 - robotics.core - INFO - Consumer consumer_4398588624 left room 01d1ab20-0915-464d-b3b5-d352106de2cb +2025-06-06 00:50:06,715 - robotics.core - INFO - Producer producer_4398590256 left room 01d1ab20-0915-464d-b3b5-d352106de2cb +2025-06-06 00:50:06,715 - robotics.core - INFO - Deleted room 01d1ab20-0915-464d-b3b5-d352106de2cb +2025-06-06 00:50:06,718 - robotics.core - INFO - Created room f8fdb672-c98f-4632-a257-59bddef717bd +2025-06-06 00:50:06,721 - robotics.core - INFO - Consumer custom-consumer-456 joined room f8fdb672-c98f-4632-a257-59bddef717bd +2025-06-06 00:50:06,722 - robotics.core - INFO - Consumer custom-consumer-456 left room f8fdb672-c98f-4632-a257-59bddef717bd +2025-06-06 00:50:06,722 - robotics.core - INFO - Deleted room f8fdb672-c98f-4632-a257-59bddef717bd +2025-06-06 00:50:06,726 - robotics.core - INFO - Created room 7244146d-77fa-44dc-988e-01dd90059521 +2025-06-06 00:50:06,728 - robotics.core - INFO - Consumer consumer_4398377840 joined room 7244146d-77fa-44dc-988e-01dd90059521 +2025-06-06 00:50:06,729 - robotics.core - INFO - Consumer consumer_4398377840 left room 7244146d-77fa-44dc-988e-01dd90059521 +2025-06-06 00:50:06,730 - robotics.core - INFO - Deleted room 7244146d-77fa-44dc-988e-01dd90059521 +2025-06-06 00:50:06,733 - robotics.core - INFO - Created room e84b5e08-310e-4b5c-a568-a16e8cdda303 +2025-06-06 00:50:06,735 - robotics.core - INFO - Consumer consumer_4398580752 joined room e84b5e08-310e-4b5c-a568-a16e8cdda303 +2025-06-06 00:50:06,735 - robotics.core - INFO - Consumer consumer_4398580752 left room e84b5e08-310e-4b5c-a568-a16e8cdda303 +2025-06-06 00:50:06,737 - robotics.core - INFO - Consumer consumer_4398580752 joined room e84b5e08-310e-4b5c-a568-a16e8cdda303 +2025-06-06 00:50:06,738 - robotics.core - INFO - Consumer consumer_4398580752 left room e84b5e08-310e-4b5c-a568-a16e8cdda303 +2025-06-06 00:50:06,738 - robotics.core - INFO - Deleted room e84b5e08-310e-4b5c-a568-a16e8cdda303 +2025-06-06 00:50:06,741 - robotics.core - INFO - Created room 047195bd-718e-439f-917a-61ee4c09687a +2025-06-06 00:50:06,744 - robotics.core - INFO - Producer producer_4398593616 joined room 047195bd-718e-439f-917a-61ee4c09687a +2025-06-06 00:50:06,745 - robotics.core - INFO - Consumer consumer_4398588912 joined room 047195bd-718e-439f-917a-61ee4c09687a +2025-06-06 00:50:07,055 - robotics.core - INFO - Consumer consumer_4398588912 left room 047195bd-718e-439f-917a-61ee4c09687a +2025-06-06 00:50:07,055 - robotics.core - INFO - Producer producer_4398593616 left room 047195bd-718e-439f-917a-61ee4c09687a +2025-06-06 00:50:07,055 - robotics.core - INFO - Deleted room 047195bd-718e-439f-917a-61ee4c09687a +2025-06-06 00:50:07,063 - robotics.core - INFO - Created room 1c7a22ba-7e8a-4d63-aeff-d5814fd757d3 +2025-06-06 00:50:07,067 - robotics.core - INFO - Producer producer_4398579840 joined room 1c7a22ba-7e8a-4d63-aeff-d5814fd757d3 +2025-06-06 00:50:07,067 - robotics.core - INFO - Producer producer_4398579840 left room 1c7a22ba-7e8a-4d63-aeff-d5814fd757d3 +2025-06-06 00:50:07,068 - robotics.core - INFO - Deleted room 1c7a22ba-7e8a-4d63-aeff-d5814fd757d3 +2025-06-06 00:50:07,071 - robotics.core - INFO - Created room b06ae8b1-7b43-4095-b3bb-52d0b444f283 +2025-06-06 00:50:07,074 - robotics.core - INFO - Producer producer_4398373760 joined room b06ae8b1-7b43-4095-b3bb-52d0b444f283 +2025-06-06 00:50:07,075 - robotics.core - INFO - Producer producer_4398373760 left room b06ae8b1-7b43-4095-b3bb-52d0b444f283 +2025-06-06 00:50:07,076 - robotics.core - INFO - Deleted room b06ae8b1-7b43-4095-b3bb-52d0b444f283 +2025-06-06 00:50:07,080 - robotics.core - INFO - Created room b73fa1c7-8b67-4dda-8fad-f76f832a32c9 +2025-06-06 00:50:07,082 - robotics.core - INFO - Consumer consumer_4396646864 joined room b73fa1c7-8b67-4dda-8fad-f76f832a32c9 +2025-06-06 00:50:07,084 - robotics.core - INFO - Consumer consumer_4396646864 left room b73fa1c7-8b67-4dda-8fad-f76f832a32c9 +2025-06-06 00:50:07,085 - robotics.core - INFO - Deleted room b73fa1c7-8b67-4dda-8fad-f76f832a32c9 +2025-06-06 00:50:07,087 - robotics.core - INFO - Created room b25ac0c0-a72c-43b9-976d-6a87464ae66a +2025-06-06 00:50:07,089 - robotics.core - INFO - Producer producer_4401928032 joined room b25ac0c0-a72c-43b9-976d-6a87464ae66a +2025-06-06 00:50:07,091 - robotics.core - INFO - Consumer consumer_4401927072 joined room b25ac0c0-a72c-43b9-976d-6a87464ae66a +2025-06-06 00:50:07,397 - robotics.core - INFO - Consumer consumer_4401927072 left room b25ac0c0-a72c-43b9-976d-6a87464ae66a +2025-06-06 00:50:07,399 - robotics.core - INFO - Producer producer_4401928032 left room b25ac0c0-a72c-43b9-976d-6a87464ae66a +2025-06-06 00:50:07,403 - robotics.core - INFO - Deleted room b25ac0c0-a72c-43b9-976d-6a87464ae66a +2025-06-06 00:50:07,412 - robotics.core - INFO - Created room 7a1c9304-c9f2-4cb6-9292-a0a707dcae3e +2025-06-06 00:50:07,417 - robotics.core - INFO - Producer producer_4398583392 joined room 7a1c9304-c9f2-4cb6-9292-a0a707dcae3e +2025-06-06 00:50:07,420 - robotics.core - INFO - Consumer consumer_4398378848 joined room 7a1c9304-c9f2-4cb6-9292-a0a707dcae3e +2025-06-06 00:50:07,421 - robotics.core - INFO - Consumer consumer_4398378848 left room 7a1c9304-c9f2-4cb6-9292-a0a707dcae3e +2025-06-06 00:50:07,421 - robotics.core - INFO - Producer producer_4398583392 left room 7a1c9304-c9f2-4cb6-9292-a0a707dcae3e +2025-06-06 00:50:07,423 - robotics.core - INFO - Deleted room 7a1c9304-c9f2-4cb6-9292-a0a707dcae3e +2025-06-06 00:50:07,426 - robotics.core - INFO - Created room 51ec2917-091f-4df4-bafd-633a180da8ea +2025-06-06 00:50:07,430 - robotics.core - INFO - Producer producer_4401923616 joined room 51ec2917-091f-4df4-bafd-633a180da8ea +2025-06-06 00:50:07,432 - robotics.core - INFO - Created room ae023ce0-d8cd-480b-b3d3-e02690db2a15 +2025-06-06 00:50:07,435 - robotics.core - INFO - Producer producer_4401925728 joined room ae023ce0-d8cd-480b-b3d3-e02690db2a15 +2025-06-06 00:50:07,435 - robotics.core - INFO - Producer producer_4401923616 left room 51ec2917-091f-4df4-bafd-633a180da8ea +2025-06-06 00:50:07,436 - robotics.core - INFO - Producer producer_4401925728 left room ae023ce0-d8cd-480b-b3d3-e02690db2a15 +2025-06-06 00:50:07,437 - robotics.core - INFO - Deleted room 51ec2917-091f-4df4-bafd-633a180da8ea +2025-06-06 00:50:07,439 - robotics.core - INFO - Deleted room ae023ce0-d8cd-480b-b3d3-e02690db2a15 +2025-06-06 00:50:07,446 - robotics.core - INFO - Created room 646c3314-a35c-45e9-8dca-2e067d19371f +2025-06-06 00:50:07,448 - robotics.core - INFO - Producer producer_4398588144 joined room 646c3314-a35c-45e9-8dca-2e067d19371f +2025-06-06 00:50:07,449 - robotics.core - INFO - Consumer consumer_4398586128 joined room 646c3314-a35c-45e9-8dca-2e067d19371f +2025-06-06 00:50:08,495 - robotics.core - INFO - Consumer consumer_4398586128 left room 646c3314-a35c-45e9-8dca-2e067d19371f +2025-06-06 00:50:08,495 - robotics.core - INFO - Producer producer_4398588144 left room 646c3314-a35c-45e9-8dca-2e067d19371f +2025-06-06 00:50:08,497 - robotics.core - INFO - Deleted room 646c3314-a35c-45e9-8dca-2e067d19371f +2025-06-06 00:50:08,517 - robotics.core - INFO - Created room 155f15ad-c773-4049-b947-9d622708405e +2025-06-06 00:50:08,519 - robotics.core - INFO - Producer producer_4398594336 joined room 155f15ad-c773-4049-b947-9d622708405e +2025-06-06 00:50:08,520 - robotics.core - INFO - Consumer consumer_4398590352 joined room 155f15ad-c773-4049-b947-9d622708405e +2025-06-06 00:50:08,522 - robotics.core - INFO - Consumer consumer_4398588960 joined room 155f15ad-c773-4049-b947-9d622708405e +2025-06-06 00:50:08,924 - robotics.core - INFO - Consumer consumer_4398590352 left room 155f15ad-c773-4049-b947-9d622708405e +2025-06-06 00:50:08,925 - robotics.core - INFO - Consumer consumer_4398588960 left room 155f15ad-c773-4049-b947-9d622708405e +2025-06-06 00:50:08,926 - robotics.core - INFO - Producer producer_4398594336 left room 155f15ad-c773-4049-b947-9d622708405e +2025-06-06 00:50:08,928 - robotics.core - INFO - Deleted room 155f15ad-c773-4049-b947-9d622708405e +2025-06-06 00:50:08,933 - robotics.core - INFO - Created room 6f976cea-6de3-47f6-9a78-d0582d6c8fa4 +2025-06-06 00:50:08,937 - robotics.core - INFO - Producer producer_4398594816 joined room 6f976cea-6de3-47f6-9a78-d0582d6c8fa4 +2025-06-06 00:50:08,942 - robotics.core - INFO - Consumer consumer_4401926544 joined room 6f976cea-6de3-47f6-9a78-d0582d6c8fa4 +2025-06-06 00:50:08,946 - robotics.core - INFO - Consumer consumer_4398581088 joined room 6f976cea-6de3-47f6-9a78-d0582d6c8fa4 +2025-06-06 00:50:09,148 - robotics.core - WARNING - ๐Ÿšจ Emergency stop triggered by producer_4398594816 in room 6f976cea-6de3-47f6-9a78-d0582d6c8fa4 +2025-06-06 00:50:09,350 - robotics.core - INFO - Consumer consumer_4401926544 left room 6f976cea-6de3-47f6-9a78-d0582d6c8fa4 +2025-06-06 00:50:09,351 - robotics.core - INFO - Consumer consumer_4398581088 left room 6f976cea-6de3-47f6-9a78-d0582d6c8fa4 +2025-06-06 00:50:09,352 - robotics.core - INFO - Producer producer_4398594816 left room 6f976cea-6de3-47f6-9a78-d0582d6c8fa4 +2025-06-06 00:50:09,355 - robotics.core - INFO - Deleted room 6f976cea-6de3-47f6-9a78-d0582d6c8fa4 +2025-06-06 00:50:09,366 - robotics.core - INFO - Created room d855aada-5be2-44f1-a28d-3b2bbdf6eb5f +2025-06-06 00:50:09,371 - robotics.core - INFO - Consumer consumer_4398588624 joined room d855aada-5be2-44f1-a28d-3b2bbdf6eb5f +2025-06-06 00:50:09,374 - robotics.core - INFO - Producer producer_4401933408 joined room d855aada-5be2-44f1-a28d-3b2bbdf6eb5f +2025-06-06 00:50:09,477 - robotics.core - INFO - Producer producer_4401933408 left room d855aada-5be2-44f1-a28d-3b2bbdf6eb5f +2025-06-06 00:50:09,484 - robotics.core - INFO - Producer producer_4401933408 joined room d855aada-5be2-44f1-a28d-3b2bbdf6eb5f +2025-06-06 00:50:09,685 - robotics.core - INFO - Producer producer_4401933408 left room d855aada-5be2-44f1-a28d-3b2bbdf6eb5f +2025-06-06 00:50:09,686 - robotics.core - INFO - Consumer consumer_4398588624 left room d855aada-5be2-44f1-a28d-3b2bbdf6eb5f +2025-06-06 00:50:09,687 - robotics.core - INFO - Deleted room d855aada-5be2-44f1-a28d-3b2bbdf6eb5f +2025-06-06 00:50:09,690 - robotics.core - INFO - Created room 000b2f62-4b3b-48f1-bd68-ba274083702d +2025-06-06 00:50:09,693 - robotics.core - INFO - Producer producer_4398583200 joined room 000b2f62-4b3b-48f1-bd68-ba274083702d +2025-06-06 00:50:09,899 - robotics.core - INFO - Consumer consumer_4398580752 joined room 000b2f62-4b3b-48f1-bd68-ba274083702d +2025-06-06 00:50:09,902 - robotics.core - INFO - Consumer consumer_4398580752 left room 000b2f62-4b3b-48f1-bd68-ba274083702d +2025-06-06 00:50:09,903 - robotics.core - INFO - Producer producer_4398583200 left room 000b2f62-4b3b-48f1-bd68-ba274083702d +2025-06-06 00:50:09,904 - robotics.core - INFO - Deleted room 000b2f62-4b3b-48f1-bd68-ba274083702d +2025-06-06 00:50:09,912 - robotics.core - INFO - Created room 27d80d3e-c792-42b5-89f6-bd00a5073fcf +2025-06-06 00:50:09,915 - robotics.core - INFO - Producer producer_4398585984 joined room 27d80d3e-c792-42b5-89f6-bd00a5073fcf +2025-06-06 00:50:09,917 - robotics.core - INFO - Consumer consumer_4401930576 joined room 27d80d3e-c792-42b5-89f6-bd00a5073fcf +2025-06-06 00:50:10,021 - robotics.core - INFO - Consumer consumer_4401930576 left room 27d80d3e-c792-42b5-89f6-bd00a5073fcf +2025-06-06 00:50:10,022 - robotics.core - INFO - Producer producer_4398585984 left room 27d80d3e-c792-42b5-89f6-bd00a5073fcf +2025-06-06 00:50:10,022 - robotics.core - INFO - Deleted room 27d80d3e-c792-42b5-89f6-bd00a5073fcf +2025-06-06 00:50:10,029 - robotics.core - INFO - Created room 49fc6451-e9e6-48ab-8536-265555d41e4a +2025-06-06 00:50:10,032 - robotics.core - INFO - Producer producer_4398590640 joined room 49fc6451-e9e6-48ab-8536-265555d41e4a +2025-06-06 00:50:10,034 - robotics.core - INFO - Consumer consumer_4398586608 joined room 49fc6451-e9e6-48ab-8536-265555d41e4a +2025-06-06 00:50:10,862 - robotics.core - INFO - Consumer consumer_4398586608 left room 49fc6451-e9e6-48ab-8536-265555d41e4a +2025-06-06 00:50:10,863 - robotics.core - INFO - Producer producer_4398590640 left room 49fc6451-e9e6-48ab-8536-265555d41e4a +2025-06-06 00:50:10,864 - robotics.core - INFO - Deleted room 49fc6451-e9e6-48ab-8536-265555d41e4a +2025-06-06 00:50:10,882 - robotics.core - INFO - Created room 05f5eab3-2ab2-4711-9eba-614d5485650d +2025-06-06 00:50:10,885 - robotics.core - INFO - Producer producer_4398582336 joined room 05f5eab3-2ab2-4711-9eba-614d5485650d +2025-06-06 00:50:10,885 - robotics.core - INFO - Producer producer_4398582336 left room 05f5eab3-2ab2-4711-9eba-614d5485650d +2025-06-06 00:50:10,886 - robotics.core - INFO - Deleted room 05f5eab3-2ab2-4711-9eba-614d5485650d +2025-06-06 00:50:10,888 - robotics.core - INFO - Created room 676a10d8-b6c6-4f91-a49b-f94de8327c7b +2025-06-06 00:50:10,890 - robotics.core - INFO - Producer producer_4401925488 joined room 676a10d8-b6c6-4f91-a49b-f94de8327c7b +2025-06-06 00:50:10,891 - robotics.core - INFO - Producer producer_4401925488 left room 676a10d8-b6c6-4f91-a49b-f94de8327c7b +2025-06-06 00:50:10,891 - robotics.core - INFO - Deleted room 676a10d8-b6c6-4f91-a49b-f94de8327c7b +2025-06-06 00:50:10,894 - robotics.core - INFO - Created room 939006cd-c1c4-46da-93c0-114dbab11376 +2025-06-06 00:50:10,896 - robotics.core - INFO - Producer producer_4398588720 joined room 939006cd-c1c4-46da-93c0-114dbab11376 +2025-06-06 00:50:10,897 - robotics.core - INFO - Producer producer_4398588720 left room 939006cd-c1c4-46da-93c0-114dbab11376 +2025-06-06 00:50:10,897 - robotics.core - INFO - Deleted room 939006cd-c1c4-46da-93c0-114dbab11376 +2025-06-06 00:50:10,899 - robotics.core - INFO - Created room c9655fad-57b7-4a75-8480-b493b4b953aa +2025-06-06 00:50:10,901 - robotics.core - INFO - Producer producer_4398378608 joined room c9655fad-57b7-4a75-8480-b493b4b953aa +2025-06-06 00:50:10,902 - robotics.core - INFO - Producer producer_4398378608 left room c9655fad-57b7-4a75-8480-b493b4b953aa +2025-06-06 00:50:10,903 - robotics.core - INFO - Deleted room c9655fad-57b7-4a75-8480-b493b4b953aa +2025-06-06 00:50:10,905 - robotics.core - INFO - Created room f54a48a4-e272-4e6a-ad1f-3f5fa5967efe +2025-06-06 00:50:10,908 - robotics.core - INFO - Producer producer_4398588144 joined room f54a48a4-e272-4e6a-ad1f-3f5fa5967efe +2025-06-06 00:50:10,909 - robotics.core - WARNING - ๐Ÿšจ Emergency stop triggered by producer_4398588144 in room f54a48a4-e272-4e6a-ad1f-3f5fa5967efe +2025-06-06 00:50:10,909 - robotics.core - WARNING - ๐Ÿšจ Emergency stop triggered by producer_4398588144 in room f54a48a4-e272-4e6a-ad1f-3f5fa5967efe +2025-06-06 00:50:10,911 - robotics.core - INFO - Producer producer_4398588144 left room f54a48a4-e272-4e6a-ad1f-3f5fa5967efe +2025-06-06 00:50:10,911 - robotics.core - INFO - Deleted room f54a48a4-e272-4e6a-ad1f-3f5fa5967efe +2025-06-06 00:50:10,913 - robotics.core - INFO - Created room b3aaef26-823f-4a10-a44e-1730062bf03c +2025-06-06 00:50:10,916 - robotics.core - INFO - Producer producer_4401922944 joined room b3aaef26-823f-4a10-a44e-1730062bf03c +2025-06-06 00:50:10,918 - robotics.core - INFO - Producer producer_4401922944 left room b3aaef26-823f-4a10-a44e-1730062bf03c +2025-06-06 00:50:10,918 - robotics.core - INFO - Deleted room b3aaef26-823f-4a10-a44e-1730062bf03c +2025-06-06 00:50:10,921 - robotics.core - INFO - Created room 66f7af6d-8d22-42a7-b090-e733de09307c +2025-06-06 00:50:10,923 - robotics.core - INFO - Producer producer_4402056656 joined room 66f7af6d-8d22-42a7-b090-e733de09307c +2025-06-06 00:50:11,025 - robotics.core - INFO - Producer producer_4402056656 left room 66f7af6d-8d22-42a7-b090-e733de09307c +2025-06-06 00:50:11,182 - robotics.core - INFO - Deleted room 66f7af6d-8d22-42a7-b090-e733de09307c +2025-06-06 00:50:11,186 - robotics.core - INFO - Created room 0f276f65-ec0a-43ed-96f0-1e4f6a89dba1 +2025-06-06 00:50:11,189 - robotics.core - INFO - Producer producer_4401937392 joined room 0f276f65-ec0a-43ed-96f0-1e4f6a89dba1 +2025-06-06 00:50:11,192 - robotics.core - INFO - Created room 7993a865-1585-4a2b-9d3e-314ab9abbad3 +2025-06-06 00:50:11,195 - robotics.core - INFO - Producer producer_4401937392 left room 0f276f65-ec0a-43ed-96f0-1e4f6a89dba1 +2025-06-06 00:50:11,205 - robotics.core - INFO - Producer producer_4401937392 joined room 7993a865-1585-4a2b-9d3e-314ab9abbad3 +2025-06-06 00:50:11,206 - robotics.core - INFO - Producer producer_4401937392 left room 7993a865-1585-4a2b-9d3e-314ab9abbad3 +2025-06-06 00:50:11,206 - robotics.core - INFO - Deleted room 7993a865-1585-4a2b-9d3e-314ab9abbad3 +2025-06-06 00:50:11,208 - robotics.core - INFO - Deleted room 0f276f65-ec0a-43ed-96f0-1e4f6a89dba1 +2025-06-06 00:50:11,212 - robotics.core - INFO - Created room 2d4d6068-9786-4695-8c7b-4dd720a152df +2025-06-06 00:50:11,215 - robotics.core - INFO - Producer producer_4402057856 joined room 2d4d6068-9786-4695-8c7b-4dd720a152df +2025-06-06 00:50:11,215 - robotics.core - INFO - Producer producer_4402057856 left room 2d4d6068-9786-4695-8c7b-4dd720a152df +2025-06-06 00:50:11,217 - robotics.core - INFO - Deleted room 2d4d6068-9786-4695-8c7b-4dd720a152df +2025-06-06 00:50:11,220 - robotics.core - INFO - Created room 3331544d-2305-46e7-ad0e-c30699dc450d +2025-06-06 00:50:11,224 - robotics.core - INFO - Producer producer_4402059632 joined room 3331544d-2305-46e7-ad0e-c30699dc450d +2025-06-06 00:50:11,230 - robotics.core - INFO - Producer producer_4402059632 left room 3331544d-2305-46e7-ad0e-c30699dc450d +2025-06-06 00:50:11,231 - robotics.core - INFO - Deleted room 3331544d-2305-46e7-ad0e-c30699dc450d +2025-06-06 00:50:11,235 - robotics.core - INFO - Created room 178e8c58-8771-4ee2-97bb-ed28db777916 +2025-06-06 00:50:11,242 - robotics.core - INFO - Producer custom-producer-123 joined room 178e8c58-8771-4ee2-97bb-ed28db777916 +2025-06-06 00:50:11,243 - robotics.core - INFO - Producer custom-producer-123 left room 178e8c58-8771-4ee2-97bb-ed28db777916 +2025-06-06 00:50:11,243 - robotics.core - INFO - Deleted room 178e8c58-8771-4ee2-97bb-ed28db777916 +2025-06-06 00:50:11,247 - robotics.core - INFO - Created room ed2125fe-85c8-4efb-a804-75fd08a4057a +2025-06-06 00:50:11,251 - robotics.core - INFO - Producer producer_4402171632 joined room ed2125fe-85c8-4efb-a804-75fd08a4057a +2025-06-06 00:50:11,253 - robotics.core - INFO - Producer producer_4402171632 left room ed2125fe-85c8-4efb-a804-75fd08a4057a +2025-06-06 00:50:11,253 - robotics.core - INFO - Deleted room ed2125fe-85c8-4efb-a804-75fd08a4057a +2025-06-06 00:50:11,257 - robotics.core - INFO - Created room eb041803-3895-4702-bf79-5d984c41d7e1 +2025-06-06 00:50:11,260 - robotics.core - INFO - Producer producer_4402057856 joined room eb041803-3895-4702-bf79-5d984c41d7e1 +2025-06-06 00:50:11,374 - robotics.core - INFO - Producer producer_4402057856 left room eb041803-3895-4702-bf79-5d984c41d7e1 +2025-06-06 00:50:11,374 - robotics.core - INFO - Deleted room eb041803-3895-4702-bf79-5d984c41d7e1 +2025-06-06 00:50:11,382 - robotics.core - INFO - Created room 0d04f23c-1076-4eb9-ad1b-8079b4d85a7a +2025-06-06 00:50:11,383 - robotics.core - INFO - Deleted room 0d04f23c-1076-4eb9-ad1b-8079b4d85a7a +2025-06-06 00:50:11,387 - robotics.core - INFO - Created room 0ea62aad-f018-40b3-a309-bb278ee56e2a +2025-06-06 00:50:11,391 - robotics.core - INFO - Created room fc61d938-0893-48e5-acce-0947379ec95a +2025-06-06 00:50:11,394 - robotics.core - INFO - Deleted room fc61d938-0893-48e5-acce-0947379ec95a +2025-06-06 00:50:11,398 - robotics.core - INFO - Created room fae24278-e7c3-4e7f-8fee-2649e149a5d0 +2025-06-06 00:50:11,400 - robotics.core - INFO - Deleted room fae24278-e7c3-4e7f-8fee-2649e149a5d0 +2025-06-06 00:50:11,405 - robotics.core - INFO - Created room 914f1c74-939f-4e32-b441-28e88897286f +2025-06-06 00:50:11,408 - robotics.core - INFO - Deleted room 914f1c74-939f-4e32-b441-28e88897286f +2025-06-06 00:50:11,413 - robotics.core - INFO - Created room dd3bcc0c-e07f-4f2e-88a4-31f38503188b +2025-06-06 00:50:15,701 - watchfiles.main - INFO - 1 change detected +2025-06-06 00:50:16,425 - watchfiles.main - INFO - 4 changes detected +2025-06-06 00:50:26,698 - robotics.core - INFO - Created room a6779cd2-3051-4906-a982-964efd6ed843 +2025-06-06 00:50:26,726 - robotics.core - INFO - Deleted room a6779cd2-3051-4906-a982-964efd6ed843 +2025-06-06 00:50:26,728 - robotics.core - INFO - Created room d481f549-7b16-413e-9539-4318c900f0e3 +2025-06-06 00:50:26,733 - robotics.core - INFO - Deleted room d481f549-7b16-413e-9539-4318c900f0e3 +2025-06-06 00:50:26,736 - robotics.core - INFO - Created room 07044acc-447d-474a-ba49-c88f63d5bbd5 +2025-06-06 00:50:26,741 - robotics.core - INFO - Deleted room 07044acc-447d-474a-ba49-c88f63d5bbd5 +2025-06-06 00:50:26,743 - robotics.core - INFO - Created room 259aaaf3-93b4-40db-adf7-e13ca9c67ae8 +2025-06-06 00:50:26,854 - robotics.core - INFO - Deleted room 259aaaf3-93b4-40db-adf7-e13ca9c67ae8 +2025-06-06 00:50:26,862 - robotics.core - INFO - Created room 3c80453d-04a8-4c37-8998-ec4dd0039a9f +2025-06-06 00:50:26,873 - robotics.core - INFO - Deleted room 3c80453d-04a8-4c37-8998-ec4dd0039a9f +2025-06-06 00:50:26,875 - robotics.core - INFO - Created room d81d974f-ac13-48c3-a806-fb38281d9198 +2025-06-06 00:50:26,989 - robotics.core - INFO - Deleted room d81d974f-ac13-48c3-a806-fb38281d9198 +2025-06-06 00:50:26,991 - robotics.core - INFO - Created room 0aaf8a1e-3efe-40b9-aa75-8ece8292f769 +2025-06-06 00:50:27,105 - robotics.core - INFO - Deleted room 0aaf8a1e-3efe-40b9-aa75-8ece8292f769 +2025-06-06 00:50:27,108 - robotics.core - INFO - Created room 88fbdd19-2496-41a7-8115-e97f30dc7ea6 +2025-06-06 00:50:27,223 - robotics.core - INFO - Deleted room 88fbdd19-2496-41a7-8115-e97f30dc7ea6 +2025-06-06 00:50:27,226 - robotics.core - INFO - Created room 45e16abd-4649-4b90-8195-777035790b1d +2025-06-06 00:50:27,339 - robotics.core - INFO - Deleted room 45e16abd-4649-4b90-8195-777035790b1d +2025-06-06 00:50:27,342 - robotics.core - INFO - Created room 5a85a673-fe5e-4e6d-9c4a-e76d8b0bc857 +2025-06-06 00:50:27,346 - robotics.core - INFO - Deleted room 5a85a673-fe5e-4e6d-9c4a-e76d8b0bc857 +2025-06-06 00:50:27,347 - robotics.core - INFO - Created room a1c20282-3f9a-44c6-b1b0-5d2bf0a53f56 +2025-06-06 00:50:27,354 - robotics.core - INFO - Deleted room a1c20282-3f9a-44c6-b1b0-5d2bf0a53f56 +2025-06-06 00:50:27,357 - robotics.core - INFO - Created room 7c888e1b-13c6-4c5a-985e-0d0cade57214 +2025-06-06 00:50:27,363 - robotics.core - INFO - Deleted room 7c888e1b-13c6-4c5a-985e-0d0cade57214 +2025-06-06 00:50:27,366 - robotics.core - INFO - Created room 566c4ca9-db04-4b21-b42a-4b69431ef723 +2025-06-06 00:50:27,480 - robotics.core - INFO - Deleted room 566c4ca9-db04-4b21-b42a-4b69431ef723 +2025-06-06 00:50:27,484 - robotics.core - INFO - Created room 5c86fa50-0abc-4f77-b2a8-40154de82a09 +2025-06-06 00:50:27,487 - robotics.core - INFO - Deleted room 5c86fa50-0abc-4f77-b2a8-40154de82a09 +2025-06-06 00:50:27,491 - robotics.core - INFO - Created room b1d99d4d-2ec7-469e-8092-ad8cde692160 +2025-06-06 00:50:27,494 - robotics.core - INFO - Deleted room b1d99d4d-2ec7-469e-8092-ad8cde692160 +2025-06-06 00:50:27,499 - robotics.core - INFO - Created room 69e4fd1e-c3de-4ac4-b541-7149b76fc6a1 +2025-06-06 00:50:27,502 - robotics.core - INFO - Deleted room 69e4fd1e-c3de-4ac4-b541-7149b76fc6a1 +2025-06-06 00:50:27,506 - robotics.core - INFO - Created room d3200b03-afbd-4ab1-b08c-12a9da562ca9 +2025-06-06 00:50:27,510 - robotics.core - INFO - Deleted room d3200b03-afbd-4ab1-b08c-12a9da562ca9 +2025-06-06 00:50:27,514 - robotics.core - INFO - Created room af762380-e709-41c3-b693-5b8912c59aa8 +2025-06-06 00:50:27,516 - robotics.core - INFO - Deleted room af762380-e709-41c3-b693-5b8912c59aa8 +2025-06-06 00:50:27,520 - robotics.core - INFO - Created room 2fdfc3ab-4395-4a94-9831-992baaf9baf3 +2025-06-06 00:50:27,523 - robotics.core - INFO - Created room d5c83e9d-0be2-489c-8e7d-7622745d6b71 +2025-06-06 00:50:27,526 - robotics.core - INFO - Deleted room 2fdfc3ab-4395-4a94-9831-992baaf9baf3 +2025-06-06 00:50:27,527 - robotics.core - INFO - Deleted room d5c83e9d-0be2-489c-8e7d-7622745d6b71 +2025-06-06 00:50:27,533 - robotics.core - INFO - Created room ef6d2ada-005d-4c05-b04f-955e82c3e28f +2025-06-06 00:50:27,740 - robotics.core - INFO - Deleted room ef6d2ada-005d-4c05-b04f-955e82c3e28f +2025-06-06 00:50:27,749 - robotics.core - INFO - Created room f3588a2d-dc4d-4115-ab29-b56697d44475 +2025-06-06 00:50:27,959 - robotics.core - INFO - Deleted room f3588a2d-dc4d-4115-ab29-b56697d44475 +2025-06-06 00:50:27,970 - robotics.core - INFO - Created room 8d056530-2a40-49a3-923b-37e164694f71 +2025-06-06 00:50:28,181 - robotics.core - INFO - Deleted room 8d056530-2a40-49a3-923b-37e164694f71 +2025-06-06 00:50:28,198 - robotics.core - INFO - Created room e98c0695-de01-496d-a7ed-07794d0fedf7 +2025-06-06 00:50:28,208 - robotics.core - INFO - Deleted room e98c0695-de01-496d-a7ed-07794d0fedf7 +2025-06-06 00:50:28,220 - robotics.core - INFO - Created room 905a924a-bc58-4e3e-ad51-5da50c8cb371 +2025-06-06 00:50:28,223 - robotics.core - INFO - Deleted room 905a924a-bc58-4e3e-ad51-5da50c8cb371 +2025-06-06 00:50:28,232 - robotics.core - INFO - Created room 5e7944c5-2601-4a0c-8ce5-26953f8a6464 +2025-06-06 00:50:28,236 - robotics.core - INFO - Deleted room 5e7944c5-2601-4a0c-8ce5-26953f8a6464 +2025-06-06 00:50:28,245 - robotics.core - INFO - Created room 04c24568-a3a7-4676-a10b-f615750ed8ee +2025-06-06 00:50:28,351 - robotics.core - INFO - Deleted room 04c24568-a3a7-4676-a10b-f615750ed8ee +2025-06-06 00:50:28,362 - robotics.core - INFO - Created room 65311ad8-3c4d-401a-911f-e02ffffbb229 +2025-06-06 00:50:28,369 - robotics.core - INFO - Deleted room 65311ad8-3c4d-401a-911f-e02ffffbb229 +2025-06-06 00:50:28,371 - robotics.core - INFO - Created room 1c0ec05e-9eb8-439c-9d93-729fef375f4c +2025-06-06 00:50:28,376 - robotics.core - INFO - Deleted room 1c0ec05e-9eb8-439c-9d93-729fef375f4c +2025-06-06 00:50:28,379 - robotics.core - INFO - Created room 2656a6dc-da66-4955-904d-40b518ba0b98 +2025-06-06 00:50:28,391 - robotics.core - INFO - Deleted room 2656a6dc-da66-4955-904d-40b518ba0b98 +2025-06-06 00:50:28,393 - robotics.core - INFO - Created room a6a76505-4118-40a8-bbe6-6a68f04331ea +2025-06-06 00:50:28,402 - robotics.core - INFO - Deleted room a6a76505-4118-40a8-bbe6-6a68f04331ea +2025-06-06 00:50:28,404 - robotics.core - INFO - Created room 86821671-3b5d-4847-9dea-9e277f97fb5d +2025-06-06 00:50:28,412 - robotics.core - INFO - Deleted room 86821671-3b5d-4847-9dea-9e277f97fb5d +2025-06-06 00:50:28,414 - robotics.core - INFO - Created room 0e8a8788-cd82-4eda-b1e9-a3eed6964788 +2025-06-06 00:50:28,417 - robotics.core - INFO - Deleted room 0e8a8788-cd82-4eda-b1e9-a3eed6964788 +2025-06-06 00:50:28,419 - robotics.core - INFO - Created room 33f0b1b6-f590-4ce4-bb21-2427640170a4 +2025-06-06 00:50:28,527 - robotics.core - INFO - Deleted room 33f0b1b6-f590-4ce4-bb21-2427640170a4 +2025-06-06 00:50:28,530 - robotics.core - INFO - Created room b4982034-ffae-40d3-aeb6-a666da1b377b +2025-06-06 00:50:28,534 - robotics.core - INFO - Created room 11a68372-eb1f-4caf-ad73-602339c0daea +2025-06-06 00:50:28,536 - robotics.core - INFO - Deleted room 11a68372-eb1f-4caf-ad73-602339c0daea +2025-06-06 00:50:28,540 - robotics.core - INFO - Deleted room b4982034-ffae-40d3-aeb6-a666da1b377b +2025-06-06 00:50:28,542 - robotics.core - INFO - Created room 64621919-2537-4013-83b5-94a4cfcf3f41 +2025-06-06 00:50:28,548 - robotics.core - INFO - Deleted room 64621919-2537-4013-83b5-94a4cfcf3f41 +2025-06-06 00:50:28,549 - robotics.core - INFO - Created room af03c4b1-7b6e-436c-a10f-29ae3ea467be +2025-06-06 00:50:28,555 - robotics.core - INFO - Deleted room af03c4b1-7b6e-436c-a10f-29ae3ea467be +2025-06-06 00:50:28,557 - robotics.core - INFO - Created room d829bf68-9fbc-49ac-bae2-601df9fa99d4 +2025-06-06 00:50:28,560 - robotics.core - INFO - Deleted room d829bf68-9fbc-49ac-bae2-601df9fa99d4 +2025-06-06 00:50:28,563 - robotics.core - INFO - Created room cac80c14-ecf6-4bf2-80c8-3ac900eec5d9 +2025-06-06 00:50:28,570 - robotics.core - INFO - Deleted room cac80c14-ecf6-4bf2-80c8-3ac900eec5d9 +2025-06-06 00:50:28,572 - robotics.core - INFO - Created room 9afef69f-0a2b-40f6-9018-cb198ab47414 +2025-06-06 00:50:28,581 - robotics.core - INFO - Deleted room 9afef69f-0a2b-40f6-9018-cb198ab47414 +2025-06-06 00:50:28,586 - robotics.core - INFO - Created room a133aea8-6420-4a4b-81b4-1d4ca5f1fde6 +2025-06-06 00:50:28,588 - robotics.core - INFO - Deleted room a133aea8-6420-4a4b-81b4-1d4ca5f1fde6 +2025-06-06 00:50:28,590 - robotics.core - INFO - Created room 191a47dd-978c-455c-ae3b-ecc7da44998a +2025-06-06 00:50:28,594 - robotics.core - INFO - Created room 2940eb9e-20b6-4bf7-b420-568b1ea22190 +2025-06-06 00:50:28,596 - robotics.core - INFO - Deleted room 2940eb9e-20b6-4bf7-b420-568b1ea22190 +2025-06-06 00:50:28,600 - robotics.core - INFO - Created room 5313bfc6-32f1-4961-a3a7-72f606bd5561 +2025-06-06 00:50:28,602 - robotics.core - INFO - Deleted room 5313bfc6-32f1-4961-a3a7-72f606bd5561 +2025-06-06 00:50:28,605 - robotics.core - INFO - Created room f40f8a5f-60dd-42da-bd5b-6b587b4cc607 +2025-06-06 00:50:28,607 - robotics.core - INFO - Deleted room f40f8a5f-60dd-42da-bd5b-6b587b4cc607 +2025-06-06 00:50:28,611 - robotics.core - INFO - Created room 855ef239-3581-41d2-b0bd-99ff1e6b6bea +2025-06-06 00:51:35,405 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-06 00:57:04,562 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-06 00:57:08,028 - robotics.core - INFO - Created room fbcbde76-5876-4f71-9895-15ec0a96345d +2025-06-06 00:57:08,040 - robotics.core - INFO - Consumer consumer_4413336720 joined room fbcbde76-5876-4f71-9895-15ec0a96345d +2025-06-06 00:57:08,041 - robotics.core - INFO - Consumer consumer_4413336720 left room fbcbde76-5876-4f71-9895-15ec0a96345d +2025-06-06 00:57:08,043 - robotics.core - INFO - Deleted room fbcbde76-5876-4f71-9895-15ec0a96345d +2025-06-06 00:57:08,045 - robotics.core - INFO - Created room 1f6acfb8-b6d2-4d62-8431-36c10174077a +2025-06-06 00:57:08,047 - robotics.core - INFO - Consumer consumer_4415621648 joined room 1f6acfb8-b6d2-4d62-8431-36c10174077a +2025-06-06 00:57:08,048 - robotics.core - INFO - Consumer consumer_4415621648 left room 1f6acfb8-b6d2-4d62-8431-36c10174077a +2025-06-06 00:57:08,048 - robotics.core - INFO - Deleted room 1f6acfb8-b6d2-4d62-8431-36c10174077a +2025-06-06 00:57:08,051 - robotics.core - INFO - Created room 2b94f16f-5123-4473-a940-bb67c8560e2e +2025-06-06 00:57:08,053 - robotics.core - INFO - Consumer consumer_4414630240 joined room 2b94f16f-5123-4473-a940-bb67c8560e2e +2025-06-06 00:57:08,055 - robotics.core - INFO - Consumer consumer_4414630240 left room 2b94f16f-5123-4473-a940-bb67c8560e2e +2025-06-06 00:57:08,055 - robotics.core - INFO - Deleted room 2b94f16f-5123-4473-a940-bb67c8560e2e +2025-06-06 00:57:08,059 - robotics.core - INFO - Created room 38e19dea-9242-4720-a772-41dd5f4df5b9 +2025-06-06 00:57:08,061 - robotics.core - INFO - Consumer consumer_4415628512 joined room 38e19dea-9242-4720-a772-41dd5f4df5b9 +2025-06-06 00:57:08,162 - robotics.core - INFO - Consumer consumer_4415628512 left room 38e19dea-9242-4720-a772-41dd5f4df5b9 +2025-06-06 00:57:08,266 - robotics.core - INFO - Deleted room 38e19dea-9242-4720-a772-41dd5f4df5b9 +2025-06-06 00:57:08,270 - robotics.core - INFO - Created room 2783c63e-9889-47b2-b55b-9cdc543e43df +2025-06-06 00:57:08,275 - robotics.core - INFO - Consumer consumer_4415621648 joined room 2783c63e-9889-47b2-b55b-9cdc543e43df +2025-06-06 00:57:08,277 - robotics.core - INFO - Consumer consumer_4415623424 joined room 2783c63e-9889-47b2-b55b-9cdc543e43df +2025-06-06 00:57:08,277 - robotics.core - INFO - Consumer consumer_4415621648 left room 2783c63e-9889-47b2-b55b-9cdc543e43df +2025-06-06 00:57:08,278 - robotics.core - INFO - Consumer consumer_4415623424 left room 2783c63e-9889-47b2-b55b-9cdc543e43df +2025-06-06 00:57:08,280 - robotics.core - INFO - Deleted room 2783c63e-9889-47b2-b55b-9cdc543e43df +2025-06-06 00:57:08,282 - robotics.core - INFO - Created room 3a189f35-4dd2-41be-95d2-8340690f438a +2025-06-06 00:57:08,285 - robotics.core - INFO - Producer producer_4413338448 joined room 3a189f35-4dd2-41be-95d2-8340690f438a +2025-06-06 00:57:08,287 - robotics.core - INFO - Consumer consumer_4415627936 joined room 3a189f35-4dd2-41be-95d2-8340690f438a +2025-06-06 00:57:08,592 - robotics.core - INFO - Consumer consumer_4415627936 left room 3a189f35-4dd2-41be-95d2-8340690f438a +2025-06-06 00:57:08,592 - robotics.core - INFO - Producer producer_4413338448 left room 3a189f35-4dd2-41be-95d2-8340690f438a +2025-06-06 00:57:08,592 - robotics.core - INFO - Deleted room 3a189f35-4dd2-41be-95d2-8340690f438a +2025-06-06 00:57:08,595 - robotics.core - INFO - Created room f7f978f2-4a35-4161-9454-299202ef1c3f +2025-06-06 00:57:08,597 - robotics.core - INFO - Producer producer_4415631392 joined room f7f978f2-4a35-4161-9454-299202ef1c3f +2025-06-06 00:57:08,599 - robotics.core - INFO - Consumer consumer_4415622896 joined room f7f978f2-4a35-4161-9454-299202ef1c3f +2025-06-06 00:57:08,905 - robotics.core - INFO - Consumer consumer_4415622896 left room f7f978f2-4a35-4161-9454-299202ef1c3f +2025-06-06 00:57:08,905 - robotics.core - INFO - Producer producer_4415631392 left room f7f978f2-4a35-4161-9454-299202ef1c3f +2025-06-06 00:57:08,905 - robotics.core - INFO - Deleted room f7f978f2-4a35-4161-9454-299202ef1c3f +2025-06-06 00:57:08,911 - robotics.core - INFO - Created room a8f5899e-f736-4015-af31-a40205e1183e +2025-06-06 00:57:08,915 - robotics.core - INFO - Producer producer_4415632112 joined room a8f5899e-f736-4015-af31-a40205e1183e +2025-06-06 00:57:08,917 - robotics.core - INFO - Consumer consumer_4415634368 joined room a8f5899e-f736-4015-af31-a40205e1183e +2025-06-06 00:57:09,580 - robotics.core - INFO - Consumer consumer_4415634368 left room a8f5899e-f736-4015-af31-a40205e1183e +2025-06-06 00:57:09,580 - robotics.core - INFO - Producer producer_4415632112 left room a8f5899e-f736-4015-af31-a40205e1183e +2025-06-06 00:57:09,580 - robotics.core - INFO - Deleted room a8f5899e-f736-4015-af31-a40205e1183e +2025-06-06 00:57:09,592 - robotics.core - INFO - Created room 94fcd4f4-3562-47b8-8d1c-0bf3dd0a07f5 +2025-06-06 00:57:09,607 - robotics.core - INFO - Producer producer_4415633600 joined room 94fcd4f4-3562-47b8-8d1c-0bf3dd0a07f5 +2025-06-06 00:57:09,622 - robotics.core - INFO - Consumer consumer_4415633840 joined room 94fcd4f4-3562-47b8-8d1c-0bf3dd0a07f5 +2025-06-06 00:57:09,723 - robotics.core - WARNING - ๐Ÿšจ Emergency stop triggered by producer_4415633600 in room 94fcd4f4-3562-47b8-8d1c-0bf3dd0a07f5 +2025-06-06 00:57:09,927 - robotics.core - INFO - Consumer consumer_4415633840 left room 94fcd4f4-3562-47b8-8d1c-0bf3dd0a07f5 +2025-06-06 00:57:09,927 - robotics.core - INFO - Producer producer_4415633600 left room 94fcd4f4-3562-47b8-8d1c-0bf3dd0a07f5 +2025-06-06 00:57:09,927 - robotics.core - INFO - Deleted room 94fcd4f4-3562-47b8-8d1c-0bf3dd0a07f5 +2025-06-06 00:57:09,933 - robotics.core - INFO - Created room 21ef72fb-42ed-4cfe-b4b5-10c5417af3db +2025-06-06 00:57:09,938 - robotics.core - INFO - Consumer custom-consumer-456 joined room 21ef72fb-42ed-4cfe-b4b5-10c5417af3db +2025-06-06 00:57:09,940 - robotics.core - INFO - Consumer custom-consumer-456 left room 21ef72fb-42ed-4cfe-b4b5-10c5417af3db +2025-06-06 00:57:09,940 - robotics.core - INFO - Deleted room 21ef72fb-42ed-4cfe-b4b5-10c5417af3db +2025-06-06 00:57:09,944 - robotics.core - INFO - Created room 43691f1b-8be5-4593-ac6f-97028ffe6c1e +2025-06-06 00:57:09,946 - robotics.core - INFO - Consumer consumer_4415632880 joined room 43691f1b-8be5-4593-ac6f-97028ffe6c1e +2025-06-06 00:57:09,948 - robotics.core - INFO - Consumer consumer_4415632880 left room 43691f1b-8be5-4593-ac6f-97028ffe6c1e +2025-06-06 00:57:09,949 - robotics.core - INFO - Deleted room 43691f1b-8be5-4593-ac6f-97028ffe6c1e +2025-06-06 00:57:09,952 - robotics.core - INFO - Created room 005636d2-811d-40f7-adda-14863b31a2d6 +2025-06-06 00:57:09,955 - robotics.core - INFO - Consumer consumer_4415819456 joined room 005636d2-811d-40f7-adda-14863b31a2d6 +2025-06-06 00:57:09,955 - robotics.core - INFO - Consumer consumer_4415819456 left room 005636d2-811d-40f7-adda-14863b31a2d6 +2025-06-06 00:57:09,957 - robotics.core - INFO - Consumer consumer_4415819456 joined room 005636d2-811d-40f7-adda-14863b31a2d6 +2025-06-06 00:57:09,959 - robotics.core - INFO - Consumer consumer_4415819456 left room 005636d2-811d-40f7-adda-14863b31a2d6 +2025-06-06 00:57:09,959 - robotics.core - INFO - Deleted room 005636d2-811d-40f7-adda-14863b31a2d6 +2025-06-06 00:57:09,962 - robotics.core - INFO - Created room cbcef8e6-2bc2-4cdc-a809-f0eb426199aa +2025-06-06 00:57:09,964 - robotics.core - INFO - Producer producer_4415819264 joined room cbcef8e6-2bc2-4cdc-a809-f0eb426199aa +2025-06-06 00:57:09,965 - robotics.core - INFO - Consumer consumer_4415819504 joined room cbcef8e6-2bc2-4cdc-a809-f0eb426199aa +2025-06-06 00:57:10,277 - robotics.core - INFO - Consumer consumer_4415819504 left room cbcef8e6-2bc2-4cdc-a809-f0eb426199aa +2025-06-06 00:57:10,278 - robotics.core - INFO - Producer producer_4415819264 left room cbcef8e6-2bc2-4cdc-a809-f0eb426199aa +2025-06-06 00:57:10,278 - robotics.core - INFO - Deleted room cbcef8e6-2bc2-4cdc-a809-f0eb426199aa +2025-06-06 00:57:10,295 - robotics.core - INFO - Created room 8be3ca8e-f427-486b-a1c0-8456843f6099 +2025-06-06 00:57:10,299 - robotics.core - INFO - Producer producer_4415634080 joined room 8be3ca8e-f427-486b-a1c0-8456843f6099 +2025-06-06 00:57:10,300 - robotics.core - INFO - Producer producer_4415634080 left room 8be3ca8e-f427-486b-a1c0-8456843f6099 +2025-06-06 00:57:10,301 - robotics.core - INFO - Deleted room 8be3ca8e-f427-486b-a1c0-8456843f6099 +2025-06-06 00:57:10,304 - robotics.core - INFO - Created room beeb96e5-9a4f-488c-a692-e574019aeec7 +2025-06-06 00:57:10,308 - robotics.core - INFO - Producer producer_4415821856 joined room beeb96e5-9a4f-488c-a692-e574019aeec7 +2025-06-06 00:57:10,308 - robotics.core - INFO - Producer producer_4415821856 left room beeb96e5-9a4f-488c-a692-e574019aeec7 +2025-06-06 00:57:10,310 - robotics.core - INFO - Deleted room beeb96e5-9a4f-488c-a692-e574019aeec7 +2025-06-06 00:57:10,312 - robotics.core - INFO - Created room 8552922d-4436-4be4-b327-4798f091d64d +2025-06-06 00:57:10,315 - robotics.core - INFO - Consumer consumer_4379838704 joined room 8552922d-4436-4be4-b327-4798f091d64d +2025-06-06 00:57:10,316 - robotics.core - INFO - Consumer consumer_4379838704 left room 8552922d-4436-4be4-b327-4798f091d64d +2025-06-06 00:57:10,317 - robotics.core - INFO - Deleted room 8552922d-4436-4be4-b327-4798f091d64d +2025-06-06 00:57:10,319 - robotics.core - INFO - Created room 371c38d1-cdbb-4902-bcf1-b7e7a81b374e +2025-06-06 00:57:10,322 - robotics.core - INFO - Producer producer_4415825408 joined room 371c38d1-cdbb-4902-bcf1-b7e7a81b374e +2025-06-06 00:57:10,324 - robotics.core - INFO - Consumer consumer_4415825552 joined room 371c38d1-cdbb-4902-bcf1-b7e7a81b374e +2025-06-06 00:57:10,627 - robotics.core - INFO - Consumer consumer_4415825552 left room 371c38d1-cdbb-4902-bcf1-b7e7a81b374e +2025-06-06 00:57:10,627 - robotics.core - INFO - Producer producer_4415825408 left room 371c38d1-cdbb-4902-bcf1-b7e7a81b374e +2025-06-06 00:57:10,629 - robotics.core - INFO - Deleted room 371c38d1-cdbb-4902-bcf1-b7e7a81b374e +2025-06-06 00:57:10,632 - robotics.core - INFO - Created room 3b5989ea-d804-4de0-942e-482cae8ec36a +2025-06-06 00:57:10,634 - robotics.core - INFO - Producer producer_4415632880 joined room 3b5989ea-d804-4de0-942e-482cae8ec36a +2025-06-06 00:57:10,636 - robotics.core - INFO - Consumer consumer_4415632352 joined room 3b5989ea-d804-4de0-942e-482cae8ec36a +2025-06-06 00:57:10,636 - robotics.core - INFO - Consumer consumer_4415632352 left room 3b5989ea-d804-4de0-942e-482cae8ec36a +2025-06-06 00:57:10,636 - robotics.core - INFO - Producer producer_4415632880 left room 3b5989ea-d804-4de0-942e-482cae8ec36a +2025-06-06 00:57:10,637 - robotics.core - INFO - Deleted room 3b5989ea-d804-4de0-942e-482cae8ec36a +2025-06-06 00:57:10,640 - robotics.core - INFO - Created room 857e848e-23dc-4b3f-8b43-d63809c51581 +2025-06-06 00:57:10,642 - robotics.core - INFO - Producer producer_4415817920 joined room 857e848e-23dc-4b3f-8b43-d63809c51581 +2025-06-06 00:57:10,643 - robotics.core - INFO - Created room 50d1a943-4419-4a8a-b663-c22db7d6088f +2025-06-06 00:57:10,645 - robotics.core - INFO - Producer producer_4415820320 joined room 50d1a943-4419-4a8a-b663-c22db7d6088f +2025-06-06 00:57:10,645 - robotics.core - INFO - Producer producer_4415817920 left room 857e848e-23dc-4b3f-8b43-d63809c51581 +2025-06-06 00:57:10,645 - robotics.core - INFO - Producer producer_4415820320 left room 50d1a943-4419-4a8a-b663-c22db7d6088f +2025-06-06 00:57:10,646 - robotics.core - INFO - Deleted room 857e848e-23dc-4b3f-8b43-d63809c51581 +2025-06-06 00:57:10,647 - robotics.core - INFO - Deleted room 50d1a943-4419-4a8a-b663-c22db7d6088f +2025-06-06 00:57:10,652 - robotics.core - INFO - Created room ff9c8d7d-6ec7-4d98-9de9-10b64146c6e8 +2025-06-06 00:57:10,654 - robotics.core - INFO - Producer producer_4415826416 joined room ff9c8d7d-6ec7-4d98-9de9-10b64146c6e8 +2025-06-06 00:57:10,655 - robotics.core - INFO - Consumer consumer_4415828672 joined room ff9c8d7d-6ec7-4d98-9de9-10b64146c6e8 +2025-06-06 00:57:11,688 - robotics.core - INFO - Consumer consumer_4415828672 left room ff9c8d7d-6ec7-4d98-9de9-10b64146c6e8 +2025-06-06 00:57:11,688 - robotics.core - INFO - Producer producer_4415826416 left room ff9c8d7d-6ec7-4d98-9de9-10b64146c6e8 +2025-06-06 00:57:11,690 - robotics.core - INFO - Deleted room ff9c8d7d-6ec7-4d98-9de9-10b64146c6e8 +2025-06-06 00:57:11,714 - robotics.core - INFO - Created room b2b3b8e2-ff77-4276-8e60-45d719a285e8 +2025-06-06 00:57:11,719 - robotics.core - INFO - Producer producer_4415632736 joined room b2b3b8e2-ff77-4276-8e60-45d719a285e8 +2025-06-06 00:57:11,726 - robotics.core - INFO - Consumer consumer_4415631296 joined room b2b3b8e2-ff77-4276-8e60-45d719a285e8 +2025-06-06 00:57:11,730 - robotics.core - INFO - Consumer consumer_4415632112 joined room b2b3b8e2-ff77-4276-8e60-45d719a285e8 +2025-06-06 00:57:12,133 - robotics.core - INFO - Consumer consumer_4415631296 left room b2b3b8e2-ff77-4276-8e60-45d719a285e8 +2025-06-06 00:57:12,134 - robotics.core - INFO - Consumer consumer_4415632112 left room b2b3b8e2-ff77-4276-8e60-45d719a285e8 +2025-06-06 00:57:12,135 - robotics.core - INFO - Producer producer_4415632736 left room b2b3b8e2-ff77-4276-8e60-45d719a285e8 +2025-06-06 00:57:12,138 - robotics.core - INFO - Deleted room b2b3b8e2-ff77-4276-8e60-45d719a285e8 +2025-06-06 00:57:12,148 - robotics.core - INFO - Created room 9eb0280f-c5e4-4d32-a7a7-014a50791d7d +2025-06-06 00:57:12,155 - robotics.core - INFO - Producer producer_4415984688 joined room 9eb0280f-c5e4-4d32-a7a7-014a50791d7d +2025-06-06 00:57:12,158 - robotics.core - INFO - Consumer consumer_4415987424 joined room 9eb0280f-c5e4-4d32-a7a7-014a50791d7d +2025-06-06 00:57:12,162 - robotics.core - INFO - Consumer consumer_4415625632 joined room 9eb0280f-c5e4-4d32-a7a7-014a50791d7d +2025-06-06 00:57:12,364 - robotics.core - WARNING - ๐Ÿšจ Emergency stop triggered by producer_4415984688 in room 9eb0280f-c5e4-4d32-a7a7-014a50791d7d +2025-06-06 00:57:12,565 - robotics.core - INFO - Consumer consumer_4415987424 left room 9eb0280f-c5e4-4d32-a7a7-014a50791d7d +2025-06-06 00:57:12,566 - robotics.core - INFO - Consumer consumer_4415625632 left room 9eb0280f-c5e4-4d32-a7a7-014a50791d7d +2025-06-06 00:57:12,566 - robotics.core - INFO - Producer producer_4415984688 left room 9eb0280f-c5e4-4d32-a7a7-014a50791d7d +2025-06-06 00:57:12,568 - robotics.core - INFO - Deleted room 9eb0280f-c5e4-4d32-a7a7-014a50791d7d +2025-06-06 00:57:12,570 - robotics.core - INFO - Created room 8f2cbe57-c171-4750-aea3-abde1ec0c89f +2025-06-06 00:57:12,574 - robotics.core - INFO - Consumer consumer_4415987808 joined room 8f2cbe57-c171-4750-aea3-abde1ec0c89f +2025-06-06 00:57:12,576 - robotics.core - INFO - Producer producer_4415987568 joined room 8f2cbe57-c171-4750-aea3-abde1ec0c89f +2025-06-06 00:57:12,678 - robotics.core - INFO - Producer producer_4415987568 left room 8f2cbe57-c171-4750-aea3-abde1ec0c89f +2025-06-06 00:57:12,680 - robotics.core - INFO - Producer producer_4415987568 joined room 8f2cbe57-c171-4750-aea3-abde1ec0c89f +2025-06-06 00:57:12,882 - robotics.core - INFO - Producer producer_4415987568 left room 8f2cbe57-c171-4750-aea3-abde1ec0c89f +2025-06-06 00:57:12,884 - robotics.core - INFO - Consumer consumer_4415987808 left room 8f2cbe57-c171-4750-aea3-abde1ec0c89f +2025-06-06 00:57:12,888 - robotics.core - INFO - Deleted room 8f2cbe57-c171-4750-aea3-abde1ec0c89f +2025-06-06 00:57:12,895 - robotics.core - INFO - Created room 125b13c8-b78c-4d8b-833a-0a6d366f81ef +2025-06-06 00:57:12,903 - robotics.core - INFO - Producer producer_4415625152 joined room 125b13c8-b78c-4d8b-833a-0a6d366f81ef +2025-06-06 00:57:13,113 - robotics.core - INFO - Consumer consumer_4415628272 joined room 125b13c8-b78c-4d8b-833a-0a6d366f81ef +2025-06-06 00:57:13,125 - robotics.core - INFO - Consumer consumer_4415628272 left room 125b13c8-b78c-4d8b-833a-0a6d366f81ef +2025-06-06 00:57:13,126 - robotics.core - INFO - Producer producer_4415625152 left room 125b13c8-b78c-4d8b-833a-0a6d366f81ef +2025-06-06 00:57:13,129 - robotics.core - INFO - Deleted room 125b13c8-b78c-4d8b-833a-0a6d366f81ef +2025-06-06 00:57:13,138 - robotics.core - INFO - Created room a440a27a-304c-4e80-9b4d-7a339c246d35 +2025-06-06 00:57:13,142 - robotics.core - INFO - Producer producer_4415980272 joined room a440a27a-304c-4e80-9b4d-7a339c246d35 +2025-06-06 00:57:13,145 - robotics.core - INFO - Consumer consumer_4415986128 joined room a440a27a-304c-4e80-9b4d-7a339c246d35 +2025-06-06 00:57:13,253 - robotics.core - INFO - Consumer consumer_4415986128 left room a440a27a-304c-4e80-9b4d-7a339c246d35 +2025-06-06 00:57:13,255 - robotics.core - INFO - Producer producer_4415980272 left room a440a27a-304c-4e80-9b4d-7a339c246d35 +2025-06-06 00:57:13,255 - robotics.core - INFO - Deleted room a440a27a-304c-4e80-9b4d-7a339c246d35 +2025-06-06 00:57:13,263 - robotics.core - INFO - Created room f1d6202b-c81f-4aa2-9ca8-845d97e948eb +2025-06-06 00:57:13,267 - robotics.core - INFO - Producer producer_4415985024 joined room f1d6202b-c81f-4aa2-9ca8-845d97e948eb +2025-06-06 00:57:13,269 - robotics.core - INFO - Consumer consumer_4415982432 joined room f1d6202b-c81f-4aa2-9ca8-845d97e948eb +2025-06-06 00:57:14,104 - robotics.core - INFO - Consumer consumer_4415982432 left room f1d6202b-c81f-4aa2-9ca8-845d97e948eb +2025-06-06 00:57:14,105 - robotics.core - INFO - Producer producer_4415985024 left room f1d6202b-c81f-4aa2-9ca8-845d97e948eb +2025-06-06 00:57:14,108 - robotics.core - INFO - Deleted room f1d6202b-c81f-4aa2-9ca8-845d97e948eb +2025-06-06 00:57:14,122 - robotics.core - INFO - Created room ef049afb-635b-4f72-8920-0940dca5d089 +2025-06-06 00:57:14,128 - robotics.core - INFO - Producer producer_4415989392 joined room ef049afb-635b-4f72-8920-0940dca5d089 +2025-06-06 00:57:14,128 - robotics.core - INFO - Producer producer_4415989392 left room ef049afb-635b-4f72-8920-0940dca5d089 +2025-06-06 00:57:14,130 - robotics.core - INFO - Deleted room ef049afb-635b-4f72-8920-0940dca5d089 +2025-06-06 00:57:14,134 - robotics.core - INFO - Created room 6ccdb3e5-d00a-463c-b50d-2630ef0378d9 +2025-06-06 00:57:14,137 - robotics.core - INFO - Producer producer_4415823008 joined room 6ccdb3e5-d00a-463c-b50d-2630ef0378d9 +2025-06-06 00:57:14,145 - robotics.core - INFO - Producer producer_4415823008 left room 6ccdb3e5-d00a-463c-b50d-2630ef0378d9 +2025-06-06 00:57:14,145 - robotics.core - INFO - Deleted room 6ccdb3e5-d00a-463c-b50d-2630ef0378d9 +2025-06-06 00:57:14,148 - robotics.core - INFO - Created room a1e9d883-9c7c-4a06-afb9-79869c24b12c +2025-06-06 00:57:14,151 - robotics.core - INFO - Producer producer_4415816672 joined room a1e9d883-9c7c-4a06-afb9-79869c24b12c +2025-06-06 00:57:14,153 - robotics.core - INFO - Producer producer_4415816672 left room a1e9d883-9c7c-4a06-afb9-79869c24b12c +2025-06-06 00:57:14,153 - robotics.core - INFO - Deleted room a1e9d883-9c7c-4a06-afb9-79869c24b12c +2025-06-06 00:57:14,157 - robotics.core - INFO - Created room b149f4ac-7e5b-40c1-9a8b-cdfc51894cc0 +2025-06-06 00:57:14,160 - robotics.core - INFO - Producer producer_4415821376 joined room b149f4ac-7e5b-40c1-9a8b-cdfc51894cc0 +2025-06-06 00:57:14,162 - robotics.core - INFO - Producer producer_4415821376 left room b149f4ac-7e5b-40c1-9a8b-cdfc51894cc0 +2025-06-06 00:57:14,162 - robotics.core - INFO - Deleted room b149f4ac-7e5b-40c1-9a8b-cdfc51894cc0 +2025-06-06 00:57:14,164 - robotics.core - INFO - Created room 1b686521-a2a9-47fd-a5fd-b0dec5e188e7 +2025-06-06 00:57:14,167 - robotics.core - INFO - Producer producer_4415622176 joined room 1b686521-a2a9-47fd-a5fd-b0dec5e188e7 +2025-06-06 00:57:14,167 - robotics.core - WARNING - ๐Ÿšจ Emergency stop triggered by producer_4415622176 in room 1b686521-a2a9-47fd-a5fd-b0dec5e188e7 +2025-06-06 00:57:14,167 - robotics.core - WARNING - ๐Ÿšจ Emergency stop triggered by producer_4415622176 in room 1b686521-a2a9-47fd-a5fd-b0dec5e188e7 +2025-06-06 00:57:14,168 - robotics.core - INFO - Producer producer_4415622176 left room 1b686521-a2a9-47fd-a5fd-b0dec5e188e7 +2025-06-06 00:57:14,168 - robotics.core - INFO - Deleted room 1b686521-a2a9-47fd-a5fd-b0dec5e188e7 +2025-06-06 00:57:14,171 - robotics.core - INFO - Created room 56ba7af9-825f-4dfb-b0e9-cb4b0dcf332a +2025-06-06 00:57:14,174 - robotics.core - INFO - Producer producer_4415820368 joined room 56ba7af9-825f-4dfb-b0e9-cb4b0dcf332a +2025-06-06 00:57:14,177 - robotics.core - INFO - Producer producer_4415820368 left room 56ba7af9-825f-4dfb-b0e9-cb4b0dcf332a +2025-06-06 00:57:14,177 - robotics.core - INFO - Deleted room 56ba7af9-825f-4dfb-b0e9-cb4b0dcf332a +2025-06-06 00:57:14,179 - robotics.core - INFO - Created room 986d27b0-d106-4a7e-baa2-08a592f6d48b +2025-06-06 00:57:14,181 - robotics.core - INFO - Producer producer_4415633360 joined room 986d27b0-d106-4a7e-baa2-08a592f6d48b +2025-06-06 00:57:14,283 - robotics.core - INFO - Producer producer_4415633360 left room 986d27b0-d106-4a7e-baa2-08a592f6d48b +2025-06-06 00:57:14,388 - robotics.core - INFO - Deleted room 986d27b0-d106-4a7e-baa2-08a592f6d48b +2025-06-06 00:57:14,394 - robotics.core - INFO - Created room 462a7727-3164-413b-afee-c347fca3c743 +2025-06-06 00:57:14,398 - robotics.core - INFO - Producer producer_4415987568 joined room 462a7727-3164-413b-afee-c347fca3c743 +2025-06-06 00:57:14,399 - robotics.core - INFO - Created room 3f41a1fd-f346-4548-a7a7-61f9cdc69b60 +2025-06-06 00:57:14,400 - robotics.core - INFO - Producer producer_4415987568 left room 462a7727-3164-413b-afee-c347fca3c743 +2025-06-06 00:57:14,403 - robotics.core - INFO - Producer producer_4415987568 joined room 3f41a1fd-f346-4548-a7a7-61f9cdc69b60 +2025-06-06 00:57:14,404 - robotics.core - INFO - Producer producer_4415987568 left room 3f41a1fd-f346-4548-a7a7-61f9cdc69b60 +2025-06-06 00:57:14,404 - robotics.core - INFO - Deleted room 3f41a1fd-f346-4548-a7a7-61f9cdc69b60 +2025-06-06 00:57:14,407 - robotics.core - INFO - Deleted room 462a7727-3164-413b-afee-c347fca3c743 +2025-06-06 00:57:14,410 - robotics.core - INFO - Created room d744ba1a-1fbb-4791-9e63-54e7c99ff4f7 +2025-06-06 00:57:14,413 - robotics.core - INFO - Producer producer_4415994144 joined room d744ba1a-1fbb-4791-9e63-54e7c99ff4f7 +2025-06-06 00:57:14,413 - robotics.core - INFO - Producer producer_4415994144 left room d744ba1a-1fbb-4791-9e63-54e7c99ff4f7 +2025-06-06 00:57:14,415 - robotics.core - INFO - Deleted room d744ba1a-1fbb-4791-9e63-54e7c99ff4f7 +2025-06-06 00:57:14,417 - robotics.core - INFO - Created room d28c0eaa-7d13-432c-b2df-3b73dd7d7d98 +2025-06-06 00:57:14,421 - robotics.core - INFO - Producer producer_4415989056 joined room d28c0eaa-7d13-432c-b2df-3b73dd7d7d98 +2025-06-06 00:57:14,427 - robotics.core - INFO - Producer producer_4415989056 left room d28c0eaa-7d13-432c-b2df-3b73dd7d7d98 +2025-06-06 00:57:14,427 - robotics.core - INFO - Deleted room d28c0eaa-7d13-432c-b2df-3b73dd7d7d98 +2025-06-06 00:57:14,430 - robotics.core - INFO - Created room 50518147-d15f-40c3-b83f-1bbccfb07d04 +2025-06-06 00:57:14,432 - robotics.core - INFO - Producer custom-producer-123 joined room 50518147-d15f-40c3-b83f-1bbccfb07d04 +2025-06-06 00:57:14,433 - robotics.core - INFO - Producer custom-producer-123 left room 50518147-d15f-40c3-b83f-1bbccfb07d04 +2025-06-06 00:57:14,433 - robotics.core - INFO - Deleted room 50518147-d15f-40c3-b83f-1bbccfb07d04 +2025-06-06 00:57:14,436 - robotics.core - INFO - Created room 2e4daaa0-ac43-4fd3-a43f-80ef66169617 +2025-06-06 00:57:14,438 - robotics.core - INFO - Producer producer_4416023216 joined room 2e4daaa0-ac43-4fd3-a43f-80ef66169617 +2025-06-06 00:57:14,441 - robotics.core - INFO - Producer producer_4416023216 left room 2e4daaa0-ac43-4fd3-a43f-80ef66169617 +2025-06-06 00:57:14,441 - robotics.core - INFO - Deleted room 2e4daaa0-ac43-4fd3-a43f-80ef66169617 +2025-06-06 00:57:14,443 - robotics.core - INFO - Created room 97c69dda-cb63-495a-95b5-4ae34399905a +2025-06-06 00:57:14,445 - robotics.core - INFO - Producer producer_4415984112 joined room 97c69dda-cb63-495a-95b5-4ae34399905a +2025-06-06 00:57:14,558 - robotics.core - INFO - Producer producer_4415984112 left room 97c69dda-cb63-495a-95b5-4ae34399905a +2025-06-06 00:57:14,558 - robotics.core - INFO - Deleted room 97c69dda-cb63-495a-95b5-4ae34399905a +2025-06-06 00:57:14,566 - robotics.core - INFO - Created room fd88c1e5-229f-4bc6-9606-916f980fd352 +2025-06-06 00:57:14,567 - robotics.core - INFO - Deleted room fd88c1e5-229f-4bc6-9606-916f980fd352 +2025-06-06 00:57:14,569 - robotics.core - INFO - Created room f3c89e31-6b49-4aba-80ff-c0d91f22f0ed +2025-06-06 00:57:14,574 - robotics.core - INFO - Created room e57439ef-d158-4d75-a897-045334a73350 +2025-06-06 00:57:14,576 - robotics.core - INFO - Deleted room e57439ef-d158-4d75-a897-045334a73350 +2025-06-06 00:57:14,580 - robotics.core - INFO - Created room 57da9d93-03bc-4fcd-a19e-0c67a381fcf4 +2025-06-06 00:57:14,582 - robotics.core - INFO - Deleted room 57da9d93-03bc-4fcd-a19e-0c67a381fcf4 +2025-06-06 00:57:14,585 - robotics.core - INFO - Created room f8486e52-6c1b-4025-9915-0d5786394327 +2025-06-06 00:57:14,588 - robotics.core - INFO - Deleted room f8486e52-6c1b-4025-9915-0d5786394327 +2025-06-06 00:57:14,593 - robotics.core - INFO - Created room e9723fd2-9953-4a86-9907-1fa87d0d0501 +2025-06-06 00:58:47,991 - watchfiles.main - INFO - 1 change detected +2025-06-06 00:58:48,649 - watchfiles.main - INFO - 4 changes detected +2025-06-06 00:58:59,578 - watchfiles.main - INFO - 1 change detected +2025-06-06 00:59:00,219 - watchfiles.main - INFO - 3 changes detected +2025-06-06 00:59:12,474 - watchfiles.main - INFO - 1 change detected +2025-06-06 00:59:13,178 - watchfiles.main - INFO - 3 changes detected +2025-06-06 00:59:37,773 - robotics.core - INFO - Created room test-room-123 +2025-06-06 00:59:37,775 - robotics.core - INFO - Deleted room test-room-123 +2025-06-06 00:59:42,294 - robotics.core - INFO - Created room 255f3eb3-2bc9-4725-aa02-6bdbf0cc297a +2025-06-06 00:59:42,309 - robotics.core - INFO - Producer producer_4298886320 joined room 255f3eb3-2bc9-4725-aa02-6bdbf0cc297a +2025-06-06 00:59:42,311 - robotics.core - WARNING - Producer producer_4309866816 failed to join room 255f3eb3-2bc9-4725-aa02-6bdbf0cc297a - room already has producer producer_4298886320 +2025-06-06 00:59:42,328 - robotics.core - INFO - Producer producer_4298886320 left room 255f3eb3-2bc9-4725-aa02-6bdbf0cc297a +2025-06-06 00:59:42,328 - robotics.core - INFO - Deleted room 255f3eb3-2bc9-4725-aa02-6bdbf0cc297a +2025-06-06 01:00:25,926 - robotics.core - INFO - Created room a3c04020-4d8b-4678-a8af-f7cd3bdc07ce +2025-06-06 01:00:25,942 - robotics.core - INFO - Producer producer_4386737856 joined room a3c04020-4d8b-4678-a8af-f7cd3bdc07ce +2025-06-06 01:00:25,944 - robotics.core - WARNING - Producer producer_4396840384 failed to join room a3c04020-4d8b-4678-a8af-f7cd3bdc07ce - room already has producer producer_4386737856 +2025-06-06 01:00:25,946 - robotics.core - INFO - Producer producer_4386737856 left room a3c04020-4d8b-4678-a8af-f7cd3bdc07ce +2025-06-06 01:00:25,946 - robotics.core - INFO - Deleted room a3c04020-4d8b-4678-a8af-f7cd3bdc07ce +2025-06-06 01:00:30,888 - robotics.core - INFO - Created room 328956b9-1689-4d71-85ba-2f079f3cd1cf +2025-06-06 01:00:30,898 - robotics.core - INFO - Producer producer_4319332640 joined room 328956b9-1689-4d71-85ba-2f079f3cd1cf +2025-06-06 01:00:31,108 - robotics.core - INFO - Consumer consumer_4340020192 joined room 328956b9-1689-4d71-85ba-2f079f3cd1cf +2025-06-06 01:00:31,112 - robotics.core - INFO - Consumer consumer_4340020192 left room 328956b9-1689-4d71-85ba-2f079f3cd1cf +2025-06-06 01:00:31,113 - robotics.core - INFO - Producer producer_4319332640 left room 328956b9-1689-4d71-85ba-2f079f3cd1cf +2025-06-06 01:00:31,114 - robotics.core - INFO - Deleted room 328956b9-1689-4d71-85ba-2f079f3cd1cf +2025-06-06 01:00:35,830 - robotics.core - INFO - Created room fa12764e-9ce6-4831-8e63-ad6d591f47ab +2025-06-06 01:00:35,844 - robotics.core - INFO - Producer producer_4317201520 joined room fa12764e-9ce6-4831-8e63-ad6d591f47ab +2025-06-06 01:00:35,845 - robotics.core - INFO - Consumer consumer_4348032928 joined room fa12764e-9ce6-4831-8e63-ad6d591f47ab +2025-06-06 01:00:36,858 - robotics.core - INFO - Consumer consumer_4348032928 left room fa12764e-9ce6-4831-8e63-ad6d591f47ab +2025-06-06 01:00:36,858 - robotics.core - INFO - Producer producer_4317201520 left room fa12764e-9ce6-4831-8e63-ad6d591f47ab +2025-06-06 01:00:36,859 - robotics.core - INFO - Deleted room fa12764e-9ce6-4831-8e63-ad6d591f47ab +2025-06-06 01:00:41,722 - robotics.core - INFO - Created room 76d606fa-4c9d-41a8-9b53-cb8f50ac4b9f +2025-06-06 01:00:41,723 - robotics.core - INFO - Deleted room 76d606fa-4c9d-41a8-9b53-cb8f50ac4b9f +2025-06-06 01:00:41,725 - robotics.core - INFO - Created room test-room-123 +2025-06-06 01:00:41,727 - robotics.core - INFO - Deleted room test-room-123 +2025-06-06 01:00:41,729 - robotics.core - INFO - Created room d485b20b-3564-4754-9f25-475a2e37dbc1 +2025-06-06 01:00:41,732 - robotics.core - INFO - Deleted room d485b20b-3564-4754-9f25-475a2e37dbc1 +2025-06-06 01:00:41,734 - robotics.core - INFO - Created room 8d13f1c3-5972-4651-aff2-3dcfafc4555c +2025-06-06 01:00:41,736 - robotics.core - INFO - Deleted room 8d13f1c3-5972-4651-aff2-3dcfafc4555c +2025-06-06 01:00:41,739 - robotics.core - INFO - Created room 5f1591f3-f601-4566-8859-45cfe4b9a2f2 +2025-06-06 01:00:41,741 - robotics.core - INFO - Deleted room 5f1591f3-f601-4566-8859-45cfe4b9a2f2 +2025-06-06 01:00:41,744 - robotics.core - INFO - Created room d34c920b-60db-4ef3-88ca-1f80dc7e531a +2025-06-06 01:00:41,746 - robotics.core - INFO - Deleted room d34c920b-60db-4ef3-88ca-1f80dc7e531a +2025-06-06 01:00:45,938 - robotics.core - INFO - Created room f36a1907-be7f-464d-bbca-525486545dc9 +2025-06-06 01:00:45,954 - robotics.core - INFO - Consumer consumer_4328146608 joined room f36a1907-be7f-464d-bbca-525486545dc9 +2025-06-06 01:00:45,955 - robotics.core - INFO - Consumer consumer_4328146608 left room f36a1907-be7f-464d-bbca-525486545dc9 +2025-06-06 01:00:45,957 - robotics.core - INFO - Deleted room f36a1907-be7f-464d-bbca-525486545dc9 +2025-06-06 01:00:45,960 - robotics.core - INFO - Created room a98fd730-d7bd-492b-b035-0dc3e50d94a4 +2025-06-06 01:00:45,963 - robotics.core - INFO - Consumer consumer_4349097936 joined room a98fd730-d7bd-492b-b035-0dc3e50d94a4 +2025-06-06 01:00:45,964 - robotics.core - INFO - Consumer consumer_4349097936 left room a98fd730-d7bd-492b-b035-0dc3e50d94a4 +2025-06-06 01:00:45,965 - robotics.core - INFO - Deleted room a98fd730-d7bd-492b-b035-0dc3e50d94a4 +2025-06-06 01:00:45,967 - robotics.core - INFO - Created room 494fe9a6-4eda-4389-8f29-332d03d252c1 +2025-06-06 01:00:45,969 - robotics.core - INFO - Consumer consumer_4348746336 joined room 494fe9a6-4eda-4389-8f29-332d03d252c1 +2025-06-06 01:00:45,971 - robotics.core - INFO - Consumer consumer_4348746336 left room 494fe9a6-4eda-4389-8f29-332d03d252c1 +2025-06-06 01:00:45,971 - robotics.core - INFO - Deleted room 494fe9a6-4eda-4389-8f29-332d03d252c1 +2025-06-06 01:00:45,975 - robotics.core - INFO - Created room e073ebf7-46a6-4b34-8aef-06b3e59eb02e +2025-06-06 01:00:45,977 - robotics.core - INFO - Consumer consumer_4349346304 joined room e073ebf7-46a6-4b34-8aef-06b3e59eb02e +2025-06-06 01:00:46,079 - robotics.core - INFO - Consumer consumer_4349346304 left room e073ebf7-46a6-4b34-8aef-06b3e59eb02e +2025-06-06 01:00:46,184 - robotics.core - INFO - Deleted room e073ebf7-46a6-4b34-8aef-06b3e59eb02e +2025-06-06 01:00:46,188 - robotics.core - INFO - Created room eae9b2a9-8ab5-42a1-a523-af46c41dfec9 +2025-06-06 01:00:46,193 - robotics.core - INFO - Consumer consumer_4349348608 joined room eae9b2a9-8ab5-42a1-a523-af46c41dfec9 +2025-06-06 01:00:46,197 - robotics.core - INFO - Consumer consumer_4349348320 joined room eae9b2a9-8ab5-42a1-a523-af46c41dfec9 +2025-06-06 01:00:46,198 - robotics.core - INFO - Consumer consumer_4349348608 left room eae9b2a9-8ab5-42a1-a523-af46c41dfec9 +2025-06-06 01:00:46,198 - robotics.core - INFO - Consumer consumer_4349348320 left room eae9b2a9-8ab5-42a1-a523-af46c41dfec9 +2025-06-06 01:00:46,201 - robotics.core - INFO - Deleted room eae9b2a9-8ab5-42a1-a523-af46c41dfec9 +2025-06-06 01:00:46,204 - robotics.core - INFO - Created room 621b2290-43c9-4c97-b6eb-df5a5cf7fd77 +2025-06-06 01:00:46,207 - robotics.core - INFO - Producer producer_4349098896 joined room 621b2290-43c9-4c97-b6eb-df5a5cf7fd77 +2025-06-06 01:00:46,210 - robotics.core - INFO - Consumer consumer_4349098176 joined room 621b2290-43c9-4c97-b6eb-df5a5cf7fd77 +2025-06-06 01:00:46,534 - robotics.core - INFO - Consumer consumer_4349098176 left room 621b2290-43c9-4c97-b6eb-df5a5cf7fd77 +2025-06-06 01:00:46,535 - robotics.core - INFO - Producer producer_4349098896 left room 621b2290-43c9-4c97-b6eb-df5a5cf7fd77 +2025-06-06 01:00:46,535 - robotics.core - INFO - Deleted room 621b2290-43c9-4c97-b6eb-df5a5cf7fd77 +2025-06-06 01:00:46,538 - robotics.core - INFO - Created room 2673524a-ec08-4261-b7fb-300cb45cfc73 +2025-06-06 01:00:46,541 - robotics.core - INFO - Producer producer_4349355136 joined room 2673524a-ec08-4261-b7fb-300cb45cfc73 +2025-06-06 01:00:46,543 - robotics.core - INFO - Consumer consumer_4349357008 joined room 2673524a-ec08-4261-b7fb-300cb45cfc73 +2025-06-06 01:00:46,849 - robotics.core - INFO - Consumer consumer_4349357008 left room 2673524a-ec08-4261-b7fb-300cb45cfc73 +2025-06-06 01:00:46,849 - robotics.core - INFO - Producer producer_4349355136 left room 2673524a-ec08-4261-b7fb-300cb45cfc73 +2025-06-06 01:00:46,849 - robotics.core - INFO - Deleted room 2673524a-ec08-4261-b7fb-300cb45cfc73 +2025-06-06 01:00:46,856 - robotics.core - INFO - Created room d949380c-2c76-42b5-a82e-83c3f190737a +2025-06-06 01:00:46,860 - robotics.core - INFO - Producer producer_4349361568 joined room d949380c-2c76-42b5-a82e-83c3f190737a +2025-06-06 01:00:46,862 - robotics.core - INFO - Consumer consumer_4349098368 joined room d949380c-2c76-42b5-a82e-83c3f190737a +2025-06-06 01:00:47,523 - robotics.core - INFO - Consumer consumer_4349098368 left room d949380c-2c76-42b5-a82e-83c3f190737a +2025-06-06 01:00:47,523 - robotics.core - INFO - Producer producer_4349361568 left room d949380c-2c76-42b5-a82e-83c3f190737a +2025-06-06 01:00:47,524 - robotics.core - INFO - Deleted room d949380c-2c76-42b5-a82e-83c3f190737a +2025-06-06 01:00:47,527 - robotics.core - INFO - Created room b84165c1-1fcf-4d4b-bfcd-f11a06d8de15 +2025-06-06 01:00:47,530 - robotics.core - INFO - Producer producer_4349351536 joined room b84165c1-1fcf-4d4b-bfcd-f11a06d8de15 +2025-06-06 01:00:47,532 - robotics.core - INFO - Consumer consumer_4349356864 joined room b84165c1-1fcf-4d4b-bfcd-f11a06d8de15 +2025-06-06 01:00:47,643 - robotics.core - WARNING - ๐Ÿšจ Emergency stop triggered by producer_4349351536 in room b84165c1-1fcf-4d4b-bfcd-f11a06d8de15 +2025-06-06 01:00:47,848 - robotics.core - INFO - Consumer consumer_4349356864 left room b84165c1-1fcf-4d4b-bfcd-f11a06d8de15 +2025-06-06 01:00:47,848 - robotics.core - INFO - Producer producer_4349351536 left room b84165c1-1fcf-4d4b-bfcd-f11a06d8de15 +2025-06-06 01:00:47,848 - robotics.core - INFO - Deleted room b84165c1-1fcf-4d4b-bfcd-f11a06d8de15 +2025-06-06 01:00:47,858 - robotics.core - INFO - Created room fad51827-b90e-4808-a75f-db49dd9b3d57 +2025-06-06 01:00:47,863 - robotics.core - INFO - Consumer custom-consumer-456 joined room fad51827-b90e-4808-a75f-db49dd9b3d57 +2025-06-06 01:00:47,867 - robotics.core - INFO - Consumer custom-consumer-456 left room fad51827-b90e-4808-a75f-db49dd9b3d57 +2025-06-06 01:00:47,867 - robotics.core - INFO - Deleted room fad51827-b90e-4808-a75f-db49dd9b3d57 +2025-06-06 01:00:47,871 - robotics.core - INFO - Created room 099269df-7a82-4ab3-891a-daf29cb67ff9 +2025-06-06 01:00:47,875 - robotics.core - INFO - Consumer consumer_4349346160 joined room 099269df-7a82-4ab3-891a-daf29cb67ff9 +2025-06-06 01:00:47,878 - robotics.core - INFO - Consumer consumer_4349346160 left room 099269df-7a82-4ab3-891a-daf29cb67ff9 +2025-06-06 01:00:47,880 - robotics.core - INFO - Deleted room 099269df-7a82-4ab3-891a-daf29cb67ff9 +2025-06-06 01:00:47,883 - robotics.core - INFO - Created room b816a1a6-e584-4a8c-9097-e37aa01c8232 +2025-06-06 01:00:47,886 - robotics.core - INFO - Consumer consumer_4349358592 joined room b816a1a6-e584-4a8c-9097-e37aa01c8232 +2025-06-06 01:00:47,887 - robotics.core - INFO - Consumer consumer_4349358592 left room b816a1a6-e584-4a8c-9097-e37aa01c8232 +2025-06-06 01:00:47,889 - robotics.core - INFO - Consumer consumer_4349358592 joined room b816a1a6-e584-4a8c-9097-e37aa01c8232 +2025-06-06 01:00:47,891 - robotics.core - INFO - Consumer consumer_4349358592 left room b816a1a6-e584-4a8c-9097-e37aa01c8232 +2025-06-06 01:00:47,891 - robotics.core - INFO - Deleted room b816a1a6-e584-4a8c-9097-e37aa01c8232 +2025-06-06 01:00:47,894 - robotics.core - INFO - Created room 20ed5a50-bdda-4ac0-bd58-7fadeb5fefa4 +2025-06-06 01:00:47,897 - robotics.core - INFO - Producer producer_4349098560 joined room 20ed5a50-bdda-4ac0-bd58-7fadeb5fefa4 +2025-06-06 01:00:47,898 - robotics.core - INFO - Consumer consumer_4349091408 joined room 20ed5a50-bdda-4ac0-bd58-7fadeb5fefa4 +2025-06-06 01:00:48,207 - robotics.core - INFO - Consumer consumer_4349091408 left room 20ed5a50-bdda-4ac0-bd58-7fadeb5fefa4 +2025-06-06 01:00:48,207 - robotics.core - INFO - Producer producer_4349098560 left room 20ed5a50-bdda-4ac0-bd58-7fadeb5fefa4 +2025-06-06 01:00:48,207 - robotics.core - INFO - Deleted room 20ed5a50-bdda-4ac0-bd58-7fadeb5fefa4 +2025-06-06 01:00:48,214 - robotics.core - INFO - Created room d5214530-9b3c-4579-8f42-da70b8433c50 +2025-06-06 01:00:48,217 - robotics.core - INFO - Producer producer_4349360896 joined room d5214530-9b3c-4579-8f42-da70b8433c50 +2025-06-06 01:00:48,218 - robotics.core - INFO - Producer producer_4349360896 left room d5214530-9b3c-4579-8f42-da70b8433c50 +2025-06-06 01:00:48,219 - robotics.core - INFO - Deleted room d5214530-9b3c-4579-8f42-da70b8433c50 +2025-06-06 01:00:48,224 - robotics.core - INFO - Created room e3372b8b-f1b7-41d2-a7e9-2d3a55b64ceb +2025-06-06 01:00:48,227 - robotics.core - INFO - Producer producer_4348739904 joined room e3372b8b-f1b7-41d2-a7e9-2d3a55b64ceb +2025-06-06 01:00:48,228 - robotics.core - INFO - Producer producer_4348739904 left room e3372b8b-f1b7-41d2-a7e9-2d3a55b64ceb +2025-06-06 01:00:48,229 - robotics.core - INFO - Deleted room e3372b8b-f1b7-41d2-a7e9-2d3a55b64ceb +2025-06-06 01:00:48,231 - robotics.core - INFO - Created room 6c1f3e25-4cbc-45ae-a802-a383332724cf +2025-06-06 01:00:48,234 - robotics.core - INFO - Consumer consumer_4349349568 joined room 6c1f3e25-4cbc-45ae-a802-a383332724cf +2025-06-06 01:00:48,237 - robotics.core - INFO - Consumer consumer_4349349568 left room 6c1f3e25-4cbc-45ae-a802-a383332724cf +2025-06-06 01:00:48,237 - robotics.core - INFO - Deleted room 6c1f3e25-4cbc-45ae-a802-a383332724cf +2025-06-06 01:00:48,240 - robotics.core - INFO - Created room 89b143de-2d1f-413b-b5eb-90b929507e9b +2025-06-06 01:00:48,242 - robotics.core - INFO - Producer producer_4349677920 joined room 89b143de-2d1f-413b-b5eb-90b929507e9b +2025-06-06 01:00:48,246 - robotics.core - INFO - Consumer consumer_4349677824 joined room 89b143de-2d1f-413b-b5eb-90b929507e9b +2025-06-06 01:00:48,549 - robotics.core - INFO - Consumer consumer_4349677824 left room 89b143de-2d1f-413b-b5eb-90b929507e9b +2025-06-06 01:00:48,549 - robotics.core - INFO - Producer producer_4349677920 left room 89b143de-2d1f-413b-b5eb-90b929507e9b +2025-06-06 01:00:48,551 - robotics.core - INFO - Deleted room 89b143de-2d1f-413b-b5eb-90b929507e9b +2025-06-06 01:00:48,554 - robotics.core - INFO - Created room 6c477e51-5e56-4d67-a987-45d53c08862b +2025-06-06 01:00:48,557 - robotics.core - INFO - Producer producer_4349353984 joined room 6c477e51-5e56-4d67-a987-45d53c08862b +2025-06-06 01:00:48,559 - robotics.core - INFO - Consumer consumer_4349682192 joined room 6c477e51-5e56-4d67-a987-45d53c08862b +2025-06-06 01:00:48,559 - robotics.core - INFO - Consumer consumer_4349682192 left room 6c477e51-5e56-4d67-a987-45d53c08862b +2025-06-06 01:00:48,560 - robotics.core - INFO - Producer producer_4349353984 left room 6c477e51-5e56-4d67-a987-45d53c08862b +2025-06-06 01:00:48,561 - robotics.core - INFO - Deleted room 6c477e51-5e56-4d67-a987-45d53c08862b +2025-06-06 01:00:48,563 - robotics.core - INFO - Created room 4f4e4ff9-8edd-4d55-b293-ea0bf4a3f1a6 +2025-06-06 01:00:48,564 - robotics.core - INFO - Producer producer_4349679840 joined room 4f4e4ff9-8edd-4d55-b293-ea0bf4a3f1a6 +2025-06-06 01:00:48,566 - robotics.core - INFO - Created room 4679c70a-2ac0-405f-9987-1e5f35fd8cea +2025-06-06 01:00:48,567 - robotics.core - INFO - Producer producer_4349683440 joined room 4679c70a-2ac0-405f-9987-1e5f35fd8cea +2025-06-06 01:00:48,568 - robotics.core - INFO - Producer producer_4349679840 left room 4f4e4ff9-8edd-4d55-b293-ea0bf4a3f1a6 +2025-06-06 01:00:48,568 - robotics.core - INFO - Producer producer_4349683440 left room 4679c70a-2ac0-405f-9987-1e5f35fd8cea +2025-06-06 01:00:48,569 - robotics.core - INFO - Deleted room 4f4e4ff9-8edd-4d55-b293-ea0bf4a3f1a6 +2025-06-06 01:00:48,570 - robotics.core - INFO - Deleted room 4679c70a-2ac0-405f-9987-1e5f35fd8cea +2025-06-06 01:00:48,575 - robotics.core - INFO - Created room f99dded7-133a-414d-b1e3-6583e916e484 +2025-06-06 01:00:48,577 - robotics.core - INFO - Producer producer_4349678352 joined room f99dded7-133a-414d-b1e3-6583e916e484 +2025-06-06 01:00:48,579 - robotics.core - INFO - Consumer consumer_4349788240 joined room f99dded7-133a-414d-b1e3-6583e916e484 +2025-06-06 01:00:49,592 - robotics.core - INFO - Consumer consumer_4349788240 left room f99dded7-133a-414d-b1e3-6583e916e484 +2025-06-06 01:00:49,593 - robotics.core - INFO - Producer producer_4349678352 left room f99dded7-133a-414d-b1e3-6583e916e484 +2025-06-06 01:00:49,594 - robotics.core - INFO - Deleted room f99dded7-133a-414d-b1e3-6583e916e484 +2025-06-06 01:00:49,596 - robotics.core - INFO - Created room ff16dcf1-5c3d-4822-9090-9c03c8da59af +2025-06-06 01:00:49,599 - robotics.core - INFO - Producer producer_4349689824 joined room ff16dcf1-5c3d-4822-9090-9c03c8da59af +2025-06-06 01:00:49,601 - robotics.core - INFO - Consumer consumer_4349677728 joined room ff16dcf1-5c3d-4822-9090-9c03c8da59af +2025-06-06 01:00:49,602 - robotics.core - INFO - Consumer consumer_4349347888 joined room ff16dcf1-5c3d-4822-9090-9c03c8da59af +2025-06-06 01:00:50,005 - robotics.core - INFO - Consumer consumer_4349677728 left room ff16dcf1-5c3d-4822-9090-9c03c8da59af +2025-06-06 01:00:50,006 - robotics.core - INFO - Consumer consumer_4349347888 left room ff16dcf1-5c3d-4822-9090-9c03c8da59af +2025-06-06 01:00:50,006 - robotics.core - INFO - Producer producer_4349689824 left room ff16dcf1-5c3d-4822-9090-9c03c8da59af +2025-06-06 01:00:50,008 - robotics.core - INFO - Deleted room ff16dcf1-5c3d-4822-9090-9c03c8da59af +2025-06-06 01:00:50,011 - robotics.core - INFO - Created room bc75950e-14e8-406f-bdbd-26c0cec337aa +2025-06-06 01:00:50,014 - robotics.core - INFO - Producer producer_4349792848 joined room bc75950e-14e8-406f-bdbd-26c0cec337aa +2025-06-06 01:00:50,016 - robotics.core - INFO - Consumer consumer_4349688672 joined room bc75950e-14e8-406f-bdbd-26c0cec337aa +2025-06-06 01:00:50,018 - robotics.core - INFO - Consumer consumer_4349686368 joined room bc75950e-14e8-406f-bdbd-26c0cec337aa +2025-06-06 01:00:50,221 - robotics.core - WARNING - ๐Ÿšจ Emergency stop triggered by producer_4349792848 in room bc75950e-14e8-406f-bdbd-26c0cec337aa +2025-06-06 01:00:50,424 - robotics.core - INFO - Consumer consumer_4349688672 left room bc75950e-14e8-406f-bdbd-26c0cec337aa +2025-06-06 01:00:50,425 - robotics.core - INFO - Consumer consumer_4349686368 left room bc75950e-14e8-406f-bdbd-26c0cec337aa +2025-06-06 01:00:50,426 - robotics.core - INFO - Producer producer_4349792848 left room bc75950e-14e8-406f-bdbd-26c0cec337aa +2025-06-06 01:00:50,429 - robotics.core - INFO - Deleted room bc75950e-14e8-406f-bdbd-26c0cec337aa +2025-06-06 01:00:50,442 - robotics.core - INFO - Created room 0d2c5cbb-6031-4438-8f75-e31fcaf577e6 +2025-06-06 01:00:50,445 - robotics.core - INFO - Consumer consumer_4349788816 joined room 0d2c5cbb-6031-4438-8f75-e31fcaf577e6 +2025-06-06 01:00:50,448 - robotics.core - INFO - Producer producer_4349789200 joined room 0d2c5cbb-6031-4438-8f75-e31fcaf577e6 +2025-06-06 01:00:50,550 - robotics.core - INFO - Producer producer_4349789200 left room 0d2c5cbb-6031-4438-8f75-e31fcaf577e6 +2025-06-06 01:00:50,552 - robotics.core - INFO - Producer producer_4349789200 joined room 0d2c5cbb-6031-4438-8f75-e31fcaf577e6 +2025-06-06 01:00:50,759 - robotics.core - INFO - Producer producer_4349789200 left room 0d2c5cbb-6031-4438-8f75-e31fcaf577e6 +2025-06-06 01:00:50,761 - robotics.core - INFO - Consumer consumer_4349788816 left room 0d2c5cbb-6031-4438-8f75-e31fcaf577e6 +2025-06-06 01:00:50,763 - robotics.core - INFO - Deleted room 0d2c5cbb-6031-4438-8f75-e31fcaf577e6 +2025-06-06 01:00:50,768 - robotics.core - INFO - Created room 8cb23610-97c2-4810-b7bf-74ea321db01b +2025-06-06 01:00:50,772 - robotics.core - INFO - Producer producer_4349679024 joined room 8cb23610-97c2-4810-b7bf-74ea321db01b +2025-06-06 01:00:50,981 - robotics.core - INFO - Consumer consumer_4349682912 joined room 8cb23610-97c2-4810-b7bf-74ea321db01b +2025-06-06 01:00:50,989 - robotics.core - INFO - Consumer consumer_4349682912 left room 8cb23610-97c2-4810-b7bf-74ea321db01b +2025-06-06 01:00:50,990 - robotics.core - INFO - Producer producer_4349679024 left room 8cb23610-97c2-4810-b7bf-74ea321db01b +2025-06-06 01:00:50,992 - robotics.core - INFO - Deleted room 8cb23610-97c2-4810-b7bf-74ea321db01b +2025-06-06 01:00:50,997 - robotics.core - INFO - Created room 4d4790d3-c831-4580-8b48-19639025aea0 +2025-06-06 01:00:51,001 - robotics.core - INFO - Producer producer_4349688288 joined room 4d4790d3-c831-4580-8b48-19639025aea0 +2025-06-06 01:00:51,005 - robotics.core - INFO - Consumer consumer_4349797456 joined room 4d4790d3-c831-4580-8b48-19639025aea0 +2025-06-06 01:00:51,113 - robotics.core - INFO - Producer producer_4349688288 left room 4d4790d3-c831-4580-8b48-19639025aea0 +2025-06-06 01:00:51,221 - robotics.core - INFO - Consumer consumer_4349797456 left room 4d4790d3-c831-4580-8b48-19639025aea0 +2025-06-06 01:00:51,226 - robotics.core - INFO - Deleted room 4d4790d3-c831-4580-8b48-19639025aea0 +2025-06-06 01:00:51,233 - robotics.core - INFO - Created room f5bd2a6f-b413-4e98-97e4-7750bb018ecc +2025-06-06 01:00:51,237 - robotics.core - INFO - Producer producer_4349679648 joined room f5bd2a6f-b413-4e98-97e4-7750bb018ecc +2025-06-06 01:00:51,241 - robotics.core - INFO - Consumer consumer_4349792416 joined room f5bd2a6f-b413-4e98-97e4-7750bb018ecc +2025-06-06 01:00:52,068 - robotics.core - INFO - Consumer consumer_4349792416 left room f5bd2a6f-b413-4e98-97e4-7750bb018ecc +2025-06-06 01:00:52,069 - robotics.core - INFO - Producer producer_4349679648 left room f5bd2a6f-b413-4e98-97e4-7750bb018ecc +2025-06-06 01:00:52,070 - robotics.core - INFO - Deleted room f5bd2a6f-b413-4e98-97e4-7750bb018ecc +2025-06-06 01:00:52,073 - robotics.core - INFO - Created room 420f6042-6037-4da6-ac95-d4cc521741c0 +2025-06-06 01:00:52,076 - robotics.core - INFO - Producer producer_4349839456 joined room 420f6042-6037-4da6-ac95-d4cc521741c0 +2025-06-06 01:00:52,077 - robotics.core - INFO - Producer producer_4349839456 left room 420f6042-6037-4da6-ac95-d4cc521741c0 +2025-06-06 01:00:52,078 - robotics.core - INFO - Deleted room 420f6042-6037-4da6-ac95-d4cc521741c0 +2025-06-06 01:00:52,080 - robotics.core - INFO - Created room aa2016d2-707a-488b-a744-6e091b530e27 +2025-06-06 01:00:52,082 - robotics.core - INFO - Producer producer_4349792800 joined room aa2016d2-707a-488b-a744-6e091b530e27 +2025-06-06 01:00:52,084 - robotics.core - INFO - Producer producer_4349792800 left room aa2016d2-707a-488b-a744-6e091b530e27 +2025-06-06 01:00:52,084 - robotics.core - INFO - Deleted room aa2016d2-707a-488b-a744-6e091b530e27 +2025-06-06 01:00:52,087 - robotics.core - INFO - Created room 49706ca8-fbcb-4e37-9fc8-715c69aa366a +2025-06-06 01:00:52,090 - robotics.core - INFO - Producer producer_4349840224 joined room 49706ca8-fbcb-4e37-9fc8-715c69aa366a +2025-06-06 01:00:52,092 - robotics.core - INFO - Producer producer_4349840224 left room 49706ca8-fbcb-4e37-9fc8-715c69aa366a +2025-06-06 01:00:52,092 - robotics.core - INFO - Deleted room 49706ca8-fbcb-4e37-9fc8-715c69aa366a +2025-06-06 01:00:52,094 - robotics.core - INFO - Created room 4a1adc1b-305b-4012-a2ac-862ff3987899 +2025-06-06 01:00:52,096 - robotics.core - INFO - Producer producer_4349798896 joined room 4a1adc1b-305b-4012-a2ac-862ff3987899 +2025-06-06 01:00:52,098 - robotics.core - INFO - Producer producer_4349798896 left room 4a1adc1b-305b-4012-a2ac-862ff3987899 +2025-06-06 01:00:52,098 - robotics.core - INFO - Deleted room 4a1adc1b-305b-4012-a2ac-862ff3987899 +2025-06-06 01:00:52,100 - robotics.core - INFO - Created room db3e6a4c-1c82-4619-9219-f600eb61ed6f +2025-06-06 01:00:52,102 - robotics.core - INFO - Producer producer_4349796064 joined room db3e6a4c-1c82-4619-9219-f600eb61ed6f +2025-06-06 01:00:52,103 - robotics.core - WARNING - ๐Ÿšจ Emergency stop triggered by producer_4349796064 in room db3e6a4c-1c82-4619-9219-f600eb61ed6f +2025-06-06 01:00:52,103 - robotics.core - WARNING - ๐Ÿšจ Emergency stop triggered by producer_4349796064 in room db3e6a4c-1c82-4619-9219-f600eb61ed6f +2025-06-06 01:00:52,104 - robotics.core - INFO - Producer producer_4349796064 left room db3e6a4c-1c82-4619-9219-f600eb61ed6f +2025-06-06 01:00:52,104 - robotics.core - INFO - Deleted room db3e6a4c-1c82-4619-9219-f600eb61ed6f +2025-06-06 01:00:52,106 - robotics.core - INFO - Created room ccc1ae88-3e02-42bb-adb6-0158ea8fb357 +2025-06-06 01:00:52,109 - robotics.core - INFO - Producer producer_4349797792 joined room ccc1ae88-3e02-42bb-adb6-0158ea8fb357 +2025-06-06 01:00:52,110 - robotics.core - INFO - Producer producer_4349797792 left room ccc1ae88-3e02-42bb-adb6-0158ea8fb357 +2025-06-06 01:00:52,110 - robotics.core - INFO - Deleted room ccc1ae88-3e02-42bb-adb6-0158ea8fb357 +2025-06-06 01:00:52,113 - robotics.core - INFO - Created room 3c444039-f8b0-4c7c-8442-85f93a695689 +2025-06-06 01:00:52,115 - robotics.core - INFO - Producer producer_4349789392 joined room 3c444039-f8b0-4c7c-8442-85f93a695689 +2025-06-06 01:00:52,217 - robotics.core - INFO - Producer producer_4349789392 left room 3c444039-f8b0-4c7c-8442-85f93a695689 +2025-06-06 01:00:52,324 - robotics.core - INFO - Deleted room 3c444039-f8b0-4c7c-8442-85f93a695689 +2025-06-06 01:00:52,332 - robotics.core - INFO - Created room c914b4f6-26d1-45a1-8c2f-40f51c96ef6e +2025-06-06 01:00:52,336 - robotics.core - INFO - Producer producer_4349801440 joined room c914b4f6-26d1-45a1-8c2f-40f51c96ef6e +2025-06-06 01:00:52,338 - robotics.core - INFO - Created room e6837e52-b5a6-44fc-aac5-aac0e3c5bfd4 +2025-06-06 01:00:52,339 - robotics.core - INFO - Producer producer_4349801440 left room c914b4f6-26d1-45a1-8c2f-40f51c96ef6e +2025-06-06 01:00:52,341 - robotics.core - INFO - Producer producer_4349801440 joined room e6837e52-b5a6-44fc-aac5-aac0e3c5bfd4 +2025-06-06 01:00:52,343 - robotics.core - INFO - Producer producer_4349801440 left room e6837e52-b5a6-44fc-aac5-aac0e3c5bfd4 +2025-06-06 01:00:52,343 - robotics.core - INFO - Deleted room e6837e52-b5a6-44fc-aac5-aac0e3c5bfd4 +2025-06-06 01:00:52,346 - robotics.core - INFO - Deleted room c914b4f6-26d1-45a1-8c2f-40f51c96ef6e +2025-06-06 01:00:52,349 - robotics.core - INFO - Created room 1f8142b5-98d5-4b4e-9f86-c35f74e1d97b +2025-06-06 01:00:52,352 - robotics.core - INFO - Producer producer_4349801056 joined room 1f8142b5-98d5-4b4e-9f86-c35f74e1d97b +2025-06-06 01:00:52,352 - robotics.core - INFO - Producer producer_4349801056 left room 1f8142b5-98d5-4b4e-9f86-c35f74e1d97b +2025-06-06 01:00:52,353 - robotics.core - INFO - Deleted room 1f8142b5-98d5-4b4e-9f86-c35f74e1d97b +2025-06-06 01:00:52,356 - robotics.core - INFO - Created room 8f8d1e71-642d-4c91-ab49-62b6c22063e6 +2025-06-06 01:00:52,360 - robotics.core - INFO - Producer producer_4349795344 joined room 8f8d1e71-642d-4c91-ab49-62b6c22063e6 +2025-06-06 01:00:52,363 - robotics.core - WARNING - Producer producer_4349796304 failed to join room 8f8d1e71-642d-4c91-ab49-62b6c22063e6 - room already has producer producer_4349795344 +2025-06-06 01:00:52,364 - robotics.core - INFO - Producer producer_4349795344 left room 8f8d1e71-642d-4c91-ab49-62b6c22063e6 +2025-06-06 01:00:52,364 - robotics.core - INFO - Deleted room 8f8d1e71-642d-4c91-ab49-62b6c22063e6 +2025-06-06 01:00:52,366 - robotics.core - INFO - Created room ab0a19c0-f1f8-4132-858b-7cdeb87e5799 +2025-06-06 01:00:52,369 - robotics.core - INFO - Producer custom-producer-123 joined room ab0a19c0-f1f8-4132-858b-7cdeb87e5799 +2025-06-06 01:00:52,370 - robotics.core - INFO - Producer custom-producer-123 left room ab0a19c0-f1f8-4132-858b-7cdeb87e5799 +2025-06-06 01:00:52,370 - robotics.core - INFO - Deleted room ab0a19c0-f1f8-4132-858b-7cdeb87e5799 +2025-06-06 01:00:52,372 - robotics.core - INFO - Created room f8e163cd-f186-45d7-a8b3-cd454c6e6c6f +2025-06-06 01:00:52,375 - robotics.core - INFO - Producer producer_4349679264 joined room f8e163cd-f186-45d7-a8b3-cd454c6e6c6f +2025-06-06 01:00:52,377 - robotics.core - INFO - Producer producer_4349679264 left room f8e163cd-f186-45d7-a8b3-cd454c6e6c6f +2025-06-06 01:00:52,377 - robotics.core - INFO - Deleted room f8e163cd-f186-45d7-a8b3-cd454c6e6c6f +2025-06-06 01:00:52,379 - robotics.core - INFO - Created room e793a37d-7420-47e7-9be2-f62078ae107f +2025-06-06 01:00:52,381 - robotics.core - INFO - Producer producer_4349801056 joined room e793a37d-7420-47e7-9be2-f62078ae107f +2025-06-06 01:00:52,494 - robotics.core - INFO - Producer producer_4349801056 left room e793a37d-7420-47e7-9be2-f62078ae107f +2025-06-06 01:00:52,494 - robotics.core - INFO - Deleted room e793a37d-7420-47e7-9be2-f62078ae107f +2025-06-06 01:00:52,500 - robotics.core - INFO - Created room e12a816c-6edf-4917-98ff-058cc27b6dfc +2025-06-06 01:00:52,501 - robotics.core - INFO - Deleted room e12a816c-6edf-4917-98ff-058cc27b6dfc +2025-06-06 01:00:52,504 - robotics.core - INFO - Created room test-room-123 +2025-06-06 01:00:52,505 - robotics.core - INFO - Deleted room test-room-123 +2025-06-06 01:00:52,507 - robotics.core - INFO - Created room efdc1c93-3f90-4b8b-8718-d24bfd5a5ecd +2025-06-06 01:00:52,510 - robotics.core - INFO - Deleted room efdc1c93-3f90-4b8b-8718-d24bfd5a5ecd +2025-06-06 01:00:52,512 - robotics.core - INFO - Created room 13332468-7ee9-4ba1-9756-1c93a6269ab7 +2025-06-06 01:00:52,514 - robotics.core - INFO - Deleted room 13332468-7ee9-4ba1-9756-1c93a6269ab7 +2025-06-06 01:00:52,516 - robotics.core - INFO - Created room ba9c35a3-59e7-45a2-8cf8-fbf77a180e6b +2025-06-06 01:00:52,518 - robotics.core - INFO - Deleted room ba9c35a3-59e7-45a2-8cf8-fbf77a180e6b +2025-06-06 01:00:52,520 - robotics.core - INFO - Created room ab1180af-e7f5-49de-b2e7-da210231c888 +2025-06-06 01:00:52,522 - robotics.core - INFO - Deleted room ab1180af-e7f5-49de-b2e7-da210231c888 +2025-06-06 01:01:15,208 - robotics.core - INFO - Created room dd9b7400-3dda-4f2f-ba0e-9852f4d34b75 +2025-06-06 01:01:15,226 - robotics.core - INFO - Producer producer_4388622352 joined room dd9b7400-3dda-4f2f-ba0e-9852f4d34b75 +2025-06-06 01:01:15,229 - robotics.core - INFO - Consumer consumer_4388972416 joined room dd9b7400-3dda-4f2f-ba0e-9852f4d34b75 +2025-06-06 01:01:15,564 - robotics.core - INFO - Consumer consumer_4388972416 left room dd9b7400-3dda-4f2f-ba0e-9852f4d34b75 +2025-06-06 01:01:15,565 - robotics.core - INFO - Producer producer_4388622352 left room dd9b7400-3dda-4f2f-ba0e-9852f4d34b75 +2025-06-06 01:01:15,565 - robotics.core - INFO - Deleted room dd9b7400-3dda-4f2f-ba0e-9852f4d34b75 +2025-06-06 01:01:49,313 - robotics.core - INFO - Created room d803eac8-f6ec-4a93-aebe-2381ba764c15 +2025-06-06 01:01:49,327 - robotics.core - INFO - Producer producer_4398407680 joined room d803eac8-f6ec-4a93-aebe-2381ba764c15 +2025-06-06 01:01:49,329 - robotics.core - INFO - Consumer consumer_4398408064 joined room d803eac8-f6ec-4a93-aebe-2381ba764c15 +2025-06-06 01:01:49,663 - robotics.core - INFO - Consumer consumer_4398408064 left room d803eac8-f6ec-4a93-aebe-2381ba764c15 +2025-06-06 01:01:49,664 - robotics.core - INFO - Producer producer_4398407680 left room d803eac8-f6ec-4a93-aebe-2381ba764c15 +2025-06-06 01:01:49,664 - robotics.core - INFO - Deleted room d803eac8-f6ec-4a93-aebe-2381ba764c15 +2025-06-06 01:02:11,389 - robotics.core - INFO - Created room ec2260dc-49db-4cd7-b833-61d9163ba2c7 +2025-06-06 01:02:11,411 - robotics.core - INFO - Producer producer_4353999552 joined room ec2260dc-49db-4cd7-b833-61d9163ba2c7 +2025-06-06 01:02:11,414 - robotics.core - INFO - Consumer consumer_4354351344 joined room ec2260dc-49db-4cd7-b833-61d9163ba2c7 +2025-06-06 01:02:12,076 - robotics.core - INFO - Consumer consumer_4354351344 left room ec2260dc-49db-4cd7-b833-61d9163ba2c7 +2025-06-06 01:02:12,076 - robotics.core - INFO - Producer producer_4353999552 left room ec2260dc-49db-4cd7-b833-61d9163ba2c7 +2025-06-06 01:02:12,076 - robotics.core - INFO - Deleted room ec2260dc-49db-4cd7-b833-61d9163ba2c7 +2025-06-06 01:02:21,814 - robotics.core - INFO - Created room 5fccdef7-1c5e-42b8-b7f1-79a57db2c530 +2025-06-06 01:02:21,827 - robotics.core - INFO - Producer producer_4388953344 joined room 5fccdef7-1c5e-42b8-b7f1-79a57db2c530 +2025-06-06 01:02:21,829 - robotics.core - INFO - Consumer consumer_4388953872 joined room 5fccdef7-1c5e-42b8-b7f1-79a57db2c530 +2025-06-06 01:02:22,150 - robotics.core - INFO - Consumer consumer_4388953872 left room 5fccdef7-1c5e-42b8-b7f1-79a57db2c530 +2025-06-06 01:02:22,150 - robotics.core - INFO - Producer producer_4388953344 left room 5fccdef7-1c5e-42b8-b7f1-79a57db2c530 +2025-06-06 01:02:22,151 - robotics.core - INFO - Deleted room 5fccdef7-1c5e-42b8-b7f1-79a57db2c530 +2025-06-06 01:03:39,980 - watchfiles.main - INFO - 3 changes detected +2025-06-06 01:03:40,592 - watchfiles.main - INFO - 10 changes detected +2025-06-06 01:34:23,650 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-06 01:34:25,200 - robotics.core - INFO - Created room 8c8e1ed1-f336-4d42-8032-b4a56d734423 +2025-06-06 01:34:25,211 - robotics.core - INFO - Consumer consumer_4389129440 joined room 8c8e1ed1-f336-4d42-8032-b4a56d734423 +2025-06-06 01:34:25,211 - robotics.core - INFO - Consumer consumer_4389129440 left room 8c8e1ed1-f336-4d42-8032-b4a56d734423 +2025-06-06 01:34:25,213 - robotics.core - INFO - Deleted room 8c8e1ed1-f336-4d42-8032-b4a56d734423 +2025-06-06 01:34:25,215 - robotics.core - INFO - Created room a1688b7b-9eee-4ac2-a066-9d819fde663d +2025-06-06 01:34:25,217 - robotics.core - INFO - Consumer consumer_4409784080 joined room a1688b7b-9eee-4ac2-a066-9d819fde663d +2025-06-06 01:34:25,219 - robotics.core - INFO - Consumer consumer_4409784080 left room a1688b7b-9eee-4ac2-a066-9d819fde663d +2025-06-06 01:34:25,219 - robotics.core - INFO - Deleted room a1688b7b-9eee-4ac2-a066-9d819fde663d +2025-06-06 01:34:25,221 - robotics.core - INFO - Created room c13b7684-ecaa-4a3b-b109-fa36fb2027da +2025-06-06 01:34:25,222 - robotics.core - INFO - Consumer consumer_4388631904 joined room c13b7684-ecaa-4a3b-b109-fa36fb2027da +2025-06-06 01:34:25,225 - robotics.core - INFO - Consumer consumer_4388631904 left room c13b7684-ecaa-4a3b-b109-fa36fb2027da +2025-06-06 01:34:25,225 - robotics.core - INFO - Deleted room c13b7684-ecaa-4a3b-b109-fa36fb2027da +2025-06-06 01:34:25,227 - robotics.core - INFO - Created room 01574f07-091b-426a-86f6-f03a1a6586b6 +2025-06-06 01:34:25,229 - robotics.core - INFO - Consumer consumer_4410051616 joined room 01574f07-091b-426a-86f6-f03a1a6586b6 +2025-06-06 01:34:25,331 - robotics.core - INFO - Consumer consumer_4410051616 left room 01574f07-091b-426a-86f6-f03a1a6586b6 +2025-06-06 01:34:25,436 - robotics.core - INFO - Deleted room 01574f07-091b-426a-86f6-f03a1a6586b6 +2025-06-06 01:34:25,446 - robotics.core - INFO - Created room be609acc-22ec-4589-a430-ed93c721d9a5 +2025-06-06 01:34:25,452 - robotics.core - INFO - Consumer consumer_4410053632 joined room be609acc-22ec-4589-a430-ed93c721d9a5 +2025-06-06 01:34:25,455 - robotics.core - INFO - Consumer consumer_4410053488 joined room be609acc-22ec-4589-a430-ed93c721d9a5 +2025-06-06 01:34:25,455 - robotics.core - INFO - Consumer consumer_4410053632 left room be609acc-22ec-4589-a430-ed93c721d9a5 +2025-06-06 01:34:25,456 - robotics.core - INFO - Consumer consumer_4410053488 left room be609acc-22ec-4589-a430-ed93c721d9a5 +2025-06-06 01:34:25,459 - robotics.core - INFO - Deleted room be609acc-22ec-4589-a430-ed93c721d9a5 +2025-06-06 01:34:25,462 - robotics.core - INFO - Created room 9492d676-d875-4fca-835d-c20e6c3ce80f +2025-06-06 01:34:25,466 - robotics.core - INFO - Producer producer_4409784608 joined room 9492d676-d875-4fca-835d-c20e6c3ce80f +2025-06-06 01:34:25,468 - robotics.core - INFO - Consumer consumer_4409781968 joined room 9492d676-d875-4fca-835d-c20e6c3ce80f +2025-06-06 01:34:25,778 - robotics.core - INFO - Consumer consumer_4409781968 left room 9492d676-d875-4fca-835d-c20e6c3ce80f +2025-06-06 01:34:25,778 - robotics.core - INFO - Producer producer_4409784608 left room 9492d676-d875-4fca-835d-c20e6c3ce80f +2025-06-06 01:34:25,779 - robotics.core - INFO - Deleted room 9492d676-d875-4fca-835d-c20e6c3ce80f +2025-06-06 01:34:25,794 - robotics.core - INFO - Created room 284e3a14-a59b-4e29-9fe7-f3811acd1c15 +2025-06-06 01:34:25,799 - robotics.core - INFO - Producer producer_4410055504 joined room 284e3a14-a59b-4e29-9fe7-f3811acd1c15 +2025-06-06 01:34:25,802 - robotics.core - INFO - Consumer consumer_4410048976 joined room 284e3a14-a59b-4e29-9fe7-f3811acd1c15 +2025-06-06 01:34:26,108 - robotics.core - INFO - Consumer consumer_4410048976 left room 284e3a14-a59b-4e29-9fe7-f3811acd1c15 +2025-06-06 01:34:26,108 - robotics.core - INFO - Producer producer_4410055504 left room 284e3a14-a59b-4e29-9fe7-f3811acd1c15 +2025-06-06 01:34:26,108 - robotics.core - INFO - Deleted room 284e3a14-a59b-4e29-9fe7-f3811acd1c15 +2025-06-06 01:34:26,113 - robotics.core - INFO - Created room de0d6264-4714-402d-a768-32de68926ad1 +2025-06-06 01:34:26,118 - robotics.core - INFO - Producer producer_4410057088 joined room de0d6264-4714-402d-a768-32de68926ad1 +2025-06-06 01:34:26,121 - robotics.core - INFO - Consumer consumer_4410057040 joined room de0d6264-4714-402d-a768-32de68926ad1 +2025-06-06 01:34:26,786 - robotics.core - INFO - Consumer consumer_4410057040 left room de0d6264-4714-402d-a768-32de68926ad1 +2025-06-06 01:34:26,786 - robotics.core - INFO - Producer producer_4410057088 left room de0d6264-4714-402d-a768-32de68926ad1 +2025-06-06 01:34:26,787 - robotics.core - INFO - Deleted room de0d6264-4714-402d-a768-32de68926ad1 +2025-06-06 01:34:26,801 - robotics.core - INFO - Created room 4a94053d-ad86-4671-8378-222e013e755a +2025-06-06 01:34:26,807 - robotics.core - INFO - Producer producer_4409783312 joined room 4a94053d-ad86-4671-8378-222e013e755a +2025-06-06 01:34:26,810 - robotics.core - INFO - Consumer consumer_4409782448 joined room 4a94053d-ad86-4671-8378-222e013e755a +2025-06-06 01:34:26,912 - robotics.core - WARNING - ๐Ÿšจ Emergency stop triggered by producer_4409783312 in room 4a94053d-ad86-4671-8378-222e013e755a +2025-06-06 01:34:27,117 - robotics.core - INFO - Consumer consumer_4409782448 left room 4a94053d-ad86-4671-8378-222e013e755a +2025-06-06 01:34:27,117 - robotics.core - INFO - Producer producer_4409783312 left room 4a94053d-ad86-4671-8378-222e013e755a +2025-06-06 01:34:27,117 - robotics.core - INFO - Deleted room 4a94053d-ad86-4671-8378-222e013e755a +2025-06-06 01:34:27,138 - robotics.core - INFO - Created room 04ff7240-0f4a-434f-89ae-fd1c4f03b442 +2025-06-06 01:34:27,141 - robotics.core - INFO - Consumer custom-consumer-456 joined room 04ff7240-0f4a-434f-89ae-fd1c4f03b442 +2025-06-06 01:34:27,143 - robotics.core - INFO - Consumer custom-consumer-456 left room 04ff7240-0f4a-434f-89ae-fd1c4f03b442 +2025-06-06 01:34:27,143 - robotics.core - INFO - Deleted room 04ff7240-0f4a-434f-89ae-fd1c4f03b442 +2025-06-06 01:34:27,146 - robotics.core - INFO - Created room bcf94ccd-8bcb-42b5-9e15-847229d4ef48 +2025-06-06 01:34:27,149 - robotics.core - INFO - Consumer consumer_4410048832 joined room bcf94ccd-8bcb-42b5-9e15-847229d4ef48 +2025-06-06 01:34:27,151 - robotics.core - INFO - Consumer consumer_4410048832 left room bcf94ccd-8bcb-42b5-9e15-847229d4ef48 +2025-06-06 01:34:27,152 - robotics.core - INFO - Deleted room bcf94ccd-8bcb-42b5-9e15-847229d4ef48 +2025-06-06 01:34:27,155 - robotics.core - INFO - Created room e03136a2-a38c-487d-a7ff-06553d5288ea +2025-06-06 01:34:27,158 - robotics.core - INFO - Consumer consumer_4409786336 joined room e03136a2-a38c-487d-a7ff-06553d5288ea +2025-06-06 01:34:27,158 - robotics.core - INFO - Consumer consumer_4409786336 left room e03136a2-a38c-487d-a7ff-06553d5288ea +2025-06-06 01:34:27,160 - robotics.core - INFO - Consumer consumer_4409786336 joined room e03136a2-a38c-487d-a7ff-06553d5288ea +2025-06-06 01:34:27,161 - robotics.core - INFO - Consumer consumer_4409786336 left room e03136a2-a38c-487d-a7ff-06553d5288ea +2025-06-06 01:34:27,161 - robotics.core - INFO - Deleted room e03136a2-a38c-487d-a7ff-06553d5288ea +2025-06-06 01:34:27,165 - robotics.core - INFO - Created room 7beda538-96fc-4922-867e-6e92061bb97b +2025-06-06 01:34:27,168 - robotics.core - INFO - Producer producer_4410049696 joined room 7beda538-96fc-4922-867e-6e92061bb97b +2025-06-06 01:34:27,169 - robotics.core - INFO - Consumer consumer_4410056320 joined room 7beda538-96fc-4922-867e-6e92061bb97b +2025-06-06 01:34:27,479 - robotics.core - INFO - Consumer consumer_4410056320 left room 7beda538-96fc-4922-867e-6e92061bb97b +2025-06-06 01:34:27,480 - robotics.core - INFO - Producer producer_4410049696 left room 7beda538-96fc-4922-867e-6e92061bb97b +2025-06-06 01:34:27,480 - robotics.core - INFO - Deleted room 7beda538-96fc-4922-867e-6e92061bb97b +2025-06-06 01:34:27,489 - robotics.core - INFO - Created room b847bd50-e96c-4932-88ec-8cfa806e907c +2025-06-06 01:34:27,493 - robotics.core - INFO - Producer producer_4410050320 joined room b847bd50-e96c-4932-88ec-8cfa806e907c +2025-06-06 01:34:27,494 - robotics.core - INFO - Producer producer_4410050320 left room b847bd50-e96c-4932-88ec-8cfa806e907c +2025-06-06 01:34:27,496 - robotics.core - INFO - Deleted room b847bd50-e96c-4932-88ec-8cfa806e907c +2025-06-06 01:34:27,500 - robotics.core - INFO - Created room 58db4fed-4b79-46e0-990c-57920fd8aec1 +2025-06-06 01:34:27,503 - robotics.core - INFO - Producer producer_4409783792 joined room 58db4fed-4b79-46e0-990c-57920fd8aec1 +2025-06-06 01:34:27,504 - robotics.core - INFO - Producer producer_4409783792 left room 58db4fed-4b79-46e0-990c-57920fd8aec1 +2025-06-06 01:34:27,505 - robotics.core - INFO - Deleted room 58db4fed-4b79-46e0-990c-57920fd8aec1 +2025-06-06 01:34:27,508 - robotics.core - INFO - Created room ce65ebc1-00f4-4ef0-9683-31d2573f15dd +2025-06-06 01:34:27,511 - robotics.core - INFO - Consumer consumer_4410049840 joined room ce65ebc1-00f4-4ef0-9683-31d2573f15dd +2025-06-06 01:34:27,513 - robotics.core - INFO - Consumer consumer_4410049840 left room ce65ebc1-00f4-4ef0-9683-31d2573f15dd +2025-06-06 01:34:27,514 - robotics.core - INFO - Deleted room ce65ebc1-00f4-4ef0-9683-31d2573f15dd +2025-06-06 01:34:27,516 - robotics.core - INFO - Created room 1f1584a4-0330-4f97-bbeb-ab59a8790301 +2025-06-06 01:34:27,519 - robotics.core - INFO - Producer producer_4410053536 joined room 1f1584a4-0330-4f97-bbeb-ab59a8790301 +2025-06-06 01:34:27,520 - robotics.core - INFO - Consumer consumer_4409783744 joined room 1f1584a4-0330-4f97-bbeb-ab59a8790301 +2025-06-06 01:34:27,825 - robotics.core - INFO - Consumer consumer_4409783744 left room 1f1584a4-0330-4f97-bbeb-ab59a8790301 +2025-06-06 01:34:27,826 - robotics.core - INFO - Producer producer_4410053536 left room 1f1584a4-0330-4f97-bbeb-ab59a8790301 +2025-06-06 01:34:27,828 - robotics.core - INFO - Deleted room 1f1584a4-0330-4f97-bbeb-ab59a8790301 +2025-06-06 01:34:27,839 - robotics.core - INFO - Created room cc0482ee-abaf-434d-bbb6-8124c5d36760 +2025-06-06 01:34:27,842 - robotics.core - INFO - Producer producer_4410054304 joined room cc0482ee-abaf-434d-bbb6-8124c5d36760 +2025-06-06 01:34:27,849 - robotics.core - INFO - Consumer consumer_4410052720 joined room cc0482ee-abaf-434d-bbb6-8124c5d36760 +2025-06-06 01:34:27,850 - robotics.core - INFO - Consumer consumer_4410052720 left room cc0482ee-abaf-434d-bbb6-8124c5d36760 +2025-06-06 01:34:27,850 - robotics.core - INFO - Producer producer_4410054304 left room cc0482ee-abaf-434d-bbb6-8124c5d36760 +2025-06-06 01:34:27,853 - robotics.core - INFO - Deleted room cc0482ee-abaf-434d-bbb6-8124c5d36760 +2025-06-06 01:34:27,859 - robotics.core - INFO - Created room 02053b90-f55a-4492-b6d9-053c10cf8a1a +2025-06-06 01:34:27,861 - robotics.core - INFO - Producer producer_4410050704 joined room 02053b90-f55a-4492-b6d9-053c10cf8a1a +2025-06-06 01:34:27,863 - robotics.core - INFO - Created room acc98f40-0ee6-4968-8d97-5523944486d5 +2025-06-06 01:34:27,865 - robotics.core - INFO - Producer producer_4410057568 joined room acc98f40-0ee6-4968-8d97-5523944486d5 +2025-06-06 01:34:27,866 - robotics.core - INFO - Producer producer_4410050704 left room 02053b90-f55a-4492-b6d9-053c10cf8a1a +2025-06-06 01:34:27,866 - robotics.core - INFO - Producer producer_4410057568 left room acc98f40-0ee6-4968-8d97-5523944486d5 +2025-06-06 01:34:27,867 - robotics.core - INFO - Deleted room 02053b90-f55a-4492-b6d9-053c10cf8a1a +2025-06-06 01:34:27,869 - robotics.core - INFO - Deleted room acc98f40-0ee6-4968-8d97-5523944486d5 +2025-06-06 01:34:27,875 - robotics.core - INFO - Created room 86149c0c-7ac6-4a53-b78b-66883b3ad0f6 +2025-06-06 01:34:27,877 - robotics.core - INFO - Producer producer_4409404176 joined room 86149c0c-7ac6-4a53-b78b-66883b3ad0f6 +2025-06-06 01:34:27,879 - robotics.core - INFO - Consumer consumer_4410247072 joined room 86149c0c-7ac6-4a53-b78b-66883b3ad0f6 +2025-06-06 01:34:28,893 - robotics.core - INFO - Consumer consumer_4410247072 left room 86149c0c-7ac6-4a53-b78b-66883b3ad0f6 +2025-06-06 01:34:28,894 - robotics.core - INFO - Producer producer_4409404176 left room 86149c0c-7ac6-4a53-b78b-66883b3ad0f6 +2025-06-06 01:34:28,896 - robotics.core - INFO - Deleted room 86149c0c-7ac6-4a53-b78b-66883b3ad0f6 +2025-06-06 01:34:28,903 - robotics.core - INFO - Created room 9540487e-bb53-433a-a0d1-49e8ddfd0dfc +2025-06-06 01:34:28,909 - robotics.core - INFO - Producer producer_4410057040 joined room 9540487e-bb53-433a-a0d1-49e8ddfd0dfc +2025-06-06 01:34:28,915 - robotics.core - INFO - Consumer consumer_4410056368 joined room 9540487e-bb53-433a-a0d1-49e8ddfd0dfc +2025-06-06 01:34:28,918 - robotics.core - INFO - Consumer consumer_4410246592 joined room 9540487e-bb53-433a-a0d1-49e8ddfd0dfc +2025-06-06 01:34:29,323 - robotics.core - INFO - Consumer consumer_4410056368 left room 9540487e-bb53-433a-a0d1-49e8ddfd0dfc +2025-06-06 01:34:29,324 - robotics.core - INFO - Consumer consumer_4410246592 left room 9540487e-bb53-433a-a0d1-49e8ddfd0dfc +2025-06-06 01:34:29,324 - robotics.core - INFO - Producer producer_4410057040 left room 9540487e-bb53-433a-a0d1-49e8ddfd0dfc +2025-06-06 01:34:29,327 - robotics.core - INFO - Deleted room 9540487e-bb53-433a-a0d1-49e8ddfd0dfc +2025-06-06 01:34:29,333 - robotics.core - INFO - Created room e799b4cf-578f-4b39-99b0-b7693ffe026e +2025-06-06 01:34:29,339 - robotics.core - INFO - Producer producer_4410252304 joined room e799b4cf-578f-4b39-99b0-b7693ffe026e +2025-06-06 01:34:29,343 - robotics.core - INFO - Consumer consumer_4410063856 joined room e799b4cf-578f-4b39-99b0-b7693ffe026e +2025-06-06 01:34:29,348 - robotics.core - INFO - Consumer consumer_4410060400 joined room e799b4cf-578f-4b39-99b0-b7693ffe026e +2025-06-06 01:34:29,551 - robotics.core - WARNING - ๐Ÿšจ Emergency stop triggered by producer_4410252304 in room e799b4cf-578f-4b39-99b0-b7693ffe026e +2025-06-06 01:34:29,752 - robotics.core - INFO - Consumer consumer_4410063856 left room e799b4cf-578f-4b39-99b0-b7693ffe026e +2025-06-06 01:34:29,753 - robotics.core - INFO - Consumer consumer_4410060400 left room e799b4cf-578f-4b39-99b0-b7693ffe026e +2025-06-06 01:34:29,754 - robotics.core - INFO - Producer producer_4410252304 left room e799b4cf-578f-4b39-99b0-b7693ffe026e +2025-06-06 01:34:29,756 - robotics.core - INFO - Deleted room e799b4cf-578f-4b39-99b0-b7693ffe026e +2025-06-06 01:34:29,761 - robotics.core - INFO - Created room 80c77220-14e4-424f-8ede-87463b245e5d +2025-06-06 01:34:29,765 - robotics.core - INFO - Consumer consumer_4410053776 joined room 80c77220-14e4-424f-8ede-87463b245e5d +2025-06-06 01:34:29,769 - robotics.core - INFO - Producer producer_4410255088 joined room 80c77220-14e4-424f-8ede-87463b245e5d +2025-06-06 01:34:29,871 - robotics.core - INFO - Producer producer_4410255088 left room 80c77220-14e4-424f-8ede-87463b245e5d +2025-06-06 01:34:29,877 - robotics.core - INFO - Producer producer_4410255088 joined room 80c77220-14e4-424f-8ede-87463b245e5d +2025-06-06 01:34:30,079 - robotics.core - INFO - Producer producer_4410255088 left room 80c77220-14e4-424f-8ede-87463b245e5d +2025-06-06 01:34:30,080 - robotics.core - INFO - Consumer consumer_4410053776 left room 80c77220-14e4-424f-8ede-87463b245e5d +2025-06-06 01:34:30,081 - robotics.core - INFO - Deleted room 80c77220-14e4-424f-8ede-87463b245e5d +2025-06-06 01:34:30,083 - robotics.core - INFO - Created room bdc42810-0301-48b5-97bf-924331aef045 +2025-06-06 01:34:30,086 - robotics.core - INFO - Producer producer_4410063664 joined room bdc42810-0301-48b5-97bf-924331aef045 +2025-06-06 01:34:30,291 - robotics.core - INFO - Consumer consumer_4410062416 joined room bdc42810-0301-48b5-97bf-924331aef045 +2025-06-06 01:34:30,294 - robotics.core - INFO - Consumer consumer_4410062416 left room bdc42810-0301-48b5-97bf-924331aef045 +2025-06-06 01:34:30,294 - robotics.core - INFO - Producer producer_4410063664 left room bdc42810-0301-48b5-97bf-924331aef045 +2025-06-06 01:34:30,295 - robotics.core - INFO - Deleted room bdc42810-0301-48b5-97bf-924331aef045 +2025-06-06 01:34:30,298 - robotics.core - INFO - Created room ed6e2aa8-cc44-4b5d-8c8e-bf023f8d1af4 +2025-06-06 01:34:30,300 - robotics.core - INFO - Producer producer_4410057232 joined room ed6e2aa8-cc44-4b5d-8c8e-bf023f8d1af4 +2025-06-06 01:34:30,303 - robotics.core - INFO - Consumer consumer_4410250672 joined room ed6e2aa8-cc44-4b5d-8c8e-bf023f8d1af4 +2025-06-06 01:34:30,407 - robotics.core - INFO - Producer producer_4410057232 left room ed6e2aa8-cc44-4b5d-8c8e-bf023f8d1af4 +2025-06-06 01:34:30,515 - robotics.core - INFO - Consumer consumer_4410250672 left room ed6e2aa8-cc44-4b5d-8c8e-bf023f8d1af4 +2025-06-06 01:34:30,524 - robotics.core - INFO - Deleted room ed6e2aa8-cc44-4b5d-8c8e-bf023f8d1af4 +2025-06-06 01:34:30,533 - robotics.core - INFO - Created room e15a419a-6253-44fd-96af-d5db13797da1 +2025-06-06 01:34:30,541 - robotics.core - INFO - Producer producer_4410247216 joined room e15a419a-6253-44fd-96af-d5db13797da1 +2025-06-06 01:34:30,547 - robotics.core - INFO - Consumer consumer_4410255376 joined room e15a419a-6253-44fd-96af-d5db13797da1 +2025-06-06 01:34:31,376 - robotics.core - INFO - Consumer consumer_4410255376 left room e15a419a-6253-44fd-96af-d5db13797da1 +2025-06-06 01:34:31,376 - robotics.core - INFO - Producer producer_4410247216 left room e15a419a-6253-44fd-96af-d5db13797da1 +2025-06-06 01:34:31,377 - robotics.core - INFO - Deleted room e15a419a-6253-44fd-96af-d5db13797da1 +2025-06-06 01:34:31,380 - robotics.core - INFO - Created room ceab202a-c90d-4fb1-a896-42bbb68d35ea +2025-06-06 01:34:31,382 - robotics.core - INFO - Producer producer_4410363728 joined room ceab202a-c90d-4fb1-a896-42bbb68d35ea +2025-06-06 01:34:31,383 - robotics.core - INFO - Producer producer_4410363728 left room ceab202a-c90d-4fb1-a896-42bbb68d35ea +2025-06-06 01:34:31,384 - robotics.core - INFO - Deleted room ceab202a-c90d-4fb1-a896-42bbb68d35ea +2025-06-06 01:34:31,387 - robotics.core - INFO - Created room 1891c58f-f56d-4dda-9333-a84cbd3e2e23 +2025-06-06 01:34:31,391 - robotics.core - INFO - Producer producer_4410251632 joined room 1891c58f-f56d-4dda-9333-a84cbd3e2e23 +2025-06-06 01:34:31,393 - robotics.core - INFO - Producer producer_4410251632 left room 1891c58f-f56d-4dda-9333-a84cbd3e2e23 +2025-06-06 01:34:31,393 - robotics.core - INFO - Deleted room 1891c58f-f56d-4dda-9333-a84cbd3e2e23 +2025-06-06 01:34:31,396 - robotics.core - INFO - Created room 977d1f3d-0282-4be3-8ae2-8f224dff871d +2025-06-06 01:34:31,398 - robotics.core - INFO - Producer producer_4410361232 joined room 977d1f3d-0282-4be3-8ae2-8f224dff871d +2025-06-06 01:34:31,400 - robotics.core - INFO - Producer producer_4410361232 left room 977d1f3d-0282-4be3-8ae2-8f224dff871d +2025-06-06 01:34:31,400 - robotics.core - INFO - Deleted room 977d1f3d-0282-4be3-8ae2-8f224dff871d +2025-06-06 01:34:31,402 - robotics.core - INFO - Created room 34faf3d5-ef00-4159-9cd6-3369e8803ede +2025-06-06 01:34:31,405 - robotics.core - INFO - Producer producer_4410260128 joined room 34faf3d5-ef00-4159-9cd6-3369e8803ede +2025-06-06 01:34:31,406 - robotics.core - INFO - Producer producer_4410260128 left room 34faf3d5-ef00-4159-9cd6-3369e8803ede +2025-06-06 01:34:31,406 - robotics.core - INFO - Deleted room 34faf3d5-ef00-4159-9cd6-3369e8803ede +2025-06-06 01:34:31,409 - robotics.core - INFO - Created room 56b35d87-9ade-41c4-b555-cf169eb4c248 +2025-06-06 01:34:31,411 - robotics.core - INFO - Producer producer_4410362288 joined room 56b35d87-9ade-41c4-b555-cf169eb4c248 +2025-06-06 01:34:31,412 - robotics.core - WARNING - ๐Ÿšจ Emergency stop triggered by producer_4410362288 in room 56b35d87-9ade-41c4-b555-cf169eb4c248 +2025-06-06 01:34:31,412 - robotics.core - WARNING - ๐Ÿšจ Emergency stop triggered by producer_4410362288 in room 56b35d87-9ade-41c4-b555-cf169eb4c248 +2025-06-06 01:34:31,413 - robotics.core - INFO - Producer producer_4410362288 left room 56b35d87-9ade-41c4-b555-cf169eb4c248 +2025-06-06 01:34:31,413 - robotics.core - INFO - Deleted room 56b35d87-9ade-41c4-b555-cf169eb4c248 +2025-06-06 01:34:31,415 - robotics.core - INFO - Created room 90c7d7cb-bdf2-4841-a7df-7b896ae334e8 +2025-06-06 01:34:31,417 - robotics.core - INFO - Producer producer_4410249472 joined room 90c7d7cb-bdf2-4841-a7df-7b896ae334e8 +2025-06-06 01:34:31,418 - robotics.core - INFO - Producer producer_4410249472 left room 90c7d7cb-bdf2-4841-a7df-7b896ae334e8 +2025-06-06 01:34:31,418 - robotics.core - INFO - Deleted room 90c7d7cb-bdf2-4841-a7df-7b896ae334e8 +2025-06-06 01:34:31,421 - robotics.core - INFO - Created room b53459c8-7783-4ce0-96bf-6ff17659265a +2025-06-06 01:34:31,423 - robotics.core - INFO - Producer producer_4410254224 joined room b53459c8-7783-4ce0-96bf-6ff17659265a +2025-06-06 01:34:31,525 - robotics.core - INFO - Producer producer_4410254224 left room b53459c8-7783-4ce0-96bf-6ff17659265a +2025-06-06 01:34:31,629 - robotics.core - INFO - Deleted room b53459c8-7783-4ce0-96bf-6ff17659265a +2025-06-06 01:34:31,636 - robotics.core - INFO - Created room 2938bbe2-3550-4d36-9102-19dfe8098656 +2025-06-06 01:34:31,641 - robotics.core - INFO - Producer producer_4410248896 joined room 2938bbe2-3550-4d36-9102-19dfe8098656 +2025-06-06 01:34:31,643 - robotics.core - INFO - Created room 67f0f1bd-2746-47cd-8b7e-f1e6fa16ca43 +2025-06-06 01:34:31,644 - robotics.core - INFO - Producer producer_4410248896 left room 2938bbe2-3550-4d36-9102-19dfe8098656 +2025-06-06 01:34:31,646 - robotics.core - INFO - Producer producer_4410248896 joined room 67f0f1bd-2746-47cd-8b7e-f1e6fa16ca43 +2025-06-06 01:34:31,648 - robotics.core - INFO - Producer producer_4410248896 left room 67f0f1bd-2746-47cd-8b7e-f1e6fa16ca43 +2025-06-06 01:34:31,648 - robotics.core - INFO - Deleted room 67f0f1bd-2746-47cd-8b7e-f1e6fa16ca43 +2025-06-06 01:34:31,649 - robotics.core - INFO - Deleted room 2938bbe2-3550-4d36-9102-19dfe8098656 +2025-06-06 01:34:31,652 - robotics.core - INFO - Created room b9a525fb-b9b4-459c-9c2f-a6ca083ba1f1 +2025-06-06 01:34:31,655 - robotics.core - INFO - Producer producer_4410249424 joined room b9a525fb-b9b4-459c-9c2f-a6ca083ba1f1 +2025-06-06 01:34:31,655 - robotics.core - INFO - Producer producer_4410249424 left room b9a525fb-b9b4-459c-9c2f-a6ca083ba1f1 +2025-06-06 01:34:31,656 - robotics.core - INFO - Deleted room b9a525fb-b9b4-459c-9c2f-a6ca083ba1f1 +2025-06-06 01:34:31,659 - robotics.core - INFO - Created room 35d3aa4f-6d9f-44f4-9f57-9d3e0f8392dc +2025-06-06 01:34:31,661 - robotics.core - INFO - Producer producer_4410251680 joined room 35d3aa4f-6d9f-44f4-9f57-9d3e0f8392dc +2025-06-06 01:34:31,663 - robotics.core - WARNING - Producer producer_4410255040 failed to join room 35d3aa4f-6d9f-44f4-9f57-9d3e0f8392dc - room already has producer producer_4410251680 +2025-06-06 01:34:31,665 - robotics.core - INFO - Producer producer_4410251680 left room 35d3aa4f-6d9f-44f4-9f57-9d3e0f8392dc +2025-06-06 01:34:31,665 - robotics.core - INFO - Deleted room 35d3aa4f-6d9f-44f4-9f57-9d3e0f8392dc +2025-06-06 01:34:31,667 - robotics.core - INFO - Created room 3bb265fc-b921-4427-aaf6-1b740a6cb3f4 +2025-06-06 01:34:31,669 - robotics.core - INFO - Producer custom-producer-123 joined room 3bb265fc-b921-4427-aaf6-1b740a6cb3f4 +2025-06-06 01:34:31,670 - robotics.core - INFO - Producer custom-producer-123 left room 3bb265fc-b921-4427-aaf6-1b740a6cb3f4 +2025-06-06 01:34:31,670 - robotics.core - INFO - Deleted room 3bb265fc-b921-4427-aaf6-1b740a6cb3f4 +2025-06-06 01:34:31,672 - robotics.core - INFO - Created room cb1f3a2d-151c-4c74-a72c-651340827822 +2025-06-06 01:34:31,674 - robotics.core - INFO - Producer producer_4410057616 joined room cb1f3a2d-151c-4c74-a72c-651340827822 +2025-06-06 01:34:31,676 - robotics.core - INFO - Producer producer_4410057616 left room cb1f3a2d-151c-4c74-a72c-651340827822 +2025-06-06 01:34:31,676 - robotics.core - INFO - Deleted room cb1f3a2d-151c-4c74-a72c-651340827822 +2025-06-06 01:34:31,678 - robotics.core - INFO - Created room 578db3e6-11b0-475c-86ba-661bae0941fd +2025-06-06 01:34:31,680 - robotics.core - INFO - Producer producer_4410259792 joined room 578db3e6-11b0-475c-86ba-661bae0941fd +2025-06-06 01:34:31,794 - robotics.core - INFO - Producer producer_4410259792 left room 578db3e6-11b0-475c-86ba-661bae0941fd +2025-06-06 01:34:31,794 - robotics.core - INFO - Deleted room 578db3e6-11b0-475c-86ba-661bae0941fd +2025-06-06 01:34:31,802 - robotics.core - INFO - Created room 0a81ff03-5126-4595-b380-1b350443106b +2025-06-06 01:34:31,803 - robotics.core - INFO - Deleted room 0a81ff03-5126-4595-b380-1b350443106b +2025-06-06 01:34:31,806 - robotics.core - INFO - Created room test-room-123 +2025-06-06 01:34:31,807 - robotics.core - INFO - Deleted room test-room-123 +2025-06-06 01:34:31,811 - robotics.core - INFO - Created room cd3c1a36-7851-4fa0-a484-1f32e0cfcbc0 +2025-06-06 01:34:31,814 - robotics.core - INFO - Deleted room cd3c1a36-7851-4fa0-a484-1f32e0cfcbc0 +2025-06-06 01:34:31,817 - robotics.core - INFO - Created room 32cd398e-ac16-418e-a6ff-17336cec088d +2025-06-06 01:34:31,823 - robotics.core - INFO - Deleted room 32cd398e-ac16-418e-a6ff-17336cec088d +2025-06-06 01:34:31,826 - robotics.core - INFO - Created room ce56ed15-bad9-462e-8ad9-266974bd80e0 +2025-06-06 01:34:31,828 - robotics.core - INFO - Deleted room ce56ed15-bad9-462e-8ad9-266974bd80e0 +2025-06-06 01:34:31,831 - robotics.core - INFO - Created room 0a79c6a9-88ce-4aa2-813a-93e81ba55e16 +2025-06-06 01:34:31,834 - robotics.core - INFO - Deleted room 0a79c6a9-88ce-4aa2-813a-93e81ba55e16 +2025-06-06 01:34:43,164 - robotics.core - INFO - Created room f68e0bae-5264-40bf-9086-1876b2a1a74b +2025-06-06 01:34:43,177 - robotics.core - INFO - Consumer consumer_4323481008 joined room f68e0bae-5264-40bf-9086-1876b2a1a74b +2025-06-06 01:34:43,178 - robotics.core - INFO - Consumer consumer_4323481008 left room f68e0bae-5264-40bf-9086-1876b2a1a74b +2025-06-06 01:34:43,179 - robotics.core - INFO - Deleted room f68e0bae-5264-40bf-9086-1876b2a1a74b +2025-06-06 01:34:43,181 - robotics.core - INFO - Created room 798ff6af-cbfc-4d2f-8a3d-15e39a14d2ae +2025-06-06 01:34:43,183 - robotics.core - INFO - Consumer consumer_4344475344 joined room 798ff6af-cbfc-4d2f-8a3d-15e39a14d2ae +2025-06-06 01:34:43,185 - robotics.core - INFO - Consumer consumer_4344475344 left room 798ff6af-cbfc-4d2f-8a3d-15e39a14d2ae +2025-06-06 01:34:43,185 - robotics.core - INFO - Deleted room 798ff6af-cbfc-4d2f-8a3d-15e39a14d2ae +2025-06-06 01:34:43,187 - robotics.core - INFO - Created room ea1016d7-419b-4470-a192-c0307306e347 +2025-06-06 01:34:43,189 - robotics.core - INFO - Consumer consumer_4344075072 joined room ea1016d7-419b-4470-a192-c0307306e347 +2025-06-06 01:34:43,191 - robotics.core - INFO - Consumer consumer_4344075072 left room ea1016d7-419b-4470-a192-c0307306e347 +2025-06-06 01:34:43,191 - robotics.core - INFO - Deleted room ea1016d7-419b-4470-a192-c0307306e347 +2025-06-06 01:34:43,193 - robotics.core - INFO - Created room 2fbeec0d-ae87-43db-9487-affc62edd51a +2025-06-06 01:34:43,195 - robotics.core - INFO - Consumer consumer_4344725776 joined room 2fbeec0d-ae87-43db-9487-affc62edd51a +2025-06-06 01:34:43,297 - robotics.core - INFO - Consumer consumer_4344725776 left room 2fbeec0d-ae87-43db-9487-affc62edd51a +2025-06-06 01:34:43,403 - robotics.core - INFO - Deleted room 2fbeec0d-ae87-43db-9487-affc62edd51a +2025-06-06 01:34:43,410 - robotics.core - INFO - Created room 89ec2c7c-478f-4a6b-b392-31d2e4dd8bcb +2025-06-06 01:34:43,415 - robotics.core - INFO - Consumer consumer_4344729040 joined room 89ec2c7c-478f-4a6b-b392-31d2e4dd8bcb +2025-06-06 01:34:43,419 - robotics.core - INFO - Consumer consumer_4344728896 joined room 89ec2c7c-478f-4a6b-b392-31d2e4dd8bcb +2025-06-06 01:34:43,420 - robotics.core - INFO - Consumer consumer_4344729040 left room 89ec2c7c-478f-4a6b-b392-31d2e4dd8bcb +2025-06-06 01:34:43,420 - robotics.core - INFO - Consumer consumer_4344728896 left room 89ec2c7c-478f-4a6b-b392-31d2e4dd8bcb +2025-06-06 01:34:43,422 - robotics.core - INFO - Deleted room 89ec2c7c-478f-4a6b-b392-31d2e4dd8bcb +2025-06-06 01:34:43,427 - robotics.core - INFO - Created room b30cee32-b480-49b6-be55-8c16eb73ac39 +2025-06-06 01:34:43,430 - robotics.core - INFO - Producer producer_4344478032 joined room b30cee32-b480-49b6-be55-8c16eb73ac39 +2025-06-06 01:34:43,434 - robotics.core - INFO - Consumer consumer_4344477744 joined room b30cee32-b480-49b6-be55-8c16eb73ac39 +2025-06-06 01:34:43,743 - robotics.core - INFO - Consumer consumer_4344477744 left room b30cee32-b480-49b6-be55-8c16eb73ac39 +2025-06-06 01:34:43,743 - robotics.core - INFO - Producer producer_4344478032 left room b30cee32-b480-49b6-be55-8c16eb73ac39 +2025-06-06 01:34:43,743 - robotics.core - INFO - Deleted room b30cee32-b480-49b6-be55-8c16eb73ac39 +2025-06-06 01:34:43,757 - robotics.core - INFO - Created room 87c3edbb-6c71-41ee-9956-0152cd78426d +2025-06-06 01:34:43,761 - robotics.core - INFO - Producer producer_4344729664 joined room 87c3edbb-6c71-41ee-9956-0152cd78426d +2025-06-06 01:34:43,764 - robotics.core - INFO - Consumer consumer_4344729088 joined room 87c3edbb-6c71-41ee-9956-0152cd78426d +2025-06-06 01:34:44,070 - robotics.core - INFO - Consumer consumer_4344729088 left room 87c3edbb-6c71-41ee-9956-0152cd78426d +2025-06-06 01:34:44,070 - robotics.core - INFO - Producer producer_4344729664 left room 87c3edbb-6c71-41ee-9956-0152cd78426d +2025-06-06 01:34:44,070 - robotics.core - INFO - Deleted room 87c3edbb-6c71-41ee-9956-0152cd78426d +2025-06-06 01:34:44,073 - robotics.core - INFO - Created room 56f1a716-e99b-4689-ae6b-7fe420f6a231 +2025-06-06 01:34:44,075 - robotics.core - INFO - Producer producer_4344731248 joined room 56f1a716-e99b-4689-ae6b-7fe420f6a231 +2025-06-06 01:34:44,078 - robotics.core - INFO - Consumer consumer_4344731200 joined room 56f1a716-e99b-4689-ae6b-7fe420f6a231 +2025-06-06 01:34:44,749 - robotics.core - INFO - Consumer consumer_4344731200 left room 56f1a716-e99b-4689-ae6b-7fe420f6a231 +2025-06-06 01:34:44,749 - robotics.core - INFO - Producer producer_4344731248 left room 56f1a716-e99b-4689-ae6b-7fe420f6a231 +2025-06-06 01:34:44,750 - robotics.core - INFO - Deleted room 56f1a716-e99b-4689-ae6b-7fe420f6a231 +2025-06-06 01:34:44,759 - robotics.core - INFO - Created room c13e5005-4093-413d-8c9e-747332ba8e0c +2025-06-06 01:34:44,765 - robotics.core - INFO - Producer producer_4344477456 joined room c13e5005-4093-413d-8c9e-747332ba8e0c +2025-06-06 01:34:44,769 - robotics.core - INFO - Consumer consumer_4344476640 joined room c13e5005-4093-413d-8c9e-747332ba8e0c +2025-06-06 01:34:44,871 - robotics.core - WARNING - ๐Ÿšจ Emergency stop triggered by producer_4344477456 in room c13e5005-4093-413d-8c9e-747332ba8e0c +2025-06-06 01:34:45,076 - robotics.core - INFO - Consumer consumer_4344476640 left room c13e5005-4093-413d-8c9e-747332ba8e0c +2025-06-06 01:34:45,076 - robotics.core - INFO - Producer producer_4344477456 left room c13e5005-4093-413d-8c9e-747332ba8e0c +2025-06-06 01:34:45,076 - robotics.core - INFO - Deleted room c13e5005-4093-413d-8c9e-747332ba8e0c +2025-06-06 01:34:45,098 - robotics.core - INFO - Created room 7f0479d7-0b62-4edb-8373-b445371d153a +2025-06-06 01:34:45,100 - robotics.core - INFO - Consumer custom-consumer-456 joined room 7f0479d7-0b62-4edb-8373-b445371d153a +2025-06-06 01:34:45,102 - robotics.core - INFO - Consumer custom-consumer-456 left room 7f0479d7-0b62-4edb-8373-b445371d153a +2025-06-06 01:34:45,102 - robotics.core - INFO - Deleted room 7f0479d7-0b62-4edb-8373-b445371d153a +2025-06-06 01:34:45,105 - robotics.core - INFO - Created room a678d472-2f33-4de8-ac24-85a59bfe7652 +2025-06-06 01:34:45,107 - robotics.core - INFO - Consumer consumer_4323809744 joined room a678d472-2f33-4de8-ac24-85a59bfe7652 +2025-06-06 01:34:45,109 - robotics.core - INFO - Consumer consumer_4323809744 left room a678d472-2f33-4de8-ac24-85a59bfe7652 +2025-06-06 01:34:45,111 - robotics.core - INFO - Deleted room a678d472-2f33-4de8-ac24-85a59bfe7652 +2025-06-06 01:34:45,114 - robotics.core - INFO - Created room 66610aeb-e9c2-496f-bf99-891b90114f60 +2025-06-06 01:34:45,116 - robotics.core - INFO - Consumer consumer_4344473232 joined room 66610aeb-e9c2-496f-bf99-891b90114f60 +2025-06-06 01:34:45,116 - robotics.core - INFO - Consumer consumer_4344473232 left room 66610aeb-e9c2-496f-bf99-891b90114f60 +2025-06-06 01:34:45,118 - robotics.core - INFO - Consumer consumer_4344473232 joined room 66610aeb-e9c2-496f-bf99-891b90114f60 +2025-06-06 01:34:45,119 - robotics.core - INFO - Consumer consumer_4344473232 left room 66610aeb-e9c2-496f-bf99-891b90114f60 +2025-06-06 01:34:45,119 - robotics.core - INFO - Deleted room 66610aeb-e9c2-496f-bf99-891b90114f60 +2025-06-06 01:34:45,121 - robotics.core - INFO - Created room 0c7ed6d6-5620-456d-b7ae-cd932df44b0c +2025-06-06 01:34:45,124 - robotics.core - INFO - Producer producer_4344735664 joined room 0c7ed6d6-5620-456d-b7ae-cd932df44b0c +2025-06-06 01:34:45,125 - robotics.core - INFO - Consumer consumer_4344737536 joined room 0c7ed6d6-5620-456d-b7ae-cd932df44b0c +2025-06-06 01:34:45,431 - robotics.core - INFO - Consumer consumer_4344737536 left room 0c7ed6d6-5620-456d-b7ae-cd932df44b0c +2025-06-06 01:34:45,431 - robotics.core - INFO - Producer producer_4344735664 left room 0c7ed6d6-5620-456d-b7ae-cd932df44b0c +2025-06-06 01:34:45,431 - robotics.core - INFO - Deleted room 0c7ed6d6-5620-456d-b7ae-cd932df44b0c +2025-06-06 01:34:45,436 - robotics.core - INFO - Created room 3dd9b8bc-1a9c-4f37-bfe8-49332e2a53a8 +2025-06-06 01:34:45,439 - robotics.core - INFO - Producer producer_4344732688 joined room 3dd9b8bc-1a9c-4f37-bfe8-49332e2a53a8 +2025-06-06 01:34:45,440 - robotics.core - INFO - Producer producer_4344732688 left room 3dd9b8bc-1a9c-4f37-bfe8-49332e2a53a8 +2025-06-06 01:34:45,441 - robotics.core - INFO - Deleted room 3dd9b8bc-1a9c-4f37-bfe8-49332e2a53a8 +2025-06-06 01:34:45,443 - robotics.core - INFO - Created room 28d63f02-da75-42c2-8b0d-fdcf8b7aa5dd +2025-06-06 01:34:45,445 - robotics.core - INFO - Producer producer_4323818432 joined room 28d63f02-da75-42c2-8b0d-fdcf8b7aa5dd +2025-06-06 01:34:45,446 - robotics.core - INFO - Producer producer_4323818432 left room 28d63f02-da75-42c2-8b0d-fdcf8b7aa5dd +2025-06-06 01:34:45,447 - robotics.core - INFO - Deleted room 28d63f02-da75-42c2-8b0d-fdcf8b7aa5dd +2025-06-06 01:34:45,449 - robotics.core - INFO - Created room bc2dc75a-3c6c-4877-9b6d-439b9705a0e4 +2025-06-06 01:34:45,452 - robotics.core - INFO - Consumer consumer_4344726352 joined room bc2dc75a-3c6c-4877-9b6d-439b9705a0e4 +2025-06-06 01:34:45,453 - robotics.core - INFO - Consumer consumer_4344726352 left room bc2dc75a-3c6c-4877-9b6d-439b9705a0e4 +2025-06-06 01:34:45,454 - robotics.core - INFO - Deleted room bc2dc75a-3c6c-4877-9b6d-439b9705a0e4 +2025-06-06 01:34:45,456 - robotics.core - INFO - Created room efb71ccc-f628-494e-9615-b1dccf4166d5 +2025-06-06 01:34:45,459 - robotics.core - INFO - Producer producer_4344726064 joined room efb71ccc-f628-494e-9615-b1dccf4166d5 +2025-06-06 01:34:45,461 - robotics.core - INFO - Consumer consumer_4344476352 joined room efb71ccc-f628-494e-9615-b1dccf4166d5 +2025-06-06 01:34:45,765 - robotics.core - INFO - Consumer consumer_4344476352 left room efb71ccc-f628-494e-9615-b1dccf4166d5 +2025-06-06 01:34:45,766 - robotics.core - INFO - Producer producer_4344726064 left room efb71ccc-f628-494e-9615-b1dccf4166d5 +2025-06-06 01:34:45,769 - robotics.core - INFO - Deleted room efb71ccc-f628-494e-9615-b1dccf4166d5 +2025-06-06 01:34:45,777 - robotics.core - INFO - Created room ca769ee6-621c-40ec-8d53-a540767072ab +2025-06-06 01:34:45,784 - robotics.core - INFO - Producer producer_4344738880 joined room ca769ee6-621c-40ec-8d53-a540767072ab +2025-06-06 01:34:45,789 - robotics.core - INFO - Consumer consumer_4344739216 joined room ca769ee6-621c-40ec-8d53-a540767072ab +2025-06-06 01:34:45,790 - robotics.core - INFO - Consumer consumer_4344739216 left room ca769ee6-621c-40ec-8d53-a540767072ab +2025-06-06 01:34:45,790 - robotics.core - INFO - Producer producer_4344738880 left room ca769ee6-621c-40ec-8d53-a540767072ab +2025-06-06 01:34:45,792 - robotics.core - INFO - Deleted room ca769ee6-621c-40ec-8d53-a540767072ab +2025-06-06 01:34:45,796 - robotics.core - INFO - Created room 572c54ed-f5da-47b9-8963-5492562116b7 +2025-06-06 01:34:45,799 - robotics.core - INFO - Producer producer_4344729952 joined room 572c54ed-f5da-47b9-8963-5492562116b7 +2025-06-06 01:34:45,801 - robotics.core - INFO - Created room bb8e0f63-03a7-4a5b-a091-065c3f98c036 +2025-06-06 01:34:45,803 - robotics.core - INFO - Producer producer_4344740560 joined room bb8e0f63-03a7-4a5b-a091-065c3f98c036 +2025-06-06 01:34:45,804 - robotics.core - INFO - Producer producer_4344729952 left room 572c54ed-f5da-47b9-8963-5492562116b7 +2025-06-06 01:34:45,805 - robotics.core - INFO - Producer producer_4344740560 left room bb8e0f63-03a7-4a5b-a091-065c3f98c036 +2025-06-06 01:34:45,806 - robotics.core - INFO - Deleted room 572c54ed-f5da-47b9-8963-5492562116b7 +2025-06-06 01:34:45,809 - robotics.core - INFO - Deleted room bb8e0f63-03a7-4a5b-a091-065c3f98c036 +2025-06-06 01:34:45,816 - robotics.core - INFO - Created room 75181938-3a85-4c03-81d5-e99fa1f064e1 +2025-06-06 01:34:45,819 - robotics.core - INFO - Producer producer_4344475056 joined room 75181938-3a85-4c03-81d5-e99fa1f064e1 +2025-06-06 01:34:45,821 - robotics.core - INFO - Consumer consumer_4344922384 joined room 75181938-3a85-4c03-81d5-e99fa1f064e1 +2025-06-06 01:34:46,832 - robotics.core - INFO - Consumer consumer_4344922384 left room 75181938-3a85-4c03-81d5-e99fa1f064e1 +2025-06-06 01:34:46,833 - robotics.core - INFO - Producer producer_4344475056 left room 75181938-3a85-4c03-81d5-e99fa1f064e1 +2025-06-06 01:34:46,834 - robotics.core - INFO - Deleted room 75181938-3a85-4c03-81d5-e99fa1f064e1 +2025-06-06 01:34:46,839 - robotics.core - INFO - Created room 6594eff4-d486-4cf8-826e-633e1b88598c +2025-06-06 01:34:46,844 - robotics.core - INFO - Producer producer_4344728176 joined room 6594eff4-d486-4cf8-826e-633e1b88598c +2025-06-06 01:34:46,847 - robotics.core - INFO - Consumer consumer_4344727552 joined room 6594eff4-d486-4cf8-826e-633e1b88598c +2025-06-06 01:34:46,850 - robotics.core - INFO - Consumer consumer_4344740320 joined room 6594eff4-d486-4cf8-826e-633e1b88598c +2025-06-06 01:34:47,253 - robotics.core - INFO - Consumer consumer_4344727552 left room 6594eff4-d486-4cf8-826e-633e1b88598c +2025-06-06 01:34:47,254 - robotics.core - INFO - Consumer consumer_4344740320 left room 6594eff4-d486-4cf8-826e-633e1b88598c +2025-06-06 01:34:47,254 - robotics.core - INFO - Producer producer_4344728176 left room 6594eff4-d486-4cf8-826e-633e1b88598c +2025-06-06 01:34:47,257 - robotics.core - INFO - Deleted room 6594eff4-d486-4cf8-826e-633e1b88598c +2025-06-06 01:34:47,261 - robotics.core - INFO - Created room 62e60123-ac40-49f4-a883-7d706df154a5 +2025-06-06 01:34:47,264 - robotics.core - INFO - Producer producer_4344928288 joined room 62e60123-ac40-49f4-a883-7d706df154a5 +2025-06-06 01:34:47,267 - robotics.core - INFO - Consumer consumer_4344740704 joined room 62e60123-ac40-49f4-a883-7d706df154a5 +2025-06-06 01:34:47,269 - robotics.core - INFO - Consumer consumer_4344729520 joined room 62e60123-ac40-49f4-a883-7d706df154a5 +2025-06-06 01:34:47,471 - robotics.core - WARNING - ๐Ÿšจ Emergency stop triggered by producer_4344928288 in room 62e60123-ac40-49f4-a883-7d706df154a5 +2025-06-06 01:34:47,673 - robotics.core - INFO - Consumer consumer_4344740704 left room 62e60123-ac40-49f4-a883-7d706df154a5 +2025-06-06 01:34:47,675 - robotics.core - INFO - Consumer consumer_4344729520 left room 62e60123-ac40-49f4-a883-7d706df154a5 +2025-06-06 01:34:47,676 - robotics.core - INFO - Producer producer_4344928288 left room 62e60123-ac40-49f4-a883-7d706df154a5 +2025-06-06 01:34:47,678 - robotics.core - INFO - Deleted room 62e60123-ac40-49f4-a883-7d706df154a5 +2025-06-06 01:34:47,683 - robotics.core - INFO - Created room 3de95496-876e-44e8-9c05-cd3eb54063e8 +2025-06-06 01:34:47,687 - robotics.core - INFO - Consumer consumer_4344922528 joined room 3de95496-876e-44e8-9c05-cd3eb54063e8 +2025-06-06 01:34:47,690 - robotics.core - INFO - Producer producer_4344931168 joined room 3de95496-876e-44e8-9c05-cd3eb54063e8 +2025-06-06 01:34:47,792 - robotics.core - INFO - Producer producer_4344931168 left room 3de95496-876e-44e8-9c05-cd3eb54063e8 +2025-06-06 01:34:47,796 - robotics.core - INFO - Producer producer_4344931168 joined room 3de95496-876e-44e8-9c05-cd3eb54063e8 +2025-06-06 01:34:47,998 - robotics.core - INFO - Producer producer_4344931168 left room 3de95496-876e-44e8-9c05-cd3eb54063e8 +2025-06-06 01:34:47,999 - robotics.core - INFO - Consumer consumer_4344922528 left room 3de95496-876e-44e8-9c05-cd3eb54063e8 +2025-06-06 01:34:48,001 - robotics.core - INFO - Deleted room 3de95496-876e-44e8-9c05-cd3eb54063e8 +2025-06-06 01:34:48,007 - robotics.core - INFO - Created room b4abc192-ea36-413e-87dc-d3cd75027573 +2025-06-06 01:34:48,010 - robotics.core - INFO - Producer producer_4344740560 joined room b4abc192-ea36-413e-87dc-d3cd75027573 +2025-06-06 01:34:48,215 - robotics.core - INFO - Consumer consumer_4344739840 joined room b4abc192-ea36-413e-87dc-d3cd75027573 +2025-06-06 01:34:48,217 - robotics.core - INFO - Consumer consumer_4344739840 left room b4abc192-ea36-413e-87dc-d3cd75027573 +2025-06-06 01:34:48,218 - robotics.core - INFO - Producer producer_4344740560 left room b4abc192-ea36-413e-87dc-d3cd75027573 +2025-06-06 01:34:48,219 - robotics.core - INFO - Deleted room b4abc192-ea36-413e-87dc-d3cd75027573 +2025-06-06 01:34:48,222 - robotics.core - INFO - Created room a502e8ec-d12e-46ed-87ab-af6f41566bd6 +2025-06-06 01:34:48,224 - robotics.core - INFO - Producer producer_4344727504 joined room a502e8ec-d12e-46ed-87ab-af6f41566bd6 +2025-06-06 01:34:48,226 - robotics.core - INFO - Consumer consumer_4344931648 joined room a502e8ec-d12e-46ed-87ab-af6f41566bd6 +2025-06-06 01:34:48,330 - robotics.core - INFO - Producer producer_4344727504 left room a502e8ec-d12e-46ed-87ab-af6f41566bd6 +2025-06-06 01:34:48,436 - robotics.core - INFO - Consumer consumer_4344931648 left room a502e8ec-d12e-46ed-87ab-af6f41566bd6 +2025-06-06 01:34:48,437 - robotics.core - INFO - Deleted room a502e8ec-d12e-46ed-87ab-af6f41566bd6 +2025-06-06 01:34:48,443 - robotics.core - INFO - Created room 06a30f98-79f8-4f11-9187-d2269317631a +2025-06-06 01:34:48,447 - robotics.core - INFO - Producer producer_4344740608 joined room 06a30f98-79f8-4f11-9187-d2269317631a +2025-06-06 01:34:48,451 - robotics.core - INFO - Consumer consumer_4344928432 joined room 06a30f98-79f8-4f11-9187-d2269317631a +2025-06-06 01:34:49,276 - robotics.core - INFO - Consumer consumer_4344928432 left room 06a30f98-79f8-4f11-9187-d2269317631a +2025-06-06 01:34:49,277 - robotics.core - INFO - Producer producer_4344740608 left room 06a30f98-79f8-4f11-9187-d2269317631a +2025-06-06 01:34:49,277 - robotics.core - INFO - Deleted room 06a30f98-79f8-4f11-9187-d2269317631a +2025-06-06 01:34:49,280 - robotics.core - INFO - Created room ae0dfd00-9f54-421d-86ca-a2349462197b +2025-06-06 01:34:49,283 - robotics.core - INFO - Producer producer_4345039664 joined room ae0dfd00-9f54-421d-86ca-a2349462197b +2025-06-06 01:34:49,283 - robotics.core - INFO - Producer producer_4345039664 left room ae0dfd00-9f54-421d-86ca-a2349462197b +2025-06-06 01:34:49,284 - robotics.core - INFO - Deleted room ae0dfd00-9f54-421d-86ca-a2349462197b +2025-06-06 01:34:49,286 - robotics.core - INFO - Created room ff0ec55d-0511-4265-974b-3e4cf22a2cd7 +2025-06-06 01:34:49,288 - robotics.core - INFO - Producer producer_4344926704 joined room ff0ec55d-0511-4265-974b-3e4cf22a2cd7 +2025-06-06 01:34:49,290 - robotics.core - INFO - Producer producer_4344926704 left room ff0ec55d-0511-4265-974b-3e4cf22a2cd7 +2025-06-06 01:34:49,290 - robotics.core - INFO - Deleted room ff0ec55d-0511-4265-974b-3e4cf22a2cd7 +2025-06-06 01:34:49,294 - robotics.core - INFO - Created room baceac7b-6781-4f88-90a5-97408da70d3e +2025-06-06 01:34:49,296 - robotics.core - INFO - Producer producer_4345037984 joined room baceac7b-6781-4f88-90a5-97408da70d3e +2025-06-06 01:34:49,298 - robotics.core - INFO - Producer producer_4345037984 left room baceac7b-6781-4f88-90a5-97408da70d3e +2025-06-06 01:34:49,298 - robotics.core - INFO - Deleted room baceac7b-6781-4f88-90a5-97408da70d3e +2025-06-06 01:34:49,300 - robotics.core - INFO - Created room 1edbd556-e056-4bc4-9147-4c95df109a54 +2025-06-06 01:34:49,301 - robotics.core - INFO - Producer producer_4344929872 joined room 1edbd556-e056-4bc4-9147-4c95df109a54 +2025-06-06 01:34:49,303 - robotics.core - INFO - Producer producer_4344929872 left room 1edbd556-e056-4bc4-9147-4c95df109a54 +2025-06-06 01:34:49,303 - robotics.core - INFO - Deleted room 1edbd556-e056-4bc4-9147-4c95df109a54 +2025-06-06 01:34:49,305 - robotics.core - INFO - Created room c409ccc2-0785-4ca6-b709-8f66899403cc +2025-06-06 01:34:49,307 - robotics.core - INFO - Producer producer_4345037888 joined room c409ccc2-0785-4ca6-b709-8f66899403cc +2025-06-06 01:34:49,308 - robotics.core - WARNING - ๐Ÿšจ Emergency stop triggered by producer_4345037888 in room c409ccc2-0785-4ca6-b709-8f66899403cc +2025-06-06 01:34:49,308 - robotics.core - WARNING - ๐Ÿšจ Emergency stop triggered by producer_4345037888 in room c409ccc2-0785-4ca6-b709-8f66899403cc +2025-06-06 01:34:49,309 - robotics.core - INFO - Producer producer_4345037888 left room c409ccc2-0785-4ca6-b709-8f66899403cc +2025-06-06 01:34:49,309 - robotics.core - INFO - Deleted room c409ccc2-0785-4ca6-b709-8f66899403cc +2025-06-06 01:34:49,310 - robotics.core - INFO - Created room ba081fc6-6975-4e08-b3f7-51b8335d928d +2025-06-06 01:34:49,312 - robotics.core - INFO - Producer producer_4344936064 joined room ba081fc6-6975-4e08-b3f7-51b8335d928d +2025-06-06 01:34:49,313 - robotics.core - INFO - Producer producer_4344936064 left room ba081fc6-6975-4e08-b3f7-51b8335d928d +2025-06-06 01:34:49,313 - robotics.core - INFO - Deleted room ba081fc6-6975-4e08-b3f7-51b8335d928d +2025-06-06 01:34:49,315 - robotics.core - INFO - Created room b240f8e5-b2d4-4a51-b729-5974da6d9b8b +2025-06-06 01:34:49,317 - robotics.core - INFO - Producer producer_4344934240 joined room b240f8e5-b2d4-4a51-b729-5974da6d9b8b +2025-06-06 01:34:49,419 - robotics.core - INFO - Producer producer_4344934240 left room b240f8e5-b2d4-4a51-b729-5974da6d9b8b +2025-06-06 01:34:49,523 - robotics.core - INFO - Deleted room b240f8e5-b2d4-4a51-b729-5974da6d9b8b +2025-06-06 01:34:49,528 - robotics.core - INFO - Created room 21f1c827-9ab2-4c79-b070-d8a0fe287a50 +2025-06-06 01:34:49,532 - robotics.core - INFO - Producer producer_4344924544 joined room 21f1c827-9ab2-4c79-b070-d8a0fe287a50 +2025-06-06 01:34:49,534 - robotics.core - INFO - Created room 86084544-c3b2-4c9e-a475-c380264d1a15 +2025-06-06 01:34:49,535 - robotics.core - INFO - Producer producer_4344924544 left room 21f1c827-9ab2-4c79-b070-d8a0fe287a50 +2025-06-06 01:34:49,537 - robotics.core - INFO - Producer producer_4344924544 joined room 86084544-c3b2-4c9e-a475-c380264d1a15 +2025-06-06 01:34:49,540 - robotics.core - INFO - Producer producer_4344924544 left room 86084544-c3b2-4c9e-a475-c380264d1a15 +2025-06-06 01:34:49,540 - robotics.core - INFO - Deleted room 86084544-c3b2-4c9e-a475-c380264d1a15 +2025-06-06 01:34:49,542 - robotics.core - INFO - Deleted room 21f1c827-9ab2-4c79-b070-d8a0fe287a50 +2025-06-06 01:34:49,545 - robotics.core - INFO - Created room 08309f06-1af0-4a40-97a2-3b6e824cd0a6 +2025-06-06 01:34:49,548 - robotics.core - INFO - Producer producer_4344932176 joined room 08309f06-1af0-4a40-97a2-3b6e824cd0a6 +2025-06-06 01:34:49,549 - robotics.core - INFO - Producer producer_4344932176 left room 08309f06-1af0-4a40-97a2-3b6e824cd0a6 +2025-06-06 01:34:49,550 - robotics.core - INFO - Deleted room 08309f06-1af0-4a40-97a2-3b6e824cd0a6 +2025-06-06 01:34:49,552 - robotics.core - INFO - Created room d36f2e84-5de8-4a65-95e7-ac3d25c779fb +2025-06-06 01:34:49,554 - robotics.core - INFO - Producer producer_4344937984 joined room d36f2e84-5de8-4a65-95e7-ac3d25c779fb +2025-06-06 01:34:49,556 - robotics.core - WARNING - Producer producer_4344925696 failed to join room d36f2e84-5de8-4a65-95e7-ac3d25c779fb - room already has producer producer_4344937984 +2025-06-06 01:34:49,558 - robotics.core - INFO - Producer producer_4344937984 left room d36f2e84-5de8-4a65-95e7-ac3d25c779fb +2025-06-06 01:34:49,558 - robotics.core - INFO - Deleted room d36f2e84-5de8-4a65-95e7-ac3d25c779fb +2025-06-06 01:34:49,561 - robotics.core - INFO - Created room 5a3bdc4f-52dd-49e4-affc-71c4574371bf +2025-06-06 01:34:49,564 - robotics.core - INFO - Producer custom-producer-123 joined room 5a3bdc4f-52dd-49e4-affc-71c4574371bf +2025-06-06 01:34:49,565 - robotics.core - INFO - Producer custom-producer-123 left room 5a3bdc4f-52dd-49e4-affc-71c4574371bf +2025-06-06 01:34:49,565 - robotics.core - INFO - Deleted room 5a3bdc4f-52dd-49e4-affc-71c4574371bf +2025-06-06 01:34:49,567 - robotics.core - INFO - Created room 61be387a-5e4a-459b-8c67-117040fd29a3 +2025-06-06 01:34:49,570 - robotics.core - INFO - Producer producer_4344736192 joined room 61be387a-5e4a-459b-8c67-117040fd29a3 +2025-06-06 01:34:49,571 - robotics.core - INFO - Producer producer_4344736192 left room 61be387a-5e4a-459b-8c67-117040fd29a3 +2025-06-06 01:34:49,571 - robotics.core - INFO - Deleted room 61be387a-5e4a-459b-8c67-117040fd29a3 +2025-06-06 01:34:49,573 - robotics.core - INFO - Created room 901f6c5a-348f-4458-abf1-b6008bd5c769 +2025-06-06 01:34:49,575 - robotics.core - INFO - Producer producer_4344931840 joined room 901f6c5a-348f-4458-abf1-b6008bd5c769 +2025-06-06 01:34:49,687 - robotics.core - INFO - Producer producer_4344931840 left room 901f6c5a-348f-4458-abf1-b6008bd5c769 +2025-06-06 01:34:49,687 - robotics.core - INFO - Deleted room 901f6c5a-348f-4458-abf1-b6008bd5c769 +2025-06-06 01:34:49,694 - robotics.core - INFO - Created room 992d1e6e-e922-4c89-8470-d5926c52be34 +2025-06-06 01:34:49,696 - robotics.core - INFO - Deleted room 992d1e6e-e922-4c89-8470-d5926c52be34 +2025-06-06 01:34:49,699 - robotics.core - INFO - Created room test-room-123 +2025-06-06 01:34:49,700 - robotics.core - INFO - Deleted room test-room-123 +2025-06-06 01:34:49,702 - robotics.core - INFO - Created room 97fbc514-f133-429c-90d2-b9def1a33936 +2025-06-06 01:34:49,704 - robotics.core - INFO - Deleted room 97fbc514-f133-429c-90d2-b9def1a33936 +2025-06-06 01:34:49,706 - robotics.core - INFO - Created room 4474c4f0-cfdb-4620-8bad-b688209ae3ff +2025-06-06 01:34:49,708 - robotics.core - INFO - Deleted room 4474c4f0-cfdb-4620-8bad-b688209ae3ff +2025-06-06 01:34:49,711 - robotics.core - INFO - Created room 8477345b-ac4f-4d89-8b77-75db8b366ab4 +2025-06-06 01:34:49,713 - robotics.core - INFO - Deleted room 8477345b-ac4f-4d89-8b77-75db8b366ab4 +2025-06-06 01:34:49,714 - robotics.core - INFO - Created room 85227f5f-6acf-4ea6-80f2-c63f0ab041c2 +2025-06-06 01:34:49,716 - robotics.core - INFO - Deleted room 85227f5f-6acf-4ea6-80f2-c63f0ab041c2 +2025-06-06 01:56:43,777 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-06 02:00:43,068 - robotics.core - INFO - Created room 76b5dd89-0dbf-4774-a40b-d89171d65f64 +2025-06-06 02:00:43,086 - robotics.core - INFO - Consumer consumer_4361377632 joined room 76b5dd89-0dbf-4774-a40b-d89171d65f64 +2025-06-06 02:00:43,087 - robotics.core - INFO - Consumer consumer_4361377632 left room 76b5dd89-0dbf-4774-a40b-d89171d65f64 +2025-06-06 02:00:43,088 - robotics.core - INFO - Deleted room 76b5dd89-0dbf-4774-a40b-d89171d65f64 +2025-06-06 02:00:43,090 - robotics.core - INFO - Created room e5cb26a5-ab07-4fb6-9d0b-4b6519e406fc +2025-06-06 02:00:43,092 - robotics.core - INFO - Consumer consumer_4381770960 joined room e5cb26a5-ab07-4fb6-9d0b-4b6519e406fc +2025-06-06 02:00:43,094 - robotics.core - INFO - Consumer consumer_4381770960 left room e5cb26a5-ab07-4fb6-9d0b-4b6519e406fc +2025-06-06 02:00:43,094 - robotics.core - INFO - Deleted room e5cb26a5-ab07-4fb6-9d0b-4b6519e406fc +2025-06-06 02:00:43,095 - robotics.core - INFO - Created room d63546da-1436-45e1-a2be-29187816e022 +2025-06-06 02:00:43,097 - robotics.core - INFO - Consumer consumer_4381364816 joined room d63546da-1436-45e1-a2be-29187816e022 +2025-06-06 02:00:43,099 - robotics.core - INFO - Consumer consumer_4381364816 left room d63546da-1436-45e1-a2be-29187816e022 +2025-06-06 02:00:43,099 - robotics.core - INFO - Deleted room d63546da-1436-45e1-a2be-29187816e022 +2025-06-06 02:00:43,102 - robotics.core - INFO - Created room 5ae39275-071d-4fb2-8f20-a322862782e4 +2025-06-06 02:00:43,103 - robotics.core - INFO - Consumer consumer_4382032768 joined room 5ae39275-071d-4fb2-8f20-a322862782e4 +2025-06-06 02:00:43,205 - robotics.core - INFO - Consumer consumer_4382032768 left room 5ae39275-071d-4fb2-8f20-a322862782e4 +2025-06-06 02:00:43,308 - robotics.core - INFO - Deleted room 5ae39275-071d-4fb2-8f20-a322862782e4 +2025-06-06 02:00:43,310 - robotics.core - INFO - Created room b5bc852c-9667-4d35-9111-f0cec5955817 +2025-06-06 02:00:43,313 - robotics.core - INFO - Consumer consumer_4382035408 joined room b5bc852c-9667-4d35-9111-f0cec5955817 +2025-06-06 02:00:43,315 - robotics.core - INFO - Consumer consumer_4382035696 joined room b5bc852c-9667-4d35-9111-f0cec5955817 +2025-06-06 02:00:43,315 - robotics.core - INFO - Consumer consumer_4382035408 left room b5bc852c-9667-4d35-9111-f0cec5955817 +2025-06-06 02:00:43,316 - robotics.core - INFO - Consumer consumer_4382035696 left room b5bc852c-9667-4d35-9111-f0cec5955817 +2025-06-06 02:00:43,317 - robotics.core - INFO - Deleted room b5bc852c-9667-4d35-9111-f0cec5955817 +2025-06-06 02:00:43,321 - robotics.core - INFO - Created room a1dbc8f4-9ca9-4c15-ba0d-a6bebb76c0d0 +2025-06-06 02:00:43,323 - robotics.core - INFO - Producer producer_4381783968 joined room a1dbc8f4-9ca9-4c15-ba0d-a6bebb76c0d0 +2025-06-06 02:00:43,325 - robotics.core - INFO - Consumer consumer_4381784304 joined room a1dbc8f4-9ca9-4c15-ba0d-a6bebb76c0d0 +2025-06-06 02:00:43,630 - robotics.core - INFO - Consumer consumer_4381784304 left room a1dbc8f4-9ca9-4c15-ba0d-a6bebb76c0d0 +2025-06-06 02:00:43,630 - robotics.core - INFO - Producer producer_4381783968 left room a1dbc8f4-9ca9-4c15-ba0d-a6bebb76c0d0 +2025-06-06 02:00:43,630 - robotics.core - INFO - Deleted room a1dbc8f4-9ca9-4c15-ba0d-a6bebb76c0d0 +2025-06-06 02:00:43,633 - robotics.core - INFO - Created room b7f5512a-8756-4173-a4b7-8b94443b8c55 +2025-06-06 02:00:43,636 - robotics.core - INFO - Producer producer_4382037712 joined room b7f5512a-8756-4173-a4b7-8b94443b8c55 +2025-06-06 02:00:43,638 - robotics.core - INFO - Consumer consumer_4382035264 joined room b7f5512a-8756-4173-a4b7-8b94443b8c55 +2025-06-06 02:00:43,945 - robotics.core - INFO - Consumer consumer_4382035264 left room b7f5512a-8756-4173-a4b7-8b94443b8c55 +2025-06-06 02:00:43,946 - robotics.core - INFO - Producer producer_4382037712 left room b7f5512a-8756-4173-a4b7-8b94443b8c55 +2025-06-06 02:00:43,946 - robotics.core - INFO - Deleted room b7f5512a-8756-4173-a4b7-8b94443b8c55 +2025-06-06 02:00:43,961 - robotics.core - INFO - Created room c09a9573-56a4-4987-ac33-26b184f5bf5b +2025-06-06 02:00:43,967 - robotics.core - INFO - Producer producer_4382036656 joined room c09a9573-56a4-4987-ac33-26b184f5bf5b +2025-06-06 02:00:43,971 - robotics.core - INFO - Consumer consumer_4382038240 joined room c09a9573-56a4-4987-ac33-26b184f5bf5b +2025-06-06 02:00:44,635 - robotics.core - INFO - Consumer consumer_4382038240 left room c09a9573-56a4-4987-ac33-26b184f5bf5b +2025-06-06 02:00:44,635 - robotics.core - INFO - Producer producer_4382036656 left room c09a9573-56a4-4987-ac33-26b184f5bf5b +2025-06-06 02:00:44,635 - robotics.core - INFO - Deleted room c09a9573-56a4-4987-ac33-26b184f5bf5b +2025-06-06 02:00:44,645 - robotics.core - INFO - Created room f063f220-cb4b-46a2-861c-ca114006b775 +2025-06-06 02:00:44,649 - robotics.core - INFO - Producer producer_4381784208 joined room f063f220-cb4b-46a2-861c-ca114006b775 +2025-06-06 02:00:44,654 - robotics.core - INFO - Consumer consumer_4381770960 joined room f063f220-cb4b-46a2-861c-ca114006b775 +2025-06-06 02:00:44,757 - robotics.core - WARNING - ๐Ÿšจ Emergency stop triggered by producer_4381784208 in room f063f220-cb4b-46a2-861c-ca114006b775 +2025-06-06 02:00:44,960 - robotics.core - INFO - Consumer consumer_4381770960 left room f063f220-cb4b-46a2-861c-ca114006b775 +2025-06-06 02:00:44,960 - robotics.core - INFO - Producer producer_4381784208 left room f063f220-cb4b-46a2-861c-ca114006b775 +2025-06-06 02:00:44,960 - robotics.core - INFO - Deleted room f063f220-cb4b-46a2-861c-ca114006b775 +2025-06-06 02:00:44,979 - robotics.core - INFO - Created room 1049c585-d966-48e4-9555-5a34a0bf797a +2025-06-06 02:00:44,984 - robotics.core - INFO - Consumer custom-consumer-456 joined room 1049c585-d966-48e4-9555-5a34a0bf797a +2025-06-06 02:00:44,986 - robotics.core - INFO - Consumer custom-consumer-456 left room 1049c585-d966-48e4-9555-5a34a0bf797a +2025-06-06 02:00:44,986 - robotics.core - INFO - Deleted room 1049c585-d966-48e4-9555-5a34a0bf797a +2025-06-06 02:00:44,989 - robotics.core - INFO - Created room 1546a316-2e34-47cf-a21f-89cb8f016f93 +2025-06-06 02:00:44,992 - robotics.core - INFO - Consumer consumer_4360800496 joined room 1546a316-2e34-47cf-a21f-89cb8f016f93 +2025-06-06 02:00:44,994 - robotics.core - INFO - Consumer consumer_4360800496 left room 1546a316-2e34-47cf-a21f-89cb8f016f93 +2025-06-06 02:00:44,995 - robotics.core - INFO - Deleted room 1546a316-2e34-47cf-a21f-89cb8f016f93 +2025-06-06 02:00:44,998 - robotics.core - INFO - Created room bd3b9709-979b-4c3e-ab51-bed2f74ec7fb +2025-06-06 02:00:45,001 - robotics.core - INFO - Consumer consumer_4381784496 joined room bd3b9709-979b-4c3e-ab51-bed2f74ec7fb +2025-06-06 02:00:45,001 - robotics.core - INFO - Consumer consumer_4381784496 left room bd3b9709-979b-4c3e-ab51-bed2f74ec7fb +2025-06-06 02:00:45,002 - robotics.core - INFO - Consumer consumer_4381784496 joined room bd3b9709-979b-4c3e-ab51-bed2f74ec7fb +2025-06-06 02:00:45,004 - robotics.core - INFO - Consumer consumer_4381784496 left room bd3b9709-979b-4c3e-ab51-bed2f74ec7fb +2025-06-06 02:00:45,004 - robotics.core - INFO - Deleted room bd3b9709-979b-4c3e-ab51-bed2f74ec7fb +2025-06-06 02:00:45,006 - robotics.core - INFO - Created room 383efb1a-6a48-47a1-93fa-32d02ca30d17 +2025-06-06 02:00:45,008 - robotics.core - INFO - Producer producer_4382039728 joined room 383efb1a-6a48-47a1-93fa-32d02ca30d17 +2025-06-06 02:00:45,010 - robotics.core - INFO - Consumer consumer_4382043904 joined room 383efb1a-6a48-47a1-93fa-32d02ca30d17 +2025-06-06 02:00:45,316 - robotics.core - INFO - Consumer consumer_4382043904 left room 383efb1a-6a48-47a1-93fa-32d02ca30d17 +2025-06-06 02:00:45,316 - robotics.core - INFO - Producer producer_4382039728 left room 383efb1a-6a48-47a1-93fa-32d02ca30d17 +2025-06-06 02:00:45,316 - robotics.core - INFO - Deleted room 383efb1a-6a48-47a1-93fa-32d02ca30d17 +2025-06-06 02:00:45,321 - robotics.core - INFO - Created room e7c9b416-dbc4-4614-b1c0-09ba8ee9a8d2 +2025-06-06 02:00:45,323 - robotics.core - INFO - Producer producer_4382041648 joined room e7c9b416-dbc4-4614-b1c0-09ba8ee9a8d2 +2025-06-06 02:00:45,324 - robotics.core - INFO - Producer producer_4382041648 left room e7c9b416-dbc4-4614-b1c0-09ba8ee9a8d2 +2025-06-06 02:00:45,325 - robotics.core - INFO - Deleted room e7c9b416-dbc4-4614-b1c0-09ba8ee9a8d2 +2025-06-06 02:00:45,328 - robotics.core - INFO - Created room d155511a-b323-46e2-918a-6fee433ee6d3 +2025-06-06 02:00:45,330 - robotics.core - INFO - Producer producer_4381785264 joined room d155511a-b323-46e2-918a-6fee433ee6d3 +2025-06-06 02:00:45,330 - robotics.core - INFO - Producer producer_4381785264 left room d155511a-b323-46e2-918a-6fee433ee6d3 +2025-06-06 02:00:45,331 - robotics.core - INFO - Deleted room d155511a-b323-46e2-918a-6fee433ee6d3 +2025-06-06 02:00:45,333 - robotics.core - INFO - Created room 99c5c243-73d7-4941-8915-164f765b37c9 +2025-06-06 02:00:45,335 - robotics.core - INFO - Consumer consumer_4382035264 joined room 99c5c243-73d7-4941-8915-164f765b37c9 +2025-06-06 02:00:45,337 - robotics.core - INFO - Consumer consumer_4382035264 left room 99c5c243-73d7-4941-8915-164f765b37c9 +2025-06-06 02:00:45,338 - robotics.core - INFO - Deleted room 99c5c243-73d7-4941-8915-164f765b37c9 +2025-06-06 02:00:45,340 - robotics.core - INFO - Created room 4cece029-3bac-4607-ac84-cb14298ee9ef +2025-06-06 02:00:45,342 - robotics.core - INFO - Producer producer_4382036032 joined room 4cece029-3bac-4607-ac84-cb14298ee9ef +2025-06-06 02:00:45,344 - robotics.core - INFO - Consumer consumer_4381785696 joined room 4cece029-3bac-4607-ac84-cb14298ee9ef +2025-06-06 02:00:45,655 - robotics.core - INFO - Consumer consumer_4381785696 left room 4cece029-3bac-4607-ac84-cb14298ee9ef +2025-06-06 02:00:45,655 - robotics.core - INFO - Producer producer_4382036032 left room 4cece029-3bac-4607-ac84-cb14298ee9ef +2025-06-06 02:00:45,656 - robotics.core - INFO - Deleted room 4cece029-3bac-4607-ac84-cb14298ee9ef +2025-06-06 02:00:45,658 - robotics.core - INFO - Created room e9a38f60-e3cd-411f-9b51-8c6204679389 +2025-06-06 02:00:45,661 - robotics.core - INFO - Producer producer_4382044000 joined room e9a38f60-e3cd-411f-9b51-8c6204679389 +2025-06-06 02:00:45,663 - robotics.core - INFO - Consumer consumer_4382045632 joined room e9a38f60-e3cd-411f-9b51-8c6204679389 +2025-06-06 02:00:45,663 - robotics.core - INFO - Consumer consumer_4382045632 left room e9a38f60-e3cd-411f-9b51-8c6204679389 +2025-06-06 02:00:45,663 - robotics.core - INFO - Producer producer_4382044000 left room e9a38f60-e3cd-411f-9b51-8c6204679389 +2025-06-06 02:00:45,664 - robotics.core - INFO - Deleted room e9a38f60-e3cd-411f-9b51-8c6204679389 +2025-06-06 02:00:45,667 - robotics.core - INFO - Created room 227c2bf4-aa31-4512-b63d-734bc7b9997a +2025-06-06 02:00:45,668 - robotics.core - INFO - Producer producer_4382040112 joined room 227c2bf4-aa31-4512-b63d-734bc7b9997a +2025-06-06 02:00:45,669 - robotics.core - INFO - Created room 304a770c-36d1-49d8-be39-665f19186e23 +2025-06-06 02:00:45,671 - robotics.core - INFO - Producer producer_4382047168 joined room 304a770c-36d1-49d8-be39-665f19186e23 +2025-06-06 02:00:45,671 - robotics.core - INFO - Producer producer_4382040112 left room 227c2bf4-aa31-4512-b63d-734bc7b9997a +2025-06-06 02:00:45,672 - robotics.core - INFO - Producer producer_4382047168 left room 304a770c-36d1-49d8-be39-665f19186e23 +2025-06-06 02:00:45,673 - robotics.core - INFO - Deleted room 227c2bf4-aa31-4512-b63d-734bc7b9997a +2025-06-06 02:00:45,674 - robotics.core - INFO - Deleted room 304a770c-36d1-49d8-be39-665f19186e23 +2025-06-06 02:00:45,678 - robotics.core - INFO - Created room 0eedba3b-f242-47c9-8ef5-0daeda4bb21e +2025-06-06 02:00:45,680 - robotics.core - INFO - Producer producer_4381779648 joined room 0eedba3b-f242-47c9-8ef5-0daeda4bb21e +2025-06-06 02:00:45,682 - robotics.core - INFO - Consumer consumer_4382229664 joined room 0eedba3b-f242-47c9-8ef5-0daeda4bb21e +2025-06-06 02:00:46,699 - robotics.core - INFO - Consumer consumer_4382229664 left room 0eedba3b-f242-47c9-8ef5-0daeda4bb21e +2025-06-06 02:00:46,699 - robotics.core - INFO - Producer producer_4381779648 left room 0eedba3b-f242-47c9-8ef5-0daeda4bb21e +2025-06-06 02:00:46,701 - robotics.core - INFO - Deleted room 0eedba3b-f242-47c9-8ef5-0daeda4bb21e +2025-06-06 02:00:46,706 - robotics.core - INFO - Created room 71ec440e-8ff8-4610-bf75-3a736748a83c +2025-06-06 02:00:46,710 - robotics.core - INFO - Producer producer_4382035264 joined room 71ec440e-8ff8-4610-bf75-3a736748a83c +2025-06-06 02:00:46,715 - robotics.core - INFO - Consumer consumer_4382040928 joined room 71ec440e-8ff8-4610-bf75-3a736748a83c +2025-06-06 02:00:46,719 - robotics.core - INFO - Consumer consumer_4382047792 joined room 71ec440e-8ff8-4610-bf75-3a736748a83c +2025-06-06 02:00:47,123 - robotics.core - INFO - Consumer consumer_4382040928 left room 71ec440e-8ff8-4610-bf75-3a736748a83c +2025-06-06 02:00:47,124 - robotics.core - INFO - Consumer consumer_4382047792 left room 71ec440e-8ff8-4610-bf75-3a736748a83c +2025-06-06 02:00:47,125 - robotics.core - INFO - Producer producer_4382035264 left room 71ec440e-8ff8-4610-bf75-3a736748a83c +2025-06-06 02:00:47,127 - robotics.core - INFO - Deleted room 71ec440e-8ff8-4610-bf75-3a736748a83c +2025-06-06 02:00:47,133 - robotics.core - INFO - Created room 308d707c-6b9f-4dff-b8d2-470650ecb6be +2025-06-06 02:00:47,138 - robotics.core - INFO - Producer producer_4382234464 joined room 308d707c-6b9f-4dff-b8d2-470650ecb6be +2025-06-06 02:00:47,141 - robotics.core - INFO - Consumer consumer_4382047888 joined room 308d707c-6b9f-4dff-b8d2-470650ecb6be +2025-06-06 02:00:47,144 - robotics.core - INFO - Consumer consumer_4382042944 joined room 308d707c-6b9f-4dff-b8d2-470650ecb6be +2025-06-06 02:00:47,345 - robotics.core - WARNING - ๐Ÿšจ Emergency stop triggered by producer_4382234464 in room 308d707c-6b9f-4dff-b8d2-470650ecb6be +2025-06-06 02:00:47,547 - robotics.core - INFO - Consumer consumer_4382047888 left room 308d707c-6b9f-4dff-b8d2-470650ecb6be +2025-06-06 02:00:47,547 - robotics.core - INFO - Consumer consumer_4382042944 left room 308d707c-6b9f-4dff-b8d2-470650ecb6be +2025-06-06 02:00:47,547 - robotics.core - INFO - Producer producer_4382234464 left room 308d707c-6b9f-4dff-b8d2-470650ecb6be +2025-06-06 02:00:47,549 - robotics.core - INFO - Deleted room 308d707c-6b9f-4dff-b8d2-470650ecb6be +2025-06-06 02:00:47,551 - robotics.core - INFO - Created room 33efd778-4a30-44f1-af54-247ccbe21235 +2025-06-06 02:00:47,554 - robotics.core - INFO - Consumer consumer_4382229040 joined room 33efd778-4a30-44f1-af54-247ccbe21235 +2025-06-06 02:00:47,556 - robotics.core - INFO - Producer producer_4382237440 joined room 33efd778-4a30-44f1-af54-247ccbe21235 +2025-06-06 02:00:47,658 - robotics.core - INFO - Producer producer_4382237440 left room 33efd778-4a30-44f1-af54-247ccbe21235 +2025-06-06 02:00:47,660 - robotics.core - INFO - Producer producer_4382237440 joined room 33efd778-4a30-44f1-af54-247ccbe21235 +2025-06-06 02:00:47,862 - robotics.core - INFO - Producer producer_4382237440 left room 33efd778-4a30-44f1-af54-247ccbe21235 +2025-06-06 02:00:47,863 - robotics.core - INFO - Consumer consumer_4382229040 left room 33efd778-4a30-44f1-af54-247ccbe21235 +2025-06-06 02:00:47,865 - robotics.core - INFO - Deleted room 33efd778-4a30-44f1-af54-247ccbe21235 +2025-06-06 02:00:47,868 - robotics.core - INFO - Created room a032ef27-d57a-45cd-80b8-a4007493766f +2025-06-06 02:00:47,871 - robotics.core - INFO - Producer producer_4382045920 joined room a032ef27-d57a-45cd-80b8-a4007493766f +2025-06-06 02:00:48,080 - robotics.core - INFO - Consumer consumer_4382045632 joined room a032ef27-d57a-45cd-80b8-a4007493766f +2025-06-06 02:00:48,084 - robotics.core - INFO - Consumer consumer_4382045632 left room a032ef27-d57a-45cd-80b8-a4007493766f +2025-06-06 02:00:48,085 - robotics.core - INFO - Producer producer_4382045920 left room a032ef27-d57a-45cd-80b8-a4007493766f +2025-06-06 02:00:48,086 - robotics.core - INFO - Deleted room a032ef27-d57a-45cd-80b8-a4007493766f +2025-06-06 02:00:48,090 - robotics.core - INFO - Created room 2a20193c-ed82-445a-ae2f-a55bb72ea113 +2025-06-06 02:00:48,095 - robotics.core - INFO - Producer producer_4382046352 joined room 2a20193c-ed82-445a-ae2f-a55bb72ea113 +2025-06-06 02:00:48,099 - robotics.core - INFO - Consumer consumer_4382238112 joined room 2a20193c-ed82-445a-ae2f-a55bb72ea113 +2025-06-06 02:00:48,205 - robotics.core - INFO - Producer producer_4382046352 left room 2a20193c-ed82-445a-ae2f-a55bb72ea113 +2025-06-06 02:00:48,309 - robotics.core - INFO - Consumer consumer_4382238112 left room 2a20193c-ed82-445a-ae2f-a55bb72ea113 +2025-06-06 02:00:48,310 - robotics.core - INFO - Deleted room 2a20193c-ed82-445a-ae2f-a55bb72ea113 +2025-06-06 02:00:48,315 - robotics.core - INFO - Created room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:00:48,321 - robotics.core - INFO - Producer producer_4382034112 joined room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:00:48,326 - robotics.core - INFO - Consumer consumer_4382233648 joined room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:00:48,661 - robotics.core - INFO - Producer producer_4382034112 left room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:00:48,661 - robotics.core - INFO - Consumer consumer_4382233648 left room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:00:56,188 - robotics.core - INFO - Created room b4b30f29-1ebb-4ecb-a907-95c833fc9c57 +2025-06-06 02:00:56,202 - robotics.core - INFO - Consumer consumer_4320135504 joined room b4b30f29-1ebb-4ecb-a907-95c833fc9c57 +2025-06-06 02:00:56,202 - robotics.core - INFO - Consumer consumer_4320135504 left room b4b30f29-1ebb-4ecb-a907-95c833fc9c57 +2025-06-06 02:00:56,203 - robotics.core - INFO - Deleted room b4b30f29-1ebb-4ecb-a907-95c833fc9c57 +2025-06-06 02:00:56,205 - robotics.core - INFO - Created room 675e5d6d-c65a-4a31-8488-961f0a0a6bd4 +2025-06-06 02:00:56,207 - robotics.core - INFO - Consumer consumer_4340536608 joined room 675e5d6d-c65a-4a31-8488-961f0a0a6bd4 +2025-06-06 02:00:56,209 - robotics.core - INFO - Consumer consumer_4340536608 left room 675e5d6d-c65a-4a31-8488-961f0a0a6bd4 +2025-06-06 02:00:56,209 - robotics.core - INFO - Deleted room 675e5d6d-c65a-4a31-8488-961f0a0a6bd4 +2025-06-06 02:00:56,211 - robotics.core - INFO - Created room b2121737-57fe-49a3-b9ff-2cf59e36b722 +2025-06-06 02:00:56,213 - robotics.core - INFO - Consumer consumer_4340544864 joined room b2121737-57fe-49a3-b9ff-2cf59e36b722 +2025-06-06 02:00:56,216 - robotics.core - INFO - Consumer consumer_4340544864 left room b2121737-57fe-49a3-b9ff-2cf59e36b722 +2025-06-06 02:00:56,216 - robotics.core - INFO - Deleted room b2121737-57fe-49a3-b9ff-2cf59e36b722 +2025-06-06 02:00:56,219 - robotics.core - INFO - Created room 29fd5d4e-0ac0-4dc5-a00f-239f6e0a4976 +2025-06-06 02:00:56,221 - robotics.core - INFO - Consumer consumer_4340829120 joined room 29fd5d4e-0ac0-4dc5-a00f-239f6e0a4976 +2025-06-06 02:00:56,323 - robotics.core - INFO - Consumer consumer_4340829120 left room 29fd5d4e-0ac0-4dc5-a00f-239f6e0a4976 +2025-06-06 02:00:56,426 - robotics.core - INFO - Deleted room 29fd5d4e-0ac0-4dc5-a00f-239f6e0a4976 +2025-06-06 02:00:56,428 - robotics.core - INFO - Created room 82a21f81-3802-4f2d-9faa-20fcf66f1741 +2025-06-06 02:00:56,431 - robotics.core - INFO - Consumer consumer_4340830608 joined room 82a21f81-3802-4f2d-9faa-20fcf66f1741 +2025-06-06 02:00:56,432 - robotics.core - INFO - Consumer consumer_4340830896 joined room 82a21f81-3802-4f2d-9faa-20fcf66f1741 +2025-06-06 02:00:56,433 - robotics.core - INFO - Consumer consumer_4340830608 left room 82a21f81-3802-4f2d-9faa-20fcf66f1741 +2025-06-06 02:00:56,433 - robotics.core - INFO - Consumer consumer_4340830896 left room 82a21f81-3802-4f2d-9faa-20fcf66f1741 +2025-06-06 02:00:56,434 - robotics.core - INFO - Deleted room 82a21f81-3802-4f2d-9faa-20fcf66f1741 +2025-06-06 02:00:56,436 - robotics.core - INFO - Created room 7418afe9-0827-4704-8629-b759c425c183 +2025-06-06 02:00:56,438 - robotics.core - INFO - Producer producer_4340539920 joined room 7418afe9-0827-4704-8629-b759c425c183 +2025-06-06 02:00:56,440 - robotics.core - INFO - Consumer consumer_4340545248 joined room 7418afe9-0827-4704-8629-b759c425c183 +2025-06-06 02:00:56,746 - robotics.core - INFO - Consumer consumer_4340545248 left room 7418afe9-0827-4704-8629-b759c425c183 +2025-06-06 02:00:56,746 - robotics.core - INFO - Producer producer_4340539920 left room 7418afe9-0827-4704-8629-b759c425c183 +2025-06-06 02:00:56,746 - robotics.core - INFO - Deleted room 7418afe9-0827-4704-8629-b759c425c183 +2025-06-06 02:00:56,751 - robotics.core - INFO - Created room de026fd0-53d4-43ba-9296-21f04b34f73d +2025-06-06 02:00:56,754 - robotics.core - INFO - Producer producer_4340833056 joined room de026fd0-53d4-43ba-9296-21f04b34f73d +2025-06-06 02:00:56,757 - robotics.core - INFO - Consumer consumer_4340832336 joined room de026fd0-53d4-43ba-9296-21f04b34f73d +2025-06-06 02:00:57,064 - robotics.core - INFO - Consumer consumer_4340832336 left room de026fd0-53d4-43ba-9296-21f04b34f73d +2025-06-06 02:00:57,064 - robotics.core - INFO - Producer producer_4340833056 left room de026fd0-53d4-43ba-9296-21f04b34f73d +2025-06-06 02:00:57,064 - robotics.core - INFO - Deleted room de026fd0-53d4-43ba-9296-21f04b34f73d +2025-06-06 02:00:57,069 - robotics.core - INFO - Created room fedaf446-3f11-4005-8233-8e186a42d78f +2025-06-06 02:00:57,072 - robotics.core - INFO - Producer producer_4340834448 joined room fedaf446-3f11-4005-8233-8e186a42d78f +2025-06-06 02:00:57,076 - robotics.core - INFO - Consumer consumer_4340827872 joined room fedaf446-3f11-4005-8233-8e186a42d78f +2025-06-06 02:00:57,741 - robotics.core - INFO - Consumer consumer_4340827872 left room fedaf446-3f11-4005-8233-8e186a42d78f +2025-06-06 02:00:57,742 - robotics.core - INFO - Producer producer_4340834448 left room fedaf446-3f11-4005-8233-8e186a42d78f +2025-06-06 02:00:57,742 - robotics.core - INFO - Deleted room fedaf446-3f11-4005-8233-8e186a42d78f +2025-06-06 02:00:57,758 - robotics.core - INFO - Created room 81baec12-03de-4714-b6cb-0bcb14b3937b +2025-06-06 02:00:57,763 - robotics.core - INFO - Producer producer_4340541024 joined room 81baec12-03de-4714-b6cb-0bcb14b3937b +2025-06-06 02:00:57,768 - robotics.core - INFO - Consumer consumer_4340541696 joined room 81baec12-03de-4714-b6cb-0bcb14b3937b +2025-06-06 02:00:57,870 - robotics.core - WARNING - ๐Ÿšจ Emergency stop triggered by producer_4340541024 in room 81baec12-03de-4714-b6cb-0bcb14b3937b +2025-06-06 02:00:58,072 - robotics.core - INFO - Consumer consumer_4340541696 left room 81baec12-03de-4714-b6cb-0bcb14b3937b +2025-06-06 02:00:58,072 - robotics.core - INFO - Producer producer_4340541024 left room 81baec12-03de-4714-b6cb-0bcb14b3937b +2025-06-06 02:00:58,072 - robotics.core - INFO - Deleted room 81baec12-03de-4714-b6cb-0bcb14b3937b +2025-06-06 02:00:58,086 - robotics.core - INFO - Created room ff4e732a-d113-4b24-b8cf-352cce86868f +2025-06-06 02:00:58,089 - robotics.core - INFO - Consumer custom-consumer-456 joined room ff4e732a-d113-4b24-b8cf-352cce86868f +2025-06-06 02:00:58,091 - robotics.core - INFO - Consumer custom-consumer-456 left room ff4e732a-d113-4b24-b8cf-352cce86868f +2025-06-06 02:00:58,091 - robotics.core - INFO - Deleted room ff4e732a-d113-4b24-b8cf-352cce86868f +2025-06-06 02:00:58,094 - robotics.core - INFO - Created room b2cb2967-c1cf-4056-b1d3-bc04fd13a6f2 +2025-06-06 02:00:58,096 - robotics.core - INFO - Consumer consumer_4340547408 joined room b2cb2967-c1cf-4056-b1d3-bc04fd13a6f2 +2025-06-06 02:00:58,098 - robotics.core - INFO - Consumer consumer_4340547408 left room b2cb2967-c1cf-4056-b1d3-bc04fd13a6f2 +2025-06-06 02:00:58,099 - robotics.core - INFO - Deleted room b2cb2967-c1cf-4056-b1d3-bc04fd13a6f2 +2025-06-06 02:00:58,101 - robotics.core - INFO - Created room e070e9ce-71b7-45be-99e8-363d176b9d53 +2025-06-06 02:00:58,103 - robotics.core - INFO - Consumer consumer_4340541696 joined room e070e9ce-71b7-45be-99e8-363d176b9d53 +2025-06-06 02:00:58,104 - robotics.core - INFO - Consumer consumer_4340541696 left room e070e9ce-71b7-45be-99e8-363d176b9d53 +2025-06-06 02:00:58,105 - robotics.core - INFO - Consumer consumer_4340541696 joined room e070e9ce-71b7-45be-99e8-363d176b9d53 +2025-06-06 02:00:58,107 - robotics.core - INFO - Consumer consumer_4340541696 left room e070e9ce-71b7-45be-99e8-363d176b9d53 +2025-06-06 02:00:58,107 - robotics.core - INFO - Deleted room e070e9ce-71b7-45be-99e8-363d176b9d53 +2025-06-06 02:00:58,110 - robotics.core - INFO - Created room a1d85bd8-3d5d-415e-82b7-ead96ae01d30 +2025-06-06 02:00:58,112 - robotics.core - INFO - Producer producer_4340834928 joined room a1d85bd8-3d5d-415e-82b7-ead96ae01d30 +2025-06-06 02:00:58,113 - robotics.core - INFO - Consumer consumer_4340838384 joined room a1d85bd8-3d5d-415e-82b7-ead96ae01d30 +2025-06-06 02:00:58,431 - robotics.core - INFO - Consumer consumer_4340838384 left room a1d85bd8-3d5d-415e-82b7-ead96ae01d30 +2025-06-06 02:00:58,431 - robotics.core - INFO - Producer producer_4340834928 left room a1d85bd8-3d5d-415e-82b7-ead96ae01d30 +2025-06-06 02:00:58,431 - robotics.core - INFO - Deleted room a1d85bd8-3d5d-415e-82b7-ead96ae01d30 +2025-06-06 02:00:58,437 - robotics.core - INFO - Created room eb21e496-f987-4709-9d8c-0f1ec82ee865 +2025-06-06 02:00:58,439 - robotics.core - INFO - Producer producer_4340834064 joined room eb21e496-f987-4709-9d8c-0f1ec82ee865 +2025-06-06 02:00:58,439 - robotics.core - INFO - Producer producer_4340834064 left room eb21e496-f987-4709-9d8c-0f1ec82ee865 +2025-06-06 02:00:58,441 - robotics.core - INFO - Deleted room eb21e496-f987-4709-9d8c-0f1ec82ee865 +2025-06-06 02:00:58,443 - robotics.core - INFO - Created room 95148cb3-550a-46be-9e67-477f5e27cb92 +2025-06-06 02:00:58,445 - robotics.core - INFO - Producer producer_4340545200 joined room 95148cb3-550a-46be-9e67-477f5e27cb92 +2025-06-06 02:00:58,445 - robotics.core - INFO - Producer producer_4340545200 left room 95148cb3-550a-46be-9e67-477f5e27cb92 +2025-06-06 02:00:58,446 - robotics.core - INFO - Deleted room 95148cb3-550a-46be-9e67-477f5e27cb92 +2025-06-06 02:00:58,448 - robotics.core - INFO - Created room 47bc01cd-c5ca-43ab-9513-efa257154675 +2025-06-06 02:00:58,450 - robotics.core - INFO - Consumer consumer_4340832720 joined room 47bc01cd-c5ca-43ab-9513-efa257154675 +2025-06-06 02:00:58,452 - robotics.core - INFO - Consumer consumer_4340832720 left room 47bc01cd-c5ca-43ab-9513-efa257154675 +2025-06-06 02:00:58,452 - robotics.core - INFO - Deleted room 47bc01cd-c5ca-43ab-9513-efa257154675 +2025-06-06 02:00:58,454 - robotics.core - INFO - Created room cd08d4ca-fc0c-4944-b528-4b76c1604285 +2025-06-06 02:00:58,456 - robotics.core - INFO - Producer producer_4340831904 joined room cd08d4ca-fc0c-4944-b528-4b76c1604285 +2025-06-06 02:00:58,458 - robotics.core - INFO - Consumer consumer_4340543088 joined room cd08d4ca-fc0c-4944-b528-4b76c1604285 +2025-06-06 02:00:58,761 - robotics.core - INFO - Consumer consumer_4340543088 left room cd08d4ca-fc0c-4944-b528-4b76c1604285 +2025-06-06 02:00:58,762 - robotics.core - INFO - Producer producer_4340831904 left room cd08d4ca-fc0c-4944-b528-4b76c1604285 +2025-06-06 02:00:58,764 - robotics.core - INFO - Deleted room cd08d4ca-fc0c-4944-b528-4b76c1604285 +2025-06-06 02:00:58,767 - robotics.core - INFO - Created room 67e8842b-e808-48df-926e-e8a1aee04221 +2025-06-06 02:00:58,770 - robotics.core - INFO - Producer producer_4340835312 joined room 67e8842b-e808-48df-926e-e8a1aee04221 +2025-06-06 02:00:58,773 - robotics.core - INFO - Consumer consumer_4340839440 joined room 67e8842b-e808-48df-926e-e8a1aee04221 +2025-06-06 02:00:58,774 - robotics.core - INFO - Consumer consumer_4340839440 left room 67e8842b-e808-48df-926e-e8a1aee04221 +2025-06-06 02:00:58,774 - robotics.core - INFO - Producer producer_4340835312 left room 67e8842b-e808-48df-926e-e8a1aee04221 +2025-06-06 02:00:58,775 - robotics.core - INFO - Deleted room 67e8842b-e808-48df-926e-e8a1aee04221 +2025-06-06 02:00:58,778 - robotics.core - INFO - Created room 261cfc7a-9564-40a6-a0b6-b94da3158b8e +2025-06-06 02:00:58,782 - robotics.core - INFO - Producer producer_4340833680 joined room 261cfc7a-9564-40a6-a0b6-b94da3158b8e +2025-06-06 02:00:58,783 - robotics.core - INFO - Created room 6760ec7b-0346-4998-9c52-fae0a0e3d1c7 +2025-06-06 02:00:58,785 - robotics.core - INFO - Producer producer_4340840976 joined room 6760ec7b-0346-4998-9c52-fae0a0e3d1c7 +2025-06-06 02:00:58,786 - robotics.core - INFO - Producer producer_4340833680 left room 261cfc7a-9564-40a6-a0b6-b94da3158b8e +2025-06-06 02:00:58,786 - robotics.core - INFO - Producer producer_4340840976 left room 6760ec7b-0346-4998-9c52-fae0a0e3d1c7 +2025-06-06 02:00:58,787 - robotics.core - INFO - Deleted room 261cfc7a-9564-40a6-a0b6-b94da3158b8e +2025-06-06 02:00:58,788 - robotics.core - INFO - Deleted room 6760ec7b-0346-4998-9c52-fae0a0e3d1c7 +2025-06-06 02:00:58,795 - robotics.core - INFO - Created room 192a1191-a5bd-4b70-ba51-4f9d32193da2 +2025-06-06 02:00:58,798 - robotics.core - INFO - Producer producer_4340546304 joined room 192a1191-a5bd-4b70-ba51-4f9d32193da2 +2025-06-06 02:00:58,801 - robotics.core - INFO - Consumer consumer_4340990032 joined room 192a1191-a5bd-4b70-ba51-4f9d32193da2 +2025-06-06 02:00:59,818 - robotics.core - INFO - Consumer consumer_4340990032 left room 192a1191-a5bd-4b70-ba51-4f9d32193da2 +2025-06-06 02:00:59,838 - robotics.core - INFO - Producer producer_4340546304 left room 192a1191-a5bd-4b70-ba51-4f9d32193da2 +2025-06-06 02:00:59,841 - robotics.core - INFO - Deleted room 192a1191-a5bd-4b70-ba51-4f9d32193da2 +2025-06-06 02:00:59,849 - robotics.core - INFO - Created room 4ecc607b-f867-4870-9922-943969033fda +2025-06-06 02:00:59,858 - robotics.core - INFO - Producer producer_4340828784 joined room 4ecc607b-f867-4870-9922-943969033fda +2025-06-06 02:00:59,861 - robotics.core - INFO - Consumer consumer_4340838624 joined room 4ecc607b-f867-4870-9922-943969033fda +2025-06-06 02:00:59,865 - robotics.core - INFO - Consumer consumer_4340840400 joined room 4ecc607b-f867-4870-9922-943969033fda +2025-06-06 02:01:00,269 - robotics.core - INFO - Consumer consumer_4340838624 left room 4ecc607b-f867-4870-9922-943969033fda +2025-06-06 02:01:00,269 - robotics.core - INFO - Consumer consumer_4340840400 left room 4ecc607b-f867-4870-9922-943969033fda +2025-06-06 02:01:00,269 - robotics.core - INFO - Producer producer_4340828784 left room 4ecc607b-f867-4870-9922-943969033fda +2025-06-06 02:01:00,271 - robotics.core - INFO - Deleted room 4ecc607b-f867-4870-9922-943969033fda +2025-06-06 02:01:00,274 - robotics.core - INFO - Created room fc1b442e-84dd-4f1b-89c8-dde8bbe4f95b +2025-06-06 02:01:00,277 - robotics.core - INFO - Producer producer_4340995600 joined room fc1b442e-84dd-4f1b-89c8-dde8bbe4f95b +2025-06-06 02:01:00,278 - robotics.core - INFO - Consumer consumer_4340841600 joined room fc1b442e-84dd-4f1b-89c8-dde8bbe4f95b +2025-06-06 02:01:00,281 - robotics.core - INFO - Consumer consumer_4340836320 joined room fc1b442e-84dd-4f1b-89c8-dde8bbe4f95b +2025-06-06 02:01:00,483 - robotics.core - WARNING - ๐Ÿšจ Emergency stop triggered by producer_4340995600 in room fc1b442e-84dd-4f1b-89c8-dde8bbe4f95b +2025-06-06 02:01:00,684 - robotics.core - INFO - Consumer consumer_4340841600 left room fc1b442e-84dd-4f1b-89c8-dde8bbe4f95b +2025-06-06 02:01:00,685 - robotics.core - INFO - Consumer consumer_4340836320 left room fc1b442e-84dd-4f1b-89c8-dde8bbe4f95b +2025-06-06 02:01:00,685 - robotics.core - INFO - Producer producer_4340995600 left room fc1b442e-84dd-4f1b-89c8-dde8bbe4f95b +2025-06-06 02:01:00,686 - robotics.core - INFO - Deleted room fc1b442e-84dd-4f1b-89c8-dde8bbe4f95b +2025-06-06 02:01:00,689 - robotics.core - INFO - Created room 3edbe2fc-8217-4fbd-a6e3-ffb5a146c191 +2025-06-06 02:01:00,692 - robotics.core - INFO - Consumer consumer_4340994880 joined room 3edbe2fc-8217-4fbd-a6e3-ffb5a146c191 +2025-06-06 02:01:00,696 - robotics.core - INFO - Producer producer_4340998480 joined room 3edbe2fc-8217-4fbd-a6e3-ffb5a146c191 +2025-06-06 02:01:00,799 - robotics.core - INFO - Producer producer_4340998480 left room 3edbe2fc-8217-4fbd-a6e3-ffb5a146c191 +2025-06-06 02:01:00,802 - robotics.core - INFO - Producer producer_4340998480 joined room 3edbe2fc-8217-4fbd-a6e3-ffb5a146c191 +2025-06-06 02:01:01,004 - robotics.core - INFO - Producer producer_4340998480 left room 3edbe2fc-8217-4fbd-a6e3-ffb5a146c191 +2025-06-06 02:01:01,005 - robotics.core - INFO - Consumer consumer_4340994880 left room 3edbe2fc-8217-4fbd-a6e3-ffb5a146c191 +2025-06-06 02:01:01,006 - robotics.core - INFO - Deleted room 3edbe2fc-8217-4fbd-a6e3-ffb5a146c191 +2025-06-06 02:01:01,009 - robotics.core - INFO - Created room 3e52d324-742a-4f34-8410-7db5cdfde92f +2025-06-06 02:01:01,012 - robotics.core - INFO - Producer producer_4340839872 joined room 3e52d324-742a-4f34-8410-7db5cdfde92f +2025-06-06 02:01:01,216 - robotics.core - INFO - Consumer consumer_4340841456 joined room 3e52d324-742a-4f34-8410-7db5cdfde92f +2025-06-06 02:01:01,219 - robotics.core - INFO - Consumer consumer_4340841456 left room 3e52d324-742a-4f34-8410-7db5cdfde92f +2025-06-06 02:01:01,220 - robotics.core - INFO - Producer producer_4340839872 left room 3e52d324-742a-4f34-8410-7db5cdfde92f +2025-06-06 02:01:01,221 - robotics.core - INFO - Deleted room 3e52d324-742a-4f34-8410-7db5cdfde92f +2025-06-06 02:01:01,224 - robotics.core - INFO - Created room fda1d33f-3464-402c-b911-f1fe2693ae9f +2025-06-06 02:01:01,226 - robotics.core - INFO - Producer producer_4340828688 joined room fda1d33f-3464-402c-b911-f1fe2693ae9f +2025-06-06 02:01:01,228 - robotics.core - INFO - Consumer consumer_4341001312 joined room fda1d33f-3464-402c-b911-f1fe2693ae9f +2025-06-06 02:01:01,332 - robotics.core - INFO - Producer producer_4340828688 left room fda1d33f-3464-402c-b911-f1fe2693ae9f +2025-06-06 02:01:01,436 - robotics.core - INFO - Consumer consumer_4341001312 left room fda1d33f-3464-402c-b911-f1fe2693ae9f +2025-06-06 02:01:01,437 - robotics.core - INFO - Deleted room fda1d33f-3464-402c-b911-f1fe2693ae9f +2025-06-06 02:01:01,439 - robotics.core - INFO - Created room b35f5d94-0029-4a1d-8086-ce477cfdfc15 +2025-06-06 02:01:01,441 - robotics.core - INFO - Producer producer_4340840208 joined room b35f5d94-0029-4a1d-8086-ce477cfdfc15 +2025-06-06 02:01:01,443 - robotics.core - INFO - Consumer consumer_4340997184 joined room b35f5d94-0029-4a1d-8086-ce477cfdfc15 +2025-06-06 02:01:02,272 - robotics.core - INFO - Consumer consumer_4340997184 left room b35f5d94-0029-4a1d-8086-ce477cfdfc15 +2025-06-06 02:01:02,272 - robotics.core - INFO - Producer producer_4340840208 left room b35f5d94-0029-4a1d-8086-ce477cfdfc15 +2025-06-06 02:01:02,273 - robotics.core - INFO - Deleted room b35f5d94-0029-4a1d-8086-ce477cfdfc15 +2025-06-06 02:01:02,276 - robotics.core - INFO - Created room 13c664f0-d4dd-444f-a2e8-a359b2043321 +2025-06-06 02:01:02,279 - robotics.core - INFO - Producer producer_4341106592 joined room 13c664f0-d4dd-444f-a2e8-a359b2043321 +2025-06-06 02:01:02,280 - robotics.core - INFO - Producer producer_4341106592 left room 13c664f0-d4dd-444f-a2e8-a359b2043321 +2025-06-06 02:01:02,281 - robotics.core - INFO - Deleted room 13c664f0-d4dd-444f-a2e8-a359b2043321 +2025-06-06 02:01:02,284 - robotics.core - INFO - Created room c289aadd-7cf1-4161-9e50-8b61d09e9631 +2025-06-06 02:01:02,288 - robotics.core - INFO - Producer producer_4340992048 joined room c289aadd-7cf1-4161-9e50-8b61d09e9631 +2025-06-06 02:01:02,290 - robotics.core - INFO - Producer producer_4340992048 left room c289aadd-7cf1-4161-9e50-8b61d09e9631 +2025-06-06 02:01:02,290 - robotics.core - INFO - Deleted room c289aadd-7cf1-4161-9e50-8b61d09e9631 +2025-06-06 02:01:02,293 - robotics.core - INFO - Created room 99953b8a-1236-48c9-8ace-6811cc5e8f2c +2025-06-06 02:01:02,295 - robotics.core - INFO - Producer producer_4341105152 joined room 99953b8a-1236-48c9-8ace-6811cc5e8f2c +2025-06-06 02:01:02,298 - robotics.core - INFO - Producer producer_4341105152 left room 99953b8a-1236-48c9-8ace-6811cc5e8f2c +2025-06-06 02:01:02,298 - robotics.core - INFO - Deleted room 99953b8a-1236-48c9-8ace-6811cc5e8f2c +2025-06-06 02:01:02,301 - robotics.core - INFO - Created room 6bbe52db-a004-4535-8cff-316ade1d8211 +2025-06-06 02:01:02,305 - robotics.core - INFO - Producer producer_4340990176 joined room 6bbe52db-a004-4535-8cff-316ade1d8211 +2025-06-06 02:01:02,307 - robotics.core - INFO - Producer producer_4340990176 left room 6bbe52db-a004-4535-8cff-316ade1d8211 +2025-06-06 02:01:02,307 - robotics.core - INFO - Deleted room 6bbe52db-a004-4535-8cff-316ade1d8211 +2025-06-06 02:01:02,310 - robotics.core - INFO - Created room a99d486e-5aed-4e4c-88a6-6abdfb0b8c5f +2025-06-06 02:01:02,312 - robotics.core - INFO - Producer producer_4341106976 joined room a99d486e-5aed-4e4c-88a6-6abdfb0b8c5f +2025-06-06 02:01:02,312 - robotics.core - WARNING - ๐Ÿšจ Emergency stop triggered by producer_4341106976 in room a99d486e-5aed-4e4c-88a6-6abdfb0b8c5f +2025-06-06 02:01:02,313 - robotics.core - WARNING - ๐Ÿšจ Emergency stop triggered by producer_4341106976 in room a99d486e-5aed-4e4c-88a6-6abdfb0b8c5f +2025-06-06 02:01:02,314 - robotics.core - INFO - Producer producer_4341106976 left room a99d486e-5aed-4e4c-88a6-6abdfb0b8c5f +2025-06-06 02:01:02,314 - robotics.core - INFO - Deleted room a99d486e-5aed-4e4c-88a6-6abdfb0b8c5f +2025-06-06 02:01:02,317 - robotics.core - INFO - Created room 4c48ee9b-4b7c-4d72-815c-38fa8cf015d0 +2025-06-06 02:01:02,322 - robotics.core - INFO - Producer producer_4341004528 joined room 4c48ee9b-4b7c-4d72-815c-38fa8cf015d0 +2025-06-06 02:01:02,324 - robotics.core - INFO - Producer producer_4341004528 left room 4c48ee9b-4b7c-4d72-815c-38fa8cf015d0 +2025-06-06 02:01:02,324 - robotics.core - INFO - Deleted room 4c48ee9b-4b7c-4d72-815c-38fa8cf015d0 +2025-06-06 02:01:02,328 - robotics.core - INFO - Created room c0a01d25-f5ef-4dce-b5e6-96ee329e7f56 +2025-06-06 02:01:02,331 - robotics.core - INFO - Producer producer_4340997664 joined room c0a01d25-f5ef-4dce-b5e6-96ee329e7f56 +2025-06-06 02:01:02,434 - robotics.core - INFO - Producer producer_4340997664 left room c0a01d25-f5ef-4dce-b5e6-96ee329e7f56 +2025-06-06 02:01:02,537 - robotics.core - INFO - Deleted room c0a01d25-f5ef-4dce-b5e6-96ee329e7f56 +2025-06-06 02:01:02,540 - robotics.core - INFO - Created room 5dc9748c-98fc-4982-aac8-74afae5ba5ad +2025-06-06 02:01:02,543 - robotics.core - INFO - Producer producer_4340992192 joined room 5dc9748c-98fc-4982-aac8-74afae5ba5ad +2025-06-06 02:01:02,544 - robotics.core - INFO - Created room 21e11911-0232-4cb6-9ea3-8972ecb9571a +2025-06-06 02:01:02,544 - robotics.core - INFO - Producer producer_4340992192 left room 5dc9748c-98fc-4982-aac8-74afae5ba5ad +2025-06-06 02:01:02,546 - robotics.core - INFO - Producer producer_4340992192 joined room 21e11911-0232-4cb6-9ea3-8972ecb9571a +2025-06-06 02:01:02,548 - robotics.core - INFO - Producer producer_4340992192 left room 21e11911-0232-4cb6-9ea3-8972ecb9571a +2025-06-06 02:01:02,548 - robotics.core - INFO - Deleted room 21e11911-0232-4cb6-9ea3-8972ecb9571a +2025-06-06 02:01:02,550 - robotics.core - INFO - Deleted room 5dc9748c-98fc-4982-aac8-74afae5ba5ad +2025-06-06 02:01:02,552 - robotics.core - INFO - Created room 9c445e82-ea0f-40cd-ab16-3d3f9ce6d93e +2025-06-06 02:01:02,554 - robotics.core - INFO - Producer producer_4341001456 joined room 9c445e82-ea0f-40cd-ab16-3d3f9ce6d93e +2025-06-06 02:01:02,555 - robotics.core - INFO - Producer producer_4341001456 left room 9c445e82-ea0f-40cd-ab16-3d3f9ce6d93e +2025-06-06 02:01:02,556 - robotics.core - INFO - Deleted room 9c445e82-ea0f-40cd-ab16-3d3f9ce6d93e +2025-06-06 02:01:02,558 - robotics.core - INFO - Created room 6d35479a-c279-4a4f-a204-c152bf54cda1 +2025-06-06 02:01:02,560 - robotics.core - INFO - Producer producer_4340995552 joined room 6d35479a-c279-4a4f-a204-c152bf54cda1 +2025-06-06 02:01:02,562 - robotics.core - WARNING - Producer producer_4340997472 failed to join room 6d35479a-c279-4a4f-a204-c152bf54cda1 - room already has producer producer_4340995552 +2025-06-06 02:01:02,563 - robotics.core - INFO - Producer producer_4340995552 left room 6d35479a-c279-4a4f-a204-c152bf54cda1 +2025-06-06 02:01:02,563 - robotics.core - INFO - Deleted room 6d35479a-c279-4a4f-a204-c152bf54cda1 +2025-06-06 02:01:02,565 - robotics.core - INFO - Created room 3555a9b9-851c-4dcd-b503-f0275ae42e4a +2025-06-06 02:01:02,568 - robotics.core - INFO - Producer custom-producer-123 joined room 3555a9b9-851c-4dcd-b503-f0275ae42e4a +2025-06-06 02:01:02,569 - robotics.core - INFO - Producer custom-producer-123 left room 3555a9b9-851c-4dcd-b503-f0275ae42e4a +2025-06-06 02:01:02,569 - robotics.core - INFO - Deleted room 3555a9b9-851c-4dcd-b503-f0275ae42e4a +2025-06-06 02:01:02,571 - robotics.core - INFO - Created room 9b09b409-d085-4d8f-bfee-d795be2bb6a3 +2025-06-06 02:01:02,573 - robotics.core - INFO - Producer producer_4340829360 joined room 9b09b409-d085-4d8f-bfee-d795be2bb6a3 +2025-06-06 02:01:02,575 - robotics.core - INFO - Producer producer_4340829360 left room 9b09b409-d085-4d8f-bfee-d795be2bb6a3 +2025-06-06 02:01:02,575 - robotics.core - INFO - Deleted room 9b09b409-d085-4d8f-bfee-d795be2bb6a3 +2025-06-06 02:01:02,577 - robotics.core - INFO - Created room 81956d13-8603-404a-9f0e-79bf0ea98917 +2025-06-06 02:01:02,579 - robotics.core - INFO - Producer producer_4341000832 joined room 81956d13-8603-404a-9f0e-79bf0ea98917 +2025-06-06 02:01:02,693 - robotics.core - INFO - Producer producer_4341000832 left room 81956d13-8603-404a-9f0e-79bf0ea98917 +2025-06-06 02:01:02,693 - robotics.core - INFO - Deleted room 81956d13-8603-404a-9f0e-79bf0ea98917 +2025-06-06 02:01:02,699 - robotics.core - INFO - Created room 63f26ee2-1c6e-440b-8ad8-d06782ee55e2 +2025-06-06 02:01:02,700 - robotics.core - INFO - Deleted room 63f26ee2-1c6e-440b-8ad8-d06782ee55e2 +2025-06-06 02:01:02,702 - robotics.core - INFO - Created room test-room-123 +2025-06-06 02:01:02,703 - robotics.core - INFO - Deleted room test-room-123 +2025-06-06 02:01:02,705 - robotics.core - INFO - Created room 131c5c89-9b3a-4d04-9c3b-3e1a93381655 +2025-06-06 02:01:02,707 - robotics.core - INFO - Deleted room 131c5c89-9b3a-4d04-9c3b-3e1a93381655 +2025-06-06 02:01:02,709 - robotics.core - INFO - Created room 683b98ec-a8a1-438f-bd9a-b58b7bad88e3 +2025-06-06 02:01:02,711 - robotics.core - INFO - Deleted room 683b98ec-a8a1-438f-bd9a-b58b7bad88e3 +2025-06-06 02:01:02,713 - robotics.core - INFO - Created room 04fac42e-2ac8-49c3-9664-8caad85a167c +2025-06-06 02:01:02,716 - robotics.core - INFO - Deleted room 04fac42e-2ac8-49c3-9664-8caad85a167c +2025-06-06 02:01:02,718 - robotics.core - INFO - Created room a03950bb-bd46-4fd3-93da-d6d0c4a7e6ad +2025-06-06 02:01:02,720 - robotics.core - INFO - Deleted room a03950bb-bd46-4fd3-93da-d6d0c4a7e6ad +2025-06-06 02:01:03,953 - robotics.core - INFO - Created room 716cbb0b-9ae9-459a-9d49-362fb62ced29 +2025-06-06 02:01:03,955 - robotics.core - INFO - Deleted room 716cbb0b-9ae9-459a-9d49-362fb62ced29 +2025-06-06 02:01:03,957 - robotics.core - INFO - Created room test-room-123 +2025-06-06 02:01:03,957 - robotics.core - INFO - Deleted room test-room-123 +2025-06-06 02:01:03,958 - robotics.core - INFO - Created room 2ce62504-a998-4c12-84cb-33be658261e2 +2025-06-06 02:01:03,959 - robotics.core - INFO - Deleted room 2ce62504-a998-4c12-84cb-33be658261e2 +2025-06-06 02:01:03,960 - robotics.core - INFO - Created room 980768ae-4542-4b18-9116-ebf5e8689523 +2025-06-06 02:01:03,962 - robotics.core - INFO - Deleted room 980768ae-4542-4b18-9116-ebf5e8689523 +2025-06-06 02:01:03,962 - robotics.core - INFO - Created room 0481a53d-e4f7-4719-8513-2feef0980894 +2025-06-06 02:01:03,963 - robotics.core - INFO - Deleted room 0481a53d-e4f7-4719-8513-2feef0980894 +2025-06-06 02:01:03,963 - robotics.core - INFO - Created room 9b2ff98d-c35f-4033-80d3-06a3214cb691 +2025-06-06 02:01:03,964 - robotics.core - INFO - Deleted room 9b2ff98d-c35f-4033-80d3-06a3214cb691 +2025-06-06 02:01:03,968 - robotics.core - INFO - Created room d0b1527d-b8b9-43aa-b7bf-54f2e1ccd5b7 +2025-06-06 02:01:03,973 - robotics.core - INFO - Consumer consumer_1749168063970_wrb9yprnv joined room d0b1527d-b8b9-43aa-b7bf-54f2e1ccd5b7 +2025-06-06 02:01:03,976 - robotics.core - INFO - Consumer consumer_1749168063970_wrb9yprnv left room d0b1527d-b8b9-43aa-b7bf-54f2e1ccd5b7 +2025-06-06 02:01:03,976 - robotics.core - INFO - Deleted room d0b1527d-b8b9-43aa-b7bf-54f2e1ccd5b7 +2025-06-06 02:01:03,978 - robotics.core - INFO - Created room f4b3e7c7-cbb9-4326-8510-bd8fdcad628a +2025-06-06 02:01:03,983 - robotics.core - INFO - Consumer consumer_1749168063980_9z3admxzt joined room f4b3e7c7-cbb9-4326-8510-bd8fdcad628a +2025-06-06 02:01:03,984 - robotics.core - INFO - Consumer consumer_1749168063980_9z3admxzt left room f4b3e7c7-cbb9-4326-8510-bd8fdcad628a +2025-06-06 02:01:03,984 - robotics.core - INFO - Deleted room f4b3e7c7-cbb9-4326-8510-bd8fdcad628a +2025-06-06 02:01:03,984 - robotics.core - INFO - Created room d5480900-a2da-4669-aa55-b3f802ceaa0e +2025-06-06 02:01:03,985 - robotics.core - INFO - Consumer consumer_1749168063985_z5c7rb6wt joined room d5480900-a2da-4669-aa55-b3f802ceaa0e +2025-06-06 02:01:03,987 - robotics.core - INFO - Consumer consumer_1749168063985_z5c7rb6wt left room d5480900-a2da-4669-aa55-b3f802ceaa0e +2025-06-06 02:01:03,987 - robotics.core - INFO - Deleted room d5480900-a2da-4669-aa55-b3f802ceaa0e +2025-06-06 02:01:03,987 - robotics.core - INFO - Created room 69ed1899-00da-46b5-9347-36e82c345322 +2025-06-06 02:01:03,989 - robotics.core - INFO - Consumer consumer_1749168063988_6n29mp300 joined room 69ed1899-00da-46b5-9347-36e82c345322 +2025-06-06 02:01:04,093 - robotics.core - INFO - Consumer consumer_1749168063988_6n29mp300 left room 69ed1899-00da-46b5-9347-36e82c345322 +2025-06-06 02:01:04,193 - robotics.core - INFO - Deleted room 69ed1899-00da-46b5-9347-36e82c345322 +2025-06-06 02:01:04,194 - robotics.core - INFO - Created room 8bb081f0-d4c3-4c6e-a140-28ebc2fc8ac0 +2025-06-06 02:01:04,195 - robotics.core - INFO - Consumer consumer_1749168064194_4sgowbwhi joined room 8bb081f0-d4c3-4c6e-a140-28ebc2fc8ac0 +2025-06-06 02:01:04,196 - robotics.core - INFO - Consumer consumer_1749168064195_02xs4rxrj joined room 8bb081f0-d4c3-4c6e-a140-28ebc2fc8ac0 +2025-06-06 02:01:04,196 - robotics.core - INFO - Consumer consumer_1749168064194_4sgowbwhi left room 8bb081f0-d4c3-4c6e-a140-28ebc2fc8ac0 +2025-06-06 02:01:04,197 - robotics.core - INFO - Consumer consumer_1749168064195_02xs4rxrj left room 8bb081f0-d4c3-4c6e-a140-28ebc2fc8ac0 +2025-06-06 02:01:04,197 - robotics.core - INFO - Deleted room 8bb081f0-d4c3-4c6e-a140-28ebc2fc8ac0 +2025-06-06 02:01:04,197 - robotics.core - INFO - Created room c65e134e-f987-4d12-891f-9d23f11e2399 +2025-06-06 02:01:04,198 - robotics.core - INFO - Consumer custom-consumer-456 joined room c65e134e-f987-4d12-891f-9d23f11e2399 +2025-06-06 02:01:04,198 - robotics.core - INFO - Consumer custom-consumer-456 left room c65e134e-f987-4d12-891f-9d23f11e2399 +2025-06-06 02:01:04,198 - robotics.core - INFO - Deleted room c65e134e-f987-4d12-891f-9d23f11e2399 +2025-06-06 02:01:04,199 - robotics.core - INFO - Created room 5eece67b-a4d7-4d8d-8838-ff64e3bf434a +2025-06-06 02:01:04,199 - robotics.core - INFO - Deleted room 5eece67b-a4d7-4d8d-8838-ff64e3bf434a +2025-06-06 02:01:04,199 - robotics.core - INFO - Created room 1377b702-6025-4aca-9384-c56af10e6314 +2025-06-06 02:01:04,200 - robotics.core - INFO - Consumer consumer_1749168064200_utdiz3m43 joined room 1377b702-6025-4aca-9384-c56af10e6314 +2025-06-06 02:01:04,201 - robotics.core - INFO - Consumer consumer_1749168064200_utdiz3m43 left room 1377b702-6025-4aca-9384-c56af10e6314 +2025-06-06 02:01:04,201 - robotics.core - INFO - Consumer consumer_1749168064200_1og36i3cr joined room 1377b702-6025-4aca-9384-c56af10e6314 +2025-06-06 02:01:04,202 - robotics.core - INFO - Consumer consumer_1749168064200_1og36i3cr left room 1377b702-6025-4aca-9384-c56af10e6314 +2025-06-06 02:01:04,202 - robotics.core - INFO - Deleted room 1377b702-6025-4aca-9384-c56af10e6314 +2025-06-06 02:01:04,202 - robotics.core - INFO - Created room c4a014ff-1317-4464-81b1-c49866de835d +2025-06-06 02:01:04,203 - robotics.core - INFO - Consumer factory-consumer joined room c4a014ff-1317-4464-81b1-c49866de835d +2025-06-06 02:01:04,203 - robotics.core - INFO - Consumer factory-consumer left room c4a014ff-1317-4464-81b1-c49866de835d +2025-06-06 02:01:04,203 - robotics.core - INFO - Deleted room c4a014ff-1317-4464-81b1-c49866de835d +2025-06-06 02:01:04,205 - robotics.core - INFO - Created room d6dbb8cd-ca0a-4bc2-b0f2-e985f98960e5 +2025-06-06 02:01:04,206 - robotics.core - INFO - Producer producer_1749168064205_elrpimgtv joined room d6dbb8cd-ca0a-4bc2-b0f2-e985f98960e5 +2025-06-06 02:01:04,206 - robotics.core - INFO - Producer producer_1749168064205_elrpimgtv left room d6dbb8cd-ca0a-4bc2-b0f2-e985f98960e5 +2025-06-06 02:01:04,206 - robotics.core - INFO - Deleted room d6dbb8cd-ca0a-4bc2-b0f2-e985f98960e5 +2025-06-06 02:01:04,206 - robotics.core - INFO - Created room b79bb944-a0d5-4874-82a3-6849ce875816 +2025-06-06 02:01:04,207 - robotics.core - INFO - Producer producer_1749168064207_huhx67hr5 joined room b79bb944-a0d5-4874-82a3-6849ce875816 +2025-06-06 02:01:04,208 - robotics.core - INFO - Producer producer_1749168064207_huhx67hr5 left room b79bb944-a0d5-4874-82a3-6849ce875816 +2025-06-06 02:01:04,208 - robotics.core - INFO - Deleted room b79bb944-a0d5-4874-82a3-6849ce875816 +2025-06-06 02:01:04,208 - robotics.core - INFO - Created room 0c9c7247-3697-4422-a3ef-7ddd9dbd6627 +2025-06-06 02:01:04,209 - robotics.core - INFO - Producer producer_1749168064208_5x1sobelr joined room 0c9c7247-3697-4422-a3ef-7ddd9dbd6627 +2025-06-06 02:01:04,209 - robotics.core - INFO - Producer producer_1749168064208_5x1sobelr left room 0c9c7247-3697-4422-a3ef-7ddd9dbd6627 +2025-06-06 02:01:04,210 - robotics.core - INFO - Deleted room 0c9c7247-3697-4422-a3ef-7ddd9dbd6627 +2025-06-06 02:01:04,210 - robotics.core - INFO - Created room 2c8fffff-74a9-4052-8a2e-a36ad80a166c +2025-06-06 02:01:04,210 - robotics.core - INFO - Producer producer_1749168064210_s1vpaqma4 joined room 2c8fffff-74a9-4052-8a2e-a36ad80a166c +2025-06-06 02:01:04,211 - robotics.core - INFO - Producer producer_1749168064210_s1vpaqma4 left room 2c8fffff-74a9-4052-8a2e-a36ad80a166c +2025-06-06 02:01:04,211 - robotics.core - INFO - Deleted room 2c8fffff-74a9-4052-8a2e-a36ad80a166c +2025-06-06 02:01:04,211 - robotics.core - INFO - Created room 559b4ed7-b7a1-43a1-ba64-62cfcfd19cc6 +2025-06-06 02:01:04,212 - robotics.core - INFO - Producer producer_1749168064211_obfcpiypj joined room 559b4ed7-b7a1-43a1-ba64-62cfcfd19cc6 +2025-06-06 02:01:04,212 - robotics.core - INFO - Producer producer_1749168064211_obfcpiypj left room 559b4ed7-b7a1-43a1-ba64-62cfcfd19cc6 +2025-06-06 02:01:04,212 - robotics.core - INFO - Deleted room 559b4ed7-b7a1-43a1-ba64-62cfcfd19cc6 +2025-06-06 02:01:04,213 - robotics.core - ERROR - Error sending message to producer_1749168064211_obfcpiypj +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/websockets_impl.py", line 332, in asgi_send + await self.send(data) # type: ignore[arg-type] + ^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/websockets/legacy/protocol.py", line 620, in send + await self.ensure_open() + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/websockets/legacy/protocol.py", line 930, in ensure_open + raise self.connection_closed_exc() +websockets.exceptions.ConnectionClosedOK: received 1000 (OK); then sent 1000 (OK) + +The above exception was the direct cause of the following exception: + +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/starlette/websockets.py", line 85, in send + await self._send(message) + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/starlette/_exception_handler.py", line 39, in sender + await send(message) + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/websockets_impl.py", line 345, in asgi_send + raise ClientDisconnected from exc +uvicorn.protocols.utils.ClientDisconnected + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/robotics/core.py", line 444, in _broadcast_to_all_participants + await self.connections[participant_id].send_text(message_text) + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/starlette/websockets.py", line 165, in send_text + await self.send({"type": "websocket.send", "text": data}) + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/starlette/websockets.py", line 88, in send + raise WebSocketDisconnect(code=1006) +starlette.websockets.WebSocketDisconnect +2025-06-06 02:01:04,218 - robotics.core - WARNING - ๐Ÿšจ Emergency stop triggered by producer_1749168064211_obfcpiypj in room 559b4ed7-b7a1-43a1-ba64-62cfcfd19cc6 +2025-06-06 02:01:04,218 - robotics.core - ERROR - WebSocket error +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/robotics/core.py", line 255, in handle_websocket + async for message in websocket.iter_text(): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/starlette/websockets.py", line 146, in iter_text + yield await self.receive_text() + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/starlette/websockets.py", line 117, in receive_text + raise RuntimeError('WebSocket is not connected. Need to call "accept" first.') +RuntimeError: WebSocket is not connected. Need to call "accept" first. +2025-06-06 02:01:04,219 - robotics.core - INFO - Created room eefeb743-aa21-42a0-ab95-c0e9460a96c4 +2025-06-06 02:01:04,220 - robotics.core - INFO - Producer producer_1749168064219_9be31sgv9 joined room eefeb743-aa21-42a0-ab95-c0e9460a96c4 +2025-06-06 02:01:04,233 - robotics.core - INFO - Producer producer_1749168064219_9be31sgv9 left room eefeb743-aa21-42a0-ab95-c0e9460a96c4 +2025-06-06 02:01:04,234 - robotics.core - INFO - Deleted room eefeb743-aa21-42a0-ab95-c0e9460a96c4 +2025-06-06 02:01:04,234 - robotics.core - ERROR - Error sending message to producer_1749168064219_9be31sgv9 +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/websockets_impl.py", line 332, in asgi_send + await self.send(data) # type: ignore[arg-type] + ^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/websockets/legacy/protocol.py", line 620, in send + await self.ensure_open() + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/websockets/legacy/protocol.py", line 930, in ensure_open + raise self.connection_closed_exc() +websockets.exceptions.ConnectionClosedOK: received 1000 (OK); then sent 1000 (OK) + +The above exception was the direct cause of the following exception: + +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/starlette/websockets.py", line 85, in send + await self._send(message) + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/starlette/_exception_handler.py", line 39, in sender + await send(message) + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/websockets_impl.py", line 345, in asgi_send + raise ClientDisconnected from exc +uvicorn.protocols.utils.ClientDisconnected + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/robotics/core.py", line 466, in _send_to_participant + await self.connections[participant_id].send_text(json.dumps(message)) + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/starlette/websockets.py", line 165, in send_text + await self.send({"type": "websocket.send", "text": data}) + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/starlette/websockets.py", line 88, in send + raise WebSocketDisconnect(code=1006) +starlette.websockets.WebSocketDisconnect +2025-06-06 02:01:04,234 - robotics.core - ERROR - WebSocket error +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/robotics/core.py", line 255, in handle_websocket + async for message in websocket.iter_text(): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/starlette/websockets.py", line 146, in iter_text + yield await self.receive_text() + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/starlette/websockets.py", line 117, in receive_text + raise RuntimeError('WebSocket is not connected. Need to call "accept" first.') +RuntimeError: WebSocket is not connected. Need to call "accept" first. +2025-06-06 02:01:04,235 - robotics.core - INFO - Created room 3c14d540-a61a-43ea-a03c-bccdd3bd26e3 +2025-06-06 02:01:04,235 - robotics.core - INFO - Deleted room 3c14d540-a61a-43ea-a03c-bccdd3bd26e3 +2025-06-06 02:01:04,235 - robotics.core - INFO - Created room f655005a-4b25-4fed-bc0b-fca551d6effa +2025-06-06 02:01:04,236 - robotics.core - INFO - Producer custom-producer-123 joined room f655005a-4b25-4fed-bc0b-fca551d6effa +2025-06-06 02:01:04,237 - robotics.core - INFO - Producer custom-producer-123 left room f655005a-4b25-4fed-bc0b-fca551d6effa +2025-06-06 02:01:04,237 - robotics.core - INFO - Deleted room f655005a-4b25-4fed-bc0b-fca551d6effa +2025-06-06 02:01:04,237 - robotics.core - INFO - Created room aff8dc0f-12e3-41ee-a574-eeab6324035d +2025-06-06 02:01:04,238 - robotics.core - INFO - Producer producer_1749168064237_73ggaqymn joined room aff8dc0f-12e3-41ee-a574-eeab6324035d +2025-06-06 02:01:04,238 - robotics.core - INFO - Producer producer_1749168064237_73ggaqymn left room aff8dc0f-12e3-41ee-a574-eeab6324035d +2025-06-06 02:01:04,238 - robotics.core - INFO - Deleted room aff8dc0f-12e3-41ee-a574-eeab6324035d +2025-06-06 02:01:04,239 - robotics.core - ERROR - Error processing joint update from producer_1749168064237_73ggaqymn: Room aff8dc0f-12e3-41ee-a574-eeab6324035d not found +2025-06-06 02:01:04,239 - robotics.core - ERROR - Error sending message to producer_1749168064237_73ggaqymn +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/websockets_impl.py", line 332, in asgi_send + await self.send(data) # type: ignore[arg-type] + ^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/websockets/legacy/protocol.py", line 620, in send + await self.ensure_open() + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/websockets/legacy/protocol.py", line 921, in ensure_open + raise self.connection_closed_exc() +websockets.exceptions.ConnectionClosedOK: received 1000 (OK); then sent 1000 (OK) + +The above exception was the direct cause of the following exception: + +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/starlette/websockets.py", line 85, in send + await self._send(message) + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/starlette/_exception_handler.py", line 39, in sender + await send(message) + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/websockets_impl.py", line 345, in asgi_send + raise ClientDisconnected from exc +uvicorn.protocols.utils.ClientDisconnected + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/robotics/core.py", line 466, in _send_to_participant + await self.connections[participant_id].send_text(json.dumps(message)) + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/starlette/websockets.py", line 165, in send_text + await self.send({"type": "websocket.send", "text": data}) + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/starlette/websockets.py", line 88, in send + raise WebSocketDisconnect(code=1006) +starlette.websockets.WebSocketDisconnect +2025-06-06 02:01:04,240 - robotics.core - ERROR - WebSocket error +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/robotics/core.py", line 255, in handle_websocket + async for message in websocket.iter_text(): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/starlette/websockets.py", line 146, in iter_text + yield await self.receive_text() + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/starlette/websockets.py", line 117, in receive_text + raise RuntimeError('WebSocket is not connected. Need to call "accept" first.') +RuntimeError: WebSocket is not connected. Need to call "accept" first. +2025-06-06 02:01:04,240 - robotics.core - INFO - Created room e7d283db-9ab6-4d14-aa0a-3360e259b7d5 +2025-06-06 02:01:04,241 - robotics.core - INFO - Producer producer_1749168064240_sslf8472w joined room e7d283db-9ab6-4d14-aa0a-3360e259b7d5 +2025-06-06 02:01:04,242 - robotics.core - INFO - Producer producer_1749168064240_sslf8472w left room e7d283db-9ab6-4d14-aa0a-3360e259b7d5 +2025-06-06 02:01:04,242 - robotics.core - INFO - Deleted room e7d283db-9ab6-4d14-aa0a-3360e259b7d5 +2025-06-06 02:01:04,243 - robotics.core - INFO - Created room c82b20a6-310c-40ba-9309-0902b40fc996 +2025-06-06 02:01:04,243 - robotics.core - INFO - Created room b1b643f0-bc56-4938-8bd0-e1ef4fd32101 +2025-06-06 02:01:04,244 - robotics.core - INFO - Producer factory-producer joined room b1b643f0-bc56-4938-8bd0-e1ef4fd32101 +2025-06-06 02:01:04,245 - robotics.core - INFO - Deleted room c82b20a6-310c-40ba-9309-0902b40fc996 +2025-06-06 02:01:04,245 - robotics.core - INFO - Producer factory-producer left room b1b643f0-bc56-4938-8bd0-e1ef4fd32101 +2025-06-06 02:01:04,245 - robotics.core - INFO - Created room dc0b4e46-55be-4386-9080-266c05f5dc27 +2025-06-06 02:01:04,246 - robotics.core - INFO - Producer producer_1749168064245_ur3t93v84 joined room dc0b4e46-55be-4386-9080-266c05f5dc27 +2025-06-06 02:01:04,247 - robotics.core - WARNING - Producer producer_1749168064246_rbg4i0ij4 failed to join room dc0b4e46-55be-4386-9080-266c05f5dc27 - room already has producer producer_1749168064245_ur3t93v84 +2025-06-06 02:01:04,247 - robotics.core - INFO - Producer producer_1749168064245_ur3t93v84 left room dc0b4e46-55be-4386-9080-266c05f5dc27 +2025-06-06 02:01:04,247 - robotics.core - INFO - Deleted room dc0b4e46-55be-4386-9080-266c05f5dc27 +2025-06-06 02:01:04,250 - robotics.core - INFO - Created room a82e5f15-4583-41ca-ae30-6719d2b6ab12 +2025-06-06 02:01:04,251 - robotics.core - INFO - Producer producer_1749168064250_g0xfteffl joined room a82e5f15-4583-41ca-ae30-6719d2b6ab12 +2025-06-06 02:01:04,251 - robotics.core - INFO - Consumer consumer_1749168064251_7y46rl1nc joined room a82e5f15-4583-41ca-ae30-6719d2b6ab12 +2025-06-06 02:01:05,263 - robotics.core - INFO - Consumer consumer_1749168064251_7y46rl1nc left room a82e5f15-4583-41ca-ae30-6719d2b6ab12 +2025-06-06 02:01:05,264 - robotics.core - INFO - Producer producer_1749168064250_g0xfteffl left room a82e5f15-4583-41ca-ae30-6719d2b6ab12 +2025-06-06 02:01:05,264 - robotics.core - INFO - Deleted room a82e5f15-4583-41ca-ae30-6719d2b6ab12 +2025-06-06 02:01:05,266 - robotics.core - INFO - Created room dc6c16b4-1b13-4852-afb7-5e2a8463dd7d +2025-06-06 02:01:05,269 - robotics.core - INFO - Producer producer_1749168065267_xq398n8un joined room dc6c16b4-1b13-4852-afb7-5e2a8463dd7d +2025-06-06 02:01:05,276 - robotics.core - INFO - Consumer consumer_1749168065270_mwldz61dc joined room dc6c16b4-1b13-4852-afb7-5e2a8463dd7d +2025-06-06 02:01:05,279 - robotics.core - INFO - Consumer consumer_1749168065276_sj6hyk1ky joined room dc6c16b4-1b13-4852-afb7-5e2a8463dd7d +2025-06-06 02:01:05,683 - robotics.core - INFO - Consumer consumer_1749168065270_mwldz61dc left room dc6c16b4-1b13-4852-afb7-5e2a8463dd7d +2025-06-06 02:01:05,683 - robotics.core - INFO - Consumer consumer_1749168065276_sj6hyk1ky left room dc6c16b4-1b13-4852-afb7-5e2a8463dd7d +2025-06-06 02:01:05,683 - robotics.core - INFO - Producer producer_1749168065267_xq398n8un left room dc6c16b4-1b13-4852-afb7-5e2a8463dd7d +2025-06-06 02:01:05,683 - robotics.core - INFO - Deleted room dc6c16b4-1b13-4852-afb7-5e2a8463dd7d +2025-06-06 02:01:05,685 - robotics.core - INFO - Created room 53fe0759-ad08-4c0b-af3a-2a942e3718b1 +2025-06-06 02:01:05,686 - robotics.core - INFO - Producer producer_1749168065685_w63n3dtt7 joined room 53fe0759-ad08-4c0b-af3a-2a942e3718b1 +2025-06-06 02:01:05,687 - robotics.core - INFO - Consumer consumer_1749168065686_llsghixpu joined room 53fe0759-ad08-4c0b-af3a-2a942e3718b1 +2025-06-06 02:01:05,689 - robotics.core - INFO - Consumer consumer_1749168065688_ck1k3g4fw joined room 53fe0759-ad08-4c0b-af3a-2a942e3718b1 +2025-06-06 02:01:05,891 - robotics.core - WARNING - ๐Ÿšจ Emergency stop triggered by producer_1749168065685_w63n3dtt7 in room 53fe0759-ad08-4c0b-af3a-2a942e3718b1 +2025-06-06 02:01:06,091 - robotics.core - INFO - Consumer consumer_1749168065686_llsghixpu left room 53fe0759-ad08-4c0b-af3a-2a942e3718b1 +2025-06-06 02:01:06,092 - robotics.core - INFO - Consumer consumer_1749168065688_ck1k3g4fw left room 53fe0759-ad08-4c0b-af3a-2a942e3718b1 +2025-06-06 02:01:06,092 - robotics.core - INFO - Producer producer_1749168065685_w63n3dtt7 left room 53fe0759-ad08-4c0b-af3a-2a942e3718b1 +2025-06-06 02:01:06,092 - robotics.core - INFO - Deleted room 53fe0759-ad08-4c0b-af3a-2a942e3718b1 +2025-06-06 02:01:06,092 - robotics.core - INFO - Created room ade609ff-9776-4bce-953f-22b388c02606 +2025-06-06 02:01:06,093 - robotics.core - INFO - Producer producer_1749168066093_wnx7zwqf7 joined room ade609ff-9776-4bce-953f-22b388c02606 +2025-06-06 02:01:06,298 - robotics.core - INFO - Consumer consumer_1749168066296_pk6oho78k joined room ade609ff-9776-4bce-953f-22b388c02606 +2025-06-06 02:01:06,298 - robotics.core - INFO - Consumer consumer_1749168066296_pk6oho78k left room ade609ff-9776-4bce-953f-22b388c02606 +2025-06-06 02:01:06,298 - robotics.core - INFO - Producer producer_1749168066093_wnx7zwqf7 left room ade609ff-9776-4bce-953f-22b388c02606 +2025-06-06 02:01:06,298 - robotics.core - INFO - Deleted room ade609ff-9776-4bce-953f-22b388c02606 +2025-06-06 02:01:06,299 - robotics.core - INFO - Created room b5c570f2-d510-459a-834f-3a9d971616b2 +2025-06-06 02:01:06,300 - robotics.core - INFO - Producer producer_1749168066299_gtwpv45hj joined room b5c570f2-d510-459a-834f-3a9d971616b2 +2025-06-06 02:01:06,301 - robotics.core - INFO - Consumer consumer_1749168066300_108gxylur joined room b5c570f2-d510-459a-834f-3a9d971616b2 +2025-06-06 02:01:07,124 - robotics.core - INFO - Consumer consumer_1749168066300_108gxylur left room b5c570f2-d510-459a-834f-3a9d971616b2 +2025-06-06 02:01:07,124 - robotics.core - INFO - Producer producer_1749168066299_gtwpv45hj left room b5c570f2-d510-459a-834f-3a9d971616b2 +2025-06-06 02:01:07,124 - robotics.core - INFO - Deleted room b5c570f2-d510-459a-834f-3a9d971616b2 +2025-06-06 02:02:43,796 - robotics.core - INFO - Created room 2bfbd581-0f8d-4b53-a05f-f282be162432 +2025-06-06 02:02:43,797 - robotics.core - INFO - Deleted room 2bfbd581-0f8d-4b53-a05f-f282be162432 +2025-06-06 02:02:43,798 - robotics.core - INFO - Created room test-room-123 +2025-06-06 02:02:43,798 - robotics.core - INFO - Deleted room test-room-123 +2025-06-06 02:02:43,799 - robotics.core - INFO - Created room 81a75d5c-5d56-49ee-8dc0-23e67d32765a +2025-06-06 02:02:43,802 - robotics.core - INFO - Deleted room 81a75d5c-5d56-49ee-8dc0-23e67d32765a +2025-06-06 02:02:43,803 - robotics.core - INFO - Created room cf42048a-8c75-4ce1-89d7-d30ab8b79925 +2025-06-06 02:02:43,806 - robotics.core - INFO - Deleted room cf42048a-8c75-4ce1-89d7-d30ab8b79925 +2025-06-06 02:02:43,809 - robotics.core - INFO - Created room c4913e27-344d-4a8d-a391-be644782849f +2025-06-06 02:02:43,812 - robotics.core - INFO - Deleted room c4913e27-344d-4a8d-a391-be644782849f +2025-06-06 02:02:43,816 - robotics.core - INFO - Created room b83f89ce-ff83-4350-985f-eb89a27ca0e9 +2025-06-06 02:02:43,823 - robotics.core - INFO - Deleted room b83f89ce-ff83-4350-985f-eb89a27ca0e9 +2025-06-06 02:02:43,831 - robotics.core - INFO - Created room d92159e4-9fff-4e45-be80-88e567e1f0bd +2025-06-06 02:02:43,835 - robotics.core - INFO - Consumer consumer_1749168163832_xir6lak38 joined room d92159e4-9fff-4e45-be80-88e567e1f0bd +2025-06-06 02:02:43,837 - robotics.core - INFO - Consumer consumer_1749168163832_xir6lak38 left room d92159e4-9fff-4e45-be80-88e567e1f0bd +2025-06-06 02:02:43,838 - robotics.core - INFO - Deleted room d92159e4-9fff-4e45-be80-88e567e1f0bd +2025-06-06 02:02:43,838 - robotics.core - INFO - Created room b0de7e49-4d11-4a2e-97ab-76f685670498 +2025-06-06 02:02:43,839 - robotics.core - INFO - Consumer consumer_1749168163838_bkg3lewyz joined room b0de7e49-4d11-4a2e-97ab-76f685670498 +2025-06-06 02:02:43,839 - robotics.core - INFO - Consumer consumer_1749168163838_bkg3lewyz left room b0de7e49-4d11-4a2e-97ab-76f685670498 +2025-06-06 02:02:43,840 - robotics.core - INFO - Deleted room b0de7e49-4d11-4a2e-97ab-76f685670498 +2025-06-06 02:02:43,840 - robotics.core - INFO - Created room 087fdd08-42f2-49ef-bfa1-7ef2a326ae9e +2025-06-06 02:02:43,841 - robotics.core - INFO - Consumer consumer_1749168163840_ybquvl5pd joined room 087fdd08-42f2-49ef-bfa1-7ef2a326ae9e +2025-06-06 02:02:43,841 - robotics.core - INFO - Consumer consumer_1749168163840_ybquvl5pd left room 087fdd08-42f2-49ef-bfa1-7ef2a326ae9e +2025-06-06 02:02:43,841 - robotics.core - INFO - Deleted room 087fdd08-42f2-49ef-bfa1-7ef2a326ae9e +2025-06-06 02:02:43,842 - robotics.core - INFO - Created room 45fb7e56-454c-4240-956c-5b61f1a97e53 +2025-06-06 02:02:43,844 - robotics.core - INFO - Consumer consumer_1749168163843_aioz4nszq joined room 45fb7e56-454c-4240-956c-5b61f1a97e53 +2025-06-06 02:02:43,946 - robotics.core - INFO - Consumer consumer_1749168163843_aioz4nszq left room 45fb7e56-454c-4240-956c-5b61f1a97e53 +2025-06-06 02:02:44,048 - robotics.core - INFO - Deleted room 45fb7e56-454c-4240-956c-5b61f1a97e53 +2025-06-06 02:02:44,049 - robotics.core - INFO - Created room 5d495506-2951-4342-b449-fff509c28718 +2025-06-06 02:02:44,052 - robotics.core - INFO - Consumer consumer_1749168164050_3g08mkgn4 joined room 5d495506-2951-4342-b449-fff509c28718 +2025-06-06 02:02:44,054 - robotics.core - INFO - Consumer consumer_1749168164052_ps0x12yom joined room 5d495506-2951-4342-b449-fff509c28718 +2025-06-06 02:02:44,055 - robotics.core - INFO - Consumer consumer_1749168164050_3g08mkgn4 left room 5d495506-2951-4342-b449-fff509c28718 +2025-06-06 02:02:44,055 - robotics.core - INFO - Consumer consumer_1749168164052_ps0x12yom left room 5d495506-2951-4342-b449-fff509c28718 +2025-06-06 02:02:44,055 - robotics.core - INFO - Deleted room 5d495506-2951-4342-b449-fff509c28718 +2025-06-06 02:02:44,056 - robotics.core - INFO - Created room c23eb612-8c4f-4dc5-991c-56c550e35dd6 +2025-06-06 02:02:44,058 - robotics.core - INFO - Consumer custom-consumer-456 joined room c23eb612-8c4f-4dc5-991c-56c550e35dd6 +2025-06-06 02:02:44,058 - robotics.core - INFO - Consumer custom-consumer-456 left room c23eb612-8c4f-4dc5-991c-56c550e35dd6 +2025-06-06 02:02:44,059 - robotics.core - INFO - Deleted room c23eb612-8c4f-4dc5-991c-56c550e35dd6 +2025-06-06 02:02:44,059 - robotics.core - INFO - Created room 4193a749-4a44-42e0-ae02-b7999f6f33c8 +2025-06-06 02:02:44,060 - robotics.core - INFO - Deleted room 4193a749-4a44-42e0-ae02-b7999f6f33c8 +2025-06-06 02:02:44,061 - robotics.core - INFO - Created room aee95e00-8f0a-4384-9cc9-f444ead6e0c0 +2025-06-06 02:02:44,062 - robotics.core - INFO - Consumer consumer_1749168164061_oft45ryss joined room aee95e00-8f0a-4384-9cc9-f444ead6e0c0 +2025-06-06 02:02:44,064 - robotics.core - INFO - Consumer consumer_1749168164061_oft45ryss left room aee95e00-8f0a-4384-9cc9-f444ead6e0c0 +2025-06-06 02:02:44,064 - robotics.core - INFO - Consumer consumer_1749168164063_a9tc8v4i1 joined room aee95e00-8f0a-4384-9cc9-f444ead6e0c0 +2025-06-06 02:02:44,065 - robotics.core - INFO - Consumer consumer_1749168164063_a9tc8v4i1 left room aee95e00-8f0a-4384-9cc9-f444ead6e0c0 +2025-06-06 02:02:44,065 - robotics.core - INFO - Deleted room aee95e00-8f0a-4384-9cc9-f444ead6e0c0 +2025-06-06 02:02:44,065 - robotics.core - INFO - Created room a1ae33d4-461a-4d1f-bf23-7a0b3e93ac42 +2025-06-06 02:02:44,066 - robotics.core - INFO - Consumer factory-consumer joined room a1ae33d4-461a-4d1f-bf23-7a0b3e93ac42 +2025-06-06 02:02:44,068 - robotics.core - INFO - Consumer factory-consumer left room a1ae33d4-461a-4d1f-bf23-7a0b3e93ac42 +2025-06-06 02:02:44,068 - robotics.core - INFO - Deleted room a1ae33d4-461a-4d1f-bf23-7a0b3e93ac42 +2025-06-06 02:02:44,070 - robotics.core - INFO - Created room 6a555918-3c76-4f97-8e2e-9d2a07daf422 +2025-06-06 02:02:44,072 - robotics.core - INFO - Producer producer_1749168164070_r6wk1645g joined room 6a555918-3c76-4f97-8e2e-9d2a07daf422 +2025-06-06 02:02:44,072 - robotics.core - INFO - Producer producer_1749168164070_r6wk1645g left room 6a555918-3c76-4f97-8e2e-9d2a07daf422 +2025-06-06 02:02:44,072 - robotics.core - INFO - Deleted room 6a555918-3c76-4f97-8e2e-9d2a07daf422 +2025-06-06 02:02:44,072 - robotics.core - INFO - Created room 93acaf13-9609-426e-b4ae-ba01f8f6dd7b +2025-06-06 02:02:44,073 - robotics.core - INFO - Producer producer_1749168164073_n394fhpys joined room 93acaf13-9609-426e-b4ae-ba01f8f6dd7b +2025-06-06 02:02:44,074 - robotics.core - INFO - Producer producer_1749168164073_n394fhpys left room 93acaf13-9609-426e-b4ae-ba01f8f6dd7b +2025-06-06 02:02:44,074 - robotics.core - INFO - Deleted room 93acaf13-9609-426e-b4ae-ba01f8f6dd7b +2025-06-06 02:02:44,074 - robotics.core - INFO - Created room a9a7d7a6-5997-478f-99e9-a54536961b3b +2025-06-06 02:02:44,075 - robotics.core - INFO - Producer producer_1749168164074_hhj5uw408 joined room a9a7d7a6-5997-478f-99e9-a54536961b3b +2025-06-06 02:02:44,076 - robotics.core - INFO - Producer producer_1749168164074_hhj5uw408 left room a9a7d7a6-5997-478f-99e9-a54536961b3b +2025-06-06 02:02:44,076 - robotics.core - INFO - Deleted room a9a7d7a6-5997-478f-99e9-a54536961b3b +2025-06-06 02:02:44,076 - robotics.core - INFO - Created room 95ab56cb-d770-402d-8173-4eb3a4df6875 +2025-06-06 02:02:44,077 - robotics.core - INFO - Producer producer_1749168164077_1x9ujewxd joined room 95ab56cb-d770-402d-8173-4eb3a4df6875 +2025-06-06 02:02:44,078 - robotics.core - INFO - Producer producer_1749168164077_1x9ujewxd left room 95ab56cb-d770-402d-8173-4eb3a4df6875 +2025-06-06 02:02:44,078 - robotics.core - INFO - Deleted room 95ab56cb-d770-402d-8173-4eb3a4df6875 +2025-06-06 02:02:44,079 - robotics.core - INFO - Created room 914addf3-4673-4a63-85e4-6668dac0dea4 +2025-06-06 02:02:44,079 - robotics.core - INFO - Producer producer_1749168164079_cf87ljz1q joined room 914addf3-4673-4a63-85e4-6668dac0dea4 +2025-06-06 02:02:44,080 - robotics.core - INFO - Producer producer_1749168164079_cf87ljz1q left room 914addf3-4673-4a63-85e4-6668dac0dea4 +2025-06-06 02:02:44,080 - robotics.core - INFO - Deleted room 914addf3-4673-4a63-85e4-6668dac0dea4 +2025-06-06 02:02:44,080 - robotics.core - ERROR - Error sending message to producer_1749168164079_cf87ljz1q +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/websockets_impl.py", line 332, in asgi_send + await self.send(data) # type: ignore[arg-type] + ^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/websockets/legacy/protocol.py", line 620, in send + await self.ensure_open() + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/websockets/legacy/protocol.py", line 930, in ensure_open + raise self.connection_closed_exc() +websockets.exceptions.ConnectionClosedOK: received 1000 (OK); then sent 1000 (OK) + +The above exception was the direct cause of the following exception: + +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/starlette/websockets.py", line 85, in send + await self._send(message) + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/starlette/_exception_handler.py", line 39, in sender + await send(message) + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/websockets_impl.py", line 345, in asgi_send + raise ClientDisconnected from exc +uvicorn.protocols.utils.ClientDisconnected + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/robotics/core.py", line 444, in _broadcast_to_all_participants + await self.connections[participant_id].send_text(message_text) + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/starlette/websockets.py", line 165, in send_text + await self.send({"type": "websocket.send", "text": data}) + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/starlette/websockets.py", line 88, in send + raise WebSocketDisconnect(code=1006) +starlette.websockets.WebSocketDisconnect +2025-06-06 02:02:44,081 - robotics.core - WARNING - ๐Ÿšจ Emergency stop triggered by producer_1749168164079_cf87ljz1q in room 914addf3-4673-4a63-85e4-6668dac0dea4 +2025-06-06 02:02:44,081 - robotics.core - ERROR - WebSocket error +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/robotics/core.py", line 255, in handle_websocket + async for message in websocket.iter_text(): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/starlette/websockets.py", line 146, in iter_text + yield await self.receive_text() + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/starlette/websockets.py", line 117, in receive_text + raise RuntimeError('WebSocket is not connected. Need to call "accept" first.') +RuntimeError: WebSocket is not connected. Need to call "accept" first. +2025-06-06 02:02:44,081 - robotics.core - INFO - Created room 3c2fb1fb-c15f-4590-857d-8dabd480b980 +2025-06-06 02:02:44,082 - robotics.core - INFO - Producer producer_1749168164082_4e8i8njkn joined room 3c2fb1fb-c15f-4590-857d-8dabd480b980 +2025-06-06 02:02:44,083 - robotics.core - INFO - Producer producer_1749168164082_4e8i8njkn left room 3c2fb1fb-c15f-4590-857d-8dabd480b980 +2025-06-06 02:02:44,083 - robotics.core - INFO - Deleted room 3c2fb1fb-c15f-4590-857d-8dabd480b980 +2025-06-06 02:02:44,083 - robotics.core - ERROR - Error sending message to producer_1749168164082_4e8i8njkn +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/websockets_impl.py", line 332, in asgi_send + await self.send(data) # type: ignore[arg-type] + ^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/websockets/legacy/protocol.py", line 620, in send + await self.ensure_open() + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/websockets/legacy/protocol.py", line 930, in ensure_open + raise self.connection_closed_exc() +websockets.exceptions.ConnectionClosedOK: received 1000 (OK); then sent 1000 (OK) + +The above exception was the direct cause of the following exception: + +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/starlette/websockets.py", line 85, in send + await self._send(message) + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/starlette/_exception_handler.py", line 39, in sender + await send(message) + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/websockets_impl.py", line 345, in asgi_send + raise ClientDisconnected from exc +uvicorn.protocols.utils.ClientDisconnected + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/robotics/core.py", line 466, in _send_to_participant + await self.connections[participant_id].send_text(json.dumps(message)) + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/starlette/websockets.py", line 165, in send_text + await self.send({"type": "websocket.send", "text": data}) + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/starlette/websockets.py", line 88, in send + raise WebSocketDisconnect(code=1006) +starlette.websockets.WebSocketDisconnect +2025-06-06 02:02:44,084 - robotics.core - ERROR - WebSocket error +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/robotics/core.py", line 255, in handle_websocket + async for message in websocket.iter_text(): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/starlette/websockets.py", line 146, in iter_text + yield await self.receive_text() + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/starlette/websockets.py", line 117, in receive_text + raise RuntimeError('WebSocket is not connected. Need to call "accept" first.') +RuntimeError: WebSocket is not connected. Need to call "accept" first. +2025-06-06 02:02:44,084 - robotics.core - INFO - Created room e7008ce6-7539-41fc-9eda-1056a58ec3c2 +2025-06-06 02:02:44,084 - robotics.core - INFO - Deleted room e7008ce6-7539-41fc-9eda-1056a58ec3c2 +2025-06-06 02:02:44,084 - robotics.core - INFO - Created room 6ed73919-4e89-496a-8367-cc5aa4952998 +2025-06-06 02:02:44,086 - robotics.core - INFO - Producer custom-producer-123 joined room 6ed73919-4e89-496a-8367-cc5aa4952998 +2025-06-06 02:02:44,087 - robotics.core - INFO - Producer custom-producer-123 left room 6ed73919-4e89-496a-8367-cc5aa4952998 +2025-06-06 02:02:44,087 - robotics.core - INFO - Deleted room 6ed73919-4e89-496a-8367-cc5aa4952998 +2025-06-06 02:02:44,087 - robotics.core - INFO - Created room 0b3904c1-4020-4863-8fb8-973c3ba5b619 +2025-06-06 02:02:44,088 - robotics.core - INFO - Producer producer_1749168164087_5n5wd4dc8 joined room 0b3904c1-4020-4863-8fb8-973c3ba5b619 +2025-06-06 02:02:44,088 - robotics.core - INFO - Producer producer_1749168164087_5n5wd4dc8 left room 0b3904c1-4020-4863-8fb8-973c3ba5b619 +2025-06-06 02:02:44,088 - robotics.core - INFO - Deleted room 0b3904c1-4020-4863-8fb8-973c3ba5b619 +2025-06-06 02:02:44,089 - robotics.core - INFO - Created room 77156915-3ae7-4c4a-8377-10ae21d712e5 +2025-06-06 02:02:44,090 - robotics.core - INFO - Producer producer_1749168164089_qut5hf7l9 joined room 77156915-3ae7-4c4a-8377-10ae21d712e5 +2025-06-06 02:02:44,090 - robotics.core - INFO - Producer producer_1749168164089_qut5hf7l9 left room 77156915-3ae7-4c4a-8377-10ae21d712e5 +2025-06-06 02:02:44,091 - robotics.core - INFO - Deleted room 77156915-3ae7-4c4a-8377-10ae21d712e5 +2025-06-06 02:02:44,091 - robotics.core - INFO - Created room d6ccd756-3d09-4ecc-a36f-aee48423c962 +2025-06-06 02:02:44,091 - robotics.core - INFO - Created room ff4391d6-0663-4598-a8cf-d3306945ab80 +2025-06-06 02:02:44,092 - robotics.core - INFO - Producer factory-producer joined room ff4391d6-0663-4598-a8cf-d3306945ab80 +2025-06-06 02:02:44,092 - robotics.core - INFO - Deleted room d6ccd756-3d09-4ecc-a36f-aee48423c962 +2025-06-06 02:02:44,093 - robotics.core - INFO - Producer factory-producer left room ff4391d6-0663-4598-a8cf-d3306945ab80 +2025-06-06 02:02:44,093 - robotics.core - INFO - Created room 2daff6e5-0e2e-44d5-b2f3-406ddad03310 +2025-06-06 02:02:44,094 - robotics.core - INFO - Producer producer_1749168164093_m7xpnkdt2 joined room 2daff6e5-0e2e-44d5-b2f3-406ddad03310 +2025-06-06 02:02:44,094 - robotics.core - WARNING - Producer producer_1749168164094_jgslsd3yc failed to join room 2daff6e5-0e2e-44d5-b2f3-406ddad03310 - room already has producer producer_1749168164093_m7xpnkdt2 +2025-06-06 02:02:44,095 - robotics.core - INFO - Producer producer_1749168164093_m7xpnkdt2 left room 2daff6e5-0e2e-44d5-b2f3-406ddad03310 +2025-06-06 02:02:44,095 - robotics.core - INFO - Deleted room 2daff6e5-0e2e-44d5-b2f3-406ddad03310 +2025-06-06 02:02:44,098 - robotics.core - INFO - Created room de837b53-2c5a-4009-bd76-6a9a5ad26986 +2025-06-06 02:02:44,099 - robotics.core - INFO - Producer producer_1749168164098_14gyr4jge joined room de837b53-2c5a-4009-bd76-6a9a5ad26986 +2025-06-06 02:02:44,099 - robotics.core - INFO - Consumer consumer_1749168164099_wpyhjkfri joined room de837b53-2c5a-4009-bd76-6a9a5ad26986 +2025-06-06 02:02:45,118 - robotics.core - INFO - Producer producer_1749168164098_14gyr4jge left room de837b53-2c5a-4009-bd76-6a9a5ad26986 +2025-06-06 02:02:45,120 - robotics.core - INFO - Consumer consumer_1749168164099_wpyhjkfri left room de837b53-2c5a-4009-bd76-6a9a5ad26986 +2025-06-06 02:02:45,121 - robotics.core - INFO - Deleted room de837b53-2c5a-4009-bd76-6a9a5ad26986 +2025-06-06 02:02:45,124 - robotics.core - INFO - Created room 90e7dbee-8df6-4502-a150-9fb9c906813a +2025-06-06 02:02:45,139 - robotics.core - INFO - Producer producer_1749168165127_6zhx0exkf joined room 90e7dbee-8df6-4502-a150-9fb9c906813a +2025-06-06 02:02:45,152 - robotics.core - INFO - Consumer consumer_1749168165141_91dl3tqm8 joined room 90e7dbee-8df6-4502-a150-9fb9c906813a +2025-06-06 02:02:45,164 - robotics.core - INFO - Consumer consumer_1749168165156_j1cko1hub joined room 90e7dbee-8df6-4502-a150-9fb9c906813a +2025-06-06 02:02:45,569 - robotics.core - INFO - Consumer consumer_1749168165141_91dl3tqm8 left room 90e7dbee-8df6-4502-a150-9fb9c906813a +2025-06-06 02:02:45,569 - robotics.core - INFO - Consumer consumer_1749168165156_j1cko1hub left room 90e7dbee-8df6-4502-a150-9fb9c906813a +2025-06-06 02:02:45,570 - robotics.core - INFO - Producer producer_1749168165127_6zhx0exkf left room 90e7dbee-8df6-4502-a150-9fb9c906813a +2025-06-06 02:02:45,570 - robotics.core - INFO - Deleted room 90e7dbee-8df6-4502-a150-9fb9c906813a +2025-06-06 02:02:45,572 - robotics.core - INFO - Created room 17bbd19f-f423-4de7-9cfd-ddf8d157a46c +2025-06-06 02:02:45,577 - robotics.core - INFO - Producer producer_1749168165573_m2wc5denv joined room 17bbd19f-f423-4de7-9cfd-ddf8d157a46c +2025-06-06 02:02:45,585 - robotics.core - INFO - Consumer consumer_1749168165578_y566v3we2 joined room 17bbd19f-f423-4de7-9cfd-ddf8d157a46c +2025-06-06 02:02:45,589 - robotics.core - INFO - Consumer consumer_1749168165586_dqrfuepuc joined room 17bbd19f-f423-4de7-9cfd-ddf8d157a46c +2025-06-06 02:02:45,791 - robotics.core - WARNING - ๐Ÿšจ Emergency stop triggered by producer_1749168165573_m2wc5denv in room 17bbd19f-f423-4de7-9cfd-ddf8d157a46c +2025-06-06 02:02:45,994 - robotics.core - INFO - Consumer consumer_1749168165578_y566v3we2 left room 17bbd19f-f423-4de7-9cfd-ddf8d157a46c +2025-06-06 02:02:45,994 - robotics.core - INFO - Consumer consumer_1749168165586_dqrfuepuc left room 17bbd19f-f423-4de7-9cfd-ddf8d157a46c +2025-06-06 02:02:45,994 - robotics.core - INFO - Producer producer_1749168165573_m2wc5denv left room 17bbd19f-f423-4de7-9cfd-ddf8d157a46c +2025-06-06 02:02:45,994 - robotics.core - INFO - Deleted room 17bbd19f-f423-4de7-9cfd-ddf8d157a46c +2025-06-06 02:02:45,996 - robotics.core - INFO - Created room e5e78f70-4a65-4265-a2d2-ef81f9b907dd +2025-06-06 02:02:45,998 - robotics.core - INFO - Producer producer_1749168165997_6q5q0at97 joined room e5e78f70-4a65-4265-a2d2-ef81f9b907dd +2025-06-06 02:02:46,206 - robotics.core - INFO - Consumer consumer_1749168166201_lush7nweg joined room e5e78f70-4a65-4265-a2d2-ef81f9b907dd +2025-06-06 02:02:46,209 - robotics.core - INFO - Consumer consumer_1749168166201_lush7nweg left room e5e78f70-4a65-4265-a2d2-ef81f9b907dd +2025-06-06 02:02:46,209 - robotics.core - INFO - Producer producer_1749168165997_6q5q0at97 left room e5e78f70-4a65-4265-a2d2-ef81f9b907dd +2025-06-06 02:02:46,209 - robotics.core - INFO - Deleted room e5e78f70-4a65-4265-a2d2-ef81f9b907dd +2025-06-06 02:02:46,214 - robotics.core - INFO - Created room 46dfc456-207c-413e-bf53-48417282f9dd +2025-06-06 02:02:46,221 - robotics.core - INFO - Producer producer_1749168166215_neq9b9esr joined room 46dfc456-207c-413e-bf53-48417282f9dd +2025-06-06 02:02:46,224 - robotics.core - INFO - Consumer consumer_1749168166222_h9ut2zuby joined room 46dfc456-207c-413e-bf53-48417282f9dd +2025-06-06 02:02:47,048 - robotics.core - INFO - Consumer consumer_1749168166222_h9ut2zuby left room 46dfc456-207c-413e-bf53-48417282f9dd +2025-06-06 02:02:47,048 - robotics.core - INFO - Producer producer_1749168166215_neq9b9esr left room 46dfc456-207c-413e-bf53-48417282f9dd +2025-06-06 02:02:47,048 - robotics.core - INFO - Deleted room 46dfc456-207c-413e-bf53-48417282f9dd +2025-06-06 02:04:42,361 - robotics.core - INFO - Created room 7b48779d-762a-4ff6-a872-247754f5b85f +2025-06-06 02:04:42,363 - robotics.core - INFO - Deleted room 7b48779d-762a-4ff6-a872-247754f5b85f +2025-06-06 02:04:42,364 - robotics.core - INFO - Created room test-room-123 +2025-06-06 02:04:42,365 - robotics.core - INFO - Deleted room test-room-123 +2025-06-06 02:04:42,365 - robotics.core - INFO - Created room ab16249d-60c2-4dca-adce-f6af08b08194 +2025-06-06 02:04:42,366 - robotics.core - INFO - Deleted room ab16249d-60c2-4dca-adce-f6af08b08194 +2025-06-06 02:04:42,366 - robotics.core - INFO - Created room 60b4ad0e-71f3-454c-b4b6-2b3135553400 +2025-06-06 02:04:42,367 - robotics.core - INFO - Deleted room 60b4ad0e-71f3-454c-b4b6-2b3135553400 +2025-06-06 02:04:42,370 - robotics.core - INFO - Created room e5c22eb9-d5d7-4854-b8ee-cffa314f59b5 +2025-06-06 02:04:42,372 - robotics.core - INFO - Deleted room e5c22eb9-d5d7-4854-b8ee-cffa314f59b5 +2025-06-06 02:04:42,372 - robotics.core - INFO - Created room c31e11bf-03c7-4a99-ac04-3552e24297e9 +2025-06-06 02:04:42,375 - robotics.core - INFO - Deleted room c31e11bf-03c7-4a99-ac04-3552e24297e9 +2025-06-06 02:04:42,387 - robotics.core - INFO - Created room f36e9307-d17b-4cf1-abc7-dfe2d964b699 +2025-06-06 02:04:42,397 - robotics.core - INFO - Consumer consumer_1749168282389_0sow4dumg joined room f36e9307-d17b-4cf1-abc7-dfe2d964b699 +2025-06-06 02:04:42,399 - robotics.core - INFO - Consumer consumer_1749168282389_0sow4dumg left room f36e9307-d17b-4cf1-abc7-dfe2d964b699 +2025-06-06 02:04:42,399 - robotics.core - INFO - Deleted room f36e9307-d17b-4cf1-abc7-dfe2d964b699 +2025-06-06 02:04:42,400 - robotics.core - INFO - Created room 4de3dffb-33d6-4edf-805a-2d69c6b79e06 +2025-06-06 02:04:42,401 - robotics.core - INFO - Consumer consumer_1749168282400_4gb2e1f12 joined room 4de3dffb-33d6-4edf-805a-2d69c6b79e06 +2025-06-06 02:04:42,401 - robotics.core - INFO - Consumer consumer_1749168282400_4gb2e1f12 left room 4de3dffb-33d6-4edf-805a-2d69c6b79e06 +2025-06-06 02:04:42,401 - robotics.core - INFO - Deleted room 4de3dffb-33d6-4edf-805a-2d69c6b79e06 +2025-06-06 02:04:42,402 - robotics.core - INFO - Created room 89524eb2-3865-4c53-910b-abed42758fa2 +2025-06-06 02:04:42,402 - robotics.core - INFO - Consumer consumer_1749168282402_87imq5eop joined room 89524eb2-3865-4c53-910b-abed42758fa2 +2025-06-06 02:04:42,403 - robotics.core - INFO - Consumer consumer_1749168282402_87imq5eop left room 89524eb2-3865-4c53-910b-abed42758fa2 +2025-06-06 02:04:42,403 - robotics.core - INFO - Deleted room 89524eb2-3865-4c53-910b-abed42758fa2 +2025-06-06 02:04:42,403 - robotics.core - INFO - Created room 52a85c7d-21ef-494b-afd2-84b05fb5bc22 +2025-06-06 02:04:42,404 - robotics.core - INFO - Consumer consumer_1749168282403_tda9xi8nb joined room 52a85c7d-21ef-494b-afd2-84b05fb5bc22 +2025-06-06 02:04:42,506 - robotics.core - INFO - Consumer consumer_1749168282403_tda9xi8nb left room 52a85c7d-21ef-494b-afd2-84b05fb5bc22 +2025-06-06 02:04:42,608 - robotics.core - INFO - Deleted room 52a85c7d-21ef-494b-afd2-84b05fb5bc22 +2025-06-06 02:04:42,609 - robotics.core - INFO - Created room 935e7163-7687-4932-bd7b-7974a9bcd50f +2025-06-06 02:04:42,611 - robotics.core - INFO - Consumer consumer_1749168282609_jcc8br5ab joined room 935e7163-7687-4932-bd7b-7974a9bcd50f +2025-06-06 02:04:42,613 - robotics.core - INFO - Consumer consumer_1749168282611_ipk6uws3w joined room 935e7163-7687-4932-bd7b-7974a9bcd50f +2025-06-06 02:04:42,615 - robotics.core - INFO - Consumer consumer_1749168282609_jcc8br5ab left room 935e7163-7687-4932-bd7b-7974a9bcd50f +2025-06-06 02:04:42,615 - robotics.core - INFO - Consumer consumer_1749168282611_ipk6uws3w left room 935e7163-7687-4932-bd7b-7974a9bcd50f +2025-06-06 02:04:42,615 - robotics.core - INFO - Deleted room 935e7163-7687-4932-bd7b-7974a9bcd50f +2025-06-06 02:04:42,616 - robotics.core - INFO - Created room 2e96b516-ef97-475b-af0c-7147073d084d +2025-06-06 02:04:42,617 - robotics.core - INFO - Consumer custom-consumer-456 joined room 2e96b516-ef97-475b-af0c-7147073d084d +2025-06-06 02:04:42,617 - robotics.core - INFO - Consumer custom-consumer-456 left room 2e96b516-ef97-475b-af0c-7147073d084d +2025-06-06 02:04:42,617 - robotics.core - INFO - Deleted room 2e96b516-ef97-475b-af0c-7147073d084d +2025-06-06 02:04:42,618 - robotics.core - INFO - Created room 6b59d399-ae1b-4db0-90cf-298734f13003 +2025-06-06 02:04:42,619 - robotics.core - INFO - Deleted room 6b59d399-ae1b-4db0-90cf-298734f13003 +2025-06-06 02:04:42,620 - robotics.core - INFO - Created room 9c3dd570-094a-417a-b3d9-9abef9756ec1 +2025-06-06 02:04:42,621 - robotics.core - INFO - Consumer consumer_1749168282620_t5r63uuub joined room 9c3dd570-094a-417a-b3d9-9abef9756ec1 +2025-06-06 02:04:42,622 - robotics.core - INFO - Consumer consumer_1749168282620_t5r63uuub left room 9c3dd570-094a-417a-b3d9-9abef9756ec1 +2025-06-06 02:04:42,622 - robotics.core - INFO - Consumer consumer_1749168282621_gar40z8hh joined room 9c3dd570-094a-417a-b3d9-9abef9756ec1 +2025-06-06 02:04:42,623 - robotics.core - INFO - Consumer consumer_1749168282621_gar40z8hh left room 9c3dd570-094a-417a-b3d9-9abef9756ec1 +2025-06-06 02:04:42,623 - robotics.core - INFO - Deleted room 9c3dd570-094a-417a-b3d9-9abef9756ec1 +2025-06-06 02:04:42,623 - robotics.core - INFO - Created room e0c44ca8-5d18-4e7f-9971-22d811ac01aa +2025-06-06 02:04:42,625 - robotics.core - INFO - Consumer factory-consumer joined room e0c44ca8-5d18-4e7f-9971-22d811ac01aa +2025-06-06 02:04:42,626 - robotics.core - INFO - Consumer factory-consumer left room e0c44ca8-5d18-4e7f-9971-22d811ac01aa +2025-06-06 02:04:42,626 - robotics.core - INFO - Deleted room e0c44ca8-5d18-4e7f-9971-22d811ac01aa +2025-06-06 02:04:42,629 - robotics.core - INFO - Created room ea74eb2c-429d-4c93-bd92-b7922aced21b +2025-06-06 02:04:42,631 - robotics.core - INFO - Producer producer_1749168282630_a84hyvv15 joined room ea74eb2c-429d-4c93-bd92-b7922aced21b +2025-06-06 02:04:42,631 - robotics.core - INFO - Producer producer_1749168282630_a84hyvv15 left room ea74eb2c-429d-4c93-bd92-b7922aced21b +2025-06-06 02:04:42,631 - robotics.core - INFO - Deleted room ea74eb2c-429d-4c93-bd92-b7922aced21b +2025-06-06 02:04:42,631 - robotics.core - INFO - Created room fef81fc7-d151-4af6-b6dd-c6b8fdbdf5f5 +2025-06-06 02:04:42,632 - robotics.core - INFO - Producer producer_1749168282632_3hv04pvp7 joined room fef81fc7-d151-4af6-b6dd-c6b8fdbdf5f5 +2025-06-06 02:04:42,633 - robotics.core - INFO - Producer producer_1749168282632_3hv04pvp7 left room fef81fc7-d151-4af6-b6dd-c6b8fdbdf5f5 +2025-06-06 02:04:42,633 - robotics.core - INFO - Deleted room fef81fc7-d151-4af6-b6dd-c6b8fdbdf5f5 +2025-06-06 02:04:42,633 - robotics.core - INFO - Created room 5ca67444-3eb7-423a-abdc-f921924d3773 +2025-06-06 02:04:42,634 - robotics.core - INFO - Producer producer_1749168282633_47qvo4csa joined room 5ca67444-3eb7-423a-abdc-f921924d3773 +2025-06-06 02:04:42,635 - robotics.core - INFO - Producer producer_1749168282633_47qvo4csa left room 5ca67444-3eb7-423a-abdc-f921924d3773 +2025-06-06 02:04:42,635 - robotics.core - INFO - Deleted room 5ca67444-3eb7-423a-abdc-f921924d3773 +2025-06-06 02:04:42,635 - robotics.core - INFO - Created room a2b55f59-1da0-4249-9515-d7fb7aa6cde9 +2025-06-06 02:04:42,637 - robotics.core - INFO - Producer producer_1749168282636_78i7zxu0c joined room a2b55f59-1da0-4249-9515-d7fb7aa6cde9 +2025-06-06 02:04:42,638 - robotics.core - INFO - Producer producer_1749168282636_78i7zxu0c left room a2b55f59-1da0-4249-9515-d7fb7aa6cde9 +2025-06-06 02:04:42,639 - robotics.core - INFO - Deleted room a2b55f59-1da0-4249-9515-d7fb7aa6cde9 +2025-06-06 02:04:42,639 - robotics.core - ERROR - Error processing joint update from producer_1749168282636_78i7zxu0c: Room a2b55f59-1da0-4249-9515-d7fb7aa6cde9 not found +2025-06-06 02:04:42,639 - robotics.core - ERROR - Error sending message to producer_1749168282636_78i7zxu0c +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/websockets_impl.py", line 332, in asgi_send + await self.send(data) # type: ignore[arg-type] + ^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/websockets/legacy/protocol.py", line 620, in send + await self.ensure_open() + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/websockets/legacy/protocol.py", line 921, in ensure_open + raise self.connection_closed_exc() +websockets.exceptions.ConnectionClosedOK: received 1000 (OK); then sent 1000 (OK) + +The above exception was the direct cause of the following exception: + +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/starlette/websockets.py", line 85, in send + await self._send(message) + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/starlette/_exception_handler.py", line 39, in sender + await send(message) + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/websockets_impl.py", line 345, in asgi_send + raise ClientDisconnected from exc +uvicorn.protocols.utils.ClientDisconnected + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/robotics/core.py", line 466, in _send_to_participant + await self.connections[participant_id].send_text(json.dumps(message)) + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/starlette/websockets.py", line 165, in send_text + await self.send({"type": "websocket.send", "text": data}) + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/starlette/websockets.py", line 88, in send + raise WebSocketDisconnect(code=1006) +starlette.websockets.WebSocketDisconnect +2025-06-06 02:04:42,641 - robotics.core - ERROR - WebSocket error +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/robotics/core.py", line 255, in handle_websocket + async for message in websocket.iter_text(): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/starlette/websockets.py", line 146, in iter_text + yield await self.receive_text() + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/starlette/websockets.py", line 117, in receive_text + raise RuntimeError('WebSocket is not connected. Need to call "accept" first.') +RuntimeError: WebSocket is not connected. Need to call "accept" first. +2025-06-06 02:04:42,641 - robotics.core - INFO - Created room 636491c3-2cda-4188-9405-6695653f7216 +2025-06-06 02:04:42,645 - robotics.core - INFO - Producer producer_1749168282643_t1y5justs joined room 636491c3-2cda-4188-9405-6695653f7216 +2025-06-06 02:04:42,646 - robotics.core - INFO - Producer producer_1749168282643_t1y5justs left room 636491c3-2cda-4188-9405-6695653f7216 +2025-06-06 02:04:42,646 - robotics.core - INFO - Deleted room 636491c3-2cda-4188-9405-6695653f7216 +2025-06-06 02:04:42,647 - robotics.core - ERROR - Error sending message to producer_1749168282643_t1y5justs +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/websockets_impl.py", line 332, in asgi_send + await self.send(data) # type: ignore[arg-type] + ^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/websockets/legacy/protocol.py", line 620, in send + await self.ensure_open() + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/websockets/legacy/protocol.py", line 930, in ensure_open + raise self.connection_closed_exc() +websockets.exceptions.ConnectionClosedOK: received 1000 (OK); then sent 1000 (OK) + +The above exception was the direct cause of the following exception: + +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/starlette/websockets.py", line 85, in send + await self._send(message) + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/starlette/_exception_handler.py", line 39, in sender + await send(message) + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/websockets_impl.py", line 345, in asgi_send + raise ClientDisconnected from exc +uvicorn.protocols.utils.ClientDisconnected + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/robotics/core.py", line 444, in _broadcast_to_all_participants + await self.connections[participant_id].send_text(message_text) + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/starlette/websockets.py", line 165, in send_text + await self.send({"type": "websocket.send", "text": data}) + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/starlette/websockets.py", line 88, in send + raise WebSocketDisconnect(code=1006) +starlette.websockets.WebSocketDisconnect +2025-06-06 02:04:42,648 - robotics.core - WARNING - ๐Ÿšจ Emergency stop triggered by producer_1749168282643_t1y5justs in room 636491c3-2cda-4188-9405-6695653f7216 +2025-06-06 02:04:42,648 - robotics.core - ERROR - WebSocket error +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/robotics/core.py", line 255, in handle_websocket + async for message in websocket.iter_text(): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/starlette/websockets.py", line 146, in iter_text + yield await self.receive_text() + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/starlette/websockets.py", line 117, in receive_text + raise RuntimeError('WebSocket is not connected. Need to call "accept" first.') +RuntimeError: WebSocket is not connected. Need to call "accept" first. +2025-06-06 02:04:42,649 - robotics.core - INFO - Created room bb4b33a3-4432-4350-8af8-9096bd497d24 +2025-06-06 02:04:42,651 - robotics.core - INFO - Producer producer_1749168282649_jxzk5d1v0 joined room bb4b33a3-4432-4350-8af8-9096bd497d24 +2025-06-06 02:04:42,651 - robotics.core - INFO - Producer producer_1749168282649_jxzk5d1v0 left room bb4b33a3-4432-4350-8af8-9096bd497d24 +2025-06-06 02:04:42,651 - robotics.core - INFO - Deleted room bb4b33a3-4432-4350-8af8-9096bd497d24 +2025-06-06 02:04:42,651 - robotics.core - INFO - Created room 44593c8e-0ed2-4752-a9f6-ebe578e07623 +2025-06-06 02:04:42,652 - robotics.core - INFO - Deleted room 44593c8e-0ed2-4752-a9f6-ebe578e07623 +2025-06-06 02:04:42,652 - robotics.core - INFO - Created room 507e2257-0520-4027-a87b-739604a1ca54 +2025-06-06 02:04:42,653 - robotics.core - INFO - Producer custom-producer-123 joined room 507e2257-0520-4027-a87b-739604a1ca54 +2025-06-06 02:04:42,653 - robotics.core - INFO - Producer custom-producer-123 left room 507e2257-0520-4027-a87b-739604a1ca54 +2025-06-06 02:04:42,653 - robotics.core - INFO - Deleted room 507e2257-0520-4027-a87b-739604a1ca54 +2025-06-06 02:04:42,654 - robotics.core - INFO - Created room 47b68c44-3e7f-4edd-ac33-b3612e994e35 +2025-06-06 02:04:42,655 - robotics.core - INFO - Producer producer_1749168282654_0tvj4ie9r joined room 47b68c44-3e7f-4edd-ac33-b3612e994e35 +2025-06-06 02:04:42,655 - robotics.core - INFO - Producer producer_1749168282654_0tvj4ie9r left room 47b68c44-3e7f-4edd-ac33-b3612e994e35 +2025-06-06 02:04:42,655 - robotics.core - INFO - Deleted room 47b68c44-3e7f-4edd-ac33-b3612e994e35 +2025-06-06 02:04:42,656 - robotics.core - ERROR - Error processing joint update from producer_1749168282654_0tvj4ie9r: Room 47b68c44-3e7f-4edd-ac33-b3612e994e35 not found +2025-06-06 02:04:42,656 - robotics.core - ERROR - Error sending message to producer_1749168282654_0tvj4ie9r +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/websockets_impl.py", line 332, in asgi_send + await self.send(data) # type: ignore[arg-type] + ^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/websockets/legacy/protocol.py", line 620, in send + await self.ensure_open() + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/websockets/legacy/protocol.py", line 921, in ensure_open + raise self.connection_closed_exc() +websockets.exceptions.ConnectionClosedOK: received 1000 (OK); then sent 1000 (OK) + +The above exception was the direct cause of the following exception: + +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/starlette/websockets.py", line 85, in send + await self._send(message) + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/starlette/_exception_handler.py", line 39, in sender + await send(message) + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/websockets_impl.py", line 345, in asgi_send + raise ClientDisconnected from exc +uvicorn.protocols.utils.ClientDisconnected + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/robotics/core.py", line 466, in _send_to_participant + await self.connections[participant_id].send_text(json.dumps(message)) + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/starlette/websockets.py", line 165, in send_text + await self.send({"type": "websocket.send", "text": data}) + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/starlette/websockets.py", line 88, in send + raise WebSocketDisconnect(code=1006) +starlette.websockets.WebSocketDisconnect +2025-06-06 02:04:42,656 - robotics.core - ERROR - WebSocket error +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/robotics/core.py", line 255, in handle_websocket + async for message in websocket.iter_text(): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/starlette/websockets.py", line 146, in iter_text + yield await self.receive_text() + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/starlette/websockets.py", line 117, in receive_text + raise RuntimeError('WebSocket is not connected. Need to call "accept" first.') +RuntimeError: WebSocket is not connected. Need to call "accept" first. +2025-06-06 02:04:42,657 - robotics.core - INFO - Created room b770a915-a890-49be-b5b1-1ede5d306feb +2025-06-06 02:04:42,658 - robotics.core - INFO - Producer producer_1749168282657_gqatqihgq joined room b770a915-a890-49be-b5b1-1ede5d306feb +2025-06-06 02:04:42,658 - robotics.core - INFO - Producer producer_1749168282657_gqatqihgq left room b770a915-a890-49be-b5b1-1ede5d306feb +2025-06-06 02:04:42,658 - robotics.core - INFO - Deleted room b770a915-a890-49be-b5b1-1ede5d306feb +2025-06-06 02:04:42,659 - robotics.core - INFO - Created room 1d254624-17cd-446f-bfc0-f4e9506592f2 +2025-06-06 02:04:42,659 - robotics.core - INFO - Created room 4acd35af-a2f6-4fdb-8828-4bcd4996f339 +2025-06-06 02:04:42,659 - robotics.core - INFO - Producer factory-producer joined room 4acd35af-a2f6-4fdb-8828-4bcd4996f339 +2025-06-06 02:04:42,660 - robotics.core - INFO - Deleted room 1d254624-17cd-446f-bfc0-f4e9506592f2 +2025-06-06 02:04:42,660 - robotics.core - INFO - Producer factory-producer left room 4acd35af-a2f6-4fdb-8828-4bcd4996f339 +2025-06-06 02:04:42,660 - robotics.core - INFO - Created room 15f16aa8-f95e-4406-a930-044f17cc78b4 +2025-06-06 02:04:42,661 - robotics.core - INFO - Producer producer_1749168282660_m6x44pndw joined room 15f16aa8-f95e-4406-a930-044f17cc78b4 +2025-06-06 02:04:42,662 - robotics.core - WARNING - Producer producer_1749168282661_ucd8s3ld1 failed to join room 15f16aa8-f95e-4406-a930-044f17cc78b4 - room already has producer producer_1749168282660_m6x44pndw +2025-06-06 02:04:42,662 - robotics.core - INFO - Producer producer_1749168282660_m6x44pndw left room 15f16aa8-f95e-4406-a930-044f17cc78b4 +2025-06-06 02:04:42,662 - robotics.core - INFO - Deleted room 15f16aa8-f95e-4406-a930-044f17cc78b4 +2025-06-06 02:04:42,665 - robotics.core - INFO - Created room d0548932-e60d-4c74-9206-b8e32be75133 +2025-06-06 02:04:42,666 - robotics.core - INFO - Producer producer_1749168282665_ottbmkl0b joined room d0548932-e60d-4c74-9206-b8e32be75133 +2025-06-06 02:04:42,666 - robotics.core - INFO - Consumer consumer_1749168282666_6iygectjx joined room d0548932-e60d-4c74-9206-b8e32be75133 +2025-06-06 02:04:43,069 - robotics.core - INFO - Consumer consumer_1749168282666_6iygectjx left room d0548932-e60d-4c74-9206-b8e32be75133 +2025-06-06 02:04:43,069 - robotics.core - INFO - Producer producer_1749168282665_ottbmkl0b left room d0548932-e60d-4c74-9206-b8e32be75133 +2025-06-06 02:23:40,961 - robotics.core - INFO - Deleted room b1b643f0-bc56-4938-8bd0-e1ef4fd32101 +2025-06-06 02:27:46,762 - robotics.core - INFO - Consumer consumer_1749169664528 joined room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:27:58,655 - robotics.core - INFO - Producer producer_1749169677391 joined room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:28:34,930 - robotics.core - INFO - Producer producer_1749169677391 left room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:28:36,494 - robotics.core - INFO - Consumer consumer_1749169714929 joined room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:28:38,488 - robotics.core - INFO - Consumer consumer_1749169714929 left room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:28:49,149 - robotics.core - INFO - Consumer consumer_1749169664528 left room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:28:51,355 - robotics.core - INFO - Producer producer_1749169728591 joined room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:28:57,378 - robotics.core - INFO - Producer producer_1749169728591 left room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:38:55,903 - robotics.core - INFO - Consumer consumer_1749170333988 joined room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:39:03,097 - robotics.core - INFO - Consumer consumer_1749170333988 left room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:40:24,988 - robotics.core - INFO - Consumer consumer_1749170423048 joined room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:40:25,534 - robotics.core - INFO - Consumer consumer_1749170423048 left room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:40:38,807 - robotics.core - INFO - Producer producer_1749170437502 joined room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:40:52,087 - robotics.core - INFO - Producer producer_1749170437502 left room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:41:45,834 - robotics.core - INFO - Producer producer_1749170486103 joined room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:42:33,264 - robotics.core - INFO - Producer producer_1749170486103 left room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:42:36,456 - robotics.core - INFO - Producer producer_1749170554824 joined room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:42:39,055 - robotics.core - INFO - Producer producer_1749170554824 left room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:42:42,052 - robotics.core - INFO - Consumer consumer_1749170560916 joined room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:43:21,323 - robotics.core - INFO - Producer producer_1749170600178 joined room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:43:22,878 - robotics.core - INFO - Producer producer_1749170600178 left room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:43:23,258 - robotics.core - INFO - Consumer consumer_1749170560916 left room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:43:24,401 - robotics.core - INFO - Producer producer_1749170602928 joined room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:43:26,433 - robotics.core - INFO - Consumer consumer_1749170603521 joined room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:44:14,627 - robotics.core - INFO - Consumer consumer_1749170603521 left room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:45:42,890 - robotics.core - INFO - Consumer consumer_1749170741995 joined room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:45:46,799 - robotics.core - INFO - Consumer consumer_1749170741995 left room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:45:49,398 - robotics.core - WARNING - Producer producer_1749170748019 failed to join room 63a2459f-8451-4739-ac74-240d534cabf1 - room already has producer producer_1749170602928 +2025-06-06 02:45:49,965 - robotics.core - WARNING - Producer producer_1749170748019 failed to join room 63a2459f-8451-4739-ac74-240d534cabf1 - room already has producer producer_1749170602928 +2025-06-06 02:45:50,732 - robotics.core - WARNING - Producer producer_1749170748019 failed to join room 63a2459f-8451-4739-ac74-240d534cabf1 - room already has producer producer_1749170602928 +2025-06-06 02:45:57,512 - robotics.core - INFO - Created room 3b51ea05-30e2-492f-a4e8-54dc0f0243ee +2025-06-06 02:45:57,520 - robotics.core - INFO - Producer producer_1749170752968 joined room 3b51ea05-30e2-492f-a4e8-54dc0f0243ee +2025-06-06 02:46:16,564 - robotics.core - INFO - Producer producer_1749170752968 left room 3b51ea05-30e2-492f-a4e8-54dc0f0243ee +2025-06-06 02:47:29,531 - robotics.core - INFO - Producer producer_1749170602928 left room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:47:30,345 - robotics.core - INFO - Producer producer_1749170849614 joined room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:47:37,612 - robotics.core - INFO - Producer producer_1749170849614 left room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:48:12,928 - robotics.core - INFO - Consumer consumer_1749170892098 joined room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:48:14,296 - robotics.core - INFO - Consumer consumer_1749170892098 left room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:48:15,960 - robotics.core - INFO - Producer producer_1749170895263 joined room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:48:24,627 - robotics.core - INFO - Producer producer_1749170895263 left room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:48:28,036 - robotics.core - INFO - Producer producer_1749170907504 joined room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:48:49,564 - robotics.core - INFO - Producer producer_1749170907504 left room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:49:47,753 - robotics.core - INFO - Consumer consumer_1749170971067 joined room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:49:57,216 - robotics.core - INFO - Consumer consumer_1749170971067 left room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:51:45,625 - robotics.core - INFO - Producer producer_1749171104733 joined room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:52:02,715 - robotics.core - INFO - Producer producer_1749171104733 left room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:52:39,245 - robotics.core - INFO - Created room 4e911993-b4bd-46e1-ad91-4e00d0fe74a0 +2025-06-06 02:52:39,253 - robotics.core - INFO - Producer producer_1749171155999 joined room 4e911993-b4bd-46e1-ad91-4e00d0fe74a0 +2025-06-06 02:52:55,111 - robotics.core - INFO - Producer producer_1749171155999 left room 4e911993-b4bd-46e1-ad91-4e00d0fe74a0 +2025-06-06 02:55:56,587 - robotics.core - INFO - Consumer consumer_1749171352747 joined room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:56:01,105 - robotics.core - INFO - Consumer consumer_1749171352747 left room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:56:28,339 - robotics.core - INFO - Consumer consumer_1749171386035 joined room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:57:31,642 - robotics.core - INFO - Producer producer_1749171450496 joined room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:57:37,920 - robotics.core - INFO - Producer producer_1749171450496 left room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:57:44,820 - robotics.core - INFO - Producer producer_1749171459549 joined room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:57:54,971 - robotics.core - INFO - Producer producer_1749171459549 left room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:57:58,282 - robotics.core - INFO - Consumer consumer_1749171386035 left room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:58:27,548 - robotics.core - INFO - Consumer consumer_1749171504434 joined room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:58:29,194 - robotics.core - INFO - Producer producer_1749171504166 joined room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 02:58:35,467 - robotics.core - INFO - Producer producer_1749171504166 left room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 03:00:06,568 - robotics.core - INFO - Consumer consumer_1749171504434 left room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 03:00:11,135 - robotics.core - INFO - Consumer consumer_1749171607006 joined room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 03:00:15,474 - robotics.core - INFO - Consumer consumer_1749171607006 left room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 03:00:16,388 - robotics.core - INFO - Producer producer_1749171614710 joined room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 03:00:17,281 - robotics.core - INFO - Consumer consumer_1749171614966 joined room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 03:01:58,939 - robotics.core - INFO - Producer producer_1749171614710 left room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 03:02:00,023 - robotics.core - INFO - Producer producer_1749171719420 joined room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 03:02:08,541 - robotics.core - INFO - Producer producer_1749171719420 left room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 03:02:38,689 - robotics.core - INFO - Producer producer_1749171728542 joined room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 03:04:39,583 - robotics.core - INFO - Producer producer_1749171728542 left room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 03:04:56,320 - robotics.core - INFO - Producer producer_1749171879584 joined room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 03:06:30,202 - robotics.core - INFO - Consumer consumer_1749171614966 left room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 03:06:32,803 - robotics.core - INFO - Producer producer_1749171879584 left room 63a2459f-8451-4739-ac74-240d534cabf1 +2025-06-06 03:07:23,066 - watchfiles.main - INFO - 2 changes detected +2025-06-06 03:07:29,773 - watchfiles.main - INFO - 2 changes detected +2025-06-06 03:09:15,296 - watchfiles.main - INFO - 3 changes detected +2025-06-06 03:18:06,030 - watchfiles.main - INFO - 1 change detected +2025-06-06 03:18:06,754 - watchfiles.main - INFO - 1 change detected +2025-06-06 03:18:07,592 - watchfiles.main - INFO - 1 change detected +2025-06-06 03:20:02,304 - watchfiles.main - INFO - 1 change detected +2025-06-06 03:20:05,305 - watchfiles.main - INFO - 1 change detected +2025-06-06 03:20:32,807 - watchfiles.main - INFO - 1 change detected +2025-06-06 03:20:33,394 - watchfiles.main - INFO - 49 changes detected +2025-06-06 03:20:33,765 - watchfiles.main - INFO - 156 changes detected +2025-06-06 03:20:34,131 - watchfiles.main - INFO - 77 changes detected +2025-06-06 03:20:42,681 - watchfiles.main - INFO - 30 changes detected +2025-06-06 03:21:43,654 - watchfiles.main - INFO - 1 change detected +2025-06-06 03:21:44,286 - watchfiles.main - INFO - 3 changes detected +2025-06-06 03:36:05,701 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-06 03:38:28,762 - video.core - INFO - Created video room ce445de5-a878-4d9c-8688-9bea955781b5 +2025-06-06 03:38:28,777 - video.core - INFO - Producer producer_1749173905141 joined video room ce445de5-a878-4d9c-8688-9bea955781b5 +2025-06-06 03:38:36,421 - video.core - WARNING - Unknown message type from producer_1749173905141: stream_started +2025-06-06 03:39:36,306 - video.core - INFO - Producer producer_1749173905141 left video room ce445de5-a878-4d9c-8688-9bea955781b5 +2025-06-06 03:41:05,300 - video.core - INFO - Created video room ecc63c84-8585-48aa-8b69-71e8675e43f4 +2025-06-06 03:41:05,315 - video.core - INFO - Producer producer_1749174062548 joined video room ecc63c84-8585-48aa-8b69-71e8675e43f4 +2025-06-06 03:41:10,467 - video.core - WARNING - Unknown message type from producer_1749174062548: stream_started +2025-06-06 03:41:15,177 - video.core - INFO - Consumer consumer_1749174055647 joined video room ecc63c84-8585-48aa-8b69-71e8675e43f4 +2025-06-06 03:41:21,098 - video.core - INFO - Producer producer_1749174062548 left video room ecc63c84-8585-48aa-8b69-71e8675e43f4 +2025-06-06 03:41:23,137 - video.core - INFO - Created video room 1ac6ac9f-b471-48a8-b526-04ae2edbf8ef +2025-06-06 03:41:23,143 - video.core - INFO - Producer producer_1749174081154 joined video room 1ac6ac9f-b471-48a8-b526-04ae2edbf8ef +2025-06-06 03:41:25,757 - video.core - WARNING - Unknown message type from producer_1749174081154: stream_started +2025-06-06 03:41:31,144 - video.core - INFO - Consumer consumer_1749174055647 left video room ecc63c84-8585-48aa-8b69-71e8675e43f4 +2025-06-06 03:41:34,804 - video.core - INFO - Consumer consumer_1749174092764 joined video room 1ac6ac9f-b471-48a8-b526-04ae2edbf8ef +2025-06-06 03:46:39,114 - watchfiles.main - INFO - 1 change detected +2025-06-06 03:46:39,145 - video.core - INFO - Producer producer_1749174081154 left video room 1ac6ac9f-b471-48a8-b526-04ae2edbf8ef +2025-06-06 03:46:39,145 - video.core - INFO - Consumer consumer_1749174092764 left video room 1ac6ac9f-b471-48a8-b526-04ae2edbf8ef +2025-06-06 03:46:39,710 - watchfiles.main - INFO - 1 change detected +2025-06-06 03:46:40,073 - watchfiles.main - INFO - 3 changes detected +2025-06-06 03:46:50,246 - watchfiles.main - INFO - 1 change detected +2025-06-06 03:46:50,976 - watchfiles.main - INFO - 3 changes detected +2025-06-06 03:47:18,916 - watchfiles.main - INFO - 1 change detected +2025-06-06 03:47:19,528 - watchfiles.main - INFO - 3 changes detected +2025-06-06 03:47:35,119 - watchfiles.main - INFO - 1 change detected +2025-06-06 03:47:35,927 - watchfiles.main - INFO - 3 changes detected +2025-06-06 03:47:52,141 - watchfiles.main - INFO - 1 change detected +2025-06-06 03:47:52,758 - watchfiles.main - INFO - 3 changes detected +2025-06-06 03:48:02,350 - watchfiles.main - INFO - 1 change detected +2025-06-06 03:48:02,949 - watchfiles.main - INFO - 3 changes detected +2025-06-06 03:48:12,345 - watchfiles.main - INFO - 1 change detected +2025-06-06 03:48:13,012 - watchfiles.main - INFO - 3 changes detected +2025-06-06 03:48:24,020 - watchfiles.main - INFO - 1 change detected +2025-06-06 03:48:24,672 - watchfiles.main - INFO - 3 changes detected +2025-06-06 03:48:35,524 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-06 03:48:38,162 - watchfiles.main - INFO - 3 changes detected +2025-06-06 03:48:55,517 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-06 03:49:02,363 - video.core - INFO - Created video room 762ac2ba-3541-4924-b74d-4e37a68b2d81 +2025-06-06 03:49:02,372 - video.core - INFO - Producer producer_1749174540230 joined video room 762ac2ba-3541-4924-b74d-4e37a68b2d81 +2025-06-06 03:49:05,403 - video.core - INFO - Stream started by producer_1749174540230 in room 762ac2ba-3541-4924-b74d-4e37a68b2d81 +2025-06-06 03:49:09,446 - video.core - INFO - Consumer consumer_1749174540454 joined video room 762ac2ba-3541-4924-b74d-4e37a68b2d81 +2025-06-06 03:50:12,091 - video.core - INFO - Video config updated by producer_1749174540230 in room 762ac2ba-3541-4924-b74d-4e37a68b2d81 +2025-06-06 03:50:58,317 - video.core - INFO - Producer producer_1749174540230 left video room 762ac2ba-3541-4924-b74d-4e37a68b2d81 +2025-06-06 03:50:58,318 - video.core - INFO - Consumer consumer_1749174540454 left video room 762ac2ba-3541-4924-b74d-4e37a68b2d81 +2025-06-06 03:52:01,429 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-06 03:52:10,394 - video.core - INFO - Created video room ccc8ef02-21cc-494a-a590-aaab358a94aa +2025-06-06 03:52:10,410 - video.core - INFO - Producer producer_1749174698621 joined video room ccc8ef02-21cc-494a-a590-aaab358a94aa +2025-06-06 03:52:12,860 - video.core - INFO - Stream started by producer_1749174698621 in room ccc8ef02-21cc-494a-a590-aaab358a94aa +2025-06-06 03:52:15,787 - video.core - INFO - Consumer consumer_1749174698618 joined video room ccc8ef02-21cc-494a-a590-aaab358a94aa +2025-06-06 03:53:05,374 - video.core - INFO - Producer producer_1749174698621 left video room ccc8ef02-21cc-494a-a590-aaab358a94aa +2025-06-06 03:53:12,645 - video.core - INFO - Consumer consumer_1749174698618 left video room ccc8ef02-21cc-494a-a590-aaab358a94aa +2025-06-06 03:53:16,146 - video.core - INFO - Created video room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 03:53:16,159 - video.core - INFO - Producer producer_1749174791618 joined video room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 03:53:20,794 - video.core - INFO - Consumer consumer_1749174791670 joined video room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 03:53:25,535 - video.core - INFO - Stream started by producer_1749174791618 in room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 03:53:25,677 - watchfiles.main - INFO - 14 changes detected +2025-06-06 03:53:29,810 - watchfiles.main - INFO - 7 changes detected +2025-06-06 03:53:30,331 - watchfiles.main - INFO - 4 changes detected +2025-06-06 03:53:31,011 - watchfiles.main - INFO - 4 changes detected +2025-06-06 03:53:31,376 - watchfiles.main - INFO - 4 changes detected +2025-06-06 03:53:31,738 - watchfiles.main - INFO - 4 changes detected +2025-06-06 03:53:34,647 - watchfiles.main - INFO - 4 changes detected +2025-06-06 03:53:35,814 - watchfiles.main - INFO - 29 changes detected +2025-06-06 03:53:36,172 - watchfiles.main - INFO - 10 changes detected +2025-06-06 03:53:36,703 - video.core - INFO - WebRTC connection consumer_1749174791670 initialized +2025-06-06 03:53:36,703 - video.core - INFO - ๐Ÿ” Consumer detection for consumer_1749174791670: +2025-06-06 03:53:36,703 - video.core - INFO - - has_recvonly: False +2025-06-06 03:53:36,703 - video.core - INFO - - has_sendonly: False +2025-06-06 03:53:36,703 - video.core - INFO - - has_video: False +2025-06-06 03:53:36,703 - video.core - INFO - WebRTC consumer_1749174791670 is a PRODUCER +2025-06-06 03:53:36,704 - video.core - INFO - Consumer consumer_1749174791670 left video room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 03:53:36,706 - video.core - INFO - Consumer consumer_1749174807945 joined video room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 03:53:36,797 - watchfiles.main - INFO - 417 changes detected +2025-06-06 03:53:41,775 - video.core - WARNING - ICE gathering timeout for consumer_1749174791670 +2025-06-06 03:53:42,685 - video.core - INFO - Producer producer_1749174791618 left video room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 03:53:43,175 - video.core - INFO - Consumer consumer_1749174807945 left video room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 03:53:47,110 - video.core - INFO - Created video room 8b673295-ec3e-40de-b487-c5c4901c82ec +2025-06-06 03:53:47,123 - video.core - INFO - Producer producer_1749174824435 joined video room 8b673295-ec3e-40de-b487-c5c4901c82ec +2025-06-06 03:53:49,463 - video.core - INFO - Stream started by producer_1749174824435 in room 8b673295-ec3e-40de-b487-c5c4901c82ec +2025-06-06 03:53:52,892 - video.core - INFO - Consumer consumer_1749174824824 joined video room 8b673295-ec3e-40de-b487-c5c4901c82ec +2025-06-06 03:55:28,571 - watchfiles.main - INFO - 3 changes detected +2025-06-06 03:55:28,608 - video.core - INFO - Producer producer_1749174824435 left video room 8b673295-ec3e-40de-b487-c5c4901c82ec +2025-06-06 03:55:28,608 - video.core - INFO - Consumer consumer_1749174824824 left video room 8b673295-ec3e-40de-b487-c5c4901c82ec +2025-06-06 03:55:29,221 - watchfiles.main - INFO - 1 change detected +2025-06-06 03:55:29,581 - watchfiles.main - INFO - 6 changes detected +2025-06-06 03:55:29,938 - watchfiles.main - INFO - 3 changes detected +2025-06-06 03:56:36,977 - watchfiles.main - INFO - 1 change detected +2025-06-06 03:56:37,628 - watchfiles.main - INFO - 3 changes detected +2025-06-06 03:56:46,605 - watchfiles.main - INFO - 1 change detected +2025-06-06 03:56:47,189 - watchfiles.main - INFO - 3 changes detected +2025-06-06 03:56:56,283 - watchfiles.main - INFO - 1 change detected +2025-06-06 03:56:56,890 - watchfiles.main - INFO - 3 changes detected +2025-06-06 03:57:06,468 - watchfiles.main - INFO - 1 change detected +2025-06-06 03:57:07,105 - watchfiles.main - INFO - 3 changes detected +2025-06-06 03:58:06,843 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-06 03:58:31,720 - video.core - INFO - Created video room 2d41fa6f-2253-4a38-ab81-1911cec802a3 +2025-06-06 03:58:31,738 - video.core - INFO - Producer producer_1749175110720 joined video room 2d41fa6f-2253-4a38-ab81-1911cec802a3 +2025-06-06 03:58:35,750 - video.core - INFO - Stream started by producer_1749175110720 in room 2d41fa6f-2253-4a38-ab81-1911cec802a3 +2025-06-06 03:58:37,757 - video.core - INFO - Consumer consumer_1749175110821 joined video room 2d41fa6f-2253-4a38-ab81-1911cec802a3 +2025-06-06 03:58:38,013 - video.core - INFO - WebRTC connection producer_1749175110720 initialized +2025-06-06 03:58:38,015 - video.core - ERROR - Failed to add ICE candidate for producer_1749175110720: 'NoneType' object has no attribute 'media' +2025-06-06 03:58:38,016 - video.core - ERROR - Failed to add ICE candidate for producer_1749175110720: 'NoneType' object has no attribute 'media' +2025-06-06 03:58:38,016 - video.core - INFO - WebRTC producer_1749175110720 received track: video +2025-06-06 03:58:38,016 - video.core - INFO - WebRTC producer_1749175110720 is now a PRODUCER +2025-06-06 03:58:38,016 - video.core - INFO - ๐Ÿ” Consumer detection for producer_1749175110720: +2025-06-06 03:58:38,016 - video.core - INFO - - has_recvonly: False +2025-06-06 03:58:38,016 - video.core - INFO - - has_sendonly: False +2025-06-06 03:58:38,016 - video.core - INFO - - has_video: True +2025-06-06 03:58:38,016 - video.core - INFO - - CONSUMER detected: has video but no direction +2025-06-06 03:58:38,016 - video.core - INFO - VideoFrameTrack created with recovery policy: freeze_last_frame +2025-06-06 03:58:38,017 - video.core - ERROR - Error in handle_offer for producer_1749175110720: 'VideoFrameTrack' object has no attribute 'kind' +2025-06-06 03:58:44,221 - watchfiles.main - INFO - 2 changes detected +2025-06-06 03:58:44,225 - video.core - INFO - Consumer consumer_1749175110821 left video room 2d41fa6f-2253-4a38-ab81-1911cec802a3 +2025-06-06 03:58:44,225 - video.core - INFO - Producer producer_1749175110720 left video room 2d41fa6f-2253-4a38-ab81-1911cec802a3 +2025-06-06 03:58:44,800 - watchfiles.main - INFO - 7 changes detected +2025-06-06 03:58:57,371 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-06 03:59:02,076 - video.core - INFO - Created video room 0da0299e-37cc-4c27-be0a-febdfbf2f0cb +2025-06-06 03:59:02,081 - video.core - INFO - Producer producer_1749175140522 joined video room 0da0299e-37cc-4c27-be0a-febdfbf2f0cb +2025-06-06 03:59:06,042 - video.core - INFO - Stream started by producer_1749175140522 in room 0da0299e-37cc-4c27-be0a-febdfbf2f0cb +2025-06-06 03:59:08,168 - video.core - INFO - Consumer consumer_1749175140655 joined video room 0da0299e-37cc-4c27-be0a-febdfbf2f0cb +2025-06-06 03:59:08,533 - video.core - INFO - WebRTC connection producer_1749175140522 initialized +2025-06-06 03:59:08,535 - video.core - ERROR - Failed to add ICE candidate for producer_1749175140522: 'NoneType' object has no attribute 'media' +2025-06-06 03:59:08,535 - video.core - ERROR - Failed to add ICE candidate for producer_1749175140522: 'NoneType' object has no attribute 'media' +2025-06-06 03:59:08,536 - video.core - INFO - WebRTC producer_1749175140522 received track: video +2025-06-06 03:59:08,536 - video.core - INFO - WebRTC producer_1749175140522 is now a PRODUCER +2025-06-06 03:59:08,536 - video.core - INFO - ๐Ÿ” Consumer detection for producer_1749175140522: +2025-06-06 03:59:08,536 - video.core - INFO - - has_recvonly: False +2025-06-06 03:59:08,536 - video.core - INFO - - has_sendonly: False +2025-06-06 03:59:08,537 - video.core - INFO - - has_video: True +2025-06-06 03:59:08,537 - video.core - INFO - - CONSUMER detected: has video but no direction +2025-06-06 03:59:08,537 - video.core - INFO - VideoFrameTrack created with recovery policy: freeze_last_frame +2025-06-06 03:59:08,537 - video.core - ERROR - Error in handle_offer for producer_1749175140522: 'VideoFrameTrack' object has no attribute 'kind' +2025-06-06 03:59:44,256 - watchfiles.main - INFO - 1 change detected +2025-06-06 03:59:44,348 - video.core - INFO - Consumer consumer_1749175140655 left video room 0da0299e-37cc-4c27-be0a-febdfbf2f0cb +2025-06-06 03:59:44,349 - video.core - INFO - Producer producer_1749175140522 left video room 0da0299e-37cc-4c27-be0a-febdfbf2f0cb +2025-06-06 03:59:44,961 - watchfiles.main - INFO - 4 changes detected +2025-06-06 03:59:58,849 - watchfiles.main - INFO - 1 change detected +2025-06-06 03:59:59,522 - watchfiles.main - INFO - 3 changes detected +2025-06-06 04:00:29,458 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-06 04:00:46,608 - watchfiles.main - INFO - 1 change detected +2025-06-06 04:00:47,176 - watchfiles.main - INFO - 3 changes detected +2025-06-06 04:01:07,883 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-06 04:01:18,058 - video.core - INFO - Created video room 07d36aed-e543-487a-86cf-ab096dd5cd7c +2025-06-06 04:01:18,074 - video.core - INFO - Producer producer_1749175276603 joined video room 07d36aed-e543-487a-86cf-ab096dd5cd7c +2025-06-06 04:01:22,009 - video.core - INFO - Stream started by producer_1749175276603 in room 07d36aed-e543-487a-86cf-ab096dd5cd7c +2025-06-06 04:01:28,600 - video.core - INFO - Consumer consumer_1749175276757 joined video room 07d36aed-e543-487a-86cf-ab096dd5cd7c +2025-06-06 04:01:28,650 - video.core - INFO - WebRTC connection producer_1749175276603 initialized +2025-06-06 04:01:28,652 - video.core - ERROR - Failed to add ICE candidate for producer_1749175276603: 'NoneType' object has no attribute 'media' +2025-06-06 04:01:28,652 - video.core - INFO - WebRTC producer_1749175276603 received track: video +2025-06-06 04:01:28,652 - video.core - INFO - WebRTC producer_1749175276603 is now a PRODUCER +2025-06-06 04:01:28,652 - video.core - INFO - ๐Ÿ” Consumer detection for producer_1749175276603: +2025-06-06 04:01:28,652 - video.core - INFO - - has_recvonly: False +2025-06-06 04:01:28,653 - video.core - INFO - - has_sendonly: False +2025-06-06 04:01:28,653 - video.core - INFO - - has_video: True +2025-06-06 04:01:28,653 - video.core - INFO - - CONSUMER detected: has video but no direction +2025-06-06 04:01:28,653 - video.core - INFO - VideoFrameTrack created with recovery policy: freeze_last_frame +2025-06-06 04:01:28,653 - video.core - INFO - WebRTC producer_1749175276603 is now a CONSUMER - video track added +2025-06-06 04:01:28,689 - video.core - INFO - WebRTC producer_1749175276603 ICE state: checking +2025-06-06 04:01:28,689 - video.core - INFO - WebRTC producer_1749175276603 connection state: connecting +2025-06-06 04:01:28,690 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 59872) -> ('192.168.1.83', 56219)) State.FROZEN -> State.WAITING +2025-06-06 04:01:28,690 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 59872) -> ('82.66.87.218', 56219)) State.FROZEN -> State.WAITING +2025-06-06 04:01:28,690 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 59872) -> ('192.168.1.83', 56219)) State.WAITING -> State.IN_PROGRESS +2025-06-06 04:01:28,691 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 59872) -> ('192.168.1.83', 56219)) State.IN_PROGRESS -> State.SUCCEEDED +2025-06-06 04:01:28,691 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 59872) -> ('82.66.87.218', 56219)) State.WAITING -> State.FAILED +2025-06-06 04:01:28,691 - aioice.ice - INFO - Connection(0) ICE completed +2025-06-06 04:01:28,711 - video.core - INFO - WebRTC producer_1749175276603 ICE state: completed +2025-06-06 04:01:28,724 - video.core - INFO - WebRTC producer_1749175276603 connection state: connected +2025-06-06 04:01:28,825 - aiortc.rtcrtpsender - WARNING - RTCRtpsender(video) Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/aiortc/rtcrtpsender.py", line 367, in _run_rtp + enc_frame = await self._next_encoded_frame(codec) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/aiortc/rtcrtpsender.py", line 294, in _next_encoded_frame + data = await self.__track.recv() + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/video/core.py", line 160, in recv + frame.time_base = av.Rational(1, 30) + ^^^^^^^^^^^ +AttributeError: module 'av' has no attribute 'Rational' + +2025-06-06 04:01:29,780 - video.core - INFO - WebRTC producer_1749175276603 processed 30 frames +2025-06-06 04:01:30,770 - video.core - INFO - WebRTC producer_1749175276603 processed 60 frames +2025-06-06 04:01:31,776 - video.core - INFO - WebRTC producer_1749175276603 processed 90 frames +2025-06-06 04:01:32,769 - video.core - INFO - WebRTC producer_1749175276603 processed 120 frames +2025-06-06 04:01:33,774 - video.core - INFO - WebRTC producer_1749175276603 processed 150 frames +2025-06-06 04:01:34,773 - video.core - INFO - WebRTC producer_1749175276603 processed 180 frames +2025-06-06 04:01:35,771 - video.core - INFO - WebRTC producer_1749175276603 processed 210 frames +2025-06-06 04:01:36,768 - video.core - INFO - WebRTC producer_1749175276603 processed 240 frames +2025-06-06 04:01:37,778 - video.core - INFO - WebRTC producer_1749175276603 processed 270 frames +2025-06-06 04:01:38,785 - video.core - INFO - WebRTC producer_1749175276603 processed 300 frames +2025-06-06 04:01:39,770 - video.core - INFO - WebRTC producer_1749175276603 processed 330 frames +2025-06-06 04:01:40,783 - video.core - INFO - WebRTC producer_1749175276603 processed 360 frames +2025-06-06 04:01:41,774 - video.core - INFO - WebRTC producer_1749175276603 processed 390 frames +2025-06-06 04:01:42,789 - video.core - INFO - WebRTC producer_1749175276603 processed 420 frames +2025-06-06 04:01:43,796 - video.core - INFO - WebRTC producer_1749175276603 processed 450 frames +2025-06-06 04:01:44,790 - video.core - INFO - WebRTC producer_1749175276603 processed 480 frames +2025-06-06 04:01:45,792 - video.core - INFO - WebRTC producer_1749175276603 processed 510 frames +2025-06-06 04:01:46,787 - video.core - INFO - WebRTC producer_1749175276603 processed 540 frames +2025-06-06 04:01:47,771 - video.core - INFO - WebRTC producer_1749175276603 processed 570 frames +2025-06-06 04:01:48,789 - video.core - INFO - WebRTC producer_1749175276603 processed 600 frames +2025-06-06 04:01:49,790 - video.core - INFO - WebRTC producer_1749175276603 processed 630 frames +2025-06-06 04:01:50,774 - video.core - INFO - WebRTC producer_1749175276603 processed 660 frames +2025-06-06 04:01:51,778 - video.core - INFO - WebRTC producer_1749175276603 processed 690 frames +2025-06-06 04:01:52,792 - video.core - INFO - WebRTC producer_1749175276603 processed 720 frames +2025-06-06 04:01:53,836 - video.core - INFO - WebRTC producer_1749175276603 processed 750 frames +2025-06-06 04:01:54,797 - video.core - INFO - WebRTC producer_1749175276603 processed 780 frames +2025-06-06 04:01:55,796 - video.core - INFO - WebRTC producer_1749175276603 processed 810 frames +2025-06-06 04:01:56,801 - video.core - INFO - WebRTC producer_1749175276603 processed 840 frames +2025-06-06 04:01:57,789 - video.core - INFO - WebRTC producer_1749175276603 processed 870 frames +2025-06-06 04:01:58,803 - video.core - INFO - WebRTC producer_1749175276603 processed 900 frames +2025-06-06 04:01:59,784 - video.core - INFO - WebRTC producer_1749175276603 processed 930 frames +2025-06-06 04:02:00,785 - video.core - INFO - WebRTC producer_1749175276603 processed 960 frames +2025-06-06 04:02:01,795 - video.core - INFO - WebRTC producer_1749175276603 processed 990 frames +2025-06-06 04:02:02,791 - video.core - INFO - WebRTC producer_1749175276603 processed 1020 frames +2025-06-06 04:02:03,798 - video.core - INFO - WebRTC producer_1749175276603 processed 1050 frames +2025-06-06 04:02:04,801 - video.core - INFO - WebRTC producer_1749175276603 processed 1080 frames +2025-06-06 04:02:05,788 - video.core - INFO - WebRTC producer_1749175276603 processed 1110 frames +2025-06-06 04:02:06,794 - video.core - INFO - WebRTC producer_1749175276603 processed 1140 frames +2025-06-06 04:02:07,797 - video.core - INFO - WebRTC producer_1749175276603 processed 1170 frames +2025-06-06 04:02:08,793 - video.core - INFO - WebRTC producer_1749175276603 processed 1200 frames +2025-06-06 04:02:09,790 - video.core - INFO - WebRTC producer_1749175276603 processed 1230 frames +2025-06-06 04:02:10,792 - video.core - INFO - WebRTC producer_1749175276603 processed 1260 frames +2025-06-06 04:02:11,797 - video.core - INFO - WebRTC producer_1749175276603 processed 1290 frames +2025-06-06 04:02:12,801 - video.core - INFO - WebRTC producer_1749175276603 processed 1320 frames +2025-06-06 04:02:13,808 - video.core - INFO - WebRTC producer_1749175276603 processed 1350 frames +2025-06-06 04:02:14,803 - video.core - INFO - WebRTC producer_1749175276603 processed 1380 frames +2025-06-06 04:02:15,803 - video.core - INFO - WebRTC producer_1749175276603 processed 1410 frames +2025-06-06 04:02:16,800 - video.core - INFO - WebRTC producer_1749175276603 processed 1440 frames +2025-06-06 04:02:17,707 - video.core - INFO - Producer producer_1749175276603 left video room 07d36aed-e543-487a-86cf-ab096dd5cd7c +2025-06-06 04:02:17,707 - video.core - INFO - Consumer consumer_1749175276757 left video room 07d36aed-e543-487a-86cf-ab096dd5cd7c +2025-06-06 04:02:17,805 - video.core - INFO - WebRTC producer_1749175276603 processed 1470 frames +2025-06-06 04:02:45,088 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-06 04:02:52,427 - video.core - INFO - Created video room 0a1eddf7-0810-40ec-a856-f90d3f3930cc +2025-06-06 04:02:52,437 - video.core - INFO - Producer producer_1749175371552 joined video room 0a1eddf7-0810-40ec-a856-f90d3f3930cc +2025-06-06 04:02:56,202 - video.core - INFO - Stream started by producer_1749175371552 in room 0a1eddf7-0810-40ec-a856-f90d3f3930cc +2025-06-06 04:02:56,797 - video.core - INFO - Consumer consumer_1749175371683 joined video room 0a1eddf7-0810-40ec-a856-f90d3f3930cc +2025-06-06 04:02:56,842 - video.core - INFO - WebRTC connection producer_1749175371552 initialized +2025-06-06 04:02:56,844 - video.core - ERROR - Failed to add ICE candidate for producer_1749175371552: 'NoneType' object has no attribute 'media' +2025-06-06 04:02:56,844 - video.core - ERROR - Failed to add ICE candidate for producer_1749175371552: 'NoneType' object has no attribute 'media' +2025-06-06 04:02:56,845 - video.core - INFO - WebRTC producer_1749175371552 received track: video +2025-06-06 04:02:56,845 - video.core - INFO - WebRTC producer_1749175371552 is now a PRODUCER +2025-06-06 04:02:56,845 - video.core - INFO - ๐Ÿ” Consumer detection for producer_1749175371552: +2025-06-06 04:02:56,845 - video.core - INFO - - has_recvonly: False +2025-06-06 04:02:56,845 - video.core - INFO - - has_sendonly: False +2025-06-06 04:02:56,845 - video.core - INFO - - has_video: True +2025-06-06 04:02:56,845 - video.core - INFO - - CONSUMER detected: has video but no direction +2025-06-06 04:02:56,845 - video.core - INFO - VideoFrameTrack created with recovery policy: freeze_last_frame +2025-06-06 04:02:56,845 - video.core - INFO - WebRTC producer_1749175371552 is now a CONSUMER - video track added +2025-06-06 04:02:56,875 - video.core - INFO - WebRTC producer_1749175371552 ICE state: checking +2025-06-06 04:02:56,875 - video.core - INFO - WebRTC producer_1749175371552 connection state: connecting +2025-06-06 04:02:56,875 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 64986) -> ('192.168.1.83', 63069)) State.FROZEN -> State.WAITING +2025-06-06 04:02:56,875 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 64986) -> ('82.66.87.218', 63069)) State.FROZEN -> State.WAITING +2025-06-06 04:02:56,875 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 64986) -> ('192.168.1.83', 63069)) State.WAITING -> State.IN_PROGRESS +2025-06-06 04:02:56,876 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 64986) -> ('192.168.1.83', 63069)) State.IN_PROGRESS -> State.SUCCEEDED +2025-06-06 04:02:56,876 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 64986) -> ('82.66.87.218', 63069)) State.WAITING -> State.FAILED +2025-06-06 04:02:56,877 - aioice.ice - INFO - Connection(0) ICE completed +2025-06-06 04:02:56,897 - video.core - INFO - WebRTC producer_1749175371552 ICE state: completed +2025-06-06 04:02:56,908 - video.core - INFO - WebRTC producer_1749175371552 connection state: connected +2025-06-06 04:02:57,946 - video.core - INFO - WebRTC producer_1749175371552 processed 30 frames +2025-06-06 04:02:58,943 - video.core - INFO - WebRTC producer_1749175371552 processed 60 frames +2025-06-06 04:02:59,943 - video.core - INFO - WebRTC producer_1749175371552 processed 90 frames +2025-06-06 04:03:00,954 - video.core - INFO - WebRTC producer_1749175371552 processed 120 frames +2025-06-06 04:03:01,955 - video.core - INFO - WebRTC producer_1749175371552 processed 150 frames +2025-06-06 04:03:02,952 - video.core - INFO - WebRTC producer_1749175371552 processed 180 frames +2025-06-06 04:03:03,949 - video.core - INFO - WebRTC producer_1749175371552 processed 210 frames +2025-06-06 04:03:04,951 - video.core - INFO - WebRTC producer_1749175371552 processed 240 frames +2025-06-06 04:03:05,947 - video.core - INFO - WebRTC producer_1749175371552 processed 270 frames +2025-06-06 04:03:06,949 - video.core - INFO - WebRTC producer_1749175371552 processed 300 frames +2025-06-06 04:03:07,953 - video.core - INFO - WebRTC producer_1749175371552 processed 330 frames +2025-06-06 04:03:08,952 - video.core - INFO - WebRTC producer_1749175371552 processed 360 frames +2025-06-06 04:03:09,949 - video.core - INFO - WebRTC producer_1749175371552 processed 390 frames +2025-06-06 04:03:10,949 - video.core - INFO - WebRTC producer_1749175371552 processed 420 frames +2025-06-06 04:03:11,955 - video.core - INFO - WebRTC producer_1749175371552 processed 450 frames +2025-06-06 04:03:12,962 - video.core - INFO - WebRTC producer_1749175371552 processed 480 frames +2025-06-06 04:03:13,956 - video.core - INFO - WebRTC producer_1749175371552 processed 510 frames +2025-06-06 04:03:14,956 - video.core - INFO - WebRTC producer_1749175371552 processed 540 frames +2025-06-06 04:03:15,975 - video.core - INFO - WebRTC producer_1749175371552 processed 570 frames +2025-06-06 04:03:16,956 - video.core - INFO - WebRTC producer_1749175371552 processed 600 frames +2025-06-06 04:03:17,919 - video.core - INFO - Consumer consumer_1749175371683 left video room 0a1eddf7-0810-40ec-a856-f90d3f3930cc +2025-06-06 04:03:17,956 - video.core - INFO - WebRTC producer_1749175371552 processed 630 frames +2025-06-06 04:03:18,962 - video.core - INFO - WebRTC producer_1749175371552 processed 660 frames +2025-06-06 04:03:19,955 - video.core - INFO - WebRTC producer_1749175371552 processed 690 frames +2025-06-06 04:03:20,958 - video.core - INFO - WebRTC producer_1749175371552 processed 720 frames +2025-06-06 04:03:21,237 - video.core - INFO - Consumer consumer_1749175400300 joined video room 0a1eddf7-0810-40ec-a856-f90d3f3930cc +2025-06-06 04:03:21,267 - video.core - INFO - WebRTC connection producer_1749175371552 initialized +2025-06-06 04:03:21,270 - video.core - INFO - WebRTC connection producer_1749175371552 initialized +2025-06-06 04:03:21,276 - video.core - INFO - WebRTC producer_1749175371552 received track: video +2025-06-06 04:03:21,276 - video.core - INFO - WebRTC producer_1749175371552 is now a PRODUCER +2025-06-06 04:03:21,277 - video.core - INFO - ๐Ÿ” Consumer detection for producer_1749175371552: +2025-06-06 04:03:21,279 - video.core - INFO - - has_recvonly: False +2025-06-06 04:03:21,280 - video.core - INFO - - has_sendonly: False +2025-06-06 04:03:21,280 - video.core - INFO - - has_video: True +2025-06-06 04:03:21,280 - video.core - INFO - - CONSUMER detected: has video but no direction +2025-06-06 04:03:21,281 - video.core - INFO - VideoFrameTrack created with recovery policy: freeze_last_frame +2025-06-06 04:03:21,281 - video.core - INFO - WebRTC producer_1749175371552 is now a CONSUMER - video track added +2025-06-06 04:03:21,284 - video.core - INFO - WebRTC producer_1749175371552 received track: video +2025-06-06 04:03:21,284 - video.core - INFO - WebRTC producer_1749175371552 is now a PRODUCER +2025-06-06 04:03:21,285 - video.core - INFO - ๐Ÿ” Consumer detection for producer_1749175371552: +2025-06-06 04:03:21,285 - video.core - INFO - - has_recvonly: False +2025-06-06 04:03:21,285 - video.core - INFO - - has_sendonly: False +2025-06-06 04:03:21,285 - video.core - INFO - - has_video: True +2025-06-06 04:03:21,285 - video.core - INFO - - CONSUMER detected: has video but no direction +2025-06-06 04:03:21,285 - video.core - INFO - VideoFrameTrack created with recovery policy: freeze_last_frame +2025-06-06 04:03:21,285 - video.core - INFO - WebRTC producer_1749175371552 is now a CONSUMER - video track added +2025-06-06 04:03:21,331 - video.core - INFO - WebRTC producer_1749175371552 ICE state: checking +2025-06-06 04:03:21,332 - video.core - INFO - WebRTC producer_1749175371552 connection state: connecting +2025-06-06 04:03:21,333 - aioice.ice - INFO - Connection(1) Check CandidatePair(('192.168.1.83', 61731) -> ('192.168.1.83', 63069)) State.FROZEN -> State.WAITING +2025-06-06 04:03:21,333 - aioice.ice - INFO - Connection(1) Check CandidatePair(('192.168.1.83', 61731) -> ('82.66.87.218', 63069)) State.FROZEN -> State.WAITING +2025-06-06 04:03:21,334 - aioice.ice - INFO - Connection(1) Check CandidatePair(('192.168.1.83', 61731) -> ('192.168.1.83', 63069)) State.WAITING -> State.IN_PROGRESS +2025-06-06 04:03:21,336 - video.core - INFO - WebRTC producer_1749175371552 ICE state: checking +2025-06-06 04:03:21,336 - video.core - INFO - WebRTC producer_1749175371552 connection state: connecting +2025-06-06 04:03:21,336 - aioice.ice - INFO - Connection(2) Check CandidatePair(('192.168.1.83', 59263) -> ('192.168.1.83', 63069)) State.FROZEN -> State.WAITING +2025-06-06 04:03:21,336 - aioice.ice - INFO - Connection(2) Check CandidatePair(('192.168.1.83', 59263) -> ('82.66.87.218', 63069)) State.FROZEN -> State.WAITING +2025-06-06 04:03:21,337 - aioice.ice - INFO - Connection(2) Check CandidatePair(('192.168.1.83', 59263) -> ('192.168.1.83', 63069)) State.WAITING -> State.IN_PROGRESS +2025-06-06 04:03:21,337 - video.core - ERROR - Error processing video track producer_1749175371552: +2025-06-06 04:03:21,337 - aioice.ice - INFO - Connection(1) Check CandidatePair(('192.168.1.83', 61731) -> ('192.168.1.83', 63069)) State.IN_PROGRESS -> State.SUCCEEDED +2025-06-06 04:03:21,338 - video.core - INFO - WebRTC producer_1749175371552 ICE state: closed +2025-06-06 04:03:21,338 - video.core - INFO - WebRTC producer_1749175371552 connection state: closed +2025-06-06 04:03:21,339 - aioice.ice - INFO - Connection(2) Check CandidatePair(('192.168.1.83', 59263) -> ('192.168.1.83', 63069)) State.IN_PROGRESS -> State.SUCCEEDED +2025-06-06 04:03:21,354 - aioice.ice - INFO - Connection(1) Check CandidatePair(('192.168.1.83', 61731) -> ('82.66.87.218', 63069)) State.WAITING -> State.IN_PROGRESS +2025-06-06 04:03:21,357 - aioice.ice - INFO - Connection(2) Check CandidatePair(('192.168.1.83', 59263) -> ('82.66.87.218', 63069)) State.WAITING -> State.IN_PROGRESS +2025-06-06 04:03:23,890 - aioice.ice - INFO - Connection(1) ICE completed +2025-06-06 04:03:23,894 - video.core - INFO - WebRTC producer_1749175371552 ICE state: completed +2025-06-06 04:03:23,899 - video.core - INFO - WebRTC producer_1749175371552 connection state: connected +2025-06-06 04:03:23,953 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:23,990 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:24,024 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:24,055 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:24,089 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:24,123 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:24,156 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:24,192 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:24,221 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:24,257 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:24,291 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:24,324 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:24,357 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:24,390 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:24,429 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:24,517 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:24,557 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:24,557 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:24,560 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:24,591 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:24,622 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:24,657 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:24,690 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:24,722 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:24,755 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:24,788 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:24,822 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:24,858 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:24,889 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:24,924 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:24,958 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:24,993 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:25,029 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:25,060 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:25,098 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:25,132 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:25,158 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:25,193 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:25,230 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:25,264 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:25,300 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:25,331 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:25,368 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:25,412 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:25,426 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:25,460 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:25,496 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:25,529 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:25,562 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:25,600 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:25,631 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:25,667 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:25,698 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:25,731 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:25,770 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:25,802 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:25,830 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:25,860 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:25,895 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:25,926 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:25,968 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:25,992 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:26,025 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:26,060 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:26,092 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:26,129 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:26,168 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:26,195 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:26,228 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:26,263 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:26,298 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:26,332 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:26,369 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:26,405 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:26,437 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:26,472 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:26,512 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:26,533 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:26,563 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:26,601 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:26,635 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:26,667 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:26,701 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:26,730 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:26,765 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:26,805 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:26,832 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:26,861 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:26,897 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:26,925 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:26,959 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:26,993 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:27,032 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:27,057 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:27,091 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:27,125 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:27,160 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:27,192 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:27,240 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:27,258 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:27,291 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:27,330 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:27,363 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:27,398 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:27,431 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:27,466 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:27,493 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:27,528 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:27,569 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:27,658 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:27,659 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:27,661 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:27,714 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:27,724 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:27,757 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:27,793 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:27,826 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:27,858 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:27,892 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:27,924 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:27,958 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:27,993 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:28,025 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:28,062 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:28,096 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:28,130 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:28,164 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:28,198 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:28,230 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:28,270 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:28,310 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:28,333 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:28,374 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:28,410 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:28,448 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:28,474 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:28,496 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:28,527 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:28,562 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:28,595 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:28,634 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:28,668 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:28,701 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:28,731 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:28,762 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:28,796 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:28,845 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:28,862 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:28,895 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:28,927 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:28,961 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:28,993 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:29,029 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:29,068 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:29,100 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:29,132 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:29,172 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:29,197 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:29,228 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:29,262 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:29,296 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:29,334 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:29,366 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:29,402 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:29,438 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:29,472 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:29,506 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:29,539 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:29,564 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:29,594 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:29,630 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:29,662 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:29,694 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:29,727 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:29,764 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:29,800 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:29,828 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:29,861 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:29,894 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:29,928 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:30,008 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:30,022 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:30,082 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:30,130 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:30,206 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:30,215 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:30,216 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:30,229 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:30,276 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:30,291 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:30,329 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:30,364 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:30,400 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:30,432 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:30,462 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:30,496 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:30,530 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:30,562 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:30,599 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:30,631 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:30,670 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:30,694 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:30,730 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:30,768 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:30,803 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:30,833 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:30,862 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:30,894 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:30,928 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:30,966 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:31,002 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:31,036 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:31,068 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:31,099 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:31,135 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:31,172 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:31,198 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:31,230 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:31,270 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:31,301 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:31,333 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:31,376 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:31,395 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:31,432 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:31,469 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:31,498 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:31,533 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:31,572 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:31,604 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:31,632 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:31,662 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:31,698 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:31,731 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:31,766 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:31,799 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:31,838 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:31,862 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:31,896 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:31,930 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:31,970 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:32,002 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:32,035 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:32,070 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:32,105 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:32,140 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:32,166 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:32,203 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:32,231 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:32,273 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:32,295 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:32,330 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:32,364 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:32,404 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:32,430 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:32,463 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:32,496 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:32,529 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:32,565 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:32,595 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:32,630 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:32,662 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:32,696 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:32,729 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:32,761 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:32,799 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:32,831 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:32,862 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:32,896 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:32,931 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:32,971 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:33,003 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:33,043 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:33,065 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:33,101 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:33,140 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:33,173 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:33,207 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:33,257 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:33,263 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:33,294 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:33,333 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:33,363 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:33,400 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:33,435 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:33,469 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:33,505 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:33,536 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:33,568 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:33,602 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:33,640 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:33,669 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:33,696 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:33,730 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:33,773 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:33,802 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:33,836 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:33,876 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:33,900 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:33,957 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:33,992 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:33,997 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:34,051 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:34,062 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:34,093 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:34,129 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:34,165 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:34,196 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:34,229 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:34,267 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:34,295 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:34,329 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:34,370 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:34,404 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:34,444 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:34,465 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:34,498 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:34,535 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:34,570 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:34,599 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:34,631 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:34,661 - video.core - INFO - Consumer consumer_1749175400300 left video room 0a1eddf7-0810-40ec-a856-f90d3f3930cc +2025-06-06 04:03:34,661 - video.core - INFO - Producer producer_1749175371552 left video room 0a1eddf7-0810-40ec-a856-f90d3f3930cc +2025-06-06 04:03:34,675 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:34,698 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:34,730 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:34,766 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:34,795 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:34,828 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:03:34,860 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:05:11,484 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-06 04:05:18,151 - video.core - INFO - Created video room 98bc6ded-f57f-4a8e-abfb-331013f996eb +2025-06-06 04:05:18,169 - video.core - INFO - Producer producer_1749175516283 joined video room 98bc6ded-f57f-4a8e-abfb-331013f996eb +2025-06-06 04:05:21,893 - video.core - INFO - Stream started by producer_1749175516283 in room 98bc6ded-f57f-4a8e-abfb-331013f996eb +2025-06-06 04:05:27,636 - video.core - INFO - Consumer consumer_1749175516353 joined video room 98bc6ded-f57f-4a8e-abfb-331013f996eb +2025-06-06 04:05:27,653 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749175516283 (role: producer) in room 98bc6ded-f57f-4a8e-abfb-331013f996eb +2025-06-06 04:05:27,678 - video.core - INFO - WebRTC connection producer_1749175516283 initialized +2025-06-06 04:05:27,680 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749175516283 (role: producer) in room 98bc6ded-f57f-4a8e-abfb-331013f996eb +2025-06-06 04:05:27,680 - video.core - ERROR - Failed to add ICE candidate for producer_1749175516283: 'NoneType' object has no attribute 'media' +2025-06-06 04:05:27,680 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749175516283 (role: producer) in room 98bc6ded-f57f-4a8e-abfb-331013f996eb +2025-06-06 04:05:27,680 - video.core - ERROR - Failed to add ICE candidate for producer_1749175516283: 'NoneType' object has no attribute 'media' +2025-06-06 04:05:27,681 - video.core - INFO - WebRTC producer_1749175516283 received track: video +2025-06-06 04:05:27,681 - video.core - INFO - WebRTC producer_1749175516283 is now a PRODUCER +2025-06-06 04:05:27,681 - video.core - INFO - WebRTC producer_1749175516283 set as PRODUCER (explicit role) +2025-06-06 04:05:27,711 - video.core - INFO - WebRTC producer_1749175516283 ICE state: checking +2025-06-06 04:05:27,712 - video.core - INFO - WebRTC producer_1749175516283 connection state: connecting +2025-06-06 04:05:27,712 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 61672) -> ('192.168.1.83', 64852)) State.FROZEN -> State.WAITING +2025-06-06 04:05:27,712 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 61672) -> ('82.66.87.218', 64852)) State.FROZEN -> State.WAITING +2025-06-06 04:05:27,712 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 61672) -> ('192.168.1.83', 64852)) State.WAITING -> State.IN_PROGRESS +2025-06-06 04:05:27,715 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 61672) -> ('192.168.1.83', 64852)) State.IN_PROGRESS -> State.SUCCEEDED +2025-06-06 04:05:27,715 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 61672) -> ('82.66.87.218', 64852)) State.WAITING -> State.FAILED +2025-06-06 04:05:27,715 - aioice.ice - INFO - Connection(0) ICE completed +2025-06-06 04:05:27,733 - video.core - INFO - WebRTC producer_1749175516283 ICE state: completed +2025-06-06 04:05:27,744 - video.core - INFO - WebRTC producer_1749175516283 connection state: connected +2025-06-06 04:05:28,814 - video.core - INFO - WebRTC producer_1749175516283 processed 30 frames +2025-06-06 04:05:29,766 - video.core - INFO - WebRTC producer_1749175516283 processed 60 frames +2025-06-06 04:05:30,771 - video.core - INFO - WebRTC producer_1749175516283 processed 90 frames +2025-06-06 04:05:31,781 - video.core - INFO - WebRTC producer_1749175516283 processed 120 frames +2025-06-06 04:05:32,787 - video.core - INFO - WebRTC producer_1749175516283 processed 150 frames +2025-06-06 04:05:33,773 - video.core - INFO - WebRTC producer_1749175516283 processed 180 frames +2025-06-06 04:05:34,796 - video.core - INFO - WebRTC producer_1749175516283 processed 210 frames +2025-06-06 04:05:35,793 - video.core - INFO - WebRTC producer_1749175516283 processed 240 frames +2025-06-06 04:05:36,785 - video.core - INFO - WebRTC producer_1749175516283 processed 270 frames +2025-06-06 04:05:37,783 - video.core - INFO - WebRTC producer_1749175516283 processed 300 frames +2025-06-06 04:05:38,797 - video.core - INFO - WebRTC producer_1749175516283 processed 330 frames +2025-06-06 04:05:39,774 - video.core - INFO - WebRTC producer_1749175516283 processed 360 frames +2025-06-06 04:05:40,786 - video.core - INFO - WebRTC producer_1749175516283 processed 390 frames +2025-06-06 04:05:41,774 - video.core - INFO - WebRTC producer_1749175516283 processed 420 frames +2025-06-06 04:05:42,794 - video.core - INFO - WebRTC producer_1749175516283 processed 450 frames +2025-06-06 04:05:43,804 - video.core - INFO - WebRTC producer_1749175516283 processed 480 frames +2025-06-06 04:05:44,796 - video.core - INFO - WebRTC producer_1749175516283 processed 510 frames +2025-06-06 04:05:45,808 - video.core - INFO - WebRTC producer_1749175516283 processed 540 frames +2025-06-06 04:05:46,777 - video.core - INFO - WebRTC producer_1749175516283 processed 570 frames +2025-06-06 04:05:47,783 - video.core - INFO - WebRTC producer_1749175516283 processed 600 frames +2025-06-06 04:05:48,109 - video.core - INFO - Consumer consumer_1749175516353 left video room 98bc6ded-f57f-4a8e-abfb-331013f996eb +2025-06-06 04:05:48,799 - video.core - INFO - WebRTC producer_1749175516283 processed 630 frames +2025-06-06 04:05:49,785 - video.core - INFO - WebRTC producer_1749175516283 processed 660 frames +2025-06-06 04:05:50,805 - video.core - INFO - WebRTC producer_1749175516283 processed 690 frames +2025-06-06 04:05:51,793 - video.core - INFO - WebRTC producer_1749175516283 processed 720 frames +2025-06-06 04:05:52,790 - video.core - INFO - WebRTC producer_1749175516283 processed 750 frames +2025-06-06 04:05:53,793 - video.core - INFO - WebRTC producer_1749175516283 processed 780 frames +2025-06-06 04:05:54,791 - video.core - INFO - WebRTC producer_1749175516283 processed 810 frames +2025-06-06 04:05:55,788 - video.core - INFO - WebRTC producer_1749175516283 processed 840 frames +2025-06-06 04:05:56,790 - video.core - INFO - WebRTC producer_1749175516283 processed 870 frames +2025-06-06 04:05:57,786 - video.core - INFO - WebRTC producer_1749175516283 processed 900 frames +2025-06-06 04:05:58,794 - video.core - INFO - WebRTC producer_1749175516283 processed 930 frames +2025-06-06 04:05:59,810 - video.core - INFO - WebRTC producer_1749175516283 processed 960 frames +2025-06-06 04:06:00,792 - video.core - INFO - WebRTC producer_1749175516283 processed 990 frames +2025-06-06 04:06:01,801 - video.core - INFO - WebRTC producer_1749175516283 processed 1020 frames +2025-06-06 04:06:02,792 - video.core - INFO - WebRTC producer_1749175516283 processed 1050 frames +2025-06-06 04:06:03,808 - video.core - INFO - WebRTC producer_1749175516283 processed 1080 frames +2025-06-06 04:06:04,806 - video.core - INFO - WebRTC producer_1749175516283 processed 1110 frames +2025-06-06 04:06:05,803 - video.core - INFO - WebRTC producer_1749175516283 processed 1140 frames +2025-06-06 04:06:06,807 - video.core - INFO - WebRTC producer_1749175516283 processed 1170 frames +2025-06-06 04:06:07,793 - video.core - INFO - WebRTC producer_1749175516283 processed 1200 frames +2025-06-06 04:06:08,800 - video.core - INFO - WebRTC producer_1749175516283 processed 1230 frames +2025-06-06 04:06:09,795 - video.core - INFO - WebRTC producer_1749175516283 processed 1260 frames +2025-06-06 04:06:10,804 - video.core - INFO - WebRTC producer_1749175516283 processed 1290 frames +2025-06-06 04:06:11,867 - video.core - INFO - WebRTC producer_1749175516283 processed 1320 frames +2025-06-06 04:06:12,864 - video.core - INFO - WebRTC producer_1749175516283 processed 1350 frames +2025-06-06 04:06:13,867 - video.core - INFO - WebRTC producer_1749175516283 processed 1380 frames +2025-06-06 04:06:14,909 - video.core - INFO - WebRTC producer_1749175516283 processed 1410 frames +2025-06-06 04:06:15,906 - video.core - INFO - WebRTC producer_1749175516283 processed 1440 frames +2025-06-06 04:06:16,905 - video.core - INFO - WebRTC producer_1749175516283 processed 1470 frames +2025-06-06 04:06:17,975 - video.core - INFO - WebRTC producer_1749175516283 processed 1500 frames +2025-06-06 04:06:18,914 - video.core - INFO - WebRTC producer_1749175516283 processed 1530 frames +2025-06-06 04:06:19,908 - video.core - INFO - WebRTC producer_1749175516283 processed 1560 frames +2025-06-06 04:06:20,906 - video.core - INFO - WebRTC producer_1749175516283 processed 1590 frames +2025-06-06 04:06:21,906 - video.core - INFO - WebRTC producer_1749175516283 processed 1620 frames +2025-06-06 04:06:22,908 - video.core - INFO - WebRTC producer_1749175516283 processed 1650 frames +2025-06-06 04:06:23,945 - video.core - INFO - WebRTC producer_1749175516283 processed 1680 frames +2025-06-06 04:06:24,946 - video.core - INFO - WebRTC producer_1749175516283 processed 1710 frames +2025-06-06 04:06:25,947 - video.core - INFO - WebRTC producer_1749175516283 processed 1740 frames +2025-06-06 04:06:26,947 - video.core - INFO - WebRTC producer_1749175516283 processed 1770 frames +2025-06-06 04:06:28,008 - video.core - INFO - WebRTC producer_1749175516283 processed 1800 frames +2025-06-06 04:06:28,938 - video.core - INFO - WebRTC producer_1749175516283 processed 1830 frames +2025-06-06 04:06:29,949 - video.core - INFO - WebRTC producer_1749175516283 processed 1860 frames +2025-06-06 04:06:30,940 - video.core - INFO - WebRTC producer_1749175516283 processed 1890 frames +2025-06-06 04:06:31,949 - video.core - INFO - WebRTC producer_1749175516283 processed 1920 frames +2025-06-06 04:06:32,944 - video.core - INFO - WebRTC producer_1749175516283 processed 1950 frames +2025-06-06 04:06:33,943 - video.core - INFO - WebRTC producer_1749175516283 processed 1980 frames +2025-06-06 04:06:34,944 - video.core - INFO - WebRTC producer_1749175516283 processed 2010 frames +2025-06-06 04:06:35,945 - video.core - INFO - WebRTC producer_1749175516283 processed 2040 frames +2025-06-06 04:06:36,949 - video.core - INFO - WebRTC producer_1749175516283 processed 2070 frames +2025-06-06 04:06:37,959 - video.core - INFO - WebRTC producer_1749175516283 processed 2100 frames +2025-06-06 04:06:38,633 - video.core - INFO - Consumer consumer_1749175593544 joined video room 98bc6ded-f57f-4a8e-abfb-331013f996eb +2025-06-06 04:06:38,640 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749175516283 (role: producer) in room 98bc6ded-f57f-4a8e-abfb-331013f996eb +2025-06-06 04:06:38,641 - video.core - INFO - WebRTC connection producer_1749175516283 initialized +2025-06-06 04:06:38,642 - video.core - INFO - WebRTC producer_1749175516283 received track: video +2025-06-06 04:06:38,642 - video.core - INFO - WebRTC producer_1749175516283 is now a PRODUCER +2025-06-06 04:06:38,642 - video.core - INFO - WebRTC producer_1749175516283 set as PRODUCER (explicit role) +2025-06-06 04:06:38,672 - video.core - INFO - WebRTC producer_1749175516283 ICE state: checking +2025-06-06 04:06:38,672 - video.core - INFO - WebRTC producer_1749175516283 connection state: connecting +2025-06-06 04:06:38,672 - aioice.ice - INFO - Connection(1) Check CandidatePair(('192.168.1.83', 49241) -> ('192.168.1.83', 64852)) State.FROZEN -> State.WAITING +2025-06-06 04:06:38,672 - aioice.ice - INFO - Connection(1) Check CandidatePair(('192.168.1.83', 49241) -> ('82.66.87.218', 64852)) State.FROZEN -> State.WAITING +2025-06-06 04:06:38,672 - aioice.ice - INFO - Connection(1) Check CandidatePair(('192.168.1.83', 49241) -> ('192.168.1.83', 64852)) State.WAITING -> State.IN_PROGRESS +2025-06-06 04:06:38,674 - aioice.ice - INFO - Connection(1) Check CandidatePair(('192.168.1.83', 49241) -> ('192.168.1.83', 64852)) State.IN_PROGRESS -> State.SUCCEEDED +2025-06-06 04:06:38,674 - video.core - ERROR - Error processing video track producer_1749175516283: +2025-06-06 04:06:38,675 - video.core - INFO - WebRTC producer_1749175516283 ICE state: closed +2025-06-06 04:06:38,675 - video.core - INFO - WebRTC producer_1749175516283 connection state: closed +2025-06-06 04:06:38,693 - aioice.ice - INFO - Connection(1) Check CandidatePair(('192.168.1.83', 49241) -> ('82.66.87.218', 64852)) State.WAITING -> State.IN_PROGRESS +2025-06-06 04:06:41,265 - aioice.ice - INFO - Connection(1) ICE completed +2025-06-06 04:06:41,280 - video.core - INFO - WebRTC producer_1749175516283 ICE state: completed +2025-06-06 04:06:41,285 - video.core - INFO - WebRTC producer_1749175516283 connection state: connected +2025-06-06 04:06:41,316 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:41,348 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:41,381 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:41,413 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:41,447 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:41,480 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:41,514 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:41,553 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:41,589 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:41,623 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:41,658 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:41,686 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:41,716 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:41,746 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:41,786 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:41,818 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:41,853 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:41,887 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:41,917 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:41,951 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:41,987 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:42,019 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:42,053 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:42,088 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:42,128 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:42,154 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:42,188 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:42,220 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:42,253 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:42,288 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:42,313 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:42,349 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:42,382 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:42,417 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:42,452 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:42,487 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:42,514 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:42,547 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:42,584 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:42,620 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:42,651 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:42,683 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:42,716 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:42,747 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:42,787 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:42,821 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:42,853 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:42,888 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:42,921 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:42,954 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:42,988 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:43,022 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:43,055 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:43,090 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:43,123 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:43,156 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:43,189 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:43,225 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:43,255 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:43,289 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:43,320 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:43,355 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:43,387 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:43,422 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:43,455 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:43,490 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:43,524 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:43,559 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:43,590 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:43,623 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:43,658 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:43,691 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:43,719 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:43,747 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:43,780 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:43,820 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:43,854 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:43,884 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:43,918 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:43,952 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:43,985 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:44,021 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:44,057 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:44,084 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:44,120 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:44,152 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:44,184 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:44,221 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:44,253 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:44,286 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:44,322 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:44,356 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:44,389 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:44,422 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:44,456 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:44,490 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:44,525 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:44,557 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:44,584 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:44,614 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:44,654 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:44,686 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:44,715 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:44,749 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:44,781 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:44,822 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:44,851 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:44,885 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:44,917 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:44,952 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:44,988 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:45,022 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:45,054 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:45,087 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:45,123 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:45,156 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:45,190 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:45,226 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:45,258 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:45,292 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:45,326 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:45,359 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:45,392 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:45,427 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:45,458 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:45,492 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:45,525 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:45,559 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:45,592 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:45,627 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:45,657 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:45,692 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:45,722 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:45,749 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:45,782 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:45,820 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:45,849 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:45,886 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:45,919 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:45,952 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:45,985 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:46,019 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:46,053 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:46,089 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:46,123 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:46,156 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:46,222 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:46,236 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:46,289 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:46,291 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:46,320 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:46,347 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:46,386 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:46,421 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:46,455 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:46,489 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:46,520 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:46,572 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:46,584 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:46,621 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:46,649 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:46,683 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:46,716 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:46,747 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:46,788 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:46,816 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:46,853 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:46,887 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:46,921 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:46,955 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:46,984 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:47,016 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:47,049 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:47,085 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:47,122 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:47,152 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:47,189 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:47,219 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:47,256 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:47,288 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:47,322 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:47,350 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:47,389 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:47,421 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:47,455 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:47,489 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:47,522 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:47,559 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:47,596 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:47,627 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:47,656 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:47,684 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:47,721 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:47,751 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:47,784 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:47,821 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:47,852 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:47,891 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:47,924 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:47,955 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:47,989 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:48,028 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:48,064 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:48,095 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:48,128 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:48,159 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:48,197 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:48,231 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:48,262 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:48,296 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:48,322 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:48,358 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:48,390 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:48,427 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:48,457 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:48,493 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:48,526 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:48,560 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:48,598 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:48,631 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:48,664 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:48,696 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:48,720 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:48,751 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:48,785 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:48,819 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:48,856 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:48,891 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:48,924 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:48,956 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:48,996 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:49,029 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:49,063 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:49,098 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:49,134 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:49,164 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:49,197 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:49,236 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:49,262 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:49,295 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:49,326 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:49,370 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:49,439 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:49,460 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:49,464 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:49,485 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:49,515 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:49,552 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:49,585 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:49,618 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:49,650 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:49,691 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:49,719 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:49,749 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:49,786 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:49,821 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:49,857 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:49,890 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:49,924 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:49,957 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:49,991 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:50,028 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:50,062 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:50,097 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:50,130 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:50,168 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:50,193 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:50,228 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:50,249 - video.core - INFO - Producer producer_1749175516283 left video room 98bc6ded-f57f-4a8e-abfb-331013f996eb +2025-06-06 04:06:50,249 - video.core - INFO - Consumer consumer_1749175593544 left video room 98bc6ded-f57f-4a8e-abfb-331013f996eb +2025-06-06 04:06:50,266 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:50,297 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:50,320 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:50,353 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:50,388 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:06:50,418 - aiortc.codecs.vpx - WARNING - Vp8Decoder() failed to decode, skipping package: [Errno 1094995529] Invalid data found when processing input: 'avcodec_send_packet()' +2025-06-06 04:09:31,255 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-06 04:10:26,852 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-06 04:10:50,718 - video.core - INFO - Created video room b816b9ac-4a1f-4956-9fa9-57b2b3ec3c46 +2025-06-06 04:10:50,736 - video.core - INFO - Producer producer_1749175849240 joined video room b816b9ac-4a1f-4956-9fa9-57b2b3ec3c46 +2025-06-06 04:10:54,639 - video.core - INFO - Stream started by producer_1749175849240 in room b816b9ac-4a1f-4956-9fa9-57b2b3ec3c46 +2025-06-06 04:10:54,645 - video.core - INFO - Stream started by producer_1749175849240 in room b816b9ac-4a1f-4956-9fa9-57b2b3ec3c46 +2025-06-06 04:11:03,806 - video.core - INFO - Consumer consumer_1749175849401 joined video room b816b9ac-4a1f-4956-9fa9-57b2b3ec3c46 +2025-06-06 04:11:03,827 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749175849240 (role: producer) in room b816b9ac-4a1f-4956-9fa9-57b2b3ec3c46 +2025-06-06 04:11:03,827 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749175849240 to consumer consumer_1749175849401 +2025-06-06 04:11:03,829 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749175849240 (role: producer) in room b816b9ac-4a1f-4956-9fa9-57b2b3ec3c46 +2025-06-06 04:11:03,884 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749175849240 (role: producer) in room b816b9ac-4a1f-4956-9fa9-57b2b3ec3c46 +2025-06-06 04:11:03,939 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749175849240 (role: producer) in room b816b9ac-4a1f-4956-9fa9-57b2b3ec3c46 +2025-06-06 04:12:38,163 - video.core - INFO - Producer producer_1749175849240 left video room b816b9ac-4a1f-4956-9fa9-57b2b3ec3c46 +2025-06-06 04:12:38,163 - video.core - INFO - Consumer consumer_1749175849401 left video room b816b9ac-4a1f-4956-9fa9-57b2b3ec3c46 +2025-06-06 04:12:44,427 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-06 04:12:53,221 - video.core - INFO - Created video room ba5f0d87-5137-404f-a028-7636180ad311 +2025-06-06 04:12:53,237 - video.core - INFO - Producer producer_1749175968915 joined video room ba5f0d87-5137-404f-a028-7636180ad311 +2025-06-06 04:12:58,414 - video.core - INFO - Stream started by producer_1749175968915 in room ba5f0d87-5137-404f-a028-7636180ad311 +2025-06-06 04:13:00,282 - video.core - INFO - Consumer consumer_1749175969232 joined video room ba5f0d87-5137-404f-a028-7636180ad311 +2025-06-06 04:13:00,299 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749175968915 (role: producer) in room ba5f0d87-5137-404f-a028-7636180ad311 +2025-06-06 04:13:00,299 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749175968915 to consumer consumer_1749175969232 +2025-06-06 04:13:00,301 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749175968915 (role: producer) in room ba5f0d87-5137-404f-a028-7636180ad311 +2025-06-06 04:13:00,328 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749175969232 (role: consumer) in room ba5f0d87-5137-404f-a028-7636180ad311 +2025-06-06 04:13:00,328 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749175969232 to producer producer_1749175968915 +2025-06-06 04:13:00,329 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749175969232 (role: consumer) in room ba5f0d87-5137-404f-a028-7636180ad311 +2025-06-06 04:13:00,336 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749175968915 (role: producer) in room ba5f0d87-5137-404f-a028-7636180ad311 +2025-06-06 04:13:00,350 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749175969232 (role: consumer) in room ba5f0d87-5137-404f-a028-7636180ad311 +2025-06-06 04:13:00,416 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749175968915 (role: producer) in room ba5f0d87-5137-404f-a028-7636180ad311 +2025-06-06 04:13:00,445 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749175969232 (role: consumer) in room ba5f0d87-5137-404f-a028-7636180ad311 +2025-06-06 04:14:58,024 - video.core - INFO - Consumer consumer_1749175969232 left video room ba5f0d87-5137-404f-a028-7636180ad311 +2025-06-06 04:15:25,505 - video.core - INFO - Producer producer_1749175968915 left video room ba5f0d87-5137-404f-a028-7636180ad311 +2025-06-06 04:15:28,143 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-06 04:15:46,232 - video.core - INFO - Created video room 1fc4b4f3-351c-4a87-9d26-6b0ca70a7759 +2025-06-06 04:15:46,249 - video.core - INFO - Producer producer_1749176142449 joined video room 1fc4b4f3-351c-4a87-9d26-6b0ca70a7759 +2025-06-06 04:15:50,621 - video.core - INFO - Stream started by producer_1749176142449 in room 1fc4b4f3-351c-4a87-9d26-6b0ca70a7759 +2025-06-06 04:15:52,661 - video.core - INFO - Consumer consumer_1749176142663 joined video room 1fc4b4f3-351c-4a87-9d26-6b0ca70a7759 +2025-06-06 04:15:52,684 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749176142449 (role: producer) in room 1fc4b4f3-351c-4a87-9d26-6b0ca70a7759 +2025-06-06 04:15:52,684 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749176142449 to consumer consumer_1749176142663 +2025-06-06 04:15:52,688 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749176142449 (role: producer) in room 1fc4b4f3-351c-4a87-9d26-6b0ca70a7759 +2025-06-06 04:15:52,703 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749176142449 (role: producer) in room 1fc4b4f3-351c-4a87-9d26-6b0ca70a7759 +2025-06-06 04:15:52,707 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749176142663 (role: consumer) in room 1fc4b4f3-351c-4a87-9d26-6b0ca70a7759 +2025-06-06 04:15:52,707 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749176142663 to producer producer_1749176142449 +2025-06-06 04:15:52,708 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749176142663 (role: consumer) in room 1fc4b4f3-351c-4a87-9d26-6b0ca70a7759 +2025-06-06 04:15:52,729 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749176142663 (role: consumer) in room 1fc4b4f3-351c-4a87-9d26-6b0ca70a7759 +2025-06-06 04:15:52,807 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749176142449 (role: producer) in room 1fc4b4f3-351c-4a87-9d26-6b0ca70a7759 +2025-06-06 04:15:52,839 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749176142663 (role: consumer) in room 1fc4b4f3-351c-4a87-9d26-6b0ca70a7759 +2025-06-06 04:17:25,416 - video.core - INFO - Consumer consumer_1749176142663 left video room 1fc4b4f3-351c-4a87-9d26-6b0ca70a7759 +2025-06-06 04:17:25,417 - video.core - INFO - Producer producer_1749176142449 left video room 1fc4b4f3-351c-4a87-9d26-6b0ca70a7759 +2025-06-06 04:17:28,745 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-06 04:17:41,476 - video.core - INFO - Created video room 91a2dcee-a25e-498c-a0d7-86b5b9d6ed43 +2025-06-06 04:17:41,485 - video.core - INFO - Producer producer_1749176260068 joined video room 91a2dcee-a25e-498c-a0d7-86b5b9d6ed43 +2025-06-06 04:17:46,316 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749176260068 (role: producer) in room 91a2dcee-a25e-498c-a0d7-86b5b9d6ed43 +2025-06-06 04:17:46,346 - video.core - INFO - WebRTC connection producer_1749176260068 initialized +2025-06-06 04:17:46,349 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749176260068 (role: producer) in room 91a2dcee-a25e-498c-a0d7-86b5b9d6ed43 +2025-06-06 04:17:46,349 - video.core - ERROR - Failed to add ICE candidate for producer_1749176260068: 'NoneType' object has no attribute 'media' +2025-06-06 04:17:46,350 - video.core - INFO - WebRTC producer_1749176260068 received track: video +2025-06-06 04:17:46,350 - video.core - INFO - WebRTC producer_1749176260068 is now a PRODUCER +2025-06-06 04:17:46,350 - video.core - INFO - WebRTC producer_1749176260068 set as PRODUCER (explicit role) +2025-06-06 04:17:46,356 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749176260068 (role: producer) in room 91a2dcee-a25e-498c-a0d7-86b5b9d6ed43 +2025-06-06 04:17:46,386 - video.core - INFO - WebRTC producer_1749176260068 ICE state: checking +2025-06-06 04:17:46,387 - video.core - INFO - WebRTC producer_1749176260068 connection state: connecting +2025-06-06 04:17:46,387 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 55128) -> ('192.168.1.83', 57969)) State.FROZEN -> State.WAITING +2025-06-06 04:17:46,387 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 55128) -> ('82.66.87.218', 57969)) State.FROZEN -> State.WAITING +2025-06-06 04:17:46,387 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 55128) -> ('192.168.1.83', 57969)) State.WAITING -> State.IN_PROGRESS +2025-06-06 04:17:46,390 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 55128) -> ('192.168.1.83', 57969)) State.IN_PROGRESS -> State.SUCCEEDED +2025-06-06 04:17:46,390 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 55128) -> ('82.66.87.218', 57969)) State.WAITING -> State.FAILED +2025-06-06 04:17:46,391 - aioice.ice - INFO - Connection(0) ICE completed +2025-06-06 04:17:46,391 - video.core - INFO - Stream started by producer_1749176260068 in room 91a2dcee-a25e-498c-a0d7-86b5b9d6ed43 +2025-06-06 04:17:46,409 - video.core - INFO - WebRTC producer_1749176260068 ICE state: completed +2025-06-06 04:17:46,446 - video.core - INFO - WebRTC producer_1749176260068 connection state: connected +2025-06-06 04:17:47,477 - video.core - INFO - WebRTC producer_1749176260068 processed 30 frames +2025-06-06 04:17:48,480 - video.core - INFO - WebRTC producer_1749176260068 processed 60 frames +2025-06-06 04:17:49,512 - video.core - INFO - WebRTC producer_1749176260068 processed 90 frames +2025-06-06 04:17:50,512 - video.core - INFO - WebRTC producer_1749176260068 processed 120 frames +2025-06-06 04:17:51,513 - video.core - INFO - WebRTC producer_1749176260068 processed 150 frames +2025-06-06 04:17:52,524 - video.core - INFO - WebRTC producer_1749176260068 processed 180 frames +2025-06-06 04:17:53,514 - video.core - INFO - WebRTC producer_1749176260068 processed 210 frames +2025-06-06 04:17:53,564 - video.core - INFO - Consumer consumer_1749176260373 joined video room 91a2dcee-a25e-498c-a0d7-86b5b9d6ed43 +2025-06-06 04:17:53,575 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749176260068 (role: producer) in room 91a2dcee-a25e-498c-a0d7-86b5b9d6ed43 +2025-06-06 04:17:53,575 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749176260068 to consumer consumer_1749176260373 +2025-06-06 04:17:53,607 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749176260373 (role: consumer) in room 91a2dcee-a25e-498c-a0d7-86b5b9d6ed43 +2025-06-06 04:17:53,608 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749176260373 to producer producer_1749176260068 +2025-06-06 04:17:53,608 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749176260373 (role: consumer) in room 91a2dcee-a25e-498c-a0d7-86b5b9d6ed43 +2025-06-06 04:17:53,610 - video.core - ERROR - Error processing video track producer_1749176260068: +2025-06-06 04:17:53,610 - video.core - INFO - WebRTC producer_1749176260068 ICE state: closed +2025-06-06 04:17:53,610 - video.core - INFO - WebRTC producer_1749176260068 connection state: closed +2025-06-06 04:18:09,601 - video.core - INFO - Consumer consumer_1749176260373 left video room 91a2dcee-a25e-498c-a0d7-86b5b9d6ed43 +2025-06-06 04:18:09,986 - video.core - INFO - Producer producer_1749176260068 left video room 91a2dcee-a25e-498c-a0d7-86b5b9d6ed43 +2025-06-06 04:18:13,627 - video.core - INFO - Created video room b55fd4e4-f6b7-41e2-970b-57490027fda5 +2025-06-06 04:18:13,632 - video.core - INFO - Producer producer_1749176291800 joined video room b55fd4e4-f6b7-41e2-970b-57490027fda5 +2025-06-06 04:18:18,637 - video.core - INFO - Consumer consumer_1749176292153 joined video room b55fd4e4-f6b7-41e2-970b-57490027fda5 +2025-06-06 04:18:22,462 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749176291800 (role: producer) in room b55fd4e4-f6b7-41e2-970b-57490027fda5 +2025-06-06 04:18:22,464 - video.core - INFO - WebRTC connection producer_1749176291800 initialized +2025-06-06 04:18:22,470 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749176291800 (role: producer) in room b55fd4e4-f6b7-41e2-970b-57490027fda5 +2025-06-06 04:18:22,471 - video.core - ERROR - Failed to add ICE candidate for producer_1749176291800: 'NoneType' object has no attribute 'media' +2025-06-06 04:18:22,471 - video.core - INFO - WebRTC producer_1749176291800 received track: video +2025-06-06 04:18:22,471 - video.core - INFO - WebRTC producer_1749176291800 is now a PRODUCER +2025-06-06 04:18:22,471 - video.core - INFO - WebRTC producer_1749176291800 set as PRODUCER (explicit role) +2025-06-06 04:18:22,486 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749176291800 (role: producer) in room b55fd4e4-f6b7-41e2-970b-57490027fda5 +2025-06-06 04:18:22,503 - video.core - INFO - WebRTC producer_1749176291800 ICE state: checking +2025-06-06 04:18:22,504 - video.core - INFO - WebRTC producer_1749176291800 connection state: connecting +2025-06-06 04:18:22,504 - aioice.ice - INFO - Connection(1) Check CandidatePair(('192.168.1.83', 64088) -> ('192.168.1.83', 58378)) State.FROZEN -> State.WAITING +2025-06-06 04:18:22,504 - aioice.ice - INFO - Connection(1) Check CandidatePair(('192.168.1.83', 64088) -> ('82.66.87.218', 58378)) State.FROZEN -> State.WAITING +2025-06-06 04:18:22,504 - aioice.ice - INFO - Connection(1) Check CandidatePair(('192.168.1.83', 64088) -> ('192.168.1.83', 58378)) State.WAITING -> State.IN_PROGRESS +2025-06-06 04:18:22,515 - aioice.ice - INFO - Connection(1) Check CandidatePair(('192.168.1.83', 64088) -> ('192.168.1.83', 58378)) State.IN_PROGRESS -> State.SUCCEEDED +2025-06-06 04:18:22,517 - aioice.ice - INFO - Connection(1) Check CandidatePair(('192.168.1.83', 64088) -> ('82.66.87.218', 58378)) State.WAITING -> State.FAILED +2025-06-06 04:18:22,517 - aioice.ice - INFO - Connection(1) ICE completed +2025-06-06 04:18:22,518 - video.core - INFO - Stream started by producer_1749176291800 in room b55fd4e4-f6b7-41e2-970b-57490027fda5 +2025-06-06 04:18:22,525 - video.core - INFO - WebRTC producer_1749176291800 ICE state: completed +2025-06-06 04:18:22,540 - video.core - INFO - WebRTC producer_1749176291800 connection state: connected +2025-06-06 04:18:23,594 - video.core - INFO - WebRTC producer_1749176291800 processed 30 frames +2025-06-06 04:18:24,609 - video.core - INFO - WebRTC producer_1749176291800 processed 60 frames +2025-06-06 04:18:25,607 - video.core - INFO - WebRTC producer_1749176291800 processed 90 frames +2025-06-06 04:18:26,600 - video.core - INFO - WebRTC producer_1749176291800 processed 120 frames +2025-06-06 04:18:27,605 - video.core - INFO - WebRTC producer_1749176291800 processed 150 frames +2025-06-06 04:18:28,622 - video.core - INFO - WebRTC producer_1749176291800 processed 180 frames +2025-06-06 04:18:29,606 - video.core - INFO - WebRTC producer_1749176291800 processed 210 frames +2025-06-06 04:18:30,617 - video.core - INFO - WebRTC producer_1749176291800 processed 240 frames +2025-06-06 04:18:31,601 - video.core - INFO - WebRTC producer_1749176291800 processed 270 frames +2025-06-06 04:18:32,633 - video.core - INFO - WebRTC producer_1749176291800 processed 300 frames +2025-06-06 04:18:33,619 - video.core - INFO - WebRTC producer_1749176291800 processed 330 frames +2025-06-06 04:18:34,607 - video.core - INFO - WebRTC producer_1749176291800 processed 360 frames +2025-06-06 04:18:34,628 - watchfiles.main - INFO - 3 changes detected +2025-06-06 04:18:34,707 - video.core - INFO - Consumer consumer_1749176292153 left video room b55fd4e4-f6b7-41e2-970b-57490027fda5 +2025-06-06 04:18:34,707 - video.core - INFO - Producer producer_1749176291800 left video room b55fd4e4-f6b7-41e2-970b-57490027fda5 +2025-06-06 04:18:35,331 - watchfiles.main - INFO - 10 changes detected +2025-06-06 04:19:09,863 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-06 04:19:26,746 - video.core - INFO - Created video room 6e2da04f-ab2f-4141-8732-31c60c7617d4 +2025-06-06 04:19:26,764 - video.core - INFO - Producer producer_1749176365731 joined video room 6e2da04f-ab2f-4141-8732-31c60c7617d4 +2025-06-06 04:19:33,502 - video.core - INFO - Consumer consumer_1749176361052 joined video room 6e2da04f-ab2f-4141-8732-31c60c7617d4 +2025-06-06 04:19:36,394 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749176365731 (role: producer) in room 6e2da04f-ab2f-4141-8732-31c60c7617d4 +2025-06-06 04:19:36,403 - video.core - INFO - WebRTC connection producer_1749176365731 initialized +2025-06-06 04:19:36,408 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749176365731 (role: producer) in room 6e2da04f-ab2f-4141-8732-31c60c7617d4 +2025-06-06 04:19:36,408 - video.core - ERROR - Failed to add ICE candidate for producer_1749176365731: 'NoneType' object has no attribute 'media' +2025-06-06 04:19:36,409 - video.core - INFO - WebRTC producer_1749176365731 received track: video +2025-06-06 04:19:36,409 - video.core - INFO - WebRTC producer_1749176365731 is now a PRODUCER +2025-06-06 04:19:36,410 - video.core - INFO - WebRTC producer_1749176365731 set as PRODUCER (explicit role) +2025-06-06 04:19:36,413 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749176365731 (role: producer) in room 6e2da04f-ab2f-4141-8732-31c60c7617d4 +2025-06-06 04:19:36,435 - video.core - INFO - WebRTC producer_1749176365731 ICE state: checking +2025-06-06 04:19:36,435 - video.core - INFO - WebRTC producer_1749176365731 connection state: connecting +2025-06-06 04:19:36,435 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 60970) -> ('192.168.1.83', 54592)) State.FROZEN -> State.WAITING +2025-06-06 04:19:36,436 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 60970) -> ('82.66.87.218', 54592)) State.FROZEN -> State.WAITING +2025-06-06 04:19:36,436 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 60970) -> ('192.168.1.83', 54592)) State.WAITING -> State.IN_PROGRESS +2025-06-06 04:19:36,445 - video.core - INFO - Stream started by producer_1749176365731 in room 6e2da04f-ab2f-4141-8732-31c60c7617d4 +2025-06-06 04:19:36,448 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 60970) -> ('192.168.1.83', 54592)) State.IN_PROGRESS -> State.SUCCEEDED +2025-06-06 04:19:36,449 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 60970) -> ('82.66.87.218', 54592)) State.WAITING -> State.FAILED +2025-06-06 04:19:36,449 - aioice.ice - INFO - Connection(0) ICE completed +2025-06-06 04:19:36,456 - video.core - INFO - WebRTC producer_1749176365731 ICE state: completed +2025-06-06 04:19:36,466 - video.core - INFO - WebRTC producer_1749176365731 connection state: connected +2025-06-06 04:19:37,546 - video.core - INFO - WebRTC producer_1749176365731 processed 30 frames +2025-06-06 04:19:38,548 - video.core - INFO - WebRTC producer_1749176365731 processed 60 frames +2025-06-06 04:19:39,534 - video.core - INFO - WebRTC producer_1749176365731 processed 90 frames +2025-06-06 04:19:40,546 - video.core - INFO - WebRTC producer_1749176365731 processed 120 frames +2025-06-06 04:19:41,538 - video.core - INFO - WebRTC producer_1749176365731 processed 150 frames +2025-06-06 04:19:42,546 - video.core - INFO - WebRTC producer_1749176365731 processed 180 frames +2025-06-06 04:19:43,553 - video.core - INFO - WebRTC producer_1749176365731 processed 210 frames +2025-06-06 04:19:44,553 - video.core - INFO - WebRTC producer_1749176365731 processed 240 frames +2025-06-06 04:19:45,547 - video.core - INFO - WebRTC producer_1749176365731 processed 270 frames +2025-06-06 04:19:46,539 - video.core - INFO - WebRTC producer_1749176365731 processed 300 frames +2025-06-06 04:19:47,566 - video.core - INFO - WebRTC producer_1749176365731 processed 330 frames +2025-06-06 04:19:48,574 - video.core - INFO - WebRTC producer_1749176365731 processed 360 frames +2025-06-06 04:19:49,578 - video.core - INFO - WebRTC producer_1749176365731 processed 390 frames +2025-06-06 04:19:50,289 - video.core - INFO - Consumer consumer_1749176361052 left video room 6e2da04f-ab2f-4141-8732-31c60c7617d4 +2025-06-06 04:19:50,583 - video.core - INFO - WebRTC producer_1749176365731 processed 420 frames +2025-06-06 04:19:51,582 - video.core - INFO - WebRTC producer_1749176365731 processed 450 frames +2025-06-06 04:19:51,869 - video.core - INFO - Consumer consumer_1749176390337 joined video room 6e2da04f-ab2f-4141-8732-31c60c7617d4 +2025-06-06 04:19:51,882 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749176365731 (role: producer) in room 6e2da04f-ab2f-4141-8732-31c60c7617d4 +2025-06-06 04:19:51,882 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749176365731 to consumer consumer_1749176390337 +2025-06-06 04:19:51,902 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749176390337 (role: consumer) in room 6e2da04f-ab2f-4141-8732-31c60c7617d4 +2025-06-06 04:19:51,903 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749176390337 to producer producer_1749176365731 +2025-06-06 04:19:51,905 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749176390337 (role: consumer) in room 6e2da04f-ab2f-4141-8732-31c60c7617d4 +2025-06-06 04:19:51,912 - video.core - ERROR - Error processing video track producer_1749176365731: +2025-06-06 04:19:51,912 - video.core - INFO - WebRTC producer_1749176365731 ICE state: closed +2025-06-06 04:19:51,912 - video.core - INFO - WebRTC producer_1749176365731 connection state: closed +2025-06-06 04:22:07,319 - watchfiles.main - INFO - 1 change detected +2025-06-06 04:22:07,369 - video.core - INFO - Consumer consumer_1749176390337 left video room 6e2da04f-ab2f-4141-8732-31c60c7617d4 +2025-06-06 04:22:07,370 - video.core - INFO - Producer producer_1749176365731 left video room 6e2da04f-ab2f-4141-8732-31c60c7617d4 +2025-06-06 04:22:07,940 - watchfiles.main - INFO - 4 changes detected +2025-06-06 04:22:16,398 - watchfiles.main - INFO - 1 change detected +2025-06-06 04:22:16,996 - watchfiles.main - INFO - 3 changes detected +2025-06-06 04:24:19,067 - watchfiles.main - INFO - 1 change detected +2025-06-06 04:24:19,674 - watchfiles.main - INFO - 3 changes detected +2025-06-06 04:24:39,986 - watchfiles.main - INFO - 1 change detected +2025-06-06 04:24:40,648 - watchfiles.main - INFO - 3 changes detected +2025-06-06 04:24:59,550 - watchfiles.main - INFO - 1 change detected +2025-06-06 04:25:00,148 - watchfiles.main - INFO - 3 changes detected +2025-06-06 04:25:10,462 - watchfiles.main - INFO - 1 change detected +2025-06-06 04:25:11,098 - watchfiles.main - INFO - 3 changes detected +2025-06-06 04:25:33,744 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-06 04:25:47,154 - video.core - INFO - Created video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 04:25:47,169 - video.core - INFO - Producer producer_1749176746244 joined video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 04:25:50,012 - video.core - INFO - Consumer consumer_1749176746244 joined video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 04:25:53,001 - video.core - INFO - Stream started by producer_1749176746244 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 04:26:00,575 - video.core - INFO - Consumer consumer_1749176759379 joined video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 04:26:00,604 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749176746244 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 04:26:00,605 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749176746244 to consumer consumer_1749176759379 +2025-06-06 04:26:00,609 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749176746244 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 04:26:00,614 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749176746244 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 04:26:00,634 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749176759379 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 04:26:00,635 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749176759379 to producer producer_1749176746244 +2025-06-06 04:26:00,647 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749176759379 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 04:26:00,648 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749176746244 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 04:26:00,653 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749176746244 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 04:26:03,934 - video.core - INFO - Consumer consumer_1749176746244 left video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 04:26:04,341 - video.core - INFO - Consumer consumer_1749176759379 left video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 04:26:23,220 - video.core - INFO - Consumer consumer_1749176781305 joined video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 04:26:23,242 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749176746244 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 04:26:23,242 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749176746244 to consumer consumer_1749176781305 +2025-06-06 04:26:23,267 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749176781305 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 04:26:23,267 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749176781305 to producer producer_1749176746244 +2025-06-06 04:26:23,275 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749176781305 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 04:27:50,163 - video.core - INFO - Consumer consumer_1749176781305 left video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 04:27:51,211 - video.core - INFO - Consumer consumer_1749176781305 joined video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 04:27:51,221 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749176746244 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 04:27:51,221 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749176746244 to consumer consumer_1749176781305 +2025-06-06 04:27:51,233 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749176781305 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 04:27:51,234 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749176781305 to producer producer_1749176746244 +2025-06-06 04:27:51,240 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749176781305 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 04:27:56,652 - video.core - INFO - Stream stopped by producer_1749176746244 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 04:27:59,264 - video.core - INFO - Stream started by producer_1749176746244 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 04:28:23,623 - video.core - INFO - Consumer consumer_1749176781305 left video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 04:28:23,630 - video.core - INFO - Producer producer_1749176746244 left video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 09:20:03,108 - watchfiles.main - INFO - 2 changes detected +2025-06-06 09:20:03,797 - watchfiles.main - INFO - 1 change detected +2025-06-06 09:20:04,209 - watchfiles.main - INFO - 6 changes detected +2025-06-06 09:20:41,632 - watchfiles.main - INFO - 1 change detected +2025-06-06 09:20:42,364 - watchfiles.main - INFO - 3 changes detected +2025-06-06 09:21:20,602 - watchfiles.main - INFO - 1 change detected +2025-06-06 09:21:21,273 - watchfiles.main - INFO - 3 changes detected +2025-06-06 09:24:03,344 - watchfiles.main - INFO - 1 change detected +2025-06-06 09:24:03,931 - watchfiles.main - INFO - 3 changes detected +2025-06-06 09:24:07,830 - watchfiles.main - INFO - 1 change detected +2025-06-06 09:24:08,566 - watchfiles.main - INFO - 3 changes detected +2025-06-06 09:24:27,643 - watchfiles.main - INFO - 1 change detected +2025-06-06 09:24:28,306 - watchfiles.main - INFO - 3 changes detected +2025-06-06 09:24:52,643 - watchfiles.main - INFO - 1 change detected +2025-06-06 09:24:53,266 - watchfiles.main - INFO - 3 changes detected +2025-06-06 09:24:59,032 - watchfiles.main - INFO - 1 change detected +2025-06-06 09:24:59,653 - watchfiles.main - INFO - 3 changes detected +2025-06-06 09:25:23,799 - watchfiles.main - INFO - 1 change detected +2025-06-06 09:25:24,521 - watchfiles.main - INFO - 3 changes detected +2025-06-06 09:25:35,450 - watchfiles.main - INFO - 1 change detected +2025-06-06 09:25:36,041 - watchfiles.main - INFO - 3 changes detected +2025-06-06 09:26:02,454 - watchfiles.main - INFO - 1 change detected +2025-06-06 09:26:03,074 - watchfiles.main - INFO - 3 changes detected +2025-06-06 09:26:18,474 - watchfiles.main - INFO - 1 change detected +2025-06-06 09:26:19,114 - watchfiles.main - INFO - 3 changes detected +2025-06-06 09:26:21,241 - watchfiles.main - INFO - 1 change detected +2025-06-06 09:26:21,857 - watchfiles.main - INFO - 3 changes detected +2025-06-06 09:26:41,778 - watchfiles.main - INFO - 1 change detected +2025-06-06 09:26:42,437 - watchfiles.main - INFO - 3 changes detected +2025-06-06 09:26:50,828 - watchfiles.main - INFO - 1 change detected +2025-06-06 09:26:51,440 - watchfiles.main - INFO - 3 changes detected +2025-06-06 09:26:57,594 - watchfiles.main - INFO - 1 change detected +2025-06-06 09:26:58,233 - watchfiles.main - INFO - 3 changes detected +2025-06-06 09:27:01,827 - watchfiles.main - INFO - 1 change detected +2025-06-06 09:27:02,464 - watchfiles.main - INFO - 3 changes detected +2025-06-06 09:27:02,984 - watchfiles.main - INFO - 1 change detected +2025-06-06 09:27:03,631 - watchfiles.main - INFO - 3 changes detected +2025-06-06 09:28:28,181 - watchfiles.main - INFO - 1 change detected +2025-06-06 09:28:28,844 - watchfiles.main - INFO - 3 changes detected +2025-06-06 09:29:53,141 - watchfiles.main - INFO - 1 change detected +2025-06-06 09:29:53,745 - watchfiles.main - INFO - 3 changes detected +2025-06-06 09:29:55,826 - watchfiles.main - INFO - 1 change detected +2025-06-06 09:29:56,483 - watchfiles.main - INFO - 3 changes detected +2025-06-06 09:31:40,384 - watchfiles.main - INFO - 1 change detected +2025-06-06 09:31:41,007 - watchfiles.main - INFO - 3 changes detected +2025-06-06 09:32:18,698 - watchfiles.main - INFO - 1 change detected +2025-06-06 09:32:19,279 - watchfiles.main - INFO - 3 changes detected +2025-06-06 09:32:30,491 - watchfiles.main - INFO - 1 change detected +2025-06-06 09:32:31,118 - watchfiles.main - INFO - 3 changes detected +2025-06-06 09:32:42,300 - watchfiles.main - INFO - 1 change detected +2025-06-06 09:32:42,908 - watchfiles.main - INFO - 3 changes detected +2025-06-06 09:32:51,858 - watchfiles.main - INFO - 1 change detected +2025-06-06 09:32:52,496 - watchfiles.main - INFO - 3 changes detected +2025-06-06 09:32:55,891 - watchfiles.main - INFO - 1 change detected +2025-06-06 09:32:56,478 - watchfiles.main - INFO - 3 changes detected +2025-06-06 09:33:52,128 - watchfiles.main - INFO - 1 change detected +2025-06-06 09:33:52,707 - watchfiles.main - INFO - 3 changes detected +2025-06-06 09:35:06,951 - watchfiles.main - INFO - 1 change detected +2025-06-06 09:35:07,535 - watchfiles.main - INFO - 3 changes detected +2025-06-06 09:35:56,665 - watchfiles.main - INFO - 1 change detected +2025-06-06 09:35:57,296 - watchfiles.main - INFO - 3 changes detected +2025-06-06 09:36:23,483 - watchfiles.main - INFO - 1 change detected +2025-06-06 09:36:24,136 - watchfiles.main - INFO - 3 changes detected +2025-06-06 09:37:58,773 - watchfiles.main - INFO - 1 change detected +2025-06-06 09:37:59,348 - watchfiles.main - INFO - 3 changes detected +2025-06-06 09:38:07,705 - watchfiles.main - INFO - 1 change detected +2025-06-06 09:38:08,343 - watchfiles.main - INFO - 3 changes detected +2025-06-06 09:38:14,000 - watchfiles.main - INFO - 1 change detected +2025-06-06 09:38:14,658 - watchfiles.main - INFO - 3 changes detected +2025-06-06 09:38:47,634 - watchfiles.main - INFO - 1 change detected +2025-06-06 09:38:48,287 - watchfiles.main - INFO - 3 changes detected +2025-06-06 09:39:01,998 - watchfiles.main - INFO - 1 change detected +2025-06-06 09:39:02,569 - watchfiles.main - INFO - 3 changes detected +2025-06-06 09:39:31,591 - watchfiles.main - INFO - 1 change detected +2025-06-06 09:39:32,225 - watchfiles.main - INFO - 3 changes detected +2025-06-06 09:39:53,830 - watchfiles.main - INFO - 1 change detected +2025-06-06 09:39:54,418 - watchfiles.main - INFO - 3 changes detected +2025-06-06 09:40:04,486 - watchfiles.main - INFO - 1 change detected +2025-06-06 09:40:05,223 - watchfiles.main - INFO - 3 changes detected +2025-06-06 09:40:12,286 - watchfiles.main - INFO - 1 change detected +2025-06-06 09:40:12,889 - watchfiles.main - INFO - 3 changes detected +2025-06-06 09:40:17,484 - watchfiles.main - INFO - 1 change detected +2025-06-06 09:40:18,210 - watchfiles.main - INFO - 3 changes detected +2025-06-06 09:40:53,342 - watchfiles.main - INFO - 1 change detected +2025-06-06 09:40:53,929 - watchfiles.main - INFO - 3 changes detected +2025-06-06 09:41:08,735 - watchfiles.main - INFO - 1 change detected +2025-06-06 09:41:09,341 - watchfiles.main - INFO - 3 changes detected +2025-06-06 09:41:18,000 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-06 09:41:26,145 - video.core - INFO - Created video room c2680132-2531-4544-abad-4025f559484b +2025-06-06 09:41:26,166 - video.core - INFO - Producer producer_1749195684659 joined video room c2680132-2531-4544-abad-4025f559484b +2025-06-06 09:41:29,684 - video.core - INFO - Consumer consumer_1749195684784 joined video room c2680132-2531-4544-abad-4025f559484b +2025-06-06 09:41:33,214 - video.core - INFO - Stream started by producer_1749195684659 in room c2680132-2531-4544-abad-4025f559484b +2025-06-06 09:41:37,567 - video.core - INFO - Consumer consumer_1749195684784 left video room c2680132-2531-4544-abad-4025f559484b +2025-06-06 09:41:38,925 - video.core - INFO - Consumer consumer_1749195697617 joined video room c2680132-2531-4544-abad-4025f559484b +2025-06-06 09:41:38,942 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749195684659 (role: producer) in room c2680132-2531-4544-abad-4025f559484b +2025-06-06 09:41:38,942 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749195684659 to consumer consumer_1749195697617 +2025-06-06 09:41:38,949 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749195684659 (role: producer) in room c2680132-2531-4544-abad-4025f559484b +2025-06-06 09:41:38,966 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749195697617 (role: consumer) in room c2680132-2531-4544-abad-4025f559484b +2025-06-06 09:41:38,967 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749195697617 to producer producer_1749195684659 +2025-06-06 09:41:38,970 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749195697617 (role: consumer) in room c2680132-2531-4544-abad-4025f559484b +2025-06-06 09:41:40,680 - video.core - INFO - Consumer consumer_1749195697617 left video room c2680132-2531-4544-abad-4025f559484b +2025-06-06 09:41:43,856 - video.core - INFO - Producer producer_1749195684659 left video room c2680132-2531-4544-abad-4025f559484b +2025-06-06 09:41:52,818 - robotics.core - INFO - Created room f17c243e-c596-462d-9418-2bd8f33e42c2 +2025-06-06 09:41:52,832 - robotics.core - INFO - Producer producer_1749195711781 joined room f17c243e-c596-462d-9418-2bd8f33e42c2 +2025-06-06 09:50:47,636 - robotics.core - INFO - Producer producer_1749195711781 left room f17c243e-c596-462d-9418-2bd8f33e42c2 +2025-06-06 10:14:29,411 - video.core - INFO - ๐ŸŽฅ VideoCore initialized with dual communication strategies +2025-06-06 10:14:29,434 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-06 10:14:29,747 - video.core - INFO - ๐ŸŽฅ VideoCore initialized with dual communication strategies +2025-06-06 10:14:29,858 - watchfiles.main - INFO - 1 change detected +2025-06-06 10:19:41,580 - watchfiles.main - INFO - 1 change detected +2025-06-06 10:19:42,225 - video.core - INFO - ๐ŸŽฅ VideoCore initialized with dual communication strategies +2025-06-06 10:19:42,352 - watchfiles.main - INFO - 4 changes detected +2025-06-06 10:27:16,532 - video.core - INFO - ๐Ÿ”— P2P Strategy initialized for room e0462dff-e248-4803-b0dc-1d238560847d +2025-06-06 10:27:16,534 - video.core - INFO - ๐ŸŽฅ Created video room e0462dff-e248-4803-b0dc-1d238560847d with p2p strategy +2025-06-06 10:27:16,548 - video.core - INFO - ๐ŸŽฅ Producer producer_1749198433038 joined video room e0462dff-e248-4803-b0dc-1d238560847d +2025-06-06 10:27:16,548 - video.core - INFO - ๐Ÿ”— P2P: Producer producer_1749198433038 setup for P2P strategy +2025-06-06 10:27:20,538 - video.core - INFO - ๐ŸŽฅ Producer producer_1749198433038 left video room e0462dff-e248-4803-b0dc-1d238560847d +2025-06-06 10:27:20,538 - video.core - INFO - ๐Ÿ”— P2P: Cleaned up participant producer_1749198433038 +2025-06-06 10:27:28,517 - video.core - INFO - ๐ŸŽฅ Producer producer_1749198443899 joined video room e0462dff-e248-4803-b0dc-1d238560847d +2025-06-06 10:27:28,517 - video.core - INFO - ๐Ÿ”— P2P: Producer producer_1749198443899 setup for P2P strategy +2025-06-06 10:27:31,936 - video.core - INFO - ๐ŸŽฅ Stream started by producer_1749198443899 in room e0462dff-e248-4803-b0dc-1d238560847d +2025-06-06 10:27:33,938 - video.core - INFO - ๐ŸŽฅ Consumer consumer_1749198443826 joined video room e0462dff-e248-4803-b0dc-1d238560847d +2025-06-06 10:27:33,939 - video.core - INFO - ๐Ÿ”— P2P: Consumer consumer_1749198443826 setup for P2P strategy +2025-06-06 10:27:33,957 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749198443899 (role: producer) in room e0462dff-e248-4803-b0dc-1d238560847d +2025-06-06 10:27:33,957 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 10:27:33,957 - video.core - INFO - ๐Ÿ”— P2P Strategy: offer from producer_1749198443899 (role: producer) +2025-06-06 10:27:33,957 - video.core - INFO - ๐Ÿ”„ P2P: Forwarding offer from producer producer_1749198443899 to consumer consumer_1749198443826 +2025-06-06 10:27:33,958 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749198443899 (role: producer) in room e0462dff-e248-4803-b0dc-1d238560847d +2025-06-06 10:27:33,959 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 10:27:33,959 - video.core - INFO - ๐Ÿ”— P2P Strategy: ice from producer_1749198443899 (role: producer) +2025-06-06 10:27:33,999 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749198443826 (role: consumer) in room e0462dff-e248-4803-b0dc-1d238560847d +2025-06-06 10:27:33,999 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 10:27:33,999 - video.core - INFO - ๐Ÿ”— P2P Strategy: answer from consumer_1749198443826 (role: consumer) +2025-06-06 10:27:33,999 - video.core - INFO - ๐Ÿ”„ P2P: Forwarding answer from consumer consumer_1749198443826 to producer producer_1749198443899 +2025-06-06 10:27:34,002 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749198443899 (role: producer) in room e0462dff-e248-4803-b0dc-1d238560847d +2025-06-06 10:27:34,002 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 10:27:34,002 - video.core - INFO - ๐Ÿ”— P2P Strategy: ice from producer_1749198443899 (role: producer) +2025-06-06 10:27:34,006 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749198443826 (role: consumer) in room e0462dff-e248-4803-b0dc-1d238560847d +2025-06-06 10:27:34,006 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 10:27:34,006 - video.core - INFO - ๐Ÿ”— P2P Strategy: ice from consumer_1749198443826 (role: consumer) +2025-06-06 10:27:44,996 - video.core - INFO - ๐Ÿ”— P2P: Cleaned up participant producer_1749198443899 +2025-06-06 10:27:44,997 - video.core - INFO - ๐Ÿ”— P2P: Cleaned up participant consumer_1749198443826 +2025-06-06 10:27:44,997 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay Strategy initialized for room e0462dff-e248-4803-b0dc-1d238560847d +2025-06-06 10:27:45,018 - video.core - INFO - WebRTC connection producer_1749198443899 initialized +2025-06-06 10:27:45,018 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Created WebRTC connection for producer_1749198443899 +2025-06-06 10:27:45,018 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: producer producer_1749198443899 setup for server relay +2025-06-06 10:27:45,019 - video.core - INFO - WebRTC connection consumer_1749198443826 initialized +2025-06-06 10:27:45,019 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Created WebRTC connection for consumer_1749198443826 +2025-06-06 10:27:45,019 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: consumer consumer_1749198443826 setup for server relay +2025-06-06 10:27:45,019 - video.core - INFO - ๐Ÿ”„ Room e0462dff-e248-4803-b0dc-1d238560847d strategy switched: p2p -> server (User requested via UI) +2025-06-06 10:28:49,901 - video.core - INFO - ๐ŸŽฅ Consumer consumer_1749198443826 left video room e0462dff-e248-4803-b0dc-1d238560847d +2025-06-06 10:28:49,933 - video.core - INFO - WebRTC consumer_1749198443826 ICE state: closed +2025-06-06 10:28:49,964 - video.core - INFO - WebRTC consumer_1749198443826 connection state: closed +2025-06-06 10:28:49,969 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Cleaned up WebRTC connection for consumer_1749198443826 +2025-06-06 10:28:51,022 - video.core - INFO - ๐ŸŽฅ Producer producer_1749198443899 left video room e0462dff-e248-4803-b0dc-1d238560847d +2025-06-06 10:28:51,031 - video.core - INFO - WebRTC producer_1749198443899 ICE state: closed +2025-06-06 10:28:51,031 - video.core - INFO - WebRTC producer_1749198443899 connection state: closed +2025-06-06 10:28:51,031 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Cleaned up WebRTC connection for producer_1749198443899 +2025-06-06 10:29:01,652 - watchfiles.main - INFO - 1 change detected +2025-06-06 10:29:02,286 - watchfiles.main - INFO - 4 changes detected +2025-06-06 10:29:02,498 - video.core - INFO - ๐ŸŽฅ VideoCore initialized with dual communication strategies +2025-06-06 10:29:02,638 - watchfiles.main - INFO - 1 change detected +2025-06-06 10:29:16,350 - watchfiles.main - INFO - 1 change detected +2025-06-06 10:29:16,992 - watchfiles.main - INFO - 3 changes detected +2025-06-06 10:29:17,018 - video.core - INFO - ๐ŸŽฅ VideoCore initialized with dual communication strategies +2025-06-06 10:29:17,353 - watchfiles.main - INFO - 1 change detected +2025-06-06 10:29:27,809 - watchfiles.main - INFO - 1 change detected +2025-06-06 10:29:28,179 - watchfiles.main - INFO - 3 changes detected +2025-06-06 10:29:28,333 - video.core - INFO - ๐ŸŽฅ VideoCore initialized with dual communication strategies +2025-06-06 10:29:28,559 - watchfiles.main - INFO - 1 change detected +2025-06-06 10:29:41,183 - watchfiles.main - INFO - 1 change detected +2025-06-06 10:29:41,556 - watchfiles.main - INFO - 3 changes detected +2025-06-06 10:29:41,617 - video.core - INFO - ๐ŸŽฅ VideoCore initialized with dual communication strategies +2025-06-06 10:29:41,918 - watchfiles.main - INFO - 1 change detected +2025-06-06 10:32:48,908 - video.core - INFO - ๐ŸŽฅ VideoCore initialized with dual communication strategies +2025-06-06 10:33:10,579 - video.core - INFO - ๐ŸŽฅ VideoCore initialized with dual communication strategies +2025-06-06 10:33:10,600 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-06 10:33:10,888 - video.core - INFO - ๐ŸŽฅ VideoCore initialized with dual communication strategies +2025-06-06 10:33:11,025 - watchfiles.main - INFO - 4 changes detected +2025-06-06 10:33:21,075 - video.core - INFO - ๐Ÿ”— P2P Strategy initialized for room test-strategy-room +2025-06-06 10:33:21,076 - video.core - INFO - ๐ŸŽฅ Created video room test-strategy-room with p2p strategy +2025-06-06 10:33:25,937 - watchfiles.main - INFO - 7 changes detected +2025-06-06 10:33:30,929 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay Strategy initialized for room test-strategy-room +2025-06-06 10:33:30,929 - video.core - INFO - ๐Ÿ”„ Room test-strategy-room strategy switched: p2p -> server (Testing strategy switch) +2025-06-06 10:34:10,095 - watchfiles.main - INFO - 1 change detected +2025-06-06 10:34:10,748 - watchfiles.main - INFO - 4 changes detected +2025-06-06 10:34:10,903 - video.core - INFO - ๐ŸŽฅ VideoCore initialized with dual communication strategies +2025-06-06 10:34:11,111 - watchfiles.main - INFO - 1 change detected +2025-06-06 10:34:22,750 - video.core - INFO - ๐Ÿ”— P2P Strategy initialized for room test-strategy-room2 +2025-06-06 10:34:22,750 - video.core - INFO - ๐ŸŽฅ Created video room test-strategy-room2 with p2p strategy +2025-06-06 10:34:34,704 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay Strategy initialized for room test-strategy-room2 +2025-06-06 10:34:34,704 - video.core - INFO - ๐Ÿ”„ Room test-strategy-room2 strategy switched: p2p -> server (Testing fixed endpoint) +2025-06-06 10:34:49,614 - video.core - INFO - ๐ŸŽฅ VideoCore initialized with dual communication strategies +2025-06-06 10:34:49,640 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-06 10:34:50,689 - video.core - INFO - ๐ŸŽฅ VideoCore initialized with dual communication strategies +2025-06-06 10:34:50,823 - watchfiles.main - INFO - 1 change detected +2025-06-06 10:34:59,203 - robotics.core - INFO - Created room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:35:05,048 - robotics.core - INFO - Producer producer_1749198901305 joined room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:35:06,370 - robotics.core - INFO - Producer producer_1749198901305 left room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:35:09,754 - video.core - INFO - ๐Ÿ”— P2P Strategy initialized for room โฏ uvicorn main:app --reload --host 0.0.0.0 --port 8000 INFO: Will watch for changes in these directories: ['/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena'] INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit) INFO: Started reloader process [67768] using WatchFiles ERROR: Error loading ASGI app. Could not import module "main". +2025-06-06 10:35:09,754 - video.core - INFO - ๐ŸŽฅ Created video room โฏ uvicorn main:app --reload --host 0.0.0.0 --port 8000 INFO: Will watch for changes in these directories: ['/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena'] INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit) INFO: Started reloader process [67768] using WatchFiles ERROR: Error loading ASGI app. Could not import module "main". with p2p strategy +2025-06-06 10:35:21,103 - video.core - INFO - ๐Ÿ”— P2P Strategy initialized for room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 10:35:21,104 - video.core - INFO - ๐ŸŽฅ Created video room fb6d5136-b7d3-4263-90cc-cf017723989c with p2p strategy +2025-06-06 10:35:29,297 - video.core - INFO - ๐ŸŽฅ Producer producer_1749198923656 joined video room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 10:35:29,299 - video.core - INFO - ๐Ÿ”— P2P: Producer producer_1749198923656 setup for P2P strategy +2025-06-06 10:35:33,688 - video.core - INFO - ๐ŸŽฅ Stream started by producer_1749198923656 in room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 10:35:35,431 - video.core - INFO - ๐ŸŽฅ Consumer consumer_1749198923339 joined video room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 10:35:35,431 - video.core - INFO - ๐Ÿ”— P2P: Consumer consumer_1749198923339 setup for P2P strategy +2025-06-06 10:35:35,450 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749198923656 (role: producer) in room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 10:35:35,450 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 10:35:35,450 - video.core - INFO - ๐Ÿ”— P2P Strategy: offer from producer_1749198923656 (role: producer) +2025-06-06 10:35:35,450 - video.core - INFO - ๐Ÿ”„ P2P: Forwarding offer from producer producer_1749198923656 to consumer consumer_1749198923339 +2025-06-06 10:35:35,454 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749198923656 (role: producer) in room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 10:35:35,454 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 10:35:35,454 - video.core - INFO - ๐Ÿ”— P2P Strategy: ice from producer_1749198923656 (role: producer) +2025-06-06 10:35:35,490 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749198923339 (role: consumer) in room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 10:35:35,491 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 10:35:35,491 - video.core - INFO - ๐Ÿ”— P2P Strategy: answer from consumer_1749198923339 (role: consumer) +2025-06-06 10:35:35,491 - video.core - INFO - ๐Ÿ”„ P2P: Forwarding answer from consumer consumer_1749198923339 to producer producer_1749198923656 +2025-06-06 10:35:35,497 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749198923339 (role: consumer) in room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 10:35:35,497 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 10:35:35,497 - video.core - INFO - ๐Ÿ”— P2P Strategy: ice from consumer_1749198923339 (role: consumer) +2025-06-06 10:35:35,501 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749198923656 (role: producer) in room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 10:35:35,501 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 10:35:35,501 - video.core - INFO - ๐Ÿ”— P2P Strategy: ice from producer_1749198923656 (role: producer) +2025-06-06 10:35:45,084 - video.core - INFO - ๐Ÿ”— P2P: Cleaned up participant producer_1749198923656 +2025-06-06 10:35:45,085 - video.core - INFO - ๐Ÿ”— P2P: Cleaned up participant consumer_1749198923339 +2025-06-06 10:35:45,086 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay Strategy initialized for room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 10:35:45,110 - video.core - INFO - WebRTC connection producer_1749198923656 initialized +2025-06-06 10:35:45,110 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Created WebRTC connection for producer_1749198923656 +2025-06-06 10:35:45,110 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: producer producer_1749198923656 setup for server relay +2025-06-06 10:35:45,111 - video.core - INFO - WebRTC connection consumer_1749198923339 initialized +2025-06-06 10:35:45,111 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Created WebRTC connection for consumer_1749198923339 +2025-06-06 10:35:45,111 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: consumer consumer_1749198923339 setup for server relay +2025-06-06 10:35:45,111 - video.core - INFO - ๐Ÿ”„ Room fb6d5136-b7d3-4263-90cc-cf017723989c strategy switched: p2p -> server (User requested via UI) +2025-06-06 10:36:31,605 - video.core - INFO - ๐ŸŽฅ Stream stopped by producer_1749198923656 in room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 10:36:35,108 - video.core - INFO - ๐ŸŽฅ Stream started by producer_1749198923656 in room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 10:36:39,884 - video.core - INFO - ๐ŸŽฅ Consumer consumer_1749198923339 left video room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 10:36:39,888 - video.core - INFO - WebRTC consumer_1749198923339 ICE state: closed +2025-06-06 10:36:39,888 - video.core - INFO - WebRTC consumer_1749198923339 connection state: closed +2025-06-06 10:36:39,888 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Cleaned up WebRTC connection for consumer_1749198923339 +2025-06-06 10:36:41,049 - video.core - INFO - ๐ŸŽฅ Consumer consumer_1749198999941 joined video room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 10:36:41,051 - video.core - INFO - WebRTC connection consumer_1749198999941 initialized +2025-06-06 10:36:41,051 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Created WebRTC connection for consumer_1749198999941 +2025-06-06 10:36:41,052 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: consumer consumer_1749198999941 setup for server relay +2025-06-06 10:36:41,060 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749198923656 (role: producer) in room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 10:36:41,060 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 10:36:41,060 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: offer from producer_1749198923656 (role: producer) +2025-06-06 10:36:41,063 - video.core - INFO - WebRTC producer_1749198923656 received track: video +2025-06-06 10:36:41,063 - video.core - INFO - WebRTC producer_1749198923656 is now a PRODUCER +2025-06-06 10:36:41,063 - video.core - INFO - ๐Ÿ–ฅ๏ธ WebRTC producer_1749198923656 set as PRODUCER (explicit role) +2025-06-06 10:36:41,067 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749198923656 (role: producer) in room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 10:36:41,067 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 10:36:41,068 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: ice from producer_1749198923656 (role: producer) +2025-06-06 10:36:41,086 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749198923656 (role: producer) in room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 10:36:41,087 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 10:36:41,087 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: ice from producer_1749198923656 (role: producer) +2025-06-06 10:36:41,101 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Generated answer for producer_1749198923656 +2025-06-06 10:36:41,101 - video.core - INFO - WebRTC producer_1749198923656 ICE state: checking +2025-06-06 10:36:41,101 - video.core - INFO - WebRTC producer_1749198923656 connection state: connecting +2025-06-06 10:36:41,102 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 54766) -> ('192.168.1.83', 59261)) State.FROZEN -> State.WAITING +2025-06-06 10:36:41,102 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 54766) -> ('82.66.87.218', 59261)) State.FROZEN -> State.WAITING +2025-06-06 10:36:41,102 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 54766) -> ('192.168.1.83', 59261)) State.WAITING -> State.IN_PROGRESS +2025-06-06 10:36:41,103 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 54766) -> ('192.168.1.83', 59261)) State.IN_PROGRESS -> State.SUCCEEDED +2025-06-06 10:36:41,122 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 54766) -> ('82.66.87.218', 59261)) State.WAITING -> State.IN_PROGRESS +2025-06-06 10:36:41,191 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749198923656 (role: producer) in room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 10:36:41,192 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 10:36:41,192 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: ice from producer_1749198923656 (role: producer) +2025-06-06 10:36:44,155 - video.core - INFO - ๐ŸŽฅ Consumer consumer_1749198999941 left video room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 10:36:44,156 - video.core - INFO - WebRTC consumer_1749198999941 ICE state: closed +2025-06-06 10:36:44,157 - video.core - INFO - WebRTC consumer_1749198999941 connection state: closed +2025-06-06 10:36:44,163 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Cleaned up WebRTC connection for consumer_1749198999941 +2025-06-06 10:36:46,269 - video.core - INFO - ๐ŸŽฅ Consumer consumer_1749199005515 joined video room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 10:36:46,271 - video.core - INFO - WebRTC connection consumer_1749199005515 initialized +2025-06-06 10:36:46,271 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Created WebRTC connection for consumer_1749199005515 +2025-06-06 10:36:46,271 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: consumer consumer_1749199005515 setup for server relay +2025-06-06 10:36:46,280 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749198923656 (role: producer) in room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 10:36:46,280 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 10:36:46,280 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: offer from producer_1749198923656 (role: producer) +2025-06-06 10:36:46,283 - video.core - INFO - ๐Ÿ–ฅ๏ธ WebRTC producer_1749198923656 set as PRODUCER (explicit role) +2025-06-06 10:36:46,284 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Generated answer for producer_1749198923656 +2025-06-06 10:36:46,287 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 54766) -> ('192.168.1.83', 59261)) State.FROZEN -> State.IN_PROGRESS +2025-06-06 10:36:46,288 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 54766) -> ('192.168.1.83', 59261)) State.IN_PROGRESS -> State.SUCCEEDED +2025-06-06 10:36:46,288 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 54766) -> ('82.66.87.218', 59261)) State.FROZEN -> State.WAITING +2025-06-06 10:36:46,308 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 54766) -> ('82.66.87.218', 59261)) State.WAITING -> State.IN_PROGRESS +2025-06-06 10:36:50,065 - video.core - INFO - WebRTC producer_1749198923656 ICE state: closed +2025-06-06 10:36:50,065 - video.core - INFO - WebRTC producer_1749198923656 connection state: closed +2025-06-06 10:36:50,065 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Cleaned up WebRTC connection for producer_1749198923656 +2025-06-06 10:36:50,065 - video.core - INFO - WebRTC consumer_1749199005515 ICE state: closed +2025-06-06 10:36:50,065 - video.core - INFO - WebRTC consumer_1749199005515 connection state: closed +2025-06-06 10:36:50,065 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Cleaned up WebRTC connection for consumer_1749199005515 +2025-06-06 10:36:50,065 - video.core - INFO - ๐Ÿ”— P2P Strategy initialized for room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 10:36:50,065 - video.core - INFO - ๐Ÿ”— P2P: Producer producer_1749198923656 setup for P2P strategy +2025-06-06 10:36:50,065 - video.core - INFO - ๐Ÿ”— P2P: Consumer consumer_1749199005515 setup for P2P strategy +2025-06-06 10:36:50,066 - video.core - INFO - ๐Ÿ”„ Room fb6d5136-b7d3-4263-90cc-cf017723989c strategy switched: server -> p2p (User requested via UI) +2025-06-06 10:36:53,453 - video.core - INFO - ๐ŸŽฅ Consumer consumer_1749199005515 left video room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 10:36:53,454 - video.core - INFO - ๐Ÿ”— P2P: Cleaned up participant consumer_1749199005515 +2025-06-06 10:36:54,483 - video.core - INFO - ๐ŸŽฅ Consumer consumer_1749199013488 joined video room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 10:36:54,485 - video.core - INFO - ๐Ÿ”— P2P: Consumer consumer_1749199013488 setup for P2P strategy +2025-06-06 10:36:54,493 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749198923656 (role: producer) in room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 10:36:54,493 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 10:36:54,493 - video.core - INFO - ๐Ÿ”— P2P Strategy: offer from producer_1749198923656 (role: producer) +2025-06-06 10:36:54,493 - video.core - INFO - ๐Ÿ”„ P2P: Forwarding offer from producer producer_1749198923656 to consumer consumer_1749199013488 +2025-06-06 10:36:54,513 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749199013488 (role: consumer) in room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 10:36:54,513 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 10:36:54,513 - video.core - INFO - ๐Ÿ”— P2P Strategy: answer from consumer_1749199013488 (role: consumer) +2025-06-06 10:36:54,513 - video.core - INFO - ๐Ÿ”„ P2P: Forwarding answer from consumer consumer_1749199013488 to producer producer_1749198923656 +2025-06-06 10:36:54,516 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749199013488 (role: consumer) in room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 10:36:54,516 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 10:36:54,516 - video.core - INFO - ๐Ÿ”— P2P Strategy: ice from consumer_1749199013488 (role: consumer) +2025-06-06 10:37:17,814 - asyncio - WARNING - socket.send() raised exception. +2025-06-06 10:37:44,632 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 54766) -> ('82.66.87.218', 59261)) State.IN_PROGRESS -> State.FAILED +2025-06-06 10:37:49,816 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 54766) -> ('82.66.87.218', 59261)) State.IN_PROGRESS -> State.FAILED +2025-06-06 10:38:22,737 - watchfiles.main - INFO - 1 change detected +2025-06-06 10:38:22,832 - video.core - INFO - ๐ŸŽฅ Consumer consumer_1749199013488 left video room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 10:38:22,835 - video.core - INFO - ๐ŸŽฅ Producer producer_1749198923656 left video room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 10:38:22,836 - video.core - INFO - ๐Ÿ”— P2P: Cleaned up participant consumer_1749199013488 +2025-06-06 10:38:22,839 - video.core - INFO - ๐Ÿ”— P2P: Cleaned up participant producer_1749198923656 +2025-06-06 10:38:23,665 - watchfiles.main - INFO - 2 changes detected +2025-06-06 10:38:24,029 - watchfiles.main - INFO - 3 changes detected +2025-06-06 10:38:24,144 - video.core - INFO - ๐ŸŽฅ VideoCore initialized with dual communication strategies +2025-06-06 10:38:24,389 - watchfiles.main - INFO - 1 change detected +2025-06-06 10:38:40,108 - watchfiles.main - INFO - 1 change detected +2025-06-06 10:38:40,771 - watchfiles.main - INFO - 3 changes detected +2025-06-06 10:38:40,921 - video.core - INFO - ๐ŸŽฅ VideoCore initialized with dual communication strategies +2025-06-06 10:38:41,131 - watchfiles.main - INFO - 1 change detected +2025-06-06 10:38:56,840 - watchfiles.main - INFO - 1 change detected +2025-06-06 10:38:57,535 - watchfiles.main - INFO - 3 changes detected +2025-06-06 10:38:57,649 - video.core - INFO - ๐ŸŽฅ VideoCore initialized with dual communication strategies +2025-06-06 10:38:57,892 - watchfiles.main - INFO - 1 change detected +2025-06-06 10:39:09,620 - watchfiles.main - INFO - 1 change detected +2025-06-06 10:39:10,231 - watchfiles.main - INFO - 3 changes detected +2025-06-06 10:39:10,345 - video.core - INFO - ๐ŸŽฅ VideoCore initialized with dual communication strategies +2025-06-06 10:39:10,592 - watchfiles.main - INFO - 1 change detected +2025-06-06 10:39:30,700 - watchfiles.main - INFO - 1 change detected +2025-06-06 10:39:31,361 - watchfiles.main - INFO - 3 changes detected +2025-06-06 10:39:31,460 - video.core - INFO - ๐ŸŽฅ VideoCore initialized with dual communication strategies +2025-06-06 10:39:31,720 - watchfiles.main - INFO - 1 change detected +2025-06-06 10:39:53,172 - video.core - INFO - ๐ŸŽฅ VideoCore initialized with dual communication strategies +2025-06-06 10:39:53,195 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-06 10:39:53,535 - video.core - INFO - ๐ŸŽฅ VideoCore initialized with dual communication strategies +2025-06-06 10:39:53,615 - watchfiles.main - INFO - 1 change detected +2025-06-06 10:39:58,468 - video.core - INFO - ๐Ÿ”— P2P Strategy initialized for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:39:58,470 - video.core - INFO - ๐ŸŽฅ Created video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b with p2p strategy +2025-06-06 10:40:01,617 - video.core - INFO - ๐ŸŽฅ Producer producer_1749199200285 joined video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:40:01,618 - video.core - INFO - ๐Ÿ”— P2P: Producer producer_1749199200285 setup for P2P strategy +2025-06-06 10:40:04,671 - video.core - INFO - ๐ŸŽฅ Stream started by producer_1749199200285 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:40:08,717 - video.core - INFO - ๐ŸŽฅ Consumer consumer_1749199199975 joined video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:40:08,717 - video.core - INFO - ๐Ÿ”— P2P: Consumer consumer_1749199199975 setup for P2P strategy +2025-06-06 10:40:08,819 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749199200285 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:40:08,821 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 10:40:08,823 - video.core - INFO - ๐Ÿ”— P2P Strategy: offer from producer_1749199200285 (role: producer) +2025-06-06 10:40:08,826 - video.core - INFO - ๐Ÿ”„ P2P: Forwarding offer from producer producer_1749199200285 to consumer consumer_1749199199975 +2025-06-06 10:40:08,846 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749199200285 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:40:08,849 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 10:40:08,866 - video.core - INFO - ๐Ÿ”— P2P Strategy: ice from producer_1749199200285 (role: producer) +2025-06-06 10:40:08,967 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749199199975 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:40:08,967 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 10:40:08,969 - video.core - INFO - ๐Ÿ”— P2P Strategy: answer from consumer_1749199199975 (role: consumer) +2025-06-06 10:40:08,969 - video.core - INFO - ๐Ÿ”„ P2P: Forwarding answer from consumer consumer_1749199199975 to producer producer_1749199200285 +2025-06-06 10:40:09,054 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749199200285 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:40:09,094 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 10:40:09,094 - video.core - INFO - ๐Ÿ”— P2P Strategy: ice from producer_1749199200285 (role: producer) +2025-06-06 10:40:09,103 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749199200285 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:40:09,103 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 10:40:09,103 - video.core - INFO - ๐Ÿ”— P2P Strategy: ice from producer_1749199200285 (role: producer) +2025-06-06 10:40:09,108 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749199199975 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:40:09,109 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 10:40:09,109 - video.core - INFO - ๐Ÿ”— P2P Strategy: ice from consumer_1749199199975 (role: consumer) +2025-06-06 10:40:17,677 - video.core - INFO - ๐Ÿ”— P2P: Cleaned up participant producer_1749199200285 +2025-06-06 10:40:17,677 - video.core - INFO - ๐Ÿ”— P2P: Cleaned up participant consumer_1749199199975 +2025-06-06 10:40:17,677 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay Strategy initialized for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:40:17,677 - video.core - INFO - ๐Ÿš€ Server is now ready to relay video frames for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:40:17,686 - video.core - INFO - WebRTC connection producer_1749199200285 initialized +2025-06-06 10:40:17,687 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Created WebRTC connection for producer_1749199200285 +2025-06-06 10:40:17,687 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: producer producer_1749199200285 setup for server relay +2025-06-06 10:40:17,687 - video.core - INFO - WebRTC connection consumer_1749199199975 initialized +2025-06-06 10:40:17,687 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Created WebRTC connection for consumer_1749199199975 +2025-06-06 10:40:17,687 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: consumer consumer_1749199199975 setup for server relay +2025-06-06 10:40:17,687 - video.core - INFO - ๐Ÿ”„ Room 32fd74a9-26a0-4a29-89bf-6f020eccf65b strategy switched: p2p -> server (User requested via UI) +2025-06-06 10:41:36,857 - watchfiles.main - INFO - 1 change detected +2025-06-06 10:41:36,951 - video.core - INFO - ๐ŸŽฅ Producer producer_1749199200285 left video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:41:36,952 - video.core - INFO - ๐ŸŽฅ Consumer consumer_1749199199975 left video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:41:36,952 - video.core - INFO - WebRTC producer_1749199200285 ICE state: closed +2025-06-06 10:41:36,952 - video.core - INFO - WebRTC producer_1749199200285 connection state: closed +2025-06-06 10:41:36,952 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Cleaned up WebRTC connection for producer_1749199200285 +2025-06-06 10:41:36,953 - video.core - INFO - WebRTC consumer_1749199199975 ICE state: closed +2025-06-06 10:41:36,953 - video.core - INFO - WebRTC consumer_1749199199975 connection state: closed +2025-06-06 10:41:36,953 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Cleaned up WebRTC connection for consumer_1749199199975 +2025-06-06 10:41:37,518 - watchfiles.main - INFO - 4 changes detected +2025-06-06 10:41:37,594 - video.core - INFO - ๐ŸŽฅ VideoCore initialized with dual communication strategies +2025-06-06 10:41:37,873 - watchfiles.main - INFO - 1 change detected +2025-06-06 10:41:47,653 - watchfiles.main - INFO - 1 change detected +2025-06-06 10:41:48,387 - watchfiles.main - INFO - 3 changes detected +2025-06-06 10:41:48,501 - video.core - INFO - ๐ŸŽฅ VideoCore initialized with dual communication strategies +2025-06-06 10:41:48,748 - watchfiles.main - INFO - 1 change detected +2025-06-06 10:42:03,398 - watchfiles.main - INFO - 1 change detected +2025-06-06 10:42:04,010 - watchfiles.main - INFO - 3 changes detected +2025-06-06 10:42:04,145 - video.core - INFO - ๐ŸŽฅ VideoCore initialized with dual communication strategies +2025-06-06 10:42:04,371 - watchfiles.main - INFO - 1 change detected +2025-06-06 10:42:20,687 - video.core - INFO - ๐ŸŽฅ VideoCore initialized with dual communication strategies +2025-06-06 10:42:20,707 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-06 10:42:20,993 - video.core - INFO - ๐ŸŽฅ VideoCore initialized with dual communication strategies +2025-06-06 10:42:21,127 - watchfiles.main - INFO - 1 change detected +2025-06-06 10:42:25,598 - video.core - INFO - ๐Ÿ”— P2P Strategy initialized for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:42:25,598 - video.core - INFO - ๐ŸŽฅ Created video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b with p2p strategy +2025-06-06 10:42:28,267 - video.core - INFO - ๐ŸŽฅ Producer producer_1749199347154 joined video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:42:28,267 - video.core - INFO - ๐Ÿ”— P2P: Producer producer_1749199347154 setup for P2P strategy +2025-06-06 10:42:32,670 - video.core - INFO - ๐ŸŽฅ Stream started by producer_1749199347154 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:42:34,703 - video.core - INFO - ๐ŸŽฅ Consumer consumer_1749199347395 joined video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:42:34,705 - video.core - INFO - ๐Ÿ”— P2P: Consumer consumer_1749199347395 setup for P2P strategy +2025-06-06 10:42:34,723 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749199347154 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:42:34,723 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 10:42:34,723 - video.core - INFO - ๐Ÿ”— P2P Strategy: offer from producer_1749199347154 (role: producer) +2025-06-06 10:42:34,723 - video.core - INFO - ๐Ÿ”„ P2P: Forwarding offer from producer producer_1749199347154 to consumer consumer_1749199347395 +2025-06-06 10:42:34,729 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749199347154 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:42:34,729 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 10:42:34,729 - video.core - INFO - ๐Ÿ”— P2P Strategy: ice from producer_1749199347154 (role: producer) +2025-06-06 10:42:34,759 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749199347154 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:42:34,759 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 10:42:34,760 - video.core - INFO - ๐Ÿ”— P2P Strategy: ice from producer_1749199347154 (role: producer) +2025-06-06 10:42:34,810 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749199347395 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:42:34,810 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 10:42:34,810 - video.core - INFO - ๐Ÿ”— P2P Strategy: answer from consumer_1749199347395 (role: consumer) +2025-06-06 10:42:34,810 - video.core - INFO - ๐Ÿ”„ P2P: Forwarding answer from consumer consumer_1749199347395 to producer producer_1749199347154 +2025-06-06 10:42:34,823 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749199347395 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:42:34,823 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 10:42:34,823 - video.core - INFO - ๐Ÿ”— P2P Strategy: ice from consumer_1749199347395 (role: consumer) +2025-06-06 10:42:37,992 - video.core - INFO - ๐Ÿ”— P2P: Cleaned up participant producer_1749199347154 +2025-06-06 10:42:37,992 - video.core - INFO - ๐Ÿ”— P2P: Cleaned up participant consumer_1749199347395 +2025-06-06 10:42:37,992 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay Strategy initialized for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:42:37,992 - video.core - INFO - ๐Ÿš€ Server is now ready to relay video frames for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:42:37,997 - video.core - INFO - WebRTC connection producer_1749199347154 initialized +2025-06-06 10:42:37,997 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Created WebRTC connection for producer_1749199347154 +2025-06-06 10:42:37,997 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: producer producer_1749199347154 setup for server relay +2025-06-06 10:42:37,998 - video.core - INFO - WebRTC connection consumer_1749199347395 initialized +2025-06-06 10:42:37,998 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Created WebRTC connection for consumer_1749199347395 +2025-06-06 10:42:37,998 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: consumer consumer_1749199347395 setup for server relay +2025-06-06 10:42:37,998 - video.core - INFO - ๐Ÿ”„ Room 32fd74a9-26a0-4a29-89bf-6f020eccf65b strategy switched: p2p -> server (User requested via UI) +2025-06-06 10:45:22,948 - video.core - INFO - ๐ŸŽฅ VideoCore initialized with dual communication strategies +2025-06-06 10:45:22,970 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-06 10:45:23,119 - watchfiles.main - INFO - 1 change detected +2025-06-06 10:45:26,920 - watchfiles.main - INFO - 4 changes detected +2025-06-06 10:45:26,937 - video.core - INFO - ๐ŸŽฅ Consumer consumer_1749199347395 left video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:45:26,939 - video.core - INFO - ๐ŸŽฅ Producer producer_1749199347154 left video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:45:26,940 - video.core - INFO - ๐ŸงŠ WebRTC consumer_1749199347395 ICE state: closed +2025-06-06 10:45:26,941 - video.core - INFO - ๐Ÿ”— WebRTC consumer_1749199347395 connection state: closed +2025-06-06 10:45:26,941 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Cleaned up WebRTC connection for consumer_1749199347395 +2025-06-06 10:45:26,942 - video.core - INFO - ๐ŸงŠ WebRTC producer_1749199347154 ICE state: closed +2025-06-06 10:45:26,942 - video.core - INFO - ๐Ÿ”— WebRTC producer_1749199347154 connection state: closed +2025-06-06 10:45:26,942 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Cleaned up WebRTC connection for producer_1749199347154 +2025-06-06 10:45:27,577 - watchfiles.main - INFO - 11 changes detected +2025-06-06 10:45:27,953 - video.core - INFO - ๐ŸŽฅ VideoCore initialized with dual communication strategies +2025-06-06 10:45:28,049 - watchfiles.main - INFO - 7 changes detected +2025-06-06 10:45:41,289 - video.core - INFO - ๐Ÿ”— P2P Strategy initialized for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:45:41,293 - video.core - INFO - ๐ŸŽฅ Created video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b with p2p strategy +2025-06-06 10:45:44,110 - video.core - INFO - ๐ŸŽฅ Producer producer_1749199542757 joined video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:45:44,111 - video.core - INFO - ๐Ÿ”— P2P: Producer producer_1749199542757 setup for P2P strategy +2025-06-06 10:45:47,693 - video.core - INFO - ๐ŸŽฅ Stream started by producer_1749199542757 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:45:48,914 - video.core - INFO - ๐ŸŽฅ Consumer consumer_1749199542950 joined video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:45:48,915 - video.core - INFO - ๐Ÿ”— P2P: Consumer consumer_1749199542950 setup for P2P strategy +2025-06-06 10:45:48,929 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749199542757 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:45:48,930 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 10:45:48,930 - video.core - INFO - ๐Ÿ”— P2P Strategy: offer from producer_1749199542757 (role: producer) +2025-06-06 10:45:48,930 - video.core - INFO - ๐Ÿ”„ P2P: Forwarding offer from producer producer_1749199542757 to consumer consumer_1749199542950 +2025-06-06 10:45:48,935 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749199542757 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:45:48,936 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 10:45:48,936 - video.core - INFO - ๐Ÿ”— P2P Strategy: ice from producer_1749199542757 (role: producer) +2025-06-06 10:45:48,963 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749199542950 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:45:48,964 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 10:45:48,964 - video.core - INFO - ๐Ÿ”— P2P Strategy: answer from consumer_1749199542950 (role: consumer) +2025-06-06 10:45:48,964 - video.core - INFO - ๐Ÿ”„ P2P: Forwarding answer from consumer consumer_1749199542950 to producer producer_1749199542757 +2025-06-06 10:45:48,967 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749199542950 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:45:48,967 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 10:45:48,967 - video.core - INFO - ๐Ÿ”— P2P Strategy: ice from consumer_1749199542950 (role: consumer) +2025-06-06 10:45:53,176 - video.core - INFO - ๐Ÿ”— P2P: Cleaned up participant producer_1749199542757 +2025-06-06 10:45:53,176 - video.core - INFO - ๐Ÿ”— P2P: Cleaned up participant consumer_1749199542950 +2025-06-06 10:45:53,176 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay Strategy initialized for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:45:53,176 - video.core - INFO - ๐Ÿš€ Server is now ready to relay video frames for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:45:53,182 - video.core - INFO - WebRTC connection producer_1749199542757 initialized +2025-06-06 10:45:53,182 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Created WebRTC connection for producer_1749199542757 +2025-06-06 10:45:53,182 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: producer producer_1749199542757 setup for server relay +2025-06-06 10:45:53,183 - video.core - INFO - WebRTC connection consumer_1749199542950 initialized +2025-06-06 10:45:53,183 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Created WebRTC connection for consumer_1749199542950 +2025-06-06 10:45:53,183 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: consumer consumer_1749199542950 setup for server relay +2025-06-06 10:45:53,183 - video.core - INFO - ๐Ÿ”„ Room 32fd74a9-26a0-4a29-89bf-6f020eccf65b strategy switched: p2p -> server (User requested via UI) +2025-06-06 10:46:02,607 - video.core - INFO - ๐ŸŽฅ Producer producer_1749199542757 left video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:46:02,608 - video.core - INFO - ๐ŸŽฅ Consumer consumer_1749199542950 left video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:46:02,608 - video.core - INFO - ๐ŸงŠ WebRTC producer_1749199542757 ICE state: closed +2025-06-06 10:46:02,608 - video.core - INFO - ๐Ÿ”— WebRTC producer_1749199542757 connection state: closed +2025-06-06 10:46:02,609 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Cleaned up WebRTC connection for producer_1749199542757 +2025-06-06 10:46:02,609 - video.core - INFO - ๐ŸงŠ WebRTC consumer_1749199542950 ICE state: closed +2025-06-06 10:46:02,609 - video.core - INFO - ๐Ÿ”— WebRTC consumer_1749199542950 connection state: closed +2025-06-06 10:46:02,609 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Cleaned up WebRTC connection for consumer_1749199542950 +2025-06-06 10:46:05,009 - video.core - INFO - ๐ŸŽฅ VideoCore initialized with dual communication strategies +2025-06-06 10:46:05,030 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-06 10:46:05,397 - video.core - INFO - ๐ŸŽฅ VideoCore initialized with dual communication strategies +2025-06-06 10:46:05,507 - watchfiles.main - INFO - 1 change detected +2025-06-06 10:46:20,345 - video.core - INFO - ๐Ÿ”— P2P Strategy initialized for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:46:20,346 - video.core - INFO - ๐ŸŽฅ Created video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b with p2p strategy +2025-06-06 10:46:23,353 - video.core - INFO - ๐ŸŽฅ Producer producer_1749199581917 joined video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:46:23,354 - video.core - INFO - ๐Ÿ”— P2P: Producer producer_1749199581917 setup for P2P strategy +2025-06-06 10:46:25,788 - video.core - INFO - ๐ŸŽฅ Stream started by producer_1749199581917 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:46:26,652 - video.core - INFO - ๐ŸŽฅ Consumer consumer_1749199582085 joined video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:46:26,653 - video.core - INFO - ๐Ÿ”— P2P: Consumer consumer_1749199582085 setup for P2P strategy +2025-06-06 10:46:26,664 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749199581917 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:46:26,665 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 10:46:26,665 - video.core - INFO - ๐Ÿ”— P2P Strategy: offer from producer_1749199581917 (role: producer) +2025-06-06 10:46:26,665 - video.core - INFO - ๐Ÿ”„ P2P: Forwarding offer from producer producer_1749199581917 to consumer consumer_1749199582085 +2025-06-06 10:46:26,669 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749199581917 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:46:26,669 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 10:46:26,669 - video.core - INFO - ๐Ÿ”— P2P Strategy: ice from producer_1749199581917 (role: producer) +2025-06-06 10:46:26,691 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749199581917 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:46:26,703 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 10:46:26,703 - video.core - INFO - ๐Ÿ”— P2P Strategy: ice from producer_1749199581917 (role: producer) +2025-06-06 10:46:26,706 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749199582085 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:46:26,706 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 10:46:26,706 - video.core - INFO - ๐Ÿ”— P2P Strategy: answer from consumer_1749199582085 (role: consumer) +2025-06-06 10:46:26,706 - video.core - INFO - ๐Ÿ”„ P2P: Forwarding answer from consumer consumer_1749199582085 to producer producer_1749199581917 +2025-06-06 10:46:26,713 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749199582085 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:46:26,714 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 10:46:26,714 - video.core - INFO - ๐Ÿ”— P2P Strategy: ice from consumer_1749199582085 (role: consumer) +2025-06-06 10:46:29,454 - video.core - INFO - ๐Ÿ”— P2P: Cleaned up participant producer_1749199581917 +2025-06-06 10:46:29,454 - video.core - INFO - ๐Ÿ”— P2P: Cleaned up participant consumer_1749199582085 +2025-06-06 10:46:29,455 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay Strategy initialized for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:46:29,455 - video.core - INFO - ๐Ÿš€ Server is now ready to relay video frames for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:46:29,464 - video.core - INFO - WebRTC connection producer_1749199581917 initialized +2025-06-06 10:46:29,465 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Created WebRTC connection for producer_1749199581917 +2025-06-06 10:46:29,465 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: producer producer_1749199581917 setup for server relay +2025-06-06 10:46:29,466 - video.core - INFO - WebRTC connection consumer_1749199582085 initialized +2025-06-06 10:46:29,466 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Created WebRTC connection for consumer_1749199582085 +2025-06-06 10:46:29,466 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: consumer consumer_1749199582085 setup for server relay +2025-06-06 10:46:29,467 - video.core - INFO - ๐Ÿ”„ Room 32fd74a9-26a0-4a29-89bf-6f020eccf65b strategy switched: p2p -> server (User requested via UI) +2025-06-06 10:46:29,576 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749199582085 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:46:29,576 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 10:46:29,576 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: offer from consumer_1749199582085 (role: consumer) +2025-06-06 10:46:29,576 - video.core - INFO - ๐Ÿค Processing WebRTC offer from consumer consumer_1749199582085 +2025-06-06 10:46:29,576 - video.core - INFO - ๐Ÿ”ง Processing SDP offer from consumer_1749199582085 (length: 105 chars) +2025-06-06 10:46:29,576 - video.core - INFO - VideoFrameTrack created with recovery policy: freeze_last_frame +2025-06-06 10:46:29,577 - video.core - INFO - ๐Ÿ–ฅ๏ธ WebRTC consumer_1749199582085 set as CONSUMER (explicit role) - video track added +2025-06-06 10:46:29,577 - video.core - ERROR - Error in handle_offer for consumer_1749199582085 +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/video/core.py", line 399, in handle_offer + await self.pc.setLocalDescription(answer) + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/aiortc/rtcpeerconnection.py", line 832, in setLocalDescription + t._setCurrentDirection(and_direction(t.direction, t._offerDirection)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/aiortc/rtcpeerconnection.py", line 260, in and_direction + return sdp.DIRECTIONS[sdp.DIRECTIONS.index(a) & sdp.DIRECTIONS.index(b)] + ^^^^^^^^^^^^^^^^^^^^^^^ +ValueError: None is not in list +2025-06-06 10:46:29,581 - video.core - ERROR - โŒ Server Relay: Error handling offer from consumer_1749199582085 +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/video/core.py", line 1492, in handle_webrtc_signal + answer_sdp = await webrtc_conn.handle_offer(sdp, participant_role) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/video/core.py", line 399, in handle_offer + await self.pc.setLocalDescription(answer) + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/aiortc/rtcpeerconnection.py", line 832, in setLocalDescription + t._setCurrentDirection(and_direction(t.direction, t._offerDirection)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/aiortc/rtcpeerconnection.py", line 260, in and_direction + return sdp.DIRECTIONS[sdp.DIRECTIONS.index(a) & sdp.DIRECTIONS.index(b)] + ^^^^^^^^^^^^^^^^^^^^^^^ +ValueError: None is not in list +2025-06-06 10:46:30,178 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749199581917 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:46:30,179 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 10:46:30,179 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: offer from producer_1749199581917 (role: producer) +2025-06-06 10:46:30,179 - video.core - INFO - ๐Ÿค Processing WebRTC offer from producer producer_1749199581917 +2025-06-06 10:46:30,179 - video.core - INFO - ๐Ÿ”ง Processing SDP offer from producer_1749199581917 (length: 105 chars) +2025-06-06 10:46:30,179 - video.core - INFO - ๐Ÿ–ฅ๏ธ WebRTC producer_1749199581917 set as PRODUCER (explicit role) +2025-06-06 10:46:35,258 - video.core - WARNING - ICE gathering timeout for producer_1749199581917 +2025-06-06 10:46:35,259 - video.core - INFO - โœ… Generated WebRTC answer for producer_1749199581917 (length: 99 chars) +2025-06-06 10:50:54,670 - video.core - INFO - ๐ŸŽฅ Consumer consumer_1749199582085 left video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:50:54,671 - video.core - INFO - ๐ŸงŠ WebRTC consumer_1749199582085 ICE state: closed +2025-06-06 10:50:54,672 - video.core - INFO - ๐Ÿ”— WebRTC consumer_1749199582085 connection state: closed +2025-06-06 10:50:54,672 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Cleaned up WebRTC connection for consumer_1749199582085 +2025-06-06 10:50:55,249 - video.core - INFO - ๐ŸŽฅ Producer producer_1749199581917 left video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:50:55,250 - video.core - INFO - ๐ŸงŠ WebRTC producer_1749199581917 ICE state: closed +2025-06-06 10:50:55,250 - video.core - INFO - ๐Ÿ”— WebRTC producer_1749199581917 connection state: closed +2025-06-06 10:50:55,250 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Cleaned up WebRTC connection for producer_1749199581917 +2025-06-06 10:50:58,281 - video.core - INFO - ๐ŸŽฅ VideoCore initialized with dual communication strategies +2025-06-06 10:50:58,323 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-06 10:50:58,911 - video.core - INFO - ๐ŸŽฅ VideoCore initialized with dual communication strategies +2025-06-06 10:50:59,045 - watchfiles.main - INFO - 1 change detected +2025-06-06 10:51:12,289 - video.core - INFO - ๐Ÿ”— P2P Strategy initialized for room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 10:51:12,290 - video.core - INFO - ๐ŸŽฅ Created video room fb6d5136-b7d3-4263-90cc-cf017723989c with p2p strategy +2025-06-06 10:51:15,048 - video.core - INFO - ๐ŸŽฅ Producer producer_1749199874209 joined video room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 10:51:15,049 - video.core - INFO - ๐Ÿ”— P2P: Producer producer_1749199874209 setup for P2P strategy +2025-06-06 10:51:18,172 - video.core - INFO - ๐ŸŽฅ Stream started by producer_1749199874209 in room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 10:51:18,720 - video.core - INFO - ๐ŸŽฅ Consumer consumer_1749199874283 joined video room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 10:51:18,721 - video.core - INFO - ๐Ÿ”— P2P: Consumer consumer_1749199874283 setup for P2P strategy +2025-06-06 10:51:18,752 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749199874209 (role: producer) in room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 10:51:18,752 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 10:51:18,752 - video.core - INFO - ๐Ÿ”— P2P Strategy: offer from producer_1749199874209 (role: producer) +2025-06-06 10:51:18,753 - video.core - INFO - ๐Ÿ”„ P2P: Forwarding offer from producer producer_1749199874209 to consumer consumer_1749199874283 +2025-06-06 10:51:18,758 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749199874209 (role: producer) in room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 10:51:18,759 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 10:51:18,759 - video.core - INFO - ๐Ÿ”— P2P Strategy: ice from producer_1749199874209 (role: producer) +2025-06-06 10:51:18,816 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749199874209 (role: producer) in room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 10:51:18,817 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 10:51:18,819 - video.core - INFO - ๐Ÿ”— P2P Strategy: ice from producer_1749199874209 (role: producer) +2025-06-06 10:51:18,887 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749199874283 (role: consumer) in room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 10:51:18,888 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 10:51:18,888 - video.core - INFO - ๐Ÿ”— P2P Strategy: answer from consumer_1749199874283 (role: consumer) +2025-06-06 10:51:18,888 - video.core - INFO - ๐Ÿ”„ P2P: Forwarding answer from consumer consumer_1749199874283 to producer producer_1749199874209 +2025-06-06 10:51:18,909 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749199874283 (role: consumer) in room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 10:51:18,909 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 10:51:18,910 - video.core - INFO - ๐Ÿ”— P2P Strategy: ice from consumer_1749199874283 (role: consumer) +2025-06-06 10:51:18,911 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749199874209 (role: producer) in room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 10:51:18,911 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 10:51:18,911 - video.core - INFO - ๐Ÿ”— P2P Strategy: ice from producer_1749199874209 (role: producer) +2025-06-06 10:51:22,199 - video.core - INFO - ๐Ÿ”— P2P: Cleaned up participant producer_1749199874209 +2025-06-06 10:51:22,200 - video.core - INFO - ๐Ÿ”— P2P: Cleaned up participant consumer_1749199874283 +2025-06-06 10:51:22,200 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay Strategy initialized for room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 10:51:22,200 - video.core - INFO - ๐Ÿš€ Server is now ready to relay video frames for room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 10:51:22,237 - video.core - INFO - WebRTC connection producer_1749199874209 initialized +2025-06-06 10:51:22,237 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Created WebRTC connection for producer_1749199874209 +2025-06-06 10:51:22,237 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: producer producer_1749199874209 setup for server relay +2025-06-06 10:51:22,237 - video.core - INFO - WebRTC connection consumer_1749199874283 initialized +2025-06-06 10:51:22,237 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Created WebRTC connection for consumer_1749199874283 +2025-06-06 10:51:22,237 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: consumer consumer_1749199874283 setup for server relay +2025-06-06 10:51:22,238 - video.core - INFO - ๐Ÿ”„ Room fb6d5136-b7d3-4263-90cc-cf017723989c strategy switched: p2p -> server (User requested via UI) +2025-06-06 10:51:22,348 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749199874283 (role: consumer) in room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 10:51:22,349 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 10:51:22,349 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: offer from consumer_1749199874283 (role: consumer) +2025-06-06 10:51:22,349 - video.core - INFO - ๐Ÿค Processing WebRTC offer from consumer consumer_1749199874283 +2025-06-06 10:51:22,349 - video.core - INFO - ๐Ÿ”ง Processing SDP offer from consumer_1749199874283 (length: 105 chars) +2025-06-06 10:51:22,349 - video.core - INFO - VideoFrameTrack created with recovery policy: freeze_last_frame +2025-06-06 10:51:22,351 - video.core - INFO - ๐Ÿ–ฅ๏ธ WebRTC consumer_1749199874283 set as CONSUMER (explicit role) - video track added +2025-06-06 10:51:22,353 - video.core - ERROR - Error in handle_offer for consumer_1749199874283 +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/video/core.py", line 399, in handle_offer + await self.pc.setLocalDescription(answer) + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/aiortc/rtcpeerconnection.py", line 832, in setLocalDescription + t._setCurrentDirection(and_direction(t.direction, t._offerDirection)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/aiortc/rtcpeerconnection.py", line 260, in and_direction + return sdp.DIRECTIONS[sdp.DIRECTIONS.index(a) & sdp.DIRECTIONS.index(b)] + ^^^^^^^^^^^^^^^^^^^^^^^ +ValueError: None is not in list +2025-06-06 10:51:22,356 - video.core - ERROR - โŒ Server Relay: Error handling offer from consumer_1749199874283 +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/video/core.py", line 1492, in handle_webrtc_signal + answer_sdp = await webrtc_conn.handle_offer(sdp, participant_role) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/video/core.py", line 399, in handle_offer + await self.pc.setLocalDescription(answer) + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/aiortc/rtcpeerconnection.py", line 832, in setLocalDescription + t._setCurrentDirection(and_direction(t.direction, t._offerDirection)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/aiortc/rtcpeerconnection.py", line 260, in and_direction + return sdp.DIRECTIONS[sdp.DIRECTIONS.index(a) & sdp.DIRECTIONS.index(b)] + ^^^^^^^^^^^^^^^^^^^^^^^ +ValueError: None is not in list +2025-06-06 10:51:23,187 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749199874209 (role: producer) in room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 10:51:23,187 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 10:51:23,187 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: offer from producer_1749199874209 (role: producer) +2025-06-06 10:51:23,187 - video.core - INFO - ๐Ÿค Processing WebRTC offer from producer producer_1749199874209 +2025-06-06 10:51:23,187 - video.core - INFO - ๐Ÿ”ง Processing SDP offer from producer_1749199874209 (length: 105 chars) +2025-06-06 10:51:23,188 - video.core - INFO - ๐Ÿ–ฅ๏ธ WebRTC producer_1749199874209 set as PRODUCER (explicit role) +2025-06-06 10:51:28,244 - video.core - WARNING - ICE gathering timeout for producer_1749199874209 +2025-06-06 10:51:28,245 - video.core - INFO - โœ… Generated WebRTC answer for producer_1749199874209 (length: 99 chars) +2025-06-06 10:52:58,003 - watchfiles.main - INFO - 1 change detected +2025-06-06 10:52:58,102 - video.core - INFO - ๐ŸŽฅ Consumer consumer_1749199874283 left video room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 10:52:58,102 - video.core - INFO - ๐ŸŽฅ Producer producer_1749199874209 left video room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 10:52:58,103 - video.core - INFO - ๐ŸงŠ WebRTC consumer_1749199874283 ICE state: closed +2025-06-06 10:52:58,103 - video.core - INFO - ๐Ÿ”— WebRTC consumer_1749199874283 connection state: closed +2025-06-06 10:52:58,103 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Cleaned up WebRTC connection for consumer_1749199874283 +2025-06-06 10:52:58,103 - video.core - INFO - ๐ŸงŠ WebRTC producer_1749199874209 ICE state: closed +2025-06-06 10:52:58,103 - video.core - INFO - ๐Ÿ”— WebRTC producer_1749199874209 connection state: closed +2025-06-06 10:52:58,103 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Cleaned up WebRTC connection for producer_1749199874209 +2025-06-06 10:52:58,669 - watchfiles.main - INFO - 4 changes detected +2025-06-06 10:52:58,758 - video.core - INFO - ๐ŸŽฅ VideoCore initialized with dual communication strategies +2025-06-06 10:52:59,024 - watchfiles.main - INFO - 1 change detected +2025-06-06 10:53:31,692 - watchfiles.main - INFO - 1 change detected +2025-06-06 10:53:32,336 - watchfiles.main - INFO - 3 changes detected +2025-06-06 10:53:32,378 - video.core - INFO - ๐ŸŽฅ VideoCore initialized with dual communication strategies +2025-06-06 10:53:32,702 - watchfiles.main - INFO - 1 change detected +2025-06-06 10:54:02,479 - video.core - INFO - ๐ŸŽฅ VideoCore initialized with dual communication strategies +2025-06-06 10:54:02,497 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-06 10:54:02,785 - video.core - INFO - ๐ŸŽฅ VideoCore initialized with dual communication strategies +2025-06-06 10:54:02,910 - watchfiles.main - INFO - 1 change detected +2025-06-06 10:54:14,600 - video.core - INFO - ๐Ÿ”— P2P Strategy initialized for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:54:14,602 - video.core - INFO - ๐ŸŽฅ Created video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b with p2p strategy +2025-06-06 10:54:16,871 - video.core - INFO - ๐ŸŽฅ Producer producer_1749200056153 joined video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:54:16,872 - video.core - INFO - ๐Ÿ”— P2P: Producer producer_1749200056153 setup for P2P strategy +2025-06-06 10:54:19,625 - video.core - INFO - ๐ŸŽฅ Stream started by producer_1749200056153 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:54:19,959 - video.core - INFO - ๐ŸŽฅ Consumer consumer_1749200056212 joined video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:54:19,960 - video.core - INFO - ๐Ÿ”— P2P: Consumer consumer_1749200056212 setup for P2P strategy +2025-06-06 10:54:19,970 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749200056153 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:54:19,970 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 10:54:19,970 - video.core - INFO - ๐Ÿ”— P2P Strategy: offer from producer_1749200056153 (role: producer) +2025-06-06 10:54:19,970 - video.core - INFO - ๐Ÿ”„ P2P: Forwarding offer from producer producer_1749200056153 to consumer consumer_1749200056212 +2025-06-06 10:54:19,971 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749200056153 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:54:19,971 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 10:54:19,971 - video.core - INFO - ๐Ÿ”— P2P Strategy: ice from producer_1749200056153 (role: producer) +2025-06-06 10:54:19,999 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749200056212 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:54:19,999 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 10:54:19,999 - video.core - INFO - ๐Ÿ”— P2P Strategy: answer from consumer_1749200056212 (role: consumer) +2025-06-06 10:54:19,999 - video.core - INFO - ๐Ÿ”„ P2P: Forwarding answer from consumer consumer_1749200056212 to producer producer_1749200056153 +2025-06-06 10:54:20,003 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749200056212 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:54:20,003 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 10:54:20,003 - video.core - INFO - ๐Ÿ”— P2P Strategy: ice from consumer_1749200056212 (role: consumer) +2025-06-06 10:54:22,696 - video.core - INFO - ๐Ÿ”— P2P: Cleaned up participant producer_1749200056153 +2025-06-06 10:54:22,697 - video.core - INFO - ๐Ÿ”— P2P: Cleaned up participant consumer_1749200056212 +2025-06-06 10:54:22,697 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay Strategy initialized for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:54:22,697 - video.core - INFO - ๐Ÿš€ Server is now ready to relay video frames for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:54:22,707 - video.core - INFO - WebRTC connection producer_1749200056153 initialized +2025-06-06 10:54:22,707 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Created WebRTC connection for producer_1749200056153 +2025-06-06 10:54:22,707 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: producer producer_1749200056153 setup for server relay +2025-06-06 10:54:22,707 - video.core - INFO - WebRTC connection consumer_1749200056212 initialized +2025-06-06 10:54:22,708 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Created WebRTC connection for consumer_1749200056212 +2025-06-06 10:54:22,708 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: consumer consumer_1749200056212 setup for server relay +2025-06-06 10:54:22,708 - video.core - INFO - ๐Ÿ”„ Room 32fd74a9-26a0-4a29-89bf-6f020eccf65b strategy switched: p2p -> server (User requested via UI) +2025-06-06 10:54:22,817 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749200056212 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:54:22,817 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 10:54:22,817 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: offer from consumer_1749200056212 (role: consumer) +2025-06-06 10:54:22,817 - video.core - INFO - ๐Ÿค Processing WebRTC offer from consumer consumer_1749200056212 +2025-06-06 10:54:22,817 - video.core - INFO - ๐Ÿ”ง Processing SDP offer from consumer_1749200056212 (length: 105 chars) +2025-06-06 10:54:22,818 - video.core - INFO - VideoFrameTrack created with recovery policy: freeze_last_frame +2025-06-06 10:54:22,820 - video.core - INFO - ๐Ÿ–ฅ๏ธ WebRTC consumer_1749200056212 set as CONSUMER (explicit role) - video track added +2025-06-06 10:54:22,832 - video.core - ERROR - Direction error when setting local description for consumer_1749200056212: None is not in list +2025-06-06 10:54:22,832 - video.core - INFO - ๐Ÿ”„ Recreating peer connection for consumer_1749200056212 due to direction error +2025-06-06 10:54:22,832 - video.core - INFO - ๐ŸงŠ WebRTC consumer_1749200056212 ICE state: closed +2025-06-06 10:54:22,832 - video.core - INFO - ๐Ÿ”— WebRTC consumer_1749200056212 connection state: closed +2025-06-06 10:54:22,833 - video.core - INFO - WebRTC connection consumer_1749200056212 initialized +2025-06-06 10:54:22,835 - video.core - INFO - ๐Ÿ–ฅ๏ธ Re-added video track for consumer consumer_1749200056212 +2025-06-06 10:54:22,886 - video.core - ERROR - Error in handle_offer for consumer_1749200056212 +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/video/core.py", line 423, in handle_offer + await self.pc.setLocalDescription(answer) + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/aiortc/rtcpeerconnection.py", line 832, in setLocalDescription + t._setCurrentDirection(and_direction(t.direction, t._offerDirection)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/aiortc/rtcpeerconnection.py", line 260, in and_direction + return sdp.DIRECTIONS[sdp.DIRECTIONS.index(a) & sdp.DIRECTIONS.index(b)] + ^^^^^^^^^^^^^^^^^^^^^^^ +ValueError: None is not in list + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/video/core.py", line 451, in handle_offer + await self.pc.setLocalDescription(answer) + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/aiortc/rtcpeerconnection.py", line 832, in setLocalDescription + t._setCurrentDirection(and_direction(t.direction, t._offerDirection)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/aiortc/rtcpeerconnection.py", line 260, in and_direction + return sdp.DIRECTIONS[sdp.DIRECTIONS.index(a) & sdp.DIRECTIONS.index(b)] + ^^^^^^^^^^^^^^^^^^^^^^^ +ValueError: None is not in list +2025-06-06 10:54:22,892 - video.core - ERROR - โŒ Server Relay: Error handling offer from consumer_1749200056212 +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/video/core.py", line 423, in handle_offer + await self.pc.setLocalDescription(answer) + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/aiortc/rtcpeerconnection.py", line 832, in setLocalDescription + t._setCurrentDirection(and_direction(t.direction, t._offerDirection)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/aiortc/rtcpeerconnection.py", line 260, in and_direction + return sdp.DIRECTIONS[sdp.DIRECTIONS.index(a) & sdp.DIRECTIONS.index(b)] + ^^^^^^^^^^^^^^^^^^^^^^^ +ValueError: None is not in list + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/video/core.py", line 1563, in handle_webrtc_signal + answer_sdp = await webrtc_conn.handle_offer(sdp, participant_role) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/video/core.py", line 451, in handle_offer + await self.pc.setLocalDescription(answer) + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/aiortc/rtcpeerconnection.py", line 832, in setLocalDescription + t._setCurrentDirection(and_direction(t.direction, t._offerDirection)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/aiortc/rtcpeerconnection.py", line 260, in and_direction + return sdp.DIRECTIONS[sdp.DIRECTIONS.index(a) & sdp.DIRECTIONS.index(b)] + ^^^^^^^^^^^^^^^^^^^^^^^ +ValueError: None is not in list +2025-06-06 10:54:23,178 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749200056153 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:54:23,178 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 10:54:23,179 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: offer from producer_1749200056153 (role: producer) +2025-06-06 10:54:23,179 - video.core - INFO - ๐Ÿค Processing WebRTC offer from producer producer_1749200056153 +2025-06-06 10:54:23,179 - video.core - INFO - ๐Ÿ”ง Processing SDP offer from producer_1749200056153 (length: 105 chars) +2025-06-06 10:54:23,179 - video.core - INFO - ๐Ÿ–ฅ๏ธ WebRTC producer_1749200056153 set as PRODUCER (explicit role) +2025-06-06 10:54:28,242 - video.core - WARNING - ICE gathering timeout for producer_1749200056153 +2025-06-06 10:54:28,242 - video.core - INFO - โœ… Generated WebRTC answer for producer_1749200056153 (length: 99 chars) +2025-06-06 10:54:28,242 - video.core - INFO - โœ… Generated WebRTC answer for producer_1749200056153 (length: 99 chars) +2025-06-06 10:55:32,136 - video.core - INFO - ๐ŸŽฅ Producer producer_1749200056153 left video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:55:32,139 - video.core - INFO - ๐ŸงŠ WebRTC producer_1749200056153 ICE state: closed +2025-06-06 10:55:32,139 - video.core - INFO - ๐Ÿ”— WebRTC producer_1749200056153 connection state: closed +2025-06-06 10:55:32,139 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Cleaned up WebRTC connection for producer_1749200056153 +2025-06-06 10:55:33,084 - video.core - INFO - ๐ŸŽฅ Consumer consumer_1749200056212 left video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:55:33,086 - video.core - INFO - ๐ŸงŠ WebRTC consumer_1749200056212 ICE state: closed +2025-06-06 10:55:33,086 - video.core - INFO - ๐Ÿ”— WebRTC consumer_1749200056212 connection state: closed +2025-06-06 10:55:33,086 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Cleaned up WebRTC connection for consumer_1749200056212 +2025-06-06 10:55:40,197 - video.core - INFO - ๐ŸŽฅ Producer producer_1749200136305 joined video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:55:40,205 - video.core - INFO - WebRTC connection producer_1749200136305 initialized +2025-06-06 10:55:40,205 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Created WebRTC connection for producer_1749200136305 +2025-06-06 10:55:40,206 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: producer producer_1749200136305 setup for server relay +2025-06-06 10:55:41,283 - video.core - INFO - ๐ŸŽฅ Consumer consumer_1749200136524 joined video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:55:41,284 - video.core - INFO - WebRTC connection consumer_1749200136524 initialized +2025-06-06 10:55:41,284 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Created WebRTC connection for consumer_1749200136524 +2025-06-06 10:55:41,284 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: consumer consumer_1749200136524 setup for server relay +2025-06-06 10:55:51,453 - video.core - INFO - ๐ŸŽฅ Stream started by producer_1749200136305 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:56:03,265 - video.core - INFO - ๐ŸงŠ WebRTC producer_1749200136305 ICE state: closed +2025-06-06 10:56:03,267 - video.core - INFO - ๐Ÿ”— WebRTC producer_1749200136305 connection state: closed +2025-06-06 10:56:03,267 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Cleaned up WebRTC connection for producer_1749200136305 +2025-06-06 10:56:03,267 - video.core - INFO - ๐ŸงŠ WebRTC consumer_1749200136524 ICE state: closed +2025-06-06 10:56:03,267 - video.core - INFO - ๐Ÿ”— WebRTC consumer_1749200136524 connection state: closed +2025-06-06 10:56:03,267 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Cleaned up WebRTC connection for consumer_1749200136524 +2025-06-06 10:56:03,267 - video.core - WARNING - ๐ŸŽฅ Unknown strategy hybrid, defaulting to P2P for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:56:03,267 - video.core - INFO - ๐Ÿ”— P2P Strategy initialized for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:56:03,268 - video.core - INFO - ๐Ÿ”— P2P: Producer producer_1749200136305 setup for P2P strategy +2025-06-06 10:56:03,268 - video.core - INFO - ๐Ÿ”— P2P: Consumer consumer_1749200136524 setup for P2P strategy +2025-06-06 10:56:03,268 - video.core - INFO - ๐Ÿ”„ Room 32fd74a9-26a0-4a29-89bf-6f020eccf65b strategy switched: server -> hybrid (User requested via UI) +2025-06-06 10:56:09,670 - video.core - INFO - ๐Ÿ”— P2P: Cleaned up participant producer_1749200136305 +2025-06-06 10:56:09,671 - video.core - INFO - ๐Ÿ”— P2P: Cleaned up participant consumer_1749200136524 +2025-06-06 10:56:09,671 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay Strategy initialized for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:56:09,671 - video.core - INFO - ๐Ÿš€ Server is now ready to relay video frames for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:56:09,672 - video.core - INFO - WebRTC connection producer_1749200136305 initialized +2025-06-06 10:56:09,672 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Created WebRTC connection for producer_1749200136305 +2025-06-06 10:56:09,672 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: producer producer_1749200136305 setup for server relay +2025-06-06 10:56:09,672 - video.core - INFO - WebRTC connection consumer_1749200136524 initialized +2025-06-06 10:56:09,672 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Created WebRTC connection for consumer_1749200136524 +2025-06-06 10:56:09,672 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: consumer consumer_1749200136524 setup for server relay +2025-06-06 10:56:09,672 - video.core - INFO - ๐Ÿ”„ Room 32fd74a9-26a0-4a29-89bf-6f020eccf65b strategy switched: hybrid -> server (User requested via UI) +2025-06-06 10:56:09,782 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749200136524 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:56:09,782 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 10:56:09,782 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: offer from consumer_1749200136524 (role: consumer) +2025-06-06 10:56:09,782 - video.core - INFO - ๐Ÿค Processing WebRTC offer from consumer consumer_1749200136524 +2025-06-06 10:56:09,782 - video.core - INFO - ๐Ÿ”ง Processing SDP offer from consumer_1749200136524 (length: 105 chars) +2025-06-06 10:56:09,783 - video.core - INFO - VideoFrameTrack created with recovery policy: freeze_last_frame +2025-06-06 10:56:09,784 - video.core - INFO - ๐Ÿ–ฅ๏ธ WebRTC consumer_1749200136524 set as CONSUMER (explicit role) - video track added +2025-06-06 10:56:09,796 - video.core - ERROR - Direction error when setting local description for consumer_1749200136524: None is not in list +2025-06-06 10:56:09,796 - video.core - INFO - ๐Ÿ”„ Recreating peer connection for consumer_1749200136524 due to direction error +2025-06-06 10:56:09,797 - video.core - INFO - ๐ŸงŠ WebRTC consumer_1749200136524 ICE state: closed +2025-06-06 10:56:09,797 - video.core - INFO - ๐Ÿ”— WebRTC consumer_1749200136524 connection state: closed +2025-06-06 10:56:09,798 - video.core - INFO - WebRTC connection consumer_1749200136524 initialized +2025-06-06 10:56:09,798 - video.core - INFO - ๐Ÿ–ฅ๏ธ Re-added video track for consumer consumer_1749200136524 +2025-06-06 10:56:09,859 - video.core - ERROR - Error in handle_offer for consumer_1749200136524 +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/video/core.py", line 423, in handle_offer + await self.pc.setLocalDescription(answer) + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/aiortc/rtcpeerconnection.py", line 832, in setLocalDescription + t._setCurrentDirection(and_direction(t.direction, t._offerDirection)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/aiortc/rtcpeerconnection.py", line 260, in and_direction + return sdp.DIRECTIONS[sdp.DIRECTIONS.index(a) & sdp.DIRECTIONS.index(b)] + ^^^^^^^^^^^^^^^^^^^^^^^ +ValueError: None is not in list + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/video/core.py", line 451, in handle_offer + await self.pc.setLocalDescription(answer) + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/aiortc/rtcpeerconnection.py", line 832, in setLocalDescription + t._setCurrentDirection(and_direction(t.direction, t._offerDirection)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/aiortc/rtcpeerconnection.py", line 260, in and_direction + return sdp.DIRECTIONS[sdp.DIRECTIONS.index(a) & sdp.DIRECTIONS.index(b)] + ^^^^^^^^^^^^^^^^^^^^^^^ +ValueError: None is not in list +2025-06-06 10:56:09,907 - video.core - ERROR - โŒ Server Relay: Error handling offer from consumer_1749200136524 +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/video/core.py", line 423, in handle_offer + await self.pc.setLocalDescription(answer) + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/aiortc/rtcpeerconnection.py", line 832, in setLocalDescription + t._setCurrentDirection(and_direction(t.direction, t._offerDirection)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/aiortc/rtcpeerconnection.py", line 260, in and_direction + return sdp.DIRECTIONS[sdp.DIRECTIONS.index(a) & sdp.DIRECTIONS.index(b)] + ^^^^^^^^^^^^^^^^^^^^^^^ +ValueError: None is not in list + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/video/core.py", line 1563, in handle_webrtc_signal + answer_sdp = await webrtc_conn.handle_offer(sdp, participant_role) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/video/core.py", line 451, in handle_offer + await self.pc.setLocalDescription(answer) + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/aiortc/rtcpeerconnection.py", line 832, in setLocalDescription + t._setCurrentDirection(and_direction(t.direction, t._offerDirection)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/aiortc/rtcpeerconnection.py", line 260, in and_direction + return sdp.DIRECTIONS[sdp.DIRECTIONS.index(a) & sdp.DIRECTIONS.index(b)] + ^^^^^^^^^^^^^^^^^^^^^^^ +ValueError: None is not in list +2025-06-06 10:56:10,184 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749200136305 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:56:10,184 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 10:56:10,184 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: offer from producer_1749200136305 (role: producer) +2025-06-06 10:56:10,184 - video.core - INFO - ๐Ÿค Processing WebRTC offer from producer producer_1749200136305 +2025-06-06 10:56:10,184 - video.core - INFO - ๐Ÿ”ง Processing SDP offer from producer_1749200136305 (length: 105 chars) +2025-06-06 10:56:10,184 - video.core - INFO - ๐Ÿ–ฅ๏ธ WebRTC producer_1749200136305 set as PRODUCER (explicit role) +2025-06-06 10:56:14,737 - video.core - INFO - ๐ŸŽฅ Producer producer_1749200136305 left video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:56:14,737 - video.core - INFO - ๐ŸŽฅ Consumer consumer_1749200136524 left video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:56:14,737 - video.core - INFO - ๐ŸงŠ WebRTC producer_1749200136305 ICE state: closed +2025-06-06 10:56:14,738 - video.core - INFO - ๐Ÿ”— WebRTC producer_1749200136305 connection state: closed +2025-06-06 10:56:14,738 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Cleaned up WebRTC connection for producer_1749200136305 +2025-06-06 10:56:14,738 - video.core - INFO - ๐ŸงŠ WebRTC consumer_1749200136524 ICE state: closed +2025-06-06 10:56:14,738 - video.core - INFO - ๐Ÿ”— WebRTC consumer_1749200136524 connection state: closed +2025-06-06 10:56:14,738 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Cleaned up WebRTC connection for consumer_1749200136524 +2025-06-06 10:56:15,240 - video.core - WARNING - ICE gathering timeout for producer_1749200136305 +2025-06-06 10:56:15,241 - video.core - INFO - โœ… Generated WebRTC answer for producer_1749200136305 (length: 99 chars) +2025-06-06 10:56:15,242 - video.core - INFO - โœ… Generated WebRTC answer for producer_1749200136305 (length: 99 chars) +2025-06-06 10:56:41,841 - video.core - INFO - ๐ŸŽฅ VideoCore initialized with dual communication strategies +2025-06-06 10:56:41,864 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-06 10:56:42,146 - video.core - INFO - ๐ŸŽฅ VideoCore initialized with dual communication strategies +2025-06-06 10:56:42,233 - watchfiles.main - INFO - 1 change detected +2025-06-06 10:56:52,876 - video.core - INFO - ๐Ÿ”— P2P Strategy initialized for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:56:52,876 - video.core - INFO - ๐ŸŽฅ Created video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b with p2p strategy +2025-06-06 10:56:55,229 - video.core - INFO - ๐ŸŽฅ Producer producer_1749200214243 joined video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:56:55,230 - video.core - INFO - ๐Ÿ”— P2P: Producer producer_1749200214243 setup for P2P strategy +2025-06-06 10:56:58,052 - video.core - INFO - ๐ŸŽฅ Stream started by producer_1749200214243 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:56:59,233 - video.core - INFO - ๐ŸŽฅ Consumer consumer_1749200214455 joined video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:56:59,236 - video.core - INFO - ๐Ÿ”— P2P: Consumer consumer_1749200214455 setup for P2P strategy +2025-06-06 10:56:59,253 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749200214243 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:56:59,253 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 10:56:59,253 - video.core - INFO - ๐Ÿ”— P2P Strategy: offer from producer_1749200214243 (role: producer) +2025-06-06 10:56:59,253 - video.core - INFO - ๐Ÿ”„ P2P: Forwarding offer from producer producer_1749200214243 to consumer consumer_1749200214455 +2025-06-06 10:56:59,260 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749200214243 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:56:59,260 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 10:56:59,277 - video.core - INFO - ๐Ÿ”— P2P Strategy: ice from producer_1749200214243 (role: producer) +2025-06-06 10:56:59,302 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749200214243 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:56:59,303 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 10:56:59,303 - video.core - INFO - ๐Ÿ”— P2P Strategy: ice from producer_1749200214243 (role: producer) +2025-06-06 10:56:59,320 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749200214455 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:56:59,320 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 10:56:59,321 - video.core - INFO - ๐Ÿ”— P2P Strategy: answer from consumer_1749200214455 (role: consumer) +2025-06-06 10:56:59,321 - video.core - INFO - ๐Ÿ”„ P2P: Forwarding answer from consumer consumer_1749200214455 to producer producer_1749200214243 +2025-06-06 10:56:59,328 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749200214455 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:56:59,329 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 10:56:59,329 - video.core - INFO - ๐Ÿ”— P2P Strategy: ice from consumer_1749200214455 (role: consumer) +2025-06-06 10:57:01,827 - video.core - INFO - ๐Ÿ”— P2P: Cleaned up participant producer_1749200214243 +2025-06-06 10:57:01,827 - video.core - INFO - ๐Ÿ”— P2P: Cleaned up participant consumer_1749200214455 +2025-06-06 10:57:01,827 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay Strategy initialized for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:57:01,827 - video.core - INFO - ๐Ÿš€ Server is now ready to relay video frames for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:57:01,841 - video.core - INFO - WebRTC connection producer_1749200214243 initialized +2025-06-06 10:57:01,841 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Created WebRTC connection for producer_1749200214243 +2025-06-06 10:57:01,841 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: producer producer_1749200214243 setup for server relay +2025-06-06 10:57:01,841 - video.core - INFO - WebRTC connection consumer_1749200214455 initialized +2025-06-06 10:57:01,841 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Created WebRTC connection for consumer_1749200214455 +2025-06-06 10:57:01,841 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: consumer consumer_1749200214455 setup for server relay +2025-06-06 10:57:01,842 - video.core - INFO - ๐Ÿ”„ Room 32fd74a9-26a0-4a29-89bf-6f020eccf65b strategy switched: p2p -> server (User requested via UI) +2025-06-06 10:57:01,964 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749200214455 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:57:01,964 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 10:57:01,964 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: offer from consumer_1749200214455 (role: consumer) +2025-06-06 10:57:01,964 - video.core - INFO - ๐Ÿค Processing WebRTC offer from consumer consumer_1749200214455 +2025-06-06 10:57:01,964 - video.core - INFO - ๐Ÿ”ง Processing SDP offer from consumer_1749200214455 (length: 6127 chars) +2025-06-06 10:57:01,968 - video.core - INFO - VideoFrameTrack created with recovery policy: freeze_last_frame +2025-06-06 10:57:01,968 - video.core - INFO - ๐Ÿ–ฅ๏ธ WebRTC consumer_1749200214455 set as CONSUMER (explicit role) - video track added +2025-06-06 10:57:01,972 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749200214455 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:57:01,972 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 10:57:01,972 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: ice from consumer_1749200214455 (role: consumer) +2025-06-06 10:57:01,989 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749200214455 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:57:01,989 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 10:57:01,989 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: ice from consumer_1749200214455 (role: consumer) +2025-06-06 10:57:02,014 - video.core - INFO - โœ… Generated WebRTC answer for consumer_1749200214455 (length: 1977 chars) +2025-06-06 10:57:02,014 - video.core - INFO - โœ… Generated WebRTC answer for consumer_1749200214455 (length: 1977 chars) +2025-06-06 10:57:02,015 - video.core - INFO - ๐ŸงŠ WebRTC consumer_1749200214455 ICE state: checking +2025-06-06 10:57:02,015 - video.core - INFO - ๐Ÿ”— WebRTC consumer_1749200214455 connection state: connecting +2025-06-06 10:57:02,015 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 52916) -> ('192.168.1.83', 65162)) State.FROZEN -> State.WAITING +2025-06-06 10:57:02,015 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 52916) -> ('82.66.87.218', 65162)) State.FROZEN -> State.WAITING +2025-06-06 10:57:02,015 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 52916) -> ('192.168.1.83', 65162)) State.WAITING -> State.IN_PROGRESS +2025-06-06 10:57:02,018 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 52916) -> ('192.168.1.83', 65162)) State.IN_PROGRESS -> State.SUCCEEDED +2025-06-06 10:57:02,035 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 52916) -> ('82.66.87.218', 65162)) State.WAITING -> State.IN_PROGRESS +2025-06-06 10:57:02,088 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749200214455 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:57:02,088 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 10:57:02,088 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: ice from consumer_1749200214455 (role: consumer) +2025-06-06 10:57:02,185 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749200214243 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:57:02,185 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 10:57:02,185 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: offer from producer_1749200214243 (role: producer) +2025-06-06 10:57:02,185 - video.core - INFO - ๐Ÿค Processing WebRTC offer from producer producer_1749200214243 +2025-06-06 10:57:02,185 - video.core - INFO - ๐Ÿ”ง Processing SDP offer from producer_1749200214243 (length: 4735 chars) +2025-06-06 10:57:02,188 - video.core - INFO - WebRTC producer_1749200214243 received track: video +2025-06-06 10:57:02,188 - video.core - INFO - WebRTC producer_1749200214243 is now a PRODUCER +2025-06-06 10:57:02,188 - video.core - INFO - ๐Ÿ–ฅ๏ธ WebRTC producer_1749200214243 set as PRODUCER (explicit role) +2025-06-06 10:57:02,188 - video.core - INFO - ๐Ÿ“น Starting video frame processing for producer producer_1749200214243 +2025-06-06 10:57:02,189 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749200214243 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:57:02,190 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 10:57:02,190 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: ice from producer_1749200214243 (role: producer) +2025-06-06 10:57:02,211 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749200214243 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:57:02,211 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 10:57:02,211 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: ice from producer_1749200214243 (role: producer) +2025-06-06 10:57:02,219 - video.core - INFO - โœ… Generated WebRTC answer for producer_1749200214243 (length: 1975 chars) +2025-06-06 10:57:02,220 - video.core - INFO - โœ… Generated WebRTC answer for producer_1749200214243 (length: 1975 chars) +2025-06-06 10:57:02,220 - video.core - INFO - ๐ŸงŠ WebRTC producer_1749200214243 ICE state: checking +2025-06-06 10:57:02,220 - video.core - INFO - ๐Ÿ”— WebRTC producer_1749200214243 connection state: connecting +2025-06-06 10:57:02,220 - aioice.ice - INFO - Connection(1) Check CandidatePair(('192.168.1.83', 57780) -> ('192.168.1.83', 58473)) State.FROZEN -> State.WAITING +2025-06-06 10:57:02,221 - aioice.ice - INFO - Connection(1) Check CandidatePair(('192.168.1.83', 57780) -> ('82.66.87.218', 58473)) State.FROZEN -> State.WAITING +2025-06-06 10:57:02,221 - aioice.ice - INFO - Connection(1) Check CandidatePair(('192.168.1.83', 57780) -> ('192.168.1.83', 58473)) State.WAITING -> State.IN_PROGRESS +2025-06-06 10:57:02,222 - aioice.ice - INFO - Connection(1) Check CandidatePair(('192.168.1.83', 57780) -> ('192.168.1.83', 58473)) State.IN_PROGRESS -> State.SUCCEEDED +2025-06-06 10:57:02,242 - aioice.ice - INFO - Connection(1) Check CandidatePair(('192.168.1.83', 57780) -> ('82.66.87.218', 58473)) State.WAITING -> State.IN_PROGRESS +2025-06-06 10:57:02,311 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749200214243 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:57:02,311 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 10:57:02,311 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: ice from producer_1749200214243 (role: producer) +2025-06-06 10:58:05,549 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 52916) -> ('82.66.87.218', 65162)) State.IN_PROGRESS -> State.FAILED +2025-06-06 10:58:05,750 - aioice.ice - INFO - Connection(1) Check CandidatePair(('192.168.1.83', 57780) -> ('82.66.87.218', 58473)) State.IN_PROGRESS -> State.FAILED +2025-06-06 10:58:26,584 - video.core - INFO - ๐ŸŽฅ Consumer consumer_1749200214455 left video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:58:26,585 - video.core - INFO - ๐ŸŽฅ Producer producer_1749200214243 left video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:58:26,586 - video.core - INFO - ๐ŸงŠ WebRTC consumer_1749200214455 ICE state: closed +2025-06-06 10:58:26,587 - video.core - INFO - ๐Ÿ”— WebRTC consumer_1749200214455 connection state: closed +2025-06-06 10:58:26,587 - video.core - INFO - ๐ŸงŠ WebRTC producer_1749200214243 ICE state: closed +2025-06-06 10:58:26,587 - video.core - INFO - ๐Ÿ”— WebRTC producer_1749200214243 connection state: closed +2025-06-06 10:58:26,587 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Cleaned up WebRTC connection for consumer_1749200214455 +2025-06-06 10:58:26,588 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Cleaned up WebRTC connection for producer_1749200214243 +2025-06-06 10:59:15,229 - video.core - INFO - ๐ŸŽฅ VideoCore initialized with dual communication strategies +2025-06-06 10:59:15,262 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-06 10:59:15,692 - video.core - INFO - ๐ŸŽฅ VideoCore initialized with dual communication strategies +2025-06-06 10:59:15,799 - watchfiles.main - INFO - 1 change detected +2025-06-06 10:59:27,023 - video.core - INFO - ๐Ÿ”— P2P Strategy initialized for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:59:27,025 - video.core - INFO - ๐ŸŽฅ Created video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b with p2p strategy +2025-06-06 10:59:32,256 - video.core - INFO - ๐ŸŽฅ Consumer consumer_1749200369286 joined video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:59:32,257 - video.core - INFO - ๐Ÿ”— P2P: Consumer consumer_1749200369286 setup for P2P strategy +2025-06-06 10:59:33,474 - video.core - INFO - ๐ŸŽฅ Producer producer_1749200369064 joined video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:59:33,474 - video.core - INFO - ๐Ÿ”— P2P: Producer producer_1749200369064 setup for P2P strategy +2025-06-06 10:59:37,443 - video.core - INFO - ๐ŸŽฅ Stream started by producer_1749200369064 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:59:39,290 - video.core - INFO - ๐ŸŽฅ Consumer consumer_1749200369286 left video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:59:39,305 - video.core - INFO - ๐Ÿ”— P2P: Cleaned up participant consumer_1749200369286 +2025-06-06 10:59:40,405 - video.core - INFO - ๐ŸŽฅ Consumer consumer_1749200379360 joined video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:59:40,406 - video.core - INFO - ๐Ÿ”— P2P: Consumer consumer_1749200379360 setup for P2P strategy +2025-06-06 10:59:40,418 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749200369064 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:59:40,418 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 10:59:40,418 - video.core - INFO - ๐Ÿ”— P2P Strategy: offer from producer_1749200369064 (role: producer) +2025-06-06 10:59:40,419 - video.core - INFO - ๐Ÿ”„ P2P: Forwarding offer from producer producer_1749200369064 to consumer consumer_1749200379360 +2025-06-06 10:59:40,425 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749200369064 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:59:40,425 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 10:59:40,425 - video.core - INFO - ๐Ÿ”— P2P Strategy: ice from producer_1749200369064 (role: producer) +2025-06-06 10:59:40,431 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749200379360 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:59:40,431 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 10:59:40,431 - video.core - INFO - ๐Ÿ”— P2P Strategy: answer from consumer_1749200379360 (role: consumer) +2025-06-06 10:59:40,431 - video.core - INFO - ๐Ÿ”„ P2P: Forwarding answer from consumer consumer_1749200379360 to producer producer_1749200369064 +2025-06-06 10:59:40,440 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749200379360 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:59:40,440 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 10:59:40,440 - video.core - INFO - ๐Ÿ”— P2P Strategy: ice from consumer_1749200379360 (role: consumer) +2025-06-06 10:59:43,957 - video.core - INFO - ๐Ÿ”— P2P: Cleaned up participant producer_1749200369064 +2025-06-06 10:59:43,958 - video.core - INFO - ๐Ÿ”— P2P: Cleaned up participant consumer_1749200379360 +2025-06-06 10:59:43,958 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay Strategy initialized for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:59:43,958 - video.core - INFO - ๐Ÿš€ Server is now ready to relay video frames for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:59:43,986 - video.core - INFO - WebRTC connection producer_1749200369064 initialized +2025-06-06 10:59:43,987 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Created WebRTC connection for producer_1749200369064 +2025-06-06 10:59:43,987 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: producer producer_1749200369064 setup for server relay +2025-06-06 10:59:43,987 - video.core - INFO - WebRTC connection consumer_1749200379360 initialized +2025-06-06 10:59:43,987 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Created WebRTC connection for consumer_1749200379360 +2025-06-06 10:59:43,987 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: consumer consumer_1749200379360 setup for server relay +2025-06-06 10:59:43,988 - video.core - INFO - ๐Ÿ”„ Room 32fd74a9-26a0-4a29-89bf-6f020eccf65b strategy switched: p2p -> server (User requested via UI) +2025-06-06 10:59:44,240 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749200379360 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:59:44,240 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 10:59:44,240 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: offer from consumer_1749200379360 (role: consumer) +2025-06-06 10:59:44,240 - video.core - INFO - ๐Ÿค Processing WebRTC offer from consumer consumer_1749200379360 +2025-06-06 10:59:44,241 - video.core - INFO - ๐Ÿ”ง Processing SDP offer from consumer_1749200379360 (length: 6126 chars) +2025-06-06 10:59:44,249 - video.core - INFO - VideoFrameTrack created with recovery policy: freeze_last_frame +2025-06-06 10:59:44,249 - video.core - INFO - ๐Ÿ–ฅ๏ธ WebRTC consumer_1749200379360 set as CONSUMER (explicit role) - video track added +2025-06-06 10:59:44,253 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749200379360 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:59:44,253 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 10:59:44,253 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: ice from consumer_1749200379360 (role: consumer) +2025-06-06 10:59:44,270 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749200379360 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:59:44,270 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 10:59:44,270 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: ice from consumer_1749200379360 (role: consumer) +2025-06-06 10:59:44,300 - video.core - INFO - โœ… Generated WebRTC answer for consumer_1749200379360 (length: 1977 chars) +2025-06-06 10:59:44,300 - video.core - INFO - โœ… Generated WebRTC answer for consumer_1749200379360 (length: 1977 chars) +2025-06-06 10:59:44,301 - video.core - INFO - ๐ŸงŠ WebRTC consumer_1749200379360 ICE state: checking +2025-06-06 10:59:44,301 - video.core - INFO - ๐Ÿ”— WebRTC consumer_1749200379360 connection state: connecting +2025-06-06 10:59:44,302 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 55093) -> ('192.168.1.83', 57684)) State.FROZEN -> State.WAITING +2025-06-06 10:59:44,302 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 55093) -> ('82.66.87.218', 57684)) State.FROZEN -> State.WAITING +2025-06-06 10:59:44,302 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 55093) -> ('192.168.1.83', 57684)) State.WAITING -> State.IN_PROGRESS +2025-06-06 10:59:44,303 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 55093) -> ('192.168.1.83', 57684)) State.IN_PROGRESS -> State.SUCCEEDED +2025-06-06 10:59:44,323 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 55093) -> ('82.66.87.218', 57684)) State.WAITING -> State.IN_PROGRESS +2025-06-06 10:59:44,369 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749200379360 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:59:44,369 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 10:59:44,369 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: ice from consumer_1749200379360 (role: consumer) +2025-06-06 10:59:45,185 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749200369064 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:59:45,185 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 10:59:45,186 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: offer from producer_1749200369064 (role: producer) +2025-06-06 10:59:45,186 - video.core - INFO - ๐Ÿค Processing WebRTC offer from producer producer_1749200369064 +2025-06-06 10:59:45,186 - video.core - INFO - ๐Ÿ”ง Processing SDP offer from producer_1749200369064 (length: 4740 chars) +2025-06-06 10:59:45,189 - video.core - INFO - WebRTC producer_1749200369064 received track: video +2025-06-06 10:59:45,189 - video.core - INFO - WebRTC producer_1749200369064 is now a PRODUCER +2025-06-06 10:59:45,189 - video.core - INFO - ๐Ÿ–ฅ๏ธ WebRTC producer_1749200369064 set as PRODUCER (explicit role) +2025-06-06 10:59:45,189 - video.core - INFO - ๐Ÿ“น Starting video frame processing for producer producer_1749200369064 +2025-06-06 10:59:45,191 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749200369064 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:59:45,191 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 10:59:45,191 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: ice from producer_1749200369064 (role: producer) +2025-06-06 10:59:45,211 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749200369064 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:59:45,211 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 10:59:45,211 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: ice from producer_1749200369064 (role: producer) +2025-06-06 10:59:45,223 - video.core - INFO - โœ… Generated WebRTC answer for producer_1749200369064 (length: 1975 chars) +2025-06-06 10:59:45,223 - video.core - INFO - โœ… Generated WebRTC answer for producer_1749200369064 (length: 1975 chars) +2025-06-06 10:59:45,224 - video.core - INFO - ๐ŸงŠ WebRTC producer_1749200369064 ICE state: checking +2025-06-06 10:59:45,224 - video.core - INFO - ๐Ÿ”— WebRTC producer_1749200369064 connection state: connecting +2025-06-06 10:59:45,224 - aioice.ice - INFO - Connection(1) Check CandidatePair(('192.168.1.83', 61107) -> ('192.168.1.83', 55488)) State.FROZEN -> State.WAITING +2025-06-06 10:59:45,224 - aioice.ice - INFO - Connection(1) Check CandidatePair(('192.168.1.83', 61107) -> ('82.66.87.218', 55488)) State.FROZEN -> State.WAITING +2025-06-06 10:59:45,225 - aioice.ice - INFO - Connection(1) Check CandidatePair(('192.168.1.83', 61107) -> ('192.168.1.83', 55488)) State.WAITING -> State.IN_PROGRESS +2025-06-06 10:59:45,234 - aioice.ice - INFO - Connection(1) Check CandidatePair(('192.168.1.83', 61107) -> ('192.168.1.83', 55488)) State.IN_PROGRESS -> State.SUCCEEDED +2025-06-06 10:59:45,246 - aioice.ice - INFO - Connection(1) Check CandidatePair(('192.168.1.83', 61107) -> ('82.66.87.218', 55488)) State.WAITING -> State.IN_PROGRESS +2025-06-06 10:59:45,305 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749200369064 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 10:59:45,305 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 10:59:45,305 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: ice from producer_1749200369064 (role: producer) +2025-06-06 11:00:47,831 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 55093) -> ('82.66.87.218', 57684)) State.IN_PROGRESS -> State.FAILED +2025-06-06 11:00:48,752 - aioice.ice - INFO - Connection(1) Check CandidatePair(('192.168.1.83', 61107) -> ('82.66.87.218', 55488)) State.IN_PROGRESS -> State.FAILED +2025-06-06 11:02:04,733 - video.core - INFO - ๐ŸŽฅ Consumer consumer_1749200379360 left video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:02:04,734 - video.core - INFO - ๐ŸŽฅ Producer producer_1749200369064 left video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:02:04,735 - video.core - INFO - ๐ŸงŠ WebRTC consumer_1749200379360 ICE state: closed +2025-06-06 11:02:04,735 - video.core - INFO - ๐Ÿ”— WebRTC consumer_1749200379360 connection state: closed +2025-06-06 11:02:04,736 - video.core - INFO - ๐ŸงŠ WebRTC producer_1749200369064 ICE state: closed +2025-06-06 11:02:04,736 - video.core - INFO - ๐Ÿ”— WebRTC producer_1749200369064 connection state: closed +2025-06-06 11:02:04,736 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Cleaned up WebRTC connection for consumer_1749200379360 +2025-06-06 11:02:04,736 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Cleaned up WebRTC connection for producer_1749200369064 +2025-06-06 11:02:06,644 - video.core - INFO - ๐ŸŽฅ VideoCore initialized with dual communication strategies +2025-06-06 11:02:06,664 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-06 11:02:06,955 - video.core - INFO - ๐ŸŽฅ VideoCore initialized with dual communication strategies +2025-06-06 11:02:07,030 - watchfiles.main - INFO - 1 change detected +2025-06-06 11:02:17,969 - video.core - INFO - ๐Ÿ”— P2P Strategy initialized for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:02:17,970 - video.core - INFO - ๐ŸŽฅ Created video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b with p2p strategy +2025-06-06 11:02:20,802 - video.core - INFO - ๐ŸŽฅ Producer producer_1749200539754 joined video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:02:20,802 - video.core - INFO - ๐Ÿ”— P2P: Producer producer_1749200539754 setup for P2P strategy +2025-06-06 11:02:23,395 - video.core - INFO - ๐ŸŽฅ Stream started by producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:02:25,151 - video.core - INFO - ๐ŸŽฅ Consumer consumer_1749200540033 joined video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:02:25,151 - video.core - INFO - ๐Ÿ”— P2P: Consumer consumer_1749200540033 setup for P2P strategy +2025-06-06 11:02:25,167 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749200539754 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:02:25,167 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 11:02:25,167 - video.core - INFO - ๐Ÿ”— P2P Strategy: offer from producer_1749200539754 (role: producer) +2025-06-06 11:02:25,167 - video.core - INFO - ๐Ÿ”„ P2P: Forwarding offer from producer producer_1749200539754 to consumer consumer_1749200540033 +2025-06-06 11:02:25,173 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749200539754 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:02:25,174 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 11:02:25,174 - video.core - INFO - ๐Ÿ”— P2P Strategy: ice from producer_1749200539754 (role: producer) +2025-06-06 11:02:25,207 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749200539754 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:02:25,207 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 11:02:25,207 - video.core - INFO - ๐Ÿ”— P2P Strategy: ice from producer_1749200539754 (role: producer) +2025-06-06 11:02:25,208 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749200540033 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:02:25,208 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 11:02:25,208 - video.core - INFO - ๐Ÿ”— P2P Strategy: answer from consumer_1749200540033 (role: consumer) +2025-06-06 11:02:25,209 - video.core - INFO - ๐Ÿ”„ P2P: Forwarding answer from consumer consumer_1749200540033 to producer producer_1749200539754 +2025-06-06 11:02:25,211 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749200540033 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:02:25,211 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 11:02:25,211 - video.core - INFO - ๐Ÿ”— P2P Strategy: ice from consumer_1749200540033 (role: consumer) +2025-06-06 11:02:29,249 - video.core - INFO - ๐Ÿ”— P2P: Cleaned up participant producer_1749200539754 +2025-06-06 11:02:29,249 - video.core - INFO - ๐Ÿ”— P2P: Cleaned up participant consumer_1749200540033 +2025-06-06 11:02:29,249 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay Strategy initialized for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:02:29,249 - video.core - INFO - ๐Ÿš€ Server is now ready to relay video frames for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:02:29,261 - video.core - INFO - WebRTC connection producer_1749200539754 initialized +2025-06-06 11:02:29,262 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Created WebRTC connection for producer_1749200539754 +2025-06-06 11:02:29,262 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: producer producer_1749200539754 setup for server relay +2025-06-06 11:02:29,263 - video.core - INFO - WebRTC connection consumer_1749200540033 initialized +2025-06-06 11:02:29,263 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Created WebRTC connection for consumer_1749200540033 +2025-06-06 11:02:29,263 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: consumer consumer_1749200540033 setup for server relay +2025-06-06 11:02:29,263 - video.core - INFO - ๐Ÿ”„ Room 32fd74a9-26a0-4a29-89bf-6f020eccf65b strategy switched: p2p -> server (User requested via UI) +2025-06-06 11:02:29,501 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749200540033 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:02:29,502 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 11:02:29,502 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: offer from consumer_1749200540033 (role: consumer) +2025-06-06 11:02:29,502 - video.core - INFO - ๐Ÿค Processing WebRTC offer from consumer consumer_1749200540033 +2025-06-06 11:02:29,502 - video.core - INFO - ๐Ÿ”ง Processing SDP offer from consumer_1749200540033 (length: 6127 chars) +2025-06-06 11:02:29,513 - video.core - INFO - VideoFrameTrack created with recovery policy: freeze_last_frame +2025-06-06 11:02:29,513 - video.core - INFO - ๐Ÿ–ฅ๏ธ WebRTC consumer_1749200540033 set as CONSUMER (explicit role) - video track added +2025-06-06 11:02:29,521 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749200540033 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:02:29,521 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 11:02:29,521 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: ice from consumer_1749200540033 (role: consumer) +2025-06-06 11:02:29,524 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749200540033 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:02:29,524 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 11:02:29,524 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: ice from consumer_1749200540033 (role: consumer) +2025-06-06 11:02:29,558 - video.core - INFO - โœ… Generated WebRTC answer for consumer_1749200540033 (length: 1975 chars) +2025-06-06 11:02:29,559 - video.core - INFO - โœ… Generated WebRTC answer for consumer_1749200540033 (length: 1975 chars) +2025-06-06 11:02:29,559 - video.core - INFO - ๐ŸงŠ WebRTC consumer_1749200540033 ICE state: checking +2025-06-06 11:02:29,559 - video.core - INFO - ๐Ÿ”— WebRTC consumer_1749200540033 connection state: connecting +2025-06-06 11:02:29,559 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 58040) -> ('192.168.1.83', 60539)) State.FROZEN -> State.WAITING +2025-06-06 11:02:29,560 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 58040) -> ('82.66.87.218', 60539)) State.FROZEN -> State.WAITING +2025-06-06 11:02:29,560 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 58040) -> ('192.168.1.83', 60539)) State.WAITING -> State.IN_PROGRESS +2025-06-06 11:02:29,562 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 58040) -> ('192.168.1.83', 60539)) State.IN_PROGRESS -> State.SUCCEEDED +2025-06-06 11:02:29,562 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 58040) -> ('82.66.87.218', 60539)) State.WAITING -> State.FAILED +2025-06-06 11:02:29,563 - aioice.ice - INFO - Connection(0) ICE completed +2025-06-06 11:02:29,581 - video.core - INFO - ๐ŸงŠ WebRTC consumer_1749200540033 ICE state: completed +2025-06-06 11:02:29,602 - video.core - INFO - ๐Ÿ”— WebRTC consumer_1749200540033 connection state: connected +2025-06-06 11:02:29,602 - video.core - INFO - ๐Ÿ“บ Consumer consumer_1749200540033 WebRTC connection established - ready to send frames +2025-06-06 11:02:29,711 - aiortc.rtcrtpsender - WARNING - RTCRtpsender(video) Traceback (most recent call last): + File "/Users/julienblanchon/.local/share/uv/python/cpython-3.12.0-macos-aarch64-none/lib/python3.12/asyncio/tasks.py", line 510, in wait_for + return await fut + ^^^^^^^^^ + File "/Users/julienblanchon/.local/share/uv/python/cpython-3.12.0-macos-aarch64-none/lib/python3.12/asyncio/queues.py", line 158, in get + await getter +asyncio.exceptions.CancelledError + +The above exception was the direct cause of the following exception: + +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/video/core.py", line 69, in recv + frame_data = await asyncio.wait_for(self.frame_queue.get(), timeout=0.1) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/.local/share/uv/python/cpython-3.12.0-macos-aarch64-none/lib/python3.12/asyncio/tasks.py", line 509, in wait_for + async with timeouts.timeout(timeout): + File "/Users/julienblanchon/.local/share/uv/python/cpython-3.12.0-macos-aarch64-none/lib/python3.12/asyncio/timeouts.py", line 111, in __aexit__ + raise TimeoutError from exc_val +TimeoutError + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/aiortc/rtcrtpsender.py", line 367, in _run_rtp + enc_frame = await self._next_encoded_frame(codec) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/aiortc/rtcrtpsender.py", line 294, in _next_encoded_frame + data = await self.__track.recv() + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/video/core.py", line 100, in recv + frame = self._create_recovery_frame(current_time) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/video/core.py", line 136, in _create_recovery_frame + recovery_frame = self._apply_recovery_policy(policy) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/video/core.py", line 148, in _apply_recovery_policy + recovery_frame = apply_recovery_policy( + ^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/video/utils.py", line 178, in apply_recovery_policy + if policy == RecoveryPolicy.BLACK_FRAME: + ^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: type object 'RecoveryPolicy' has no attribute 'BLACK_FRAME' + +2025-06-06 11:02:31,193 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749200539754 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:02:31,194 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 11:02:31,194 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: offer from producer_1749200539754 (role: producer) +2025-06-06 11:02:31,194 - video.core - INFO - ๐Ÿค Processing WebRTC offer from producer producer_1749200539754 +2025-06-06 11:02:31,194 - video.core - INFO - ๐Ÿ”ง Processing SDP offer from producer_1749200539754 (length: 4738 chars) +2025-06-06 11:02:31,199 - video.core - INFO - WebRTC producer_1749200539754 received track: video +2025-06-06 11:02:31,199 - video.core - INFO - WebRTC producer_1749200539754 is now a PRODUCER +2025-06-06 11:02:31,199 - video.core - INFO - ๐Ÿ–ฅ๏ธ WebRTC producer_1749200539754 set as PRODUCER (explicit role) +2025-06-06 11:02:31,199 - video.core - INFO - ๐Ÿ“น Starting video frame processing for producer producer_1749200539754 +2025-06-06 11:02:31,202 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749200539754 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:02:31,202 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 11:02:31,202 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: ice from producer_1749200539754 (role: producer) +2025-06-06 11:02:31,235 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749200539754 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:02:31,236 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 11:02:31,236 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: ice from producer_1749200539754 (role: producer) +2025-06-06 11:02:31,238 - video.core - INFO - โœ… Generated WebRTC answer for producer_1749200539754 (length: 1975 chars) +2025-06-06 11:02:31,238 - video.core - INFO - โœ… Generated WebRTC answer for producer_1749200539754 (length: 1975 chars) +2025-06-06 11:02:31,239 - video.core - INFO - ๐ŸงŠ WebRTC producer_1749200539754 ICE state: checking +2025-06-06 11:02:31,239 - video.core - INFO - ๐Ÿ”— WebRTC producer_1749200539754 connection state: connecting +2025-06-06 11:02:31,239 - aioice.ice - INFO - Connection(1) Check CandidatePair(('192.168.1.83', 54309) -> ('192.168.1.83', 49302)) State.FROZEN -> State.WAITING +2025-06-06 11:02:31,239 - aioice.ice - INFO - Connection(1) Check CandidatePair(('192.168.1.83', 54309) -> ('82.66.87.218', 49302)) State.FROZEN -> State.WAITING +2025-06-06 11:02:31,239 - aioice.ice - INFO - Connection(1) Check CandidatePair(('192.168.1.83', 54309) -> ('192.168.1.83', 49302)) State.WAITING -> State.IN_PROGRESS +2025-06-06 11:02:31,254 - aioice.ice - INFO - Connection(1) Check CandidatePair(('192.168.1.83', 54309) -> ('192.168.1.83', 49302)) State.IN_PROGRESS -> State.SUCCEEDED +2025-06-06 11:02:31,255 - aioice.ice - INFO - Connection(1) Check CandidatePair(('192.168.1.83', 54309) -> ('82.66.87.218', 49302)) State.WAITING -> State.FAILED +2025-06-06 11:02:31,255 - aioice.ice - INFO - Connection(1) ICE completed +2025-06-06 11:02:31,260 - video.core - INFO - ๐ŸงŠ WebRTC producer_1749200539754 ICE state: completed +2025-06-06 11:02:31,269 - video.core - INFO - ๐Ÿ”— WebRTC producer_1749200539754 connection state: connected +2025-06-06 11:02:31,270 - video.core - INFO - ๐ŸŽฌ Producer producer_1749200539754 WebRTC connection established - ready to receive frames +2025-06-06 11:02:31,365 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 21760 bytes +2025-06-06 11:02:31,365 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:31,365 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:31,393 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 22542 bytes +2025-06-06 11:02:31,393 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:31,393 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:31,433 - video.core - INFO - ๐Ÿ“ฅ Server received frame #3 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 22970 bytes +2025-06-06 11:02:31,433 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:31,433 - video.core - INFO - ๐Ÿ“ค Server relayed frame #3 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:31,478 - video.core - INFO - ๐Ÿ“ฅ Server received frame #4 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 23265 bytes +2025-06-06 11:02:31,478 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:31,478 - video.core - INFO - ๐Ÿ“ค Server relayed frame #4 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:31,525 - video.core - INFO - ๐Ÿ“ฅ Server received frame #5 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 23398 bytes +2025-06-06 11:02:31,525 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:31,525 - video.core - INFO - ๐Ÿ“ค Server relayed frame #5 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:31,573 - video.core - INFO - ๐Ÿ“ฅ Server received frame #6 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 23645 bytes +2025-06-06 11:02:31,574 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:31,574 - video.core - INFO - ๐Ÿ“ค Server relayed frame #6 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:31,618 - video.core - INFO - ๐Ÿ“ฅ Server received frame #7 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 23884 bytes +2025-06-06 11:02:31,618 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:31,618 - video.core - INFO - ๐Ÿ“ค Server relayed frame #7 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:31,665 - video.core - INFO - ๐Ÿ“ฅ Server received frame #8 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 24040 bytes +2025-06-06 11:02:31,665 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:31,665 - video.core - INFO - ๐Ÿ“ค Server relayed frame #8 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:31,710 - video.core - INFO - ๐Ÿ“ฅ Server received frame #9 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 24131 bytes +2025-06-06 11:02:31,710 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:31,710 - video.core - INFO - ๐Ÿ“ค Server relayed frame #9 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:31,751 - video.core - INFO - ๐Ÿ“น Frame #10 from producer producer_1749200539754: size=24223 bytes, resolution=640x480 +2025-06-06 11:02:31,751 - video.core - INFO - ๐Ÿ“ฅ Server received frame #10 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 24223 bytes +2025-06-06 11:02:31,751 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:31,751 - video.core - INFO - ๐Ÿ“ค Server relayed frame #10 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:31,800 - video.core - INFO - ๐Ÿ“ฅ Server received frame #11 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 24301 bytes +2025-06-06 11:02:31,801 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:31,801 - video.core - INFO - ๐Ÿ“ค Server relayed frame #11 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:31,838 - video.core - INFO - ๐Ÿ“ฅ Server received frame #12 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 24372 bytes +2025-06-06 11:02:31,838 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:31,839 - video.core - INFO - ๐Ÿ“ค Server relayed frame #12 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:31,884 - video.core - INFO - ๐Ÿ“ฅ Server received frame #13 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 24425 bytes +2025-06-06 11:02:31,886 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 1.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:31,887 - video.core - INFO - ๐Ÿ“ค Server relayed frame #13 to 1 consumers in 2.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:31,934 - video.core - INFO - ๐Ÿ“ฅ Server received frame #14 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 24516 bytes +2025-06-06 11:02:31,934 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:31,934 - video.core - INFO - ๐Ÿ“ค Server relayed frame #14 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:31,971 - video.core - INFO - ๐Ÿ“ฅ Server received frame #15 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 24631 bytes +2025-06-06 11:02:31,972 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:31,972 - video.core - INFO - ๐Ÿ“ค Server relayed frame #15 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:32,004 - video.core - INFO - ๐Ÿ“ฅ Server received frame #16 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 24893 bytes +2025-06-06 11:02:32,005 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:32,005 - video.core - INFO - ๐Ÿ“ค Server relayed frame #16 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:32,041 - video.core - INFO - ๐Ÿ“ฅ Server received frame #17 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 25105 bytes +2025-06-06 11:02:32,041 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:32,041 - video.core - INFO - ๐Ÿ“ค Server relayed frame #17 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:32,083 - video.core - INFO - ๐Ÿ“ฅ Server received frame #18 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 25320 bytes +2025-06-06 11:02:32,083 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:32,083 - video.core - INFO - ๐Ÿ“ค Server relayed frame #18 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:32,137 - video.core - INFO - ๐Ÿ“ฅ Server received frame #19 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 25476 bytes +2025-06-06 11:02:32,137 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:32,138 - video.core - INFO - ๐Ÿ“ค Server relayed frame #19 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:32,185 - video.core - INFO - ๐Ÿ“น Frame #20 from producer producer_1749200539754: size=25443 bytes, resolution=640x480 +2025-06-06 11:02:32,186 - video.core - INFO - ๐Ÿ“ฅ Server received frame #20 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 25443 bytes +2025-06-06 11:02:32,186 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:32,186 - video.core - INFO - ๐Ÿ“ค Server relayed frame #20 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:32,237 - video.core - INFO - ๐Ÿ“ฅ Server received frame #21 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 25475 bytes +2025-06-06 11:02:32,237 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:32,237 - video.core - INFO - ๐Ÿ“ค Server relayed frame #21 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:32,278 - video.core - INFO - ๐Ÿ“ฅ Server received frame #22 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 25922 bytes +2025-06-06 11:02:32,279 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:32,279 - video.core - INFO - ๐Ÿ“ค Server relayed frame #22 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:32,323 - video.core - INFO - ๐Ÿ“ฅ Server received frame #23 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26037 bytes +2025-06-06 11:02:32,324 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:32,324 - video.core - INFO - ๐Ÿ“ค Server relayed frame #23 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:32,358 - video.core - INFO - ๐Ÿ“ฅ Server received frame #24 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26186 bytes +2025-06-06 11:02:32,358 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:32,358 - video.core - INFO - ๐Ÿ“ค Server relayed frame #24 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:32,408 - video.core - INFO - ๐Ÿ“ฅ Server received frame #25 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26270 bytes +2025-06-06 11:02:32,408 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:32,408 - video.core - INFO - ๐Ÿ“ค Server relayed frame #25 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:32,452 - video.core - INFO - ๐Ÿ“ฅ Server received frame #26 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26360 bytes +2025-06-06 11:02:32,452 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:32,453 - video.core - INFO - ๐Ÿ“ค Server relayed frame #26 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:32,495 - video.core - INFO - ๐Ÿ“ฅ Server received frame #27 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26518 bytes +2025-06-06 11:02:32,496 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:32,496 - video.core - INFO - ๐Ÿ“ค Server relayed frame #27 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:32,539 - video.core - INFO - ๐Ÿ“ฅ Server received frame #28 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26498 bytes +2025-06-06 11:02:32,539 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:32,539 - video.core - INFO - ๐Ÿ“ค Server relayed frame #28 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:32,581 - video.core - INFO - ๐Ÿ“ฅ Server received frame #29 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26629 bytes +2025-06-06 11:02:32,582 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:32,582 - video.core - INFO - ๐Ÿ“ค Server relayed frame #29 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:32,625 - video.core - INFO - ๐Ÿ“น Frame #30 from producer producer_1749200539754: size=26694 bytes, resolution=640x480 +2025-06-06 11:02:32,625 - video.core - INFO - ๐Ÿ“ฅ Server received frame #30 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26694 bytes +2025-06-06 11:02:32,625 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:32,626 - video.core - INFO - ๐Ÿ“ค Server relayed frame #30 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:32,626 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 30 frames processed, 8.9 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:32,626 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 30 frames, 2.0 FPS, 0.41 Mbps throughput, 24830 bytes avg frame size +2025-06-06 11:02:32,626 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200539754 stats: 30 frames processed, FPS: 21.1, Throughput: 4.19 Mbps, Avg frame size: 24830 bytes +2025-06-06 11:02:32,662 - video.core - INFO - ๐Ÿ“ฅ Server received frame #31 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26673 bytes +2025-06-06 11:02:32,663 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:32,663 - video.core - INFO - ๐Ÿ“ค Server relayed frame #31 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:32,708 - video.core - INFO - ๐Ÿ“ฅ Server received frame #32 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26728 bytes +2025-06-06 11:02:32,709 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:32,709 - video.core - INFO - ๐Ÿ“ค Server relayed frame #32 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:32,753 - video.core - INFO - ๐Ÿ“ฅ Server received frame #33 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26762 bytes +2025-06-06 11:02:32,754 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:32,754 - video.core - INFO - ๐Ÿ“ค Server relayed frame #33 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:32,801 - video.core - INFO - ๐Ÿ“ฅ Server received frame #34 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26892 bytes +2025-06-06 11:02:32,801 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:32,801 - video.core - INFO - ๐Ÿ“ค Server relayed frame #34 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:32,820 - video.core - INFO - ๐Ÿ“ฅ Server received frame #35 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26838 bytes +2025-06-06 11:02:32,820 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:32,820 - video.core - INFO - ๐Ÿ“ค Server relayed frame #35 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:32,863 - video.core - INFO - ๐Ÿ“ฅ Server received frame #36 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26623 bytes +2025-06-06 11:02:32,863 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:32,863 - video.core - INFO - ๐Ÿ“ค Server relayed frame #36 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:32,905 - video.core - INFO - ๐Ÿ“ฅ Server received frame #37 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26475 bytes +2025-06-06 11:02:32,905 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:32,905 - video.core - INFO - ๐Ÿ“ค Server relayed frame #37 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:32,949 - video.core - INFO - ๐Ÿ“ฅ Server received frame #38 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26570 bytes +2025-06-06 11:02:32,949 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:32,949 - video.core - INFO - ๐Ÿ“ค Server relayed frame #38 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:32,992 - video.core - INFO - ๐Ÿ“ฅ Server received frame #39 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26392 bytes +2025-06-06 11:02:32,992 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:32,992 - video.core - INFO - ๐Ÿ“ค Server relayed frame #39 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:33,033 - video.core - INFO - ๐Ÿ“น Frame #40 from producer producer_1749200539754: size=26443 bytes, resolution=640x480 +2025-06-06 11:02:33,034 - video.core - INFO - ๐Ÿ“ฅ Server received frame #40 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26443 bytes +2025-06-06 11:02:33,034 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:33,034 - video.core - INFO - ๐Ÿ“ค Server relayed frame #40 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:33,077 - video.core - INFO - ๐Ÿ“ฅ Server received frame #41 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26407 bytes +2025-06-06 11:02:33,077 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:33,077 - video.core - INFO - ๐Ÿ“ค Server relayed frame #41 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:33,123 - video.core - INFO - ๐Ÿ“ฅ Server received frame #42 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26205 bytes +2025-06-06 11:02:33,123 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:33,123 - video.core - INFO - ๐Ÿ“ค Server relayed frame #42 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:33,166 - video.core - INFO - ๐Ÿ“ฅ Server received frame #43 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26250 bytes +2025-06-06 11:02:33,166 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:33,166 - video.core - INFO - ๐Ÿ“ค Server relayed frame #43 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:33,213 - video.core - INFO - ๐Ÿ“ฅ Server received frame #44 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26317 bytes +2025-06-06 11:02:33,213 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:33,213 - video.core - INFO - ๐Ÿ“ค Server relayed frame #44 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:33,262 - video.core - INFO - ๐Ÿ“ฅ Server received frame #45 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26455 bytes +2025-06-06 11:02:33,262 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:33,262 - video.core - INFO - ๐Ÿ“ค Server relayed frame #45 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:33,308 - video.core - INFO - ๐Ÿ“ฅ Server received frame #46 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26662 bytes +2025-06-06 11:02:33,309 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:33,309 - video.core - INFO - ๐Ÿ“ค Server relayed frame #46 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:33,353 - video.core - INFO - ๐Ÿ“ฅ Server received frame #47 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26599 bytes +2025-06-06 11:02:33,354 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:33,354 - video.core - INFO - ๐Ÿ“ค Server relayed frame #47 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:33,399 - video.core - INFO - ๐Ÿ“ฅ Server received frame #48 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26656 bytes +2025-06-06 11:02:33,399 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:33,400 - video.core - INFO - ๐Ÿ“ค Server relayed frame #48 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:33,440 - video.core - INFO - ๐Ÿ“ฅ Server received frame #49 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26810 bytes +2025-06-06 11:02:33,441 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:33,441 - video.core - INFO - ๐Ÿ“ค Server relayed frame #49 to 1 consumers in 0.7ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:33,485 - video.core - INFO - ๐Ÿ“น Frame #50 from producer producer_1749200539754: size=26851 bytes, resolution=640x480 +2025-06-06 11:02:33,485 - video.core - INFO - ๐Ÿ“ฅ Server received frame #50 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26851 bytes +2025-06-06 11:02:33,485 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:33,486 - video.core - INFO - ๐Ÿ“ค Server relayed frame #50 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:33,527 - video.core - INFO - ๐Ÿ“ฅ Server received frame #51 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26936 bytes +2025-06-06 11:02:33,527 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:33,527 - video.core - INFO - ๐Ÿ“ค Server relayed frame #51 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:33,573 - video.core - INFO - ๐Ÿ“ฅ Server received frame #52 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26719 bytes +2025-06-06 11:02:33,573 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:33,573 - video.core - INFO - ๐Ÿ“ค Server relayed frame #52 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:33,619 - video.core - INFO - ๐Ÿ“ฅ Server received frame #53 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26838 bytes +2025-06-06 11:02:33,619 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:33,619 - video.core - INFO - ๐Ÿ“ค Server relayed frame #53 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:33,647 - video.core - INFO - ๐Ÿ“ฅ Server received frame #54 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26913 bytes +2025-06-06 11:02:33,648 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:33,648 - video.core - INFO - ๐Ÿ“ค Server relayed frame #54 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:33,696 - video.core - INFO - ๐Ÿ“ฅ Server received frame #55 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26908 bytes +2025-06-06 11:02:33,696 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:33,697 - video.core - INFO - ๐Ÿ“ค Server relayed frame #55 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:33,740 - video.core - INFO - ๐Ÿ“ฅ Server received frame #56 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26769 bytes +2025-06-06 11:02:33,740 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:33,741 - video.core - INFO - ๐Ÿ“ค Server relayed frame #56 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:33,783 - video.core - INFO - ๐Ÿ“ฅ Server received frame #57 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26889 bytes +2025-06-06 11:02:33,784 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:33,784 - video.core - INFO - ๐Ÿ“ค Server relayed frame #57 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:33,827 - video.core - INFO - ๐Ÿ“ฅ Server received frame #58 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26960 bytes +2025-06-06 11:02:33,827 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:33,828 - video.core - INFO - ๐Ÿ“ค Server relayed frame #58 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:33,871 - video.core - INFO - ๐Ÿ“ฅ Server received frame #59 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27074 bytes +2025-06-06 11:02:33,872 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:33,872 - video.core - INFO - ๐Ÿ“ค Server relayed frame #59 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:33,914 - video.core - INFO - ๐Ÿ“น Frame #60 from producer producer_1749200539754: size=27068 bytes, resolution=640x480 +2025-06-06 11:02:33,914 - video.core - INFO - ๐Ÿ“ฅ Server received frame #60 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27068 bytes +2025-06-06 11:02:33,914 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:33,914 - video.core - INFO - ๐Ÿ“ค Server relayed frame #60 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:33,914 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 60 frames processed, 12.9 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:33,914 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 60 frames, 3.8 FPS, 0.78 Mbps throughput, 25760 bytes avg frame size +2025-06-06 11:02:33,914 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200539754 stats: 60 frames processed, FPS: 22.1, Throughput: 4.56 Mbps, Avg frame size: 25760 bytes +2025-06-06 11:02:33,955 - video.core - INFO - ๐Ÿ“ฅ Server received frame #61 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27038 bytes +2025-06-06 11:02:33,956 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:33,956 - video.core - INFO - ๐Ÿ“ค Server relayed frame #61 to 1 consumers in 0.9ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:33,996 - video.core - INFO - ๐Ÿ“ฅ Server received frame #62 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27144 bytes +2025-06-06 11:02:33,996 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:33,996 - video.core - INFO - ๐Ÿ“ค Server relayed frame #62 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:34,030 - video.core - INFO - ๐Ÿ“ฅ Server received frame #63 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27235 bytes +2025-06-06 11:02:34,030 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:34,031 - video.core - INFO - ๐Ÿ“ค Server relayed frame #63 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:34,071 - video.core - INFO - ๐Ÿ“ฅ Server received frame #64 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27328 bytes +2025-06-06 11:02:34,071 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:34,071 - video.core - INFO - ๐Ÿ“ค Server relayed frame #64 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:34,116 - video.core - INFO - ๐Ÿ“ฅ Server received frame #65 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27330 bytes +2025-06-06 11:02:34,116 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:34,116 - video.core - INFO - ๐Ÿ“ค Server relayed frame #65 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:34,161 - video.core - INFO - ๐Ÿ“ฅ Server received frame #66 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27384 bytes +2025-06-06 11:02:34,161 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:34,161 - video.core - INFO - ๐Ÿ“ค Server relayed frame #66 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:34,207 - video.core - INFO - ๐Ÿ“ฅ Server received frame #67 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27341 bytes +2025-06-06 11:02:34,207 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:34,207 - video.core - INFO - ๐Ÿ“ค Server relayed frame #67 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:34,250 - video.core - INFO - ๐Ÿ“ฅ Server received frame #68 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27085 bytes +2025-06-06 11:02:34,251 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:34,251 - video.core - INFO - ๐Ÿ“ค Server relayed frame #68 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:34,300 - video.core - INFO - ๐Ÿ“ฅ Server received frame #69 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26913 bytes +2025-06-06 11:02:34,300 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:34,300 - video.core - INFO - ๐Ÿ“ค Server relayed frame #69 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:34,350 - video.core - INFO - ๐Ÿ“น Frame #70 from producer producer_1749200539754: size=26977 bytes, resolution=640x480 +2025-06-06 11:02:34,351 - video.core - INFO - ๐Ÿ“ฅ Server received frame #70 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26977 bytes +2025-06-06 11:02:34,351 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:34,351 - video.core - INFO - ๐Ÿ“ค Server relayed frame #70 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:34,394 - video.core - INFO - ๐Ÿ“ฅ Server received frame #71 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27120 bytes +2025-06-06 11:02:34,394 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:34,394 - video.core - INFO - ๐Ÿ“ค Server relayed frame #71 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:34,431 - video.core - INFO - ๐Ÿ“ฅ Server received frame #72 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26919 bytes +2025-06-06 11:02:34,432 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:34,432 - video.core - INFO - ๐Ÿ“ค Server relayed frame #72 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:34,470 - video.core - INFO - ๐Ÿ“ฅ Server received frame #73 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26863 bytes +2025-06-06 11:02:34,471 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:34,471 - video.core - INFO - ๐Ÿ“ค Server relayed frame #73 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:34,514 - video.core - INFO - ๐Ÿ“ฅ Server received frame #74 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26963 bytes +2025-06-06 11:02:34,514 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:34,514 - video.core - INFO - ๐Ÿ“ค Server relayed frame #74 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:34,553 - video.core - INFO - ๐Ÿ“ฅ Server received frame #75 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26939 bytes +2025-06-06 11:02:34,553 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:34,553 - video.core - INFO - ๐Ÿ“ค Server relayed frame #75 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:34,596 - video.core - INFO - ๐Ÿ“ฅ Server received frame #76 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26975 bytes +2025-06-06 11:02:34,597 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:34,597 - video.core - INFO - ๐Ÿ“ค Server relayed frame #76 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:34,641 - video.core - INFO - ๐Ÿ“ฅ Server received frame #77 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26931 bytes +2025-06-06 11:02:34,641 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:34,641 - video.core - INFO - ๐Ÿ“ค Server relayed frame #77 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:34,685 - video.core - INFO - ๐Ÿ“ฅ Server received frame #78 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26938 bytes +2025-06-06 11:02:34,686 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:34,686 - video.core - INFO - ๐Ÿ“ค Server relayed frame #78 to 1 consumers in 0.8ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:34,729 - video.core - INFO - ๐Ÿ“ฅ Server received frame #79 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26997 bytes +2025-06-06 11:02:34,730 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:34,730 - video.core - INFO - ๐Ÿ“ค Server relayed frame #79 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:34,775 - video.core - INFO - ๐Ÿ“น Frame #80 from producer producer_1749200539754: size=27081 bytes, resolution=640x480 +2025-06-06 11:02:34,775 - video.core - INFO - ๐Ÿ“ฅ Server received frame #80 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27081 bytes +2025-06-06 11:02:34,775 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:34,775 - video.core - INFO - ๐Ÿ“ค Server relayed frame #80 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:34,820 - video.core - INFO - ๐Ÿ“ฅ Server received frame #81 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27197 bytes +2025-06-06 11:02:34,821 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:34,821 - video.core - INFO - ๐Ÿ“ค Server relayed frame #81 to 1 consumers in 0.7ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:34,853 - video.core - INFO - ๐Ÿ“ฅ Server received frame #82 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27237 bytes +2025-06-06 11:02:34,853 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:34,853 - video.core - INFO - ๐Ÿ“ค Server relayed frame #82 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:34,894 - video.core - INFO - ๐Ÿ“ฅ Server received frame #83 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27346 bytes +2025-06-06 11:02:34,894 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:34,894 - video.core - INFO - ๐Ÿ“ค Server relayed frame #83 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:34,937 - video.core - INFO - ๐Ÿ“ฅ Server received frame #84 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27414 bytes +2025-06-06 11:02:34,937 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:34,937 - video.core - INFO - ๐Ÿ“ค Server relayed frame #84 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:34,980 - video.core - INFO - ๐Ÿ“ฅ Server received frame #85 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27323 bytes +2025-06-06 11:02:34,980 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:34,980 - video.core - INFO - ๐Ÿ“ค Server relayed frame #85 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:35,022 - video.core - INFO - ๐Ÿ“ฅ Server received frame #86 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27187 bytes +2025-06-06 11:02:35,022 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:35,022 - video.core - INFO - ๐Ÿ“ค Server relayed frame #86 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:35,065 - video.core - INFO - ๐Ÿ“ฅ Server received frame #87 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27215 bytes +2025-06-06 11:02:35,065 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:35,065 - video.core - INFO - ๐Ÿ“ค Server relayed frame #87 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:35,110 - video.core - INFO - ๐Ÿ“ฅ Server received frame #88 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27324 bytes +2025-06-06 11:02:35,110 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:35,110 - video.core - INFO - ๐Ÿ“ค Server relayed frame #88 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:35,160 - video.core - INFO - ๐Ÿ“ฅ Server received frame #89 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27337 bytes +2025-06-06 11:02:35,160 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:35,160 - video.core - INFO - ๐Ÿ“ค Server relayed frame #89 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:35,201 - video.core - INFO - ๐Ÿ“น Frame #90 from producer producer_1749200539754: size=27414 bytes, resolution=640x480 +2025-06-06 11:02:35,201 - video.core - INFO - ๐Ÿ“ฅ Server received frame #90 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27414 bytes +2025-06-06 11:02:35,201 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:35,201 - video.core - INFO - ๐Ÿ“ค Server relayed frame #90 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:35,201 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 90 frames processed, 15.1 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:35,201 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 90 frames, 5.2 FPS, 1.10 Mbps throughput, 26223 bytes avg frame size +2025-06-06 11:02:35,201 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200539754 stats: 90 frames processed, FPS: 22.5, Throughput: 4.72 Mbps, Avg frame size: 26223 bytes +2025-06-06 11:02:35,241 - video.core - INFO - ๐Ÿ“ฅ Server received frame #91 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27488 bytes +2025-06-06 11:02:35,241 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:35,241 - video.core - INFO - ๐Ÿ“ค Server relayed frame #91 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:35,285 - video.core - INFO - ๐Ÿ“ฅ Server received frame #92 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27747 bytes +2025-06-06 11:02:35,286 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:35,286 - video.core - INFO - ๐Ÿ“ค Server relayed frame #92 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:35,331 - video.core - INFO - ๐Ÿ“ฅ Server received frame #93 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27789 bytes +2025-06-06 11:02:35,332 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:35,332 - video.core - INFO - ๐Ÿ“ค Server relayed frame #93 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:35,378 - video.core - INFO - ๐Ÿ“ฅ Server received frame #94 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27800 bytes +2025-06-06 11:02:35,378 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:35,378 - video.core - INFO - ๐Ÿ“ค Server relayed frame #94 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:35,421 - video.core - INFO - ๐Ÿ“ฅ Server received frame #95 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27607 bytes +2025-06-06 11:02:35,421 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:35,421 - video.core - INFO - ๐Ÿ“ค Server relayed frame #95 to 1 consumers in 0.8ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:35,461 - video.core - INFO - ๐Ÿ“ฅ Server received frame #96 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27654 bytes +2025-06-06 11:02:35,461 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:35,461 - video.core - INFO - ๐Ÿ“ค Server relayed frame #96 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:35,516 - video.core - INFO - ๐Ÿ“ฅ Server received frame #97 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27747 bytes +2025-06-06 11:02:35,516 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:35,516 - video.core - INFO - ๐Ÿ“ค Server relayed frame #97 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:35,555 - video.core - INFO - ๐Ÿ“ฅ Server received frame #98 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27747 bytes +2025-06-06 11:02:35,556 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:35,556 - video.core - INFO - ๐Ÿ“ค Server relayed frame #98 to 1 consumers in 0.8ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:35,592 - video.core - INFO - ๐Ÿ“ฅ Server received frame #99 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27778 bytes +2025-06-06 11:02:35,593 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:35,593 - video.core - INFO - ๐Ÿ“ค Server relayed frame #99 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:35,640 - video.core - INFO - ๐Ÿ“น Frame #100 from producer producer_1749200539754: size=27826 bytes, resolution=640x480 +2025-06-06 11:02:35,640 - video.core - INFO - ๐Ÿ“ฅ Server received frame #100 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27826 bytes +2025-06-06 11:02:35,640 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:35,640 - video.core - INFO - ๐Ÿ“ค Server relayed frame #100 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:35,683 - video.core - INFO - ๐Ÿ“ฅ Server received frame #101 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28060 bytes +2025-06-06 11:02:35,683 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:35,683 - video.core - INFO - ๐Ÿ“ค Server relayed frame #101 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:35,725 - video.core - INFO - ๐Ÿ“ฅ Server received frame #102 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28124 bytes +2025-06-06 11:02:35,725 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:35,725 - video.core - INFO - ๐Ÿ“ค Server relayed frame #102 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:35,760 - video.core - INFO - ๐Ÿ“ฅ Server received frame #103 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28156 bytes +2025-06-06 11:02:35,760 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:35,760 - video.core - INFO - ๐Ÿ“ค Server relayed frame #103 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:35,803 - video.core - INFO - ๐Ÿ“ฅ Server received frame #104 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28233 bytes +2025-06-06 11:02:35,803 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:35,803 - video.core - INFO - ๐Ÿ“ค Server relayed frame #104 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:35,842 - video.core - INFO - ๐Ÿ“ฅ Server received frame #105 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28243 bytes +2025-06-06 11:02:35,842 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:35,842 - video.core - INFO - ๐Ÿ“ค Server relayed frame #105 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:35,888 - video.core - INFO - ๐Ÿ“ฅ Server received frame #106 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28154 bytes +2025-06-06 11:02:35,889 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:35,889 - video.core - INFO - ๐Ÿ“ค Server relayed frame #106 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:35,931 - video.core - INFO - ๐Ÿ“ฅ Server received frame #107 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28079 bytes +2025-06-06 11:02:35,931 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:35,931 - video.core - INFO - ๐Ÿ“ค Server relayed frame #107 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:35,976 - video.core - INFO - ๐Ÿ“ฅ Server received frame #108 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28121 bytes +2025-06-06 11:02:35,977 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:35,977 - video.core - INFO - ๐Ÿ“ค Server relayed frame #108 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:36,019 - video.core - INFO - ๐Ÿ“ฅ Server received frame #109 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28011 bytes +2025-06-06 11:02:36,020 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:36,020 - video.core - INFO - ๐Ÿ“ค Server relayed frame #109 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:36,068 - video.core - INFO - ๐Ÿ“น Frame #110 from producer producer_1749200539754: size=27978 bytes, resolution=640x480 +2025-06-06 11:02:36,069 - video.core - INFO - ๐Ÿ“ฅ Server received frame #110 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27978 bytes +2025-06-06 11:02:36,069 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:36,069 - video.core - INFO - ๐Ÿ“ค Server relayed frame #110 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:36,115 - video.core - INFO - ๐Ÿ“ฅ Server received frame #111 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27890 bytes +2025-06-06 11:02:36,116 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:36,116 - video.core - INFO - ๐Ÿ“ค Server relayed frame #111 to 1 consumers in 2.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:36,146 - video.core - INFO - ๐Ÿ“ฅ Server received frame #112 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27876 bytes +2025-06-06 11:02:36,146 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:36,146 - video.core - INFO - ๐Ÿ“ค Server relayed frame #112 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:36,204 - video.core - INFO - ๐Ÿ“ฅ Server received frame #113 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27877 bytes +2025-06-06 11:02:36,204 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:36,204 - video.core - INFO - ๐Ÿ“ค Server relayed frame #113 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:36,233 - video.core - INFO - ๐Ÿ“ฅ Server received frame #114 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27894 bytes +2025-06-06 11:02:36,233 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:36,233 - video.core - INFO - ๐Ÿ“ค Server relayed frame #114 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:36,275 - video.core - INFO - ๐Ÿ“ฅ Server received frame #115 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27680 bytes +2025-06-06 11:02:36,275 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:36,275 - video.core - INFO - ๐Ÿ“ค Server relayed frame #115 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:36,321 - video.core - INFO - ๐Ÿ“ฅ Server received frame #116 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27565 bytes +2025-06-06 11:02:36,321 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:36,321 - video.core - INFO - ๐Ÿ“ค Server relayed frame #116 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:36,363 - video.core - INFO - ๐Ÿ“ฅ Server received frame #117 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27717 bytes +2025-06-06 11:02:36,363 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:36,363 - video.core - INFO - ๐Ÿ“ค Server relayed frame #117 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:36,405 - video.core - INFO - ๐Ÿ“ฅ Server received frame #118 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27473 bytes +2025-06-06 11:02:36,405 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:36,405 - video.core - INFO - ๐Ÿ“ค Server relayed frame #118 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:36,450 - video.core - INFO - ๐Ÿ“ฅ Server received frame #119 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27303 bytes +2025-06-06 11:02:36,450 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:36,450 - video.core - INFO - ๐Ÿ“ค Server relayed frame #119 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:36,509 - video.core - INFO - ๐Ÿ“น Frame #120 from producer producer_1749200539754: size=27318 bytes, resolution=640x480 +2025-06-06 11:02:36,511 - video.core - INFO - ๐Ÿ“ฅ Server received frame #120 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27318 bytes +2025-06-06 11:02:36,512 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:36,512 - video.core - INFO - ๐Ÿ“ค Server relayed frame #120 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:36,512 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 120 frames processed, 16.5 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:36,512 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 120 frames, 6.5 FPS, 1.38 Mbps throughput, 26625 bytes avg frame size +2025-06-06 11:02:36,512 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200539754 stats: 120 frames processed, FPS: 22.6, Throughput: 4.82 Mbps, Avg frame size: 26625 bytes +2025-06-06 11:02:36,537 - video.core - INFO - ๐Ÿ“ฅ Server received frame #121 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27506 bytes +2025-06-06 11:02:36,538 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:36,538 - video.core - INFO - ๐Ÿ“ค Server relayed frame #121 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:36,579 - video.core - INFO - ๐Ÿ“ฅ Server received frame #122 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27454 bytes +2025-06-06 11:02:36,579 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:36,579 - video.core - INFO - ๐Ÿ“ค Server relayed frame #122 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:36,624 - video.core - INFO - ๐Ÿ“ฅ Server received frame #123 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27428 bytes +2025-06-06 11:02:36,625 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:36,625 - video.core - INFO - ๐Ÿ“ค Server relayed frame #123 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:36,678 - video.core - INFO - ๐Ÿ“ฅ Server received frame #124 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27466 bytes +2025-06-06 11:02:36,678 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:36,678 - video.core - INFO - ๐Ÿ“ค Server relayed frame #124 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:36,711 - video.core - INFO - ๐Ÿ“ฅ Server received frame #125 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27562 bytes +2025-06-06 11:02:36,711 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:36,711 - video.core - INFO - ๐Ÿ“ค Server relayed frame #125 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:36,751 - video.core - INFO - ๐Ÿ“ฅ Server received frame #126 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27471 bytes +2025-06-06 11:02:36,751 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:36,751 - video.core - INFO - ๐Ÿ“ค Server relayed frame #126 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:36,812 - video.core - INFO - ๐Ÿ“ฅ Server received frame #127 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27431 bytes +2025-06-06 11:02:36,813 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:36,813 - video.core - INFO - ๐Ÿ“ค Server relayed frame #127 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:36,883 - video.core - INFO - ๐Ÿ“ฅ Server received frame #128 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27479 bytes +2025-06-06 11:02:36,889 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:36,890 - video.core - INFO - ๐Ÿ“ค Server relayed frame #128 to 1 consumers in 7.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:36,916 - video.core - INFO - ๐Ÿ“ฅ Server received frame #129 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27666 bytes +2025-06-06 11:02:36,917 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:36,917 - video.core - INFO - ๐Ÿ“ค Server relayed frame #129 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:36,930 - video.core - INFO - ๐Ÿ“น Frame #130 from producer producer_1749200539754: size=27706 bytes, resolution=640x480 +2025-06-06 11:02:36,930 - video.core - INFO - ๐Ÿ“ฅ Server received frame #130 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27706 bytes +2025-06-06 11:02:36,930 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:36,930 - video.core - INFO - ๐Ÿ“ค Server relayed frame #130 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:36,970 - video.core - INFO - ๐Ÿ“ฅ Server received frame #131 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27695 bytes +2025-06-06 11:02:36,970 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:36,970 - video.core - INFO - ๐Ÿ“ค Server relayed frame #131 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:37,010 - video.core - INFO - ๐Ÿ“ฅ Server received frame #132 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27830 bytes +2025-06-06 11:02:37,010 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:37,010 - video.core - INFO - ๐Ÿ“ค Server relayed frame #132 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:37,052 - video.core - INFO - ๐Ÿ“ฅ Server received frame #133 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27858 bytes +2025-06-06 11:02:37,053 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:37,053 - video.core - INFO - ๐Ÿ“ค Server relayed frame #133 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:37,098 - video.core - INFO - ๐Ÿ“ฅ Server received frame #134 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27928 bytes +2025-06-06 11:02:37,098 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:37,098 - video.core - INFO - ๐Ÿ“ค Server relayed frame #134 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:37,143 - video.core - INFO - ๐Ÿ“ฅ Server received frame #135 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28038 bytes +2025-06-06 11:02:37,143 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:37,143 - video.core - INFO - ๐Ÿ“ค Server relayed frame #135 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:37,187 - video.core - INFO - ๐Ÿ“ฅ Server received frame #136 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28098 bytes +2025-06-06 11:02:37,187 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:37,187 - video.core - INFO - ๐Ÿ“ค Server relayed frame #136 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:37,230 - video.core - INFO - ๐Ÿ“ฅ Server received frame #137 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28051 bytes +2025-06-06 11:02:37,230 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:37,230 - video.core - INFO - ๐Ÿ“ค Server relayed frame #137 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:37,273 - video.core - INFO - ๐Ÿ“ฅ Server received frame #138 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28038 bytes +2025-06-06 11:02:37,273 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:37,273 - video.core - INFO - ๐Ÿ“ค Server relayed frame #138 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:37,317 - video.core - INFO - ๐Ÿ“ฅ Server received frame #139 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27833 bytes +2025-06-06 11:02:37,317 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:37,317 - video.core - INFO - ๐Ÿ“ค Server relayed frame #139 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:37,358 - video.core - INFO - ๐Ÿ“น Frame #140 from producer producer_1749200539754: size=27801 bytes, resolution=640x480 +2025-06-06 11:02:37,358 - video.core - INFO - ๐Ÿ“ฅ Server received frame #140 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27801 bytes +2025-06-06 11:02:37,358 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:37,358 - video.core - INFO - ๐Ÿ“ค Server relayed frame #140 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:37,406 - video.core - INFO - ๐Ÿ“ฅ Server received frame #141 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27747 bytes +2025-06-06 11:02:37,406 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:37,406 - video.core - INFO - ๐Ÿ“ค Server relayed frame #141 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:37,460 - video.core - INFO - ๐Ÿ“ฅ Server received frame #142 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27672 bytes +2025-06-06 11:02:37,460 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:37,460 - video.core - INFO - ๐Ÿ“ค Server relayed frame #142 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:37,490 - video.core - INFO - ๐Ÿ“ฅ Server received frame #143 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27765 bytes +2025-06-06 11:02:37,490 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:37,490 - video.core - INFO - ๐Ÿ“ค Server relayed frame #143 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:37,536 - video.core - INFO - ๐Ÿ“ฅ Server received frame #144 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27816 bytes +2025-06-06 11:02:37,537 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:37,537 - video.core - INFO - ๐Ÿ“ค Server relayed frame #144 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:37,580 - video.core - INFO - ๐Ÿ“ฅ Server received frame #145 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27894 bytes +2025-06-06 11:02:37,580 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:37,580 - video.core - INFO - ๐Ÿ“ค Server relayed frame #145 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:37,623 - video.core - INFO - ๐Ÿ“ฅ Server received frame #146 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27866 bytes +2025-06-06 11:02:37,623 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:37,623 - video.core - INFO - ๐Ÿ“ค Server relayed frame #146 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:37,667 - video.core - INFO - ๐Ÿ“ฅ Server received frame #147 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27866 bytes +2025-06-06 11:02:37,667 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:37,667 - video.core - INFO - ๐Ÿ“ค Server relayed frame #147 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:37,711 - video.core - INFO - ๐Ÿ“ฅ Server received frame #148 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27910 bytes +2025-06-06 11:02:37,711 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:37,711 - video.core - INFO - ๐Ÿ“ค Server relayed frame #148 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:37,753 - video.core - INFO - ๐Ÿ“ฅ Server received frame #149 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27733 bytes +2025-06-06 11:02:37,753 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:37,753 - video.core - INFO - ๐Ÿ“ค Server relayed frame #149 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:37,803 - video.core - INFO - ๐Ÿ“น Frame #150 from producer producer_1749200539754: size=27525 bytes, resolution=640x480 +2025-06-06 11:02:37,804 - video.core - INFO - ๐Ÿ“ฅ Server received frame #150 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27525 bytes +2025-06-06 11:02:37,804 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:37,804 - video.core - INFO - ๐Ÿ“ค Server relayed frame #150 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:37,804 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 150 frames processed, 17.5 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:37,804 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 150 frames, 7.6 FPS, 1.62 Mbps throughput, 26847 bytes avg frame size +2025-06-06 11:02:37,804 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200539754 stats: 150 frames processed, FPS: 22.7, Throughput: 4.88 Mbps, Avg frame size: 26847 bytes +2025-06-06 11:02:37,850 - video.core - INFO - ๐Ÿ“ฅ Server received frame #151 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27598 bytes +2025-06-06 11:02:37,850 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:37,850 - video.core - INFO - ๐Ÿ“ค Server relayed frame #151 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:37,896 - video.core - INFO - ๐Ÿ“ฅ Server received frame #152 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27586 bytes +2025-06-06 11:02:37,897 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:37,897 - video.core - INFO - ๐Ÿ“ค Server relayed frame #152 to 1 consumers in 1.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:37,934 - video.core - INFO - ๐Ÿ“ฅ Server received frame #153 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27642 bytes +2025-06-06 11:02:37,934 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:37,934 - video.core - INFO - ๐Ÿ“ค Server relayed frame #153 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:37,984 - video.core - INFO - ๐Ÿ“ฅ Server received frame #154 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27648 bytes +2025-06-06 11:02:37,984 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:37,984 - video.core - INFO - ๐Ÿ“ค Server relayed frame #154 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:38,011 - video.core - INFO - ๐Ÿ“ฅ Server received frame #155 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27762 bytes +2025-06-06 11:02:38,011 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:38,011 - video.core - INFO - ๐Ÿ“ค Server relayed frame #155 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:38,051 - video.core - INFO - ๐Ÿ“ฅ Server received frame #156 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27847 bytes +2025-06-06 11:02:38,052 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:38,052 - video.core - INFO - ๐Ÿ“ค Server relayed frame #156 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:38,095 - video.core - INFO - ๐Ÿ“ฅ Server received frame #157 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27930 bytes +2025-06-06 11:02:38,095 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:38,095 - video.core - INFO - ๐Ÿ“ค Server relayed frame #157 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:38,140 - video.core - INFO - ๐Ÿ“ฅ Server received frame #158 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27989 bytes +2025-06-06 11:02:38,140 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:38,140 - video.core - INFO - ๐Ÿ“ค Server relayed frame #158 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:38,182 - video.core - INFO - ๐Ÿ“ฅ Server received frame #159 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27968 bytes +2025-06-06 11:02:38,182 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:38,183 - video.core - INFO - ๐Ÿ“ค Server relayed frame #159 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:38,230 - video.core - INFO - ๐Ÿ“น Frame #160 from producer producer_1749200539754: size=27970 bytes, resolution=640x480 +2025-06-06 11:02:38,230 - video.core - INFO - ๐Ÿ“ฅ Server received frame #160 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27970 bytes +2025-06-06 11:02:38,230 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:38,230 - video.core - INFO - ๐Ÿ“ค Server relayed frame #160 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:38,278 - video.core - INFO - ๐Ÿ“ฅ Server received frame #161 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27764 bytes +2025-06-06 11:02:38,278 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:38,278 - video.core - INFO - ๐Ÿ“ค Server relayed frame #161 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:38,317 - video.core - INFO - ๐Ÿ“ฅ Server received frame #162 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27717 bytes +2025-06-06 11:02:38,318 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:38,318 - video.core - INFO - ๐Ÿ“ค Server relayed frame #162 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:38,366 - video.core - INFO - ๐Ÿ“ฅ Server received frame #163 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27603 bytes +2025-06-06 11:02:38,366 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:38,366 - video.core - INFO - ๐Ÿ“ค Server relayed frame #163 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:38,404 - video.core - INFO - ๐Ÿ“ฅ Server received frame #164 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27717 bytes +2025-06-06 11:02:38,404 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:38,404 - video.core - INFO - ๐Ÿ“ค Server relayed frame #164 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:38,447 - video.core - INFO - ๐Ÿ“ฅ Server received frame #165 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27745 bytes +2025-06-06 11:02:38,448 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:38,448 - video.core - INFO - ๐Ÿ“ค Server relayed frame #165 to 1 consumers in 0.8ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:38,490 - video.core - INFO - ๐Ÿ“ฅ Server received frame #166 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27700 bytes +2025-06-06 11:02:38,490 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:38,490 - video.core - INFO - ๐Ÿ“ค Server relayed frame #166 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:38,534 - video.core - INFO - ๐Ÿ“ฅ Server received frame #167 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27843 bytes +2025-06-06 11:02:38,535 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:38,535 - video.core - INFO - ๐Ÿ“ค Server relayed frame #167 to 1 consumers in 0.9ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:38,577 - video.core - INFO - ๐Ÿ“ฅ Server received frame #168 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27848 bytes +2025-06-06 11:02:38,577 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:38,577 - video.core - INFO - ๐Ÿ“ค Server relayed frame #168 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:38,619 - video.core - INFO - ๐Ÿ“ฅ Server received frame #169 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27866 bytes +2025-06-06 11:02:38,620 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:38,620 - video.core - INFO - ๐Ÿ“ค Server relayed frame #169 to 1 consumers in 1.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:38,662 - video.core - INFO - ๐Ÿ“น Frame #170 from producer producer_1749200539754: size=27935 bytes, resolution=640x480 +2025-06-06 11:02:38,663 - video.core - INFO - ๐Ÿ“ฅ Server received frame #170 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27935 bytes +2025-06-06 11:02:38,663 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:38,663 - video.core - INFO - ๐Ÿ“ค Server relayed frame #170 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:38,705 - video.core - INFO - ๐Ÿ“ฅ Server received frame #171 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28075 bytes +2025-06-06 11:02:38,705 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:38,705 - video.core - INFO - ๐Ÿ“ค Server relayed frame #171 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:38,752 - video.core - INFO - ๐Ÿ“ฅ Server received frame #172 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28207 bytes +2025-06-06 11:02:38,753 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:38,753 - video.core - INFO - ๐Ÿ“ค Server relayed frame #172 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:38,794 - video.core - INFO - ๐Ÿ“ฅ Server received frame #173 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28318 bytes +2025-06-06 11:02:38,794 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:38,794 - video.core - INFO - ๐Ÿ“ค Server relayed frame #173 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:38,836 - video.core - INFO - ๐Ÿ“ฅ Server received frame #174 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28361 bytes +2025-06-06 11:02:38,836 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:38,836 - video.core - INFO - ๐Ÿ“ค Server relayed frame #174 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:38,881 - video.core - INFO - ๐Ÿ“ฅ Server received frame #175 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28189 bytes +2025-06-06 11:02:38,881 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:38,881 - video.core - INFO - ๐Ÿ“ค Server relayed frame #175 to 1 consumers in 0.7ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:38,922 - video.core - INFO - ๐Ÿ“ฅ Server received frame #176 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28127 bytes +2025-06-06 11:02:38,922 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:38,922 - video.core - INFO - ๐Ÿ“ค Server relayed frame #176 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:38,962 - video.core - INFO - ๐Ÿ“ฅ Server received frame #177 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28144 bytes +2025-06-06 11:02:38,962 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:38,962 - video.core - INFO - ๐Ÿ“ค Server relayed frame #177 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:39,005 - video.core - INFO - ๐Ÿ“ฅ Server received frame #178 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28180 bytes +2025-06-06 11:02:39,005 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:39,005 - video.core - INFO - ๐Ÿ“ค Server relayed frame #178 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:39,048 - video.core - INFO - ๐Ÿ“ฅ Server received frame #179 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28107 bytes +2025-06-06 11:02:39,049 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:39,049 - video.core - INFO - ๐Ÿ“ค Server relayed frame #179 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:39,090 - video.core - INFO - ๐Ÿ“น Frame #180 from producer producer_1749200539754: size=27789 bytes, resolution=640x480 +2025-06-06 11:02:39,091 - video.core - INFO - ๐Ÿ“ฅ Server received frame #180 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27789 bytes +2025-06-06 11:02:39,091 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:39,091 - video.core - INFO - ๐Ÿ“ค Server relayed frame #180 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:39,091 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 180 frames processed, 18.3 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:39,091 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 180 frames, 8.5 FPS, 1.84 Mbps throughput, 27024 bytes avg frame size +2025-06-06 11:02:39,091 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200539754 stats: 180 frames processed, FPS: 22.8, Throughput: 4.93 Mbps, Avg frame size: 27024 bytes +2025-06-06 11:02:39,131 - video.core - INFO - ๐Ÿ“ฅ Server received frame #181 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27857 bytes +2025-06-06 11:02:39,131 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:39,131 - video.core - INFO - ๐Ÿ“ค Server relayed frame #181 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:39,177 - video.core - INFO - ๐Ÿ“ฅ Server received frame #182 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27723 bytes +2025-06-06 11:02:39,177 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:39,177 - video.core - INFO - ๐Ÿ“ค Server relayed frame #182 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:39,221 - video.core - INFO - ๐Ÿ“ฅ Server received frame #183 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27602 bytes +2025-06-06 11:02:39,221 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:39,221 - video.core - INFO - ๐Ÿ“ค Server relayed frame #183 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:39,265 - video.core - INFO - ๐Ÿ“ฅ Server received frame #184 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27676 bytes +2025-06-06 11:02:39,265 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:39,265 - video.core - INFO - ๐Ÿ“ค Server relayed frame #184 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:39,310 - video.core - INFO - ๐Ÿ“ฅ Server received frame #185 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27778 bytes +2025-06-06 11:02:39,311 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:39,311 - video.core - INFO - ๐Ÿ“ค Server relayed frame #185 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:39,360 - video.core - INFO - ๐Ÿ“ฅ Server received frame #186 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27359 bytes +2025-06-06 11:02:39,360 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:39,360 - video.core - INFO - ๐Ÿ“ค Server relayed frame #186 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:39,398 - video.core - INFO - ๐Ÿ“ฅ Server received frame #187 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27308 bytes +2025-06-06 11:02:39,398 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:39,398 - video.core - INFO - ๐Ÿ“ค Server relayed frame #187 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:39,443 - video.core - INFO - ๐Ÿ“ฅ Server received frame #188 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27383 bytes +2025-06-06 11:02:39,444 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:39,444 - video.core - INFO - ๐Ÿ“ค Server relayed frame #188 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:39,486 - video.core - INFO - ๐Ÿ“ฅ Server received frame #189 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27410 bytes +2025-06-06 11:02:39,486 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:39,487 - video.core - INFO - ๐Ÿ“ค Server relayed frame #189 to 1 consumers in 1.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:39,529 - video.core - INFO - ๐Ÿ“น Frame #190 from producer producer_1749200539754: size=27510 bytes, resolution=640x480 +2025-06-06 11:02:39,529 - video.core - INFO - ๐Ÿ“ฅ Server received frame #190 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27510 bytes +2025-06-06 11:02:39,529 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:39,529 - video.core - INFO - ๐Ÿ“ค Server relayed frame #190 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:39,571 - video.core - INFO - ๐Ÿ“ฅ Server received frame #191 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27628 bytes +2025-06-06 11:02:39,571 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:39,571 - video.core - INFO - ๐Ÿ“ค Server relayed frame #191 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:39,617 - video.core - INFO - ๐Ÿ“ฅ Server received frame #192 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27481 bytes +2025-06-06 11:02:39,617 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:39,617 - video.core - INFO - ๐Ÿ“ค Server relayed frame #192 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:39,670 - video.core - INFO - ๐Ÿ“ฅ Server received frame #193 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27563 bytes +2025-06-06 11:02:39,670 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:39,670 - video.core - INFO - ๐Ÿ“ค Server relayed frame #193 to 1 consumers in 0.7ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:39,707 - video.core - INFO - ๐Ÿ“ฅ Server received frame #194 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27650 bytes +2025-06-06 11:02:39,708 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:39,708 - video.core - INFO - ๐Ÿ“ค Server relayed frame #194 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:39,746 - video.core - INFO - ๐Ÿ“ฅ Server received frame #195 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27398 bytes +2025-06-06 11:02:39,746 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:39,746 - video.core - INFO - ๐Ÿ“ค Server relayed frame #195 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:39,789 - video.core - INFO - ๐Ÿ“ฅ Server received frame #196 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27596 bytes +2025-06-06 11:02:39,790 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:39,790 - video.core - INFO - ๐Ÿ“ค Server relayed frame #196 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:39,838 - video.core - INFO - ๐Ÿ“ฅ Server received frame #197 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27460 bytes +2025-06-06 11:02:39,839 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:39,839 - video.core - INFO - ๐Ÿ“ค Server relayed frame #197 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:39,881 - video.core - INFO - ๐Ÿ“ฅ Server received frame #198 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27603 bytes +2025-06-06 11:02:39,881 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:39,881 - video.core - INFO - ๐Ÿ“ค Server relayed frame #198 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:39,920 - video.core - INFO - ๐Ÿ“ฅ Server received frame #199 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27534 bytes +2025-06-06 11:02:39,920 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:39,920 - video.core - INFO - ๐Ÿ“ค Server relayed frame #199 to 1 consumers in 0.8ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:39,963 - video.core - INFO - ๐Ÿ“น Frame #200 from producer producer_1749200539754: size=27608 bytes, resolution=640x480 +2025-06-06 11:02:39,963 - video.core - INFO - ๐Ÿ“ฅ Server received frame #200 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27608 bytes +2025-06-06 11:02:39,963 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:39,963 - video.core - INFO - ๐Ÿ“ค Server relayed frame #200 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:40,002 - video.core - INFO - ๐Ÿ“ฅ Server received frame #201 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27670 bytes +2025-06-06 11:02:40,003 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:40,003 - video.core - INFO - ๐Ÿ“ค Server relayed frame #201 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:40,057 - video.core - INFO - ๐Ÿ“ฅ Server received frame #202 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27762 bytes +2025-06-06 11:02:40,060 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:40,060 - video.core - INFO - ๐Ÿ“ค Server relayed frame #202 to 1 consumers in 3.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:40,123 - video.core - INFO - ๐Ÿ“ฅ Server received frame #203 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27794 bytes +2025-06-06 11:02:40,124 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:40,124 - video.core - INFO - ๐Ÿ“ค Server relayed frame #203 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:40,170 - video.core - INFO - ๐Ÿ“ฅ Server received frame #204 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27875 bytes +2025-06-06 11:02:40,170 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:40,170 - video.core - INFO - ๐Ÿ“ค Server relayed frame #204 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:40,300 - video.core - INFO - ๐Ÿ“ฅ Server received frame #205 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27934 bytes +2025-06-06 11:02:40,300 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:40,300 - video.core - INFO - ๐Ÿ“ค Server relayed frame #205 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:40,303 - video.core - INFO - ๐Ÿ“ฅ Server received frame #206 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28007 bytes +2025-06-06 11:02:40,303 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:40,303 - video.core - INFO - ๐Ÿ“ค Server relayed frame #206 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:40,304 - video.core - INFO - ๐Ÿ“ฅ Server received frame #207 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27985 bytes +2025-06-06 11:02:40,304 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:40,304 - video.core - INFO - ๐Ÿ“ค Server relayed frame #207 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:40,305 - video.core - INFO - ๐Ÿ“ฅ Server received frame #208 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28049 bytes +2025-06-06 11:02:40,305 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:40,305 - video.core - INFO - ๐Ÿ“ค Server relayed frame #208 to 1 consumers in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:40,346 - video.core - INFO - ๐Ÿ“ฅ Server received frame #209 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28075 bytes +2025-06-06 11:02:40,346 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:40,346 - video.core - INFO - ๐Ÿ“ค Server relayed frame #209 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:40,384 - video.core - INFO - ๐Ÿ“น Frame #210 from producer producer_1749200539754: size=28167 bytes, resolution=640x480 +2025-06-06 11:02:40,384 - video.core - INFO - ๐Ÿ“ฅ Server received frame #210 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28167 bytes +2025-06-06 11:02:40,384 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:40,384 - video.core - INFO - ๐Ÿ“ค Server relayed frame #210 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:40,384 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 210 frames processed, 18.9 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:40,384 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 210 frames, 9.4 FPS, 2.03 Mbps throughput, 27118 bytes avg frame size +2025-06-06 11:02:40,384 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200539754 stats: 210 frames processed, FPS: 22.9, Throughput: 4.96 Mbps, Avg frame size: 27118 bytes +2025-06-06 11:02:40,431 - video.core - INFO - ๐Ÿ“ฅ Server received frame #211 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28150 bytes +2025-06-06 11:02:40,431 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:40,431 - video.core - INFO - ๐Ÿ“ค Server relayed frame #211 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:40,474 - video.core - INFO - ๐Ÿ“ฅ Server received frame #212 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28065 bytes +2025-06-06 11:02:40,475 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:40,475 - video.core - INFO - ๐Ÿ“ค Server relayed frame #212 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:40,517 - video.core - INFO - ๐Ÿ“ฅ Server received frame #213 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28131 bytes +2025-06-06 11:02:40,518 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:40,518 - video.core - INFO - ๐Ÿ“ค Server relayed frame #213 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:40,561 - video.core - INFO - ๐Ÿ“ฅ Server received frame #214 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27965 bytes +2025-06-06 11:02:40,561 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:40,561 - video.core - INFO - ๐Ÿ“ค Server relayed frame #214 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:40,612 - video.core - INFO - ๐Ÿ“ฅ Server received frame #215 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27724 bytes +2025-06-06 11:02:40,612 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:40,612 - video.core - INFO - ๐Ÿ“ค Server relayed frame #215 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:40,656 - video.core - INFO - ๐Ÿ“ฅ Server received frame #216 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27552 bytes +2025-06-06 11:02:40,656 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:40,656 - video.core - INFO - ๐Ÿ“ค Server relayed frame #216 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:40,692 - video.core - INFO - ๐Ÿ“ฅ Server received frame #217 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27550 bytes +2025-06-06 11:02:40,692 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:40,693 - video.core - INFO - ๐Ÿ“ค Server relayed frame #217 to 1 consumers in 0.9ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:40,737 - video.core - INFO - ๐Ÿ“ฅ Server received frame #218 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27599 bytes +2025-06-06 11:02:40,738 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:40,738 - video.core - INFO - ๐Ÿ“ค Server relayed frame #218 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:40,775 - video.core - INFO - ๐Ÿ“ฅ Server received frame #219 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27770 bytes +2025-06-06 11:02:40,775 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:40,775 - video.core - INFO - ๐Ÿ“ค Server relayed frame #219 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:40,819 - video.core - INFO - ๐Ÿ“น Frame #220 from producer producer_1749200539754: size=27777 bytes, resolution=640x480 +2025-06-06 11:02:40,819 - video.core - INFO - ๐Ÿ“ฅ Server received frame #220 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27777 bytes +2025-06-06 11:02:40,819 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:40,819 - video.core - INFO - ๐Ÿ“ค Server relayed frame #220 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:40,864 - video.core - INFO - ๐Ÿ“ฅ Server received frame #221 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27720 bytes +2025-06-06 11:02:40,864 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:40,864 - video.core - INFO - ๐Ÿ“ค Server relayed frame #221 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:40,907 - video.core - INFO - ๐Ÿ“ฅ Server received frame #222 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27774 bytes +2025-06-06 11:02:40,907 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:40,907 - video.core - INFO - ๐Ÿ“ค Server relayed frame #222 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:40,951 - video.core - INFO - ๐Ÿ“ฅ Server received frame #223 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27573 bytes +2025-06-06 11:02:40,951 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:40,951 - video.core - INFO - ๐Ÿ“ค Server relayed frame #223 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:40,995 - video.core - INFO - ๐Ÿ“ฅ Server received frame #224 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27477 bytes +2025-06-06 11:02:40,995 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:40,995 - video.core - INFO - ๐Ÿ“ค Server relayed frame #224 to 1 consumers in 0.7ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:41,037 - video.core - INFO - ๐Ÿ“ฅ Server received frame #225 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27626 bytes +2025-06-06 11:02:41,037 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:41,037 - video.core - INFO - ๐Ÿ“ค Server relayed frame #225 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:41,078 - video.core - INFO - ๐Ÿ“ฅ Server received frame #226 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27569 bytes +2025-06-06 11:02:41,079 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:41,079 - video.core - INFO - ๐Ÿ“ค Server relayed frame #226 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:41,123 - video.core - INFO - ๐Ÿ“ฅ Server received frame #227 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27483 bytes +2025-06-06 11:02:41,123 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:41,123 - video.core - INFO - ๐Ÿ“ค Server relayed frame #227 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:41,167 - video.core - INFO - ๐Ÿ“ฅ Server received frame #228 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27646 bytes +2025-06-06 11:02:41,168 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:41,168 - video.core - INFO - ๐Ÿ“ค Server relayed frame #228 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:41,207 - video.core - INFO - ๐Ÿ“ฅ Server received frame #229 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27576 bytes +2025-06-06 11:02:41,207 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:41,207 - video.core - INFO - ๐Ÿ“ค Server relayed frame #229 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:41,250 - video.core - INFO - ๐Ÿ“น Frame #230 from producer producer_1749200539754: size=27624 bytes, resolution=640x480 +2025-06-06 11:02:41,251 - video.core - INFO - ๐Ÿ“ฅ Server received frame #230 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27624 bytes +2025-06-06 11:02:41,251 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:41,251 - video.core - INFO - ๐Ÿ“ค Server relayed frame #230 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:41,294 - video.core - INFO - ๐Ÿ“ฅ Server received frame #231 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27812 bytes +2025-06-06 11:02:41,294 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:41,294 - video.core - INFO - ๐Ÿ“ค Server relayed frame #231 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:41,337 - video.core - INFO - ๐Ÿ“ฅ Server received frame #232 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27604 bytes +2025-06-06 11:02:41,338 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:41,338 - video.core - INFO - ๐Ÿ“ค Server relayed frame #232 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:41,379 - video.core - INFO - ๐Ÿ“ฅ Server received frame #233 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27547 bytes +2025-06-06 11:02:41,379 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:41,379 - video.core - INFO - ๐Ÿ“ค Server relayed frame #233 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:41,427 - video.core - INFO - ๐Ÿ“ฅ Server received frame #234 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27752 bytes +2025-06-06 11:02:41,427 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:41,428 - video.core - INFO - ๐Ÿ“ค Server relayed frame #234 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:41,471 - video.core - INFO - ๐Ÿ“ฅ Server received frame #235 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27867 bytes +2025-06-06 11:02:41,471 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:41,471 - video.core - INFO - ๐Ÿ“ค Server relayed frame #235 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:41,515 - video.core - INFO - ๐Ÿ“ฅ Server received frame #236 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27599 bytes +2025-06-06 11:02:41,515 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:41,515 - video.core - INFO - ๐Ÿ“ค Server relayed frame #236 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:41,563 - video.core - INFO - ๐Ÿ“ฅ Server received frame #237 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27564 bytes +2025-06-06 11:02:41,563 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:41,563 - video.core - INFO - ๐Ÿ“ค Server relayed frame #237 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:41,606 - video.core - INFO - ๐Ÿ“ฅ Server received frame #238 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27535 bytes +2025-06-06 11:02:41,607 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:41,607 - video.core - INFO - ๐Ÿ“ค Server relayed frame #238 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:41,647 - video.core - INFO - ๐Ÿ“ฅ Server received frame #239 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27646 bytes +2025-06-06 11:02:41,647 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:41,647 - video.core - INFO - ๐Ÿ“ค Server relayed frame #239 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:41,692 - video.core - INFO - ๐Ÿ“น Frame #240 from producer producer_1749200539754: size=27671 bytes, resolution=640x480 +2025-06-06 11:02:41,693 - video.core - INFO - ๐Ÿ“ฅ Server received frame #240 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27671 bytes +2025-06-06 11:02:41,693 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:41,693 - video.core - INFO - ๐Ÿ“ค Server relayed frame #240 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:41,693 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 240 frames processed, 19.3 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:41,693 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 240 frames, 10.1 FPS, 2.20 Mbps throughput, 27190 bytes avg frame size +2025-06-06 11:02:41,693 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200539754 stats: 240 frames processed, FPS: 22.9, Throughput: 4.98 Mbps, Avg frame size: 27190 bytes +2025-06-06 11:02:41,735 - video.core - INFO - ๐Ÿ“ฅ Server received frame #241 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27779 bytes +2025-06-06 11:02:41,736 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:41,736 - video.core - INFO - ๐Ÿ“ค Server relayed frame #241 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:41,778 - video.core - INFO - ๐Ÿ“ฅ Server received frame #242 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27841 bytes +2025-06-06 11:02:41,778 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:41,778 - video.core - INFO - ๐Ÿ“ค Server relayed frame #242 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:41,819 - video.core - INFO - ๐Ÿ“ฅ Server received frame #243 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27865 bytes +2025-06-06 11:02:41,820 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:41,820 - video.core - INFO - ๐Ÿ“ค Server relayed frame #243 to 1 consumers in 0.7ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:41,864 - video.core - INFO - ๐Ÿ“ฅ Server received frame #244 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27940 bytes +2025-06-06 11:02:41,865 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:41,865 - video.core - INFO - ๐Ÿ“ค Server relayed frame #244 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:41,907 - video.core - INFO - ๐Ÿ“ฅ Server received frame #245 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28052 bytes +2025-06-06 11:02:41,907 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:41,907 - video.core - INFO - ๐Ÿ“ค Server relayed frame #245 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:41,951 - video.core - INFO - ๐Ÿ“ฅ Server received frame #246 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28133 bytes +2025-06-06 11:02:41,951 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:41,951 - video.core - INFO - ๐Ÿ“ค Server relayed frame #246 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:41,994 - video.core - INFO - ๐Ÿ“ฅ Server received frame #247 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28187 bytes +2025-06-06 11:02:41,994 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:41,994 - video.core - INFO - ๐Ÿ“ค Server relayed frame #247 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:42,033 - video.core - INFO - ๐Ÿ“ฅ Server received frame #248 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28274 bytes +2025-06-06 11:02:42,033 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:42,033 - video.core - INFO - ๐Ÿ“ค Server relayed frame #248 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:42,074 - video.core - INFO - ๐Ÿ“ฅ Server received frame #249 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28281 bytes +2025-06-06 11:02:42,074 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:42,074 - video.core - INFO - ๐Ÿ“ค Server relayed frame #249 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:42,115 - video.core - INFO - ๐Ÿ“น Frame #250 from producer producer_1749200539754: size=28317 bytes, resolution=640x480 +2025-06-06 11:02:42,116 - video.core - INFO - ๐Ÿ“ฅ Server received frame #250 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28317 bytes +2025-06-06 11:02:42,116 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:42,116 - video.core - INFO - ๐Ÿ“ค Server relayed frame #250 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:42,163 - video.core - INFO - ๐Ÿ“ฅ Server received frame #251 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28375 bytes +2025-06-06 11:02:42,163 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:42,163 - video.core - INFO - ๐Ÿ“ค Server relayed frame #251 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:42,205 - video.core - INFO - ๐Ÿ“ฅ Server received frame #252 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28462 bytes +2025-06-06 11:02:42,205 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:42,205 - video.core - INFO - ๐Ÿ“ค Server relayed frame #252 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:42,250 - video.core - INFO - ๐Ÿ“ฅ Server received frame #253 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28433 bytes +2025-06-06 11:02:42,251 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:42,251 - video.core - INFO - ๐Ÿ“ค Server relayed frame #253 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:42,301 - video.core - INFO - ๐Ÿ“ฅ Server received frame #254 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28407 bytes +2025-06-06 11:02:42,301 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:42,301 - video.core - INFO - ๐Ÿ“ค Server relayed frame #254 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:42,349 - video.core - INFO - ๐Ÿ“ฅ Server received frame #255 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28106 bytes +2025-06-06 11:02:42,349 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:42,349 - video.core - INFO - ๐Ÿ“ค Server relayed frame #255 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:42,389 - video.core - INFO - ๐Ÿ“ฅ Server received frame #256 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28233 bytes +2025-06-06 11:02:42,389 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:42,389 - video.core - INFO - ๐Ÿ“ค Server relayed frame #256 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:42,427 - video.core - INFO - ๐Ÿ“ฅ Server received frame #257 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28083 bytes +2025-06-06 11:02:42,427 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:42,427 - video.core - INFO - ๐Ÿ“ค Server relayed frame #257 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:42,472 - video.core - INFO - ๐Ÿ“ฅ Server received frame #258 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28124 bytes +2025-06-06 11:02:42,472 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:42,472 - video.core - INFO - ๐Ÿ“ค Server relayed frame #258 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:42,521 - video.core - INFO - ๐Ÿ“ฅ Server received frame #259 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28137 bytes +2025-06-06 11:02:42,521 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:42,522 - video.core - INFO - ๐Ÿ“ค Server relayed frame #259 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:42,558 - video.core - INFO - ๐Ÿ“น Frame #260 from producer producer_1749200539754: size=28174 bytes, resolution=640x480 +2025-06-06 11:02:42,558 - video.core - INFO - ๐Ÿ“ฅ Server received frame #260 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28174 bytes +2025-06-06 11:02:42,558 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:42,558 - video.core - INFO - ๐Ÿ“ค Server relayed frame #260 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:42,605 - video.core - INFO - ๐Ÿ“ฅ Server received frame #261 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27949 bytes +2025-06-06 11:02:42,605 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:42,606 - video.core - INFO - ๐Ÿ“ค Server relayed frame #261 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:42,651 - video.core - INFO - ๐Ÿ“ฅ Server received frame #262 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27862 bytes +2025-06-06 11:02:42,652 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:42,652 - video.core - INFO - ๐Ÿ“ค Server relayed frame #262 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:42,696 - video.core - INFO - ๐Ÿ“ฅ Server received frame #263 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27976 bytes +2025-06-06 11:02:42,697 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:42,697 - video.core - INFO - ๐Ÿ“ค Server relayed frame #263 to 1 consumers in 0.7ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:42,741 - video.core - INFO - ๐Ÿ“ฅ Server received frame #264 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27850 bytes +2025-06-06 11:02:42,742 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:42,742 - video.core - INFO - ๐Ÿ“ค Server relayed frame #264 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:42,786 - video.core - INFO - ๐Ÿ“ฅ Server received frame #265 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27904 bytes +2025-06-06 11:02:42,786 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:42,786 - video.core - INFO - ๐Ÿ“ค Server relayed frame #265 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:42,828 - video.core - INFO - ๐Ÿ“ฅ Server received frame #266 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28016 bytes +2025-06-06 11:02:42,828 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:42,829 - video.core - INFO - ๐Ÿ“ค Server relayed frame #266 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:42,873 - video.core - INFO - ๐Ÿ“ฅ Server received frame #267 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28054 bytes +2025-06-06 11:02:42,874 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:42,874 - video.core - INFO - ๐Ÿ“ค Server relayed frame #267 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:42,924 - video.core - INFO - ๐Ÿ“ฅ Server received frame #268 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28244 bytes +2025-06-06 11:02:42,925 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:42,925 - video.core - INFO - ๐Ÿ“ค Server relayed frame #268 to 1 consumers in 1.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:42,972 - video.core - INFO - ๐Ÿ“ฅ Server received frame #269 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28209 bytes +2025-06-06 11:02:42,972 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:42,972 - video.core - INFO - ๐Ÿ“ค Server relayed frame #269 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:42,996 - video.core - INFO - ๐Ÿ“น Frame #270 from producer producer_1749200539754: size=28057 bytes, resolution=640x480 +2025-06-06 11:02:42,996 - video.core - INFO - ๐Ÿ“ฅ Server received frame #270 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28057 bytes +2025-06-06 11:02:42,996 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:42,996 - video.core - INFO - ๐Ÿ“ค Server relayed frame #270 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:42,996 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 270 frames processed, 19.6 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:42,996 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 270 frames, 10.8 FPS, 2.36 Mbps throughput, 27292 bytes avg frame size +2025-06-06 11:02:42,996 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200539754 stats: 270 frames processed, FPS: 22.9, Throughput: 5.00 Mbps, Avg frame size: 27292 bytes +2025-06-06 11:02:43,062 - video.core - INFO - ๐Ÿ“ฅ Server received frame #271 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27912 bytes +2025-06-06 11:02:43,062 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:43,062 - video.core - INFO - ๐Ÿ“ค Server relayed frame #271 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:43,075 - video.core - INFO - ๐Ÿ“ฅ Server received frame #272 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27868 bytes +2025-06-06 11:02:43,075 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:43,075 - video.core - INFO - ๐Ÿ“ค Server relayed frame #272 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:43,111 - video.core - INFO - ๐Ÿ“ฅ Server received frame #273 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27474 bytes +2025-06-06 11:02:43,112 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:43,112 - video.core - INFO - ๐Ÿ“ค Server relayed frame #273 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:43,154 - video.core - INFO - ๐Ÿ“ฅ Server received frame #274 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27464 bytes +2025-06-06 11:02:43,154 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:43,154 - video.core - INFO - ๐Ÿ“ค Server relayed frame #274 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:43,198 - video.core - INFO - ๐Ÿ“ฅ Server received frame #275 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27494 bytes +2025-06-06 11:02:43,199 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:43,199 - video.core - INFO - ๐Ÿ“ค Server relayed frame #275 to 1 consumers in 0.9ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:43,243 - video.core - INFO - ๐Ÿ“ฅ Server received frame #276 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27539 bytes +2025-06-06 11:02:43,243 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:43,243 - video.core - INFO - ๐Ÿ“ค Server relayed frame #276 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:43,283 - video.core - INFO - ๐Ÿ“ฅ Server received frame #277 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27660 bytes +2025-06-06 11:02:43,283 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:43,283 - video.core - INFO - ๐Ÿ“ค Server relayed frame #277 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:43,332 - video.core - INFO - ๐Ÿ“ฅ Server received frame #278 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27688 bytes +2025-06-06 11:02:43,332 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:43,332 - video.core - INFO - ๐Ÿ“ค Server relayed frame #278 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:43,378 - video.core - INFO - ๐Ÿ“ฅ Server received frame #279 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27574 bytes +2025-06-06 11:02:43,378 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:43,378 - video.core - INFO - ๐Ÿ“ค Server relayed frame #279 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:43,420 - video.core - INFO - ๐Ÿ“น Frame #280 from producer producer_1749200539754: size=27646 bytes, resolution=640x480 +2025-06-06 11:02:43,421 - video.core - INFO - ๐Ÿ“ฅ Server received frame #280 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27646 bytes +2025-06-06 11:02:43,421 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:43,421 - video.core - INFO - ๐Ÿ“ค Server relayed frame #280 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:43,462 - video.core - INFO - ๐Ÿ“ฅ Server received frame #281 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27850 bytes +2025-06-06 11:02:43,462 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:43,462 - video.core - INFO - ๐Ÿ“ค Server relayed frame #281 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:43,508 - video.core - INFO - ๐Ÿ“ฅ Server received frame #282 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27598 bytes +2025-06-06 11:02:43,508 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:43,508 - video.core - INFO - ๐Ÿ“ค Server relayed frame #282 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:43,550 - video.core - INFO - ๐Ÿ“ฅ Server received frame #283 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27720 bytes +2025-06-06 11:02:43,550 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:43,550 - video.core - INFO - ๐Ÿ“ค Server relayed frame #283 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:43,595 - video.core - INFO - ๐Ÿ“ฅ Server received frame #284 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27668 bytes +2025-06-06 11:02:43,595 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:43,595 - video.core - INFO - ๐Ÿ“ค Server relayed frame #284 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:43,638 - video.core - INFO - ๐Ÿ“ฅ Server received frame #285 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27729 bytes +2025-06-06 11:02:43,638 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:43,638 - video.core - INFO - ๐Ÿ“ค Server relayed frame #285 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:43,680 - video.core - INFO - ๐Ÿ“ฅ Server received frame #286 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27823 bytes +2025-06-06 11:02:43,680 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:43,680 - video.core - INFO - ๐Ÿ“ค Server relayed frame #286 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:43,722 - video.core - INFO - ๐Ÿ“ฅ Server received frame #287 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27768 bytes +2025-06-06 11:02:43,722 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:43,722 - video.core - INFO - ๐Ÿ“ค Server relayed frame #287 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:43,768 - video.core - INFO - ๐Ÿ“ฅ Server received frame #288 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27719 bytes +2025-06-06 11:02:43,768 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:43,769 - video.core - INFO - ๐Ÿ“ค Server relayed frame #288 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:43,806 - video.core - INFO - ๐Ÿ“ฅ Server received frame #289 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27691 bytes +2025-06-06 11:02:43,806 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:43,806 - video.core - INFO - ๐Ÿ“ค Server relayed frame #289 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:43,852 - video.core - INFO - ๐Ÿ“น Frame #290 from producer producer_1749200539754: size=27790 bytes, resolution=640x480 +2025-06-06 11:02:43,852 - video.core - INFO - ๐Ÿ“ฅ Server received frame #290 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27790 bytes +2025-06-06 11:02:43,852 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:43,852 - video.core - INFO - ๐Ÿ“ค Server relayed frame #290 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:43,904 - video.core - INFO - ๐Ÿ“ฅ Server received frame #291 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27664 bytes +2025-06-06 11:02:43,904 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:43,904 - video.core - INFO - ๐Ÿ“ค Server relayed frame #291 to 1 consumers in 0.7ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:43,951 - video.core - INFO - ๐Ÿ“ฅ Server received frame #292 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27517 bytes +2025-06-06 11:02:43,952 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:43,952 - video.core - INFO - ๐Ÿ“ค Server relayed frame #292 to 1 consumers in 0.8ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:43,993 - video.core - INFO - ๐Ÿ“ฅ Server received frame #293 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27416 bytes +2025-06-06 11:02:43,993 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:43,993 - video.core - INFO - ๐Ÿ“ค Server relayed frame #293 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:44,030 - video.core - INFO - ๐Ÿ“ฅ Server received frame #294 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27469 bytes +2025-06-06 11:02:44,031 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:44,031 - video.core - INFO - ๐Ÿ“ค Server relayed frame #294 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:44,069 - video.core - INFO - ๐Ÿ“ฅ Server received frame #295 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27590 bytes +2025-06-06 11:02:44,069 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:44,069 - video.core - INFO - ๐Ÿ“ค Server relayed frame #295 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:44,108 - video.core - INFO - ๐Ÿ“ฅ Server received frame #296 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27697 bytes +2025-06-06 11:02:44,108 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:44,108 - video.core - INFO - ๐Ÿ“ค Server relayed frame #296 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:44,159 - video.core - INFO - ๐Ÿ“ฅ Server received frame #297 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27659 bytes +2025-06-06 11:02:44,159 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:44,159 - video.core - INFO - ๐Ÿ“ค Server relayed frame #297 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:44,203 - video.core - INFO - ๐Ÿ“ฅ Server received frame #298 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27642 bytes +2025-06-06 11:02:44,204 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:44,204 - video.core - INFO - ๐Ÿ“ค Server relayed frame #298 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:44,248 - video.core - INFO - ๐Ÿ“ฅ Server received frame #299 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27734 bytes +2025-06-06 11:02:44,248 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:44,248 - video.core - INFO - ๐Ÿ“ค Server relayed frame #299 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:44,291 - video.core - INFO - ๐Ÿ“น Frame #300 from producer producer_1749200539754: size=27781 bytes, resolution=640x480 +2025-06-06 11:02:44,291 - video.core - INFO - ๐Ÿ“ฅ Server received frame #300 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27781 bytes +2025-06-06 11:02:44,291 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:44,291 - video.core - INFO - ๐Ÿ“ค Server relayed frame #300 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:44,292 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 300 frames processed, 19.9 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:44,292 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 300 frames, 11.4 FPS, 2.49 Mbps throughput, 27329 bytes avg frame size +2025-06-06 11:02:44,292 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200539754 stats: 300 frames processed, FPS: 22.9, Throughput: 5.01 Mbps, Avg frame size: 27329 bytes +2025-06-06 11:02:44,334 - video.core - INFO - ๐Ÿ“ฅ Server received frame #301 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27678 bytes +2025-06-06 11:02:44,334 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:44,334 - video.core - INFO - ๐Ÿ“ค Server relayed frame #301 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:44,376 - video.core - INFO - ๐Ÿ“ฅ Server received frame #302 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27911 bytes +2025-06-06 11:02:44,376 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:44,376 - video.core - INFO - ๐Ÿ“ค Server relayed frame #302 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:44,420 - video.core - INFO - ๐Ÿ“ฅ Server received frame #303 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28210 bytes +2025-06-06 11:02:44,420 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:44,420 - video.core - INFO - ๐Ÿ“ค Server relayed frame #303 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:44,464 - video.core - INFO - ๐Ÿ“ฅ Server received frame #304 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28320 bytes +2025-06-06 11:02:44,464 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:44,464 - video.core - INFO - ๐Ÿ“ค Server relayed frame #304 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:44,509 - video.core - INFO - ๐Ÿ“ฅ Server received frame #305 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28362 bytes +2025-06-06 11:02:44,509 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:44,509 - video.core - INFO - ๐Ÿ“ค Server relayed frame #305 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:44,548 - video.core - INFO - ๐Ÿ“ฅ Server received frame #306 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28477 bytes +2025-06-06 11:02:44,548 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:44,548 - video.core - INFO - ๐Ÿ“ค Server relayed frame #306 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:44,592 - video.core - INFO - ๐Ÿ“ฅ Server received frame #307 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28605 bytes +2025-06-06 11:02:44,592 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:44,592 - video.core - INFO - ๐Ÿ“ค Server relayed frame #307 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:44,639 - video.core - INFO - ๐Ÿ“ฅ Server received frame #308 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28703 bytes +2025-06-06 11:02:44,639 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:44,639 - video.core - INFO - ๐Ÿ“ค Server relayed frame #308 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:44,685 - video.core - INFO - ๐Ÿ“ฅ Server received frame #309 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28728 bytes +2025-06-06 11:02:44,685 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:44,685 - video.core - INFO - ๐Ÿ“ค Server relayed frame #309 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:44,723 - video.core - INFO - ๐Ÿ“น Frame #310 from producer producer_1749200539754: size=28738 bytes, resolution=640x480 +2025-06-06 11:02:44,723 - video.core - INFO - ๐Ÿ“ฅ Server received frame #310 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28738 bytes +2025-06-06 11:02:44,723 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:44,723 - video.core - INFO - ๐Ÿ“ค Server relayed frame #310 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:44,769 - video.core - INFO - ๐Ÿ“ฅ Server received frame #311 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28754 bytes +2025-06-06 11:02:44,769 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:44,769 - video.core - INFO - ๐Ÿ“ค Server relayed frame #311 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:44,806 - video.core - INFO - ๐Ÿ“ฅ Server received frame #312 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28540 bytes +2025-06-06 11:02:44,806 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:44,806 - video.core - INFO - ๐Ÿ“ค Server relayed frame #312 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:44,851 - video.core - INFO - ๐Ÿ“ฅ Server received frame #313 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28700 bytes +2025-06-06 11:02:44,851 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:44,851 - video.core - INFO - ๐Ÿ“ค Server relayed frame #313 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:44,895 - video.core - INFO - ๐Ÿ“ฅ Server received frame #314 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28697 bytes +2025-06-06 11:02:44,895 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:44,895 - video.core - INFO - ๐Ÿ“ค Server relayed frame #314 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:44,937 - video.core - INFO - ๐Ÿ“ฅ Server received frame #315 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28683 bytes +2025-06-06 11:02:44,937 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:44,937 - video.core - INFO - ๐Ÿ“ค Server relayed frame #315 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:44,980 - video.core - INFO - ๐Ÿ“ฅ Server received frame #316 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28645 bytes +2025-06-06 11:02:44,980 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:44,980 - video.core - INFO - ๐Ÿ“ค Server relayed frame #316 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:45,021 - video.core - INFO - ๐Ÿ“ฅ Server received frame #317 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28740 bytes +2025-06-06 11:02:45,021 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:45,021 - video.core - INFO - ๐Ÿ“ค Server relayed frame #317 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:45,062 - video.core - INFO - ๐Ÿ“ฅ Server received frame #318 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28884 bytes +2025-06-06 11:02:45,062 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:45,062 - video.core - INFO - ๐Ÿ“ค Server relayed frame #318 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:45,105 - video.core - INFO - ๐Ÿ“ฅ Server received frame #319 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28769 bytes +2025-06-06 11:02:45,105 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:45,105 - video.core - INFO - ๐Ÿ“ค Server relayed frame #319 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:45,152 - video.core - INFO - ๐Ÿ“น Frame #320 from producer producer_1749200539754: size=28752 bytes, resolution=640x480 +2025-06-06 11:02:45,152 - video.core - INFO - ๐Ÿ“ฅ Server received frame #320 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28752 bytes +2025-06-06 11:02:45,152 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:45,152 - video.core - INFO - ๐Ÿ“ค Server relayed frame #320 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:45,195 - video.core - INFO - ๐Ÿ“ฅ Server received frame #321 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28628 bytes +2025-06-06 11:02:45,195 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:45,195 - video.core - INFO - ๐Ÿ“ค Server relayed frame #321 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:45,240 - video.core - INFO - ๐Ÿ“ฅ Server received frame #322 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28612 bytes +2025-06-06 11:02:45,240 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:45,240 - video.core - INFO - ๐Ÿ“ค Server relayed frame #322 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:45,278 - video.core - INFO - ๐Ÿ“ฅ Server received frame #323 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28619 bytes +2025-06-06 11:02:45,278 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:45,278 - video.core - INFO - ๐Ÿ“ค Server relayed frame #323 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:45,321 - video.core - INFO - ๐Ÿ“ฅ Server received frame #324 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28677 bytes +2025-06-06 11:02:45,321 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:45,321 - video.core - INFO - ๐Ÿ“ค Server relayed frame #324 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:45,366 - video.core - INFO - ๐Ÿ“ฅ Server received frame #325 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28643 bytes +2025-06-06 11:02:45,366 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:45,366 - video.core - INFO - ๐Ÿ“ค Server relayed frame #325 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:45,412 - video.core - INFO - ๐Ÿ“ฅ Server received frame #326 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28695 bytes +2025-06-06 11:02:45,412 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:45,412 - video.core - INFO - ๐Ÿ“ค Server relayed frame #326 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:45,455 - video.core - INFO - ๐Ÿ“ฅ Server received frame #327 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28703 bytes +2025-06-06 11:02:45,455 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:45,456 - video.core - INFO - ๐Ÿ“ค Server relayed frame #327 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:45,498 - video.core - INFO - ๐Ÿ“ฅ Server received frame #328 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28672 bytes +2025-06-06 11:02:45,498 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:45,498 - video.core - INFO - ๐Ÿ“ค Server relayed frame #328 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:45,544 - video.core - INFO - ๐Ÿ“ฅ Server received frame #329 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28518 bytes +2025-06-06 11:02:45,544 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:45,544 - video.core - INFO - ๐Ÿ“ค Server relayed frame #329 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:45,580 - video.core - INFO - ๐Ÿ“น Frame #330 from producer producer_1749200539754: size=28608 bytes, resolution=640x480 +2025-06-06 11:02:45,580 - video.core - INFO - ๐Ÿ“ฅ Server received frame #330 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28608 bytes +2025-06-06 11:02:45,580 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:45,580 - video.core - INFO - ๐Ÿ“ค Server relayed frame #330 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:45,580 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 330 frames processed, 20.2 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:45,580 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 330 frames, 12.0 FPS, 2.62 Mbps throughput, 27442 bytes avg frame size +2025-06-06 11:02:45,580 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200539754 stats: 330 frames processed, FPS: 22.9, Throughput: 5.04 Mbps, Avg frame size: 27442 bytes +2025-06-06 11:02:45,625 - video.core - INFO - ๐Ÿ“ฅ Server received frame #331 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28778 bytes +2025-06-06 11:02:45,625 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:45,625 - video.core - INFO - ๐Ÿ“ค Server relayed frame #331 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:45,670 - video.core - INFO - ๐Ÿ“ฅ Server received frame #332 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28848 bytes +2025-06-06 11:02:45,671 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:45,671 - video.core - INFO - ๐Ÿ“ค Server relayed frame #332 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:45,713 - video.core - INFO - ๐Ÿ“ฅ Server received frame #333 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28920 bytes +2025-06-06 11:02:45,713 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:45,714 - video.core - INFO - ๐Ÿ“ค Server relayed frame #333 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:45,756 - video.core - INFO - ๐Ÿ“ฅ Server received frame #334 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28882 bytes +2025-06-06 11:02:45,756 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:45,756 - video.core - INFO - ๐Ÿ“ค Server relayed frame #334 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:45,799 - video.core - INFO - ๐Ÿ“ฅ Server received frame #335 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28868 bytes +2025-06-06 11:02:45,799 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:45,799 - video.core - INFO - ๐Ÿ“ค Server relayed frame #335 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:45,846 - video.core - INFO - ๐Ÿ“ฅ Server received frame #336 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28650 bytes +2025-06-06 11:02:45,846 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:45,846 - video.core - INFO - ๐Ÿ“ค Server relayed frame #336 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:45,889 - video.core - INFO - ๐Ÿ“ฅ Server received frame #337 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28692 bytes +2025-06-06 11:02:45,889 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:45,889 - video.core - INFO - ๐Ÿ“ค Server relayed frame #337 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:45,934 - video.core - INFO - ๐Ÿ“ฅ Server received frame #338 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28815 bytes +2025-06-06 11:02:45,934 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:45,934 - video.core - INFO - ๐Ÿ“ค Server relayed frame #338 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:45,977 - video.core - INFO - ๐Ÿ“ฅ Server received frame #339 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28883 bytes +2025-06-06 11:02:45,978 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:45,978 - video.core - INFO - ๐Ÿ“ค Server relayed frame #339 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:46,020 - video.core - INFO - ๐Ÿ“น Frame #340 from producer producer_1749200539754: size=28918 bytes, resolution=640x480 +2025-06-06 11:02:46,020 - video.core - INFO - ๐Ÿ“ฅ Server received frame #340 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28918 bytes +2025-06-06 11:02:46,020 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:46,020 - video.core - INFO - ๐Ÿ“ค Server relayed frame #340 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:46,058 - video.core - INFO - ๐Ÿ“ฅ Server received frame #341 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28980 bytes +2025-06-06 11:02:46,058 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:46,058 - video.core - INFO - ๐Ÿ“ค Server relayed frame #341 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:46,098 - video.core - INFO - ๐Ÿ“ฅ Server received frame #342 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28956 bytes +2025-06-06 11:02:46,098 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:46,098 - video.core - INFO - ๐Ÿ“ค Server relayed frame #342 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:46,141 - video.core - INFO - ๐Ÿ“ฅ Server received frame #343 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28958 bytes +2025-06-06 11:02:46,141 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:46,141 - video.core - INFO - ๐Ÿ“ค Server relayed frame #343 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:46,190 - video.core - INFO - ๐Ÿ“ฅ Server received frame #344 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28937 bytes +2025-06-06 11:02:46,190 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:46,190 - video.core - INFO - ๐Ÿ“ค Server relayed frame #344 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:46,233 - video.core - INFO - ๐Ÿ“ฅ Server received frame #345 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28861 bytes +2025-06-06 11:02:46,233 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:46,233 - video.core - INFO - ๐Ÿ“ค Server relayed frame #345 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:46,273 - video.core - INFO - ๐Ÿ“ฅ Server received frame #346 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28815 bytes +2025-06-06 11:02:46,273 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:46,273 - video.core - INFO - ๐Ÿ“ค Server relayed frame #346 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:46,316 - video.core - INFO - ๐Ÿ“ฅ Server received frame #347 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28678 bytes +2025-06-06 11:02:46,316 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:46,317 - video.core - INFO - ๐Ÿ“ค Server relayed frame #347 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:46,363 - video.core - INFO - ๐Ÿ“ฅ Server received frame #348 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28370 bytes +2025-06-06 11:02:46,364 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:46,364 - video.core - INFO - ๐Ÿ“ค Server relayed frame #348 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:46,408 - video.core - INFO - ๐Ÿ“ฅ Server received frame #349 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28348 bytes +2025-06-06 11:02:46,409 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:46,409 - video.core - INFO - ๐Ÿ“ค Server relayed frame #349 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:46,450 - video.core - INFO - ๐Ÿ“น Frame #350 from producer producer_1749200539754: size=28542 bytes, resolution=640x480 +2025-06-06 11:02:46,451 - video.core - INFO - ๐Ÿ“ฅ Server received frame #350 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28542 bytes +2025-06-06 11:02:46,451 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:46,451 - video.core - INFO - ๐Ÿ“ค Server relayed frame #350 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:46,495 - video.core - INFO - ๐Ÿ“ฅ Server received frame #351 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28508 bytes +2025-06-06 11:02:46,496 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:46,496 - video.core - INFO - ๐Ÿ“ค Server relayed frame #351 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:46,535 - video.core - INFO - ๐Ÿ“ฅ Server received frame #352 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28493 bytes +2025-06-06 11:02:46,535 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:46,535 - video.core - INFO - ๐Ÿ“ค Server relayed frame #352 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:46,576 - video.core - INFO - ๐Ÿ“ฅ Server received frame #353 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28481 bytes +2025-06-06 11:02:46,577 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:46,577 - video.core - INFO - ๐Ÿ“ค Server relayed frame #353 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:46,622 - video.core - INFO - ๐Ÿ“ฅ Server received frame #354 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28266 bytes +2025-06-06 11:02:46,622 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:46,622 - video.core - INFO - ๐Ÿ“ค Server relayed frame #354 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:46,665 - video.core - INFO - ๐Ÿ“ฅ Server received frame #355 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28266 bytes +2025-06-06 11:02:46,665 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:46,665 - video.core - INFO - ๐Ÿ“ค Server relayed frame #355 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:46,707 - video.core - INFO - ๐Ÿ“ฅ Server received frame #356 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28314 bytes +2025-06-06 11:02:46,707 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:46,708 - video.core - INFO - ๐Ÿ“ค Server relayed frame #356 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:46,752 - video.core - INFO - ๐Ÿ“ฅ Server received frame #357 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28376 bytes +2025-06-06 11:02:46,753 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:46,753 - video.core - INFO - ๐Ÿ“ค Server relayed frame #357 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:46,795 - video.core - INFO - ๐Ÿ“ฅ Server received frame #358 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28380 bytes +2025-06-06 11:02:46,795 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:46,795 - video.core - INFO - ๐Ÿ“ค Server relayed frame #358 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:46,839 - video.core - INFO - ๐Ÿ“ฅ Server received frame #359 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28417 bytes +2025-06-06 11:02:46,839 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:46,839 - video.core - INFO - ๐Ÿ“ค Server relayed frame #359 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:46,880 - video.core - INFO - ๐Ÿ“น Frame #360 from producer producer_1749200539754: size=28479 bytes, resolution=640x480 +2025-06-06 11:02:46,880 - video.core - INFO - ๐Ÿ“ฅ Server received frame #360 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28479 bytes +2025-06-06 11:02:46,880 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:46,880 - video.core - INFO - ๐Ÿ“ค Server relayed frame #360 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:46,880 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 360 frames processed, 20.4 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:46,880 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 360 frames, 12.5 FPS, 2.74 Mbps throughput, 27544 bytes avg frame size +2025-06-06 11:02:46,880 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200539754 stats: 360 frames processed, FPS: 23.0, Throughput: 5.06 Mbps, Avg frame size: 27544 bytes +2025-06-06 11:02:46,923 - video.core - INFO - ๐Ÿ“ฅ Server received frame #361 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28565 bytes +2025-06-06 11:02:46,923 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:46,923 - video.core - INFO - ๐Ÿ“ค Server relayed frame #361 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:46,966 - video.core - INFO - ๐Ÿ“ฅ Server received frame #362 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28714 bytes +2025-06-06 11:02:46,967 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:46,967 - video.core - INFO - ๐Ÿ“ค Server relayed frame #362 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:47,011 - video.core - INFO - ๐Ÿ“ฅ Server received frame #363 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28762 bytes +2025-06-06 11:02:47,011 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:47,011 - video.core - INFO - ๐Ÿ“ค Server relayed frame #363 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:47,052 - video.core - INFO - ๐Ÿ“ฅ Server received frame #364 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28778 bytes +2025-06-06 11:02:47,052 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:47,052 - video.core - INFO - ๐Ÿ“ค Server relayed frame #364 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:47,093 - video.core - INFO - ๐Ÿ“ฅ Server received frame #365 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28721 bytes +2025-06-06 11:02:47,093 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:47,093 - video.core - INFO - ๐Ÿ“ค Server relayed frame #365 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:47,138 - video.core - INFO - ๐Ÿ“ฅ Server received frame #366 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28228 bytes +2025-06-06 11:02:47,139 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:47,139 - video.core - INFO - ๐Ÿ“ค Server relayed frame #366 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:47,186 - video.core - INFO - ๐Ÿ“ฅ Server received frame #367 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27899 bytes +2025-06-06 11:02:47,186 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:47,186 - video.core - INFO - ๐Ÿ“ค Server relayed frame #367 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:47,230 - video.core - INFO - ๐Ÿ“ฅ Server received frame #368 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27897 bytes +2025-06-06 11:02:47,230 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:47,230 - video.core - INFO - ๐Ÿ“ค Server relayed frame #368 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:47,271 - video.core - INFO - ๐Ÿ“ฅ Server received frame #369 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27925 bytes +2025-06-06 11:02:47,271 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:47,271 - video.core - INFO - ๐Ÿ“ค Server relayed frame #369 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:47,315 - video.core - INFO - ๐Ÿ“น Frame #370 from producer producer_1749200539754: size=28231 bytes, resolution=640x480 +2025-06-06 11:02:47,315 - video.core - INFO - ๐Ÿ“ฅ Server received frame #370 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28231 bytes +2025-06-06 11:02:47,315 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:47,315 - video.core - INFO - ๐Ÿ“ค Server relayed frame #370 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:47,355 - video.core - INFO - ๐Ÿ“ฅ Server received frame #371 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27625 bytes +2025-06-06 11:02:47,355 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:47,356 - video.core - INFO - ๐Ÿ“ค Server relayed frame #371 to 1 consumers in 0.9ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:47,401 - video.core - INFO - ๐Ÿ“ฅ Server received frame #372 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27037 bytes +2025-06-06 11:02:47,401 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:47,401 - video.core - INFO - ๐Ÿ“ค Server relayed frame #372 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:47,442 - video.core - INFO - ๐Ÿ“ฅ Server received frame #373 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27823 bytes +2025-06-06 11:02:47,442 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:47,442 - video.core - INFO - ๐Ÿ“ค Server relayed frame #373 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:47,486 - video.core - INFO - ๐Ÿ“ฅ Server received frame #374 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27639 bytes +2025-06-06 11:02:47,486 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:47,486 - video.core - INFO - ๐Ÿ“ค Server relayed frame #374 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:47,530 - video.core - INFO - ๐Ÿ“ฅ Server received frame #375 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27788 bytes +2025-06-06 11:02:47,530 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:47,531 - video.core - INFO - ๐Ÿ“ค Server relayed frame #375 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:47,574 - video.core - INFO - ๐Ÿ“ฅ Server received frame #376 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27602 bytes +2025-06-06 11:02:47,574 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:47,574 - video.core - INFO - ๐Ÿ“ค Server relayed frame #376 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:47,617 - video.core - INFO - ๐Ÿ“ฅ Server received frame #377 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27766 bytes +2025-06-06 11:02:47,617 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:47,617 - video.core - INFO - ๐Ÿ“ค Server relayed frame #377 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:47,664 - video.core - INFO - ๐Ÿ“ฅ Server received frame #378 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28052 bytes +2025-06-06 11:02:47,664 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:47,664 - video.core - INFO - ๐Ÿ“ค Server relayed frame #378 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:47,708 - video.core - INFO - ๐Ÿ“ฅ Server received frame #379 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27926 bytes +2025-06-06 11:02:47,708 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:47,708 - video.core - INFO - ๐Ÿ“ค Server relayed frame #379 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:47,749 - video.core - INFO - ๐Ÿ“น Frame #380 from producer producer_1749200539754: size=27867 bytes, resolution=640x480 +2025-06-06 11:02:47,750 - video.core - INFO - ๐Ÿ“ฅ Server received frame #380 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27867 bytes +2025-06-06 11:02:47,750 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:47,750 - video.core - INFO - ๐Ÿ“ค Server relayed frame #380 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:47,794 - video.core - INFO - ๐Ÿ“ฅ Server received frame #381 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27856 bytes +2025-06-06 11:02:47,794 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:47,794 - video.core - INFO - ๐Ÿ“ค Server relayed frame #381 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:47,835 - video.core - INFO - ๐Ÿ“ฅ Server received frame #382 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27960 bytes +2025-06-06 11:02:47,835 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:47,836 - video.core - INFO - ๐Ÿ“ค Server relayed frame #382 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:47,878 - video.core - INFO - ๐Ÿ“ฅ Server received frame #383 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27883 bytes +2025-06-06 11:02:47,878 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:47,879 - video.core - INFO - ๐Ÿ“ค Server relayed frame #383 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:47,926 - video.core - INFO - ๐Ÿ“ฅ Server received frame #384 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28128 bytes +2025-06-06 11:02:47,926 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:47,926 - video.core - INFO - ๐Ÿ“ค Server relayed frame #384 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:47,966 - video.core - INFO - ๐Ÿ“ฅ Server received frame #385 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28143 bytes +2025-06-06 11:02:47,966 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:47,967 - video.core - INFO - ๐Ÿ“ค Server relayed frame #385 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:48,011 - video.core - INFO - ๐Ÿ“ฅ Server received frame #386 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28030 bytes +2025-06-06 11:02:48,011 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:48,011 - video.core - INFO - ๐Ÿ“ค Server relayed frame #386 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:48,049 - video.core - INFO - ๐Ÿ“ฅ Server received frame #387 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28160 bytes +2025-06-06 11:02:48,049 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:48,049 - video.core - INFO - ๐Ÿ“ค Server relayed frame #387 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:48,089 - video.core - INFO - ๐Ÿ“ฅ Server received frame #388 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28174 bytes +2025-06-06 11:02:48,089 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:48,089 - video.core - INFO - ๐Ÿ“ค Server relayed frame #388 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:48,134 - video.core - INFO - ๐Ÿ“ฅ Server received frame #389 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28218 bytes +2025-06-06 11:02:48,134 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:48,134 - video.core - INFO - ๐Ÿ“ค Server relayed frame #389 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:48,184 - video.core - INFO - ๐Ÿ“น Frame #390 from producer producer_1749200539754: size=28281 bytes, resolution=640x480 +2025-06-06 11:02:48,184 - video.core - INFO - ๐Ÿ“ฅ Server received frame #390 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28281 bytes +2025-06-06 11:02:48,184 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:48,184 - video.core - INFO - ๐Ÿ“ค Server relayed frame #390 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:48,184 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 390 frames processed, 20.6 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:48,184 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 390 frames, 12.9 FPS, 2.85 Mbps throughput, 27583 bytes avg frame size +2025-06-06 11:02:48,184 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200539754 stats: 390 frames processed, FPS: 23.0, Throughput: 5.07 Mbps, Avg frame size: 27583 bytes +2025-06-06 11:02:48,222 - video.core - INFO - ๐Ÿ“ฅ Server received frame #391 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28085 bytes +2025-06-06 11:02:48,223 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:48,223 - video.core - INFO - ๐Ÿ“ค Server relayed frame #391 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:48,266 - video.core - INFO - ๐Ÿ“ฅ Server received frame #392 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28117 bytes +2025-06-06 11:02:48,266 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:48,266 - video.core - INFO - ๐Ÿ“ค Server relayed frame #392 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:48,310 - video.core - INFO - ๐Ÿ“ฅ Server received frame #393 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28118 bytes +2025-06-06 11:02:48,310 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:48,310 - video.core - INFO - ๐Ÿ“ค Server relayed frame #393 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:48,357 - video.core - INFO - ๐Ÿ“ฅ Server received frame #394 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28252 bytes +2025-06-06 11:02:48,357 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:48,357 - video.core - INFO - ๐Ÿ“ค Server relayed frame #394 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:48,398 - video.core - INFO - ๐Ÿ“ฅ Server received frame #395 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28118 bytes +2025-06-06 11:02:48,399 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:48,399 - video.core - INFO - ๐Ÿ“ค Server relayed frame #395 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:48,443 - video.core - INFO - ๐Ÿ“ฅ Server received frame #396 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28296 bytes +2025-06-06 11:02:48,443 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:48,443 - video.core - INFO - ๐Ÿ“ค Server relayed frame #396 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:48,486 - video.core - INFO - ๐Ÿ“ฅ Server received frame #397 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28289 bytes +2025-06-06 11:02:48,486 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:48,486 - video.core - INFO - ๐Ÿ“ค Server relayed frame #397 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:48,533 - video.core - INFO - ๐Ÿ“ฅ Server received frame #398 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28267 bytes +2025-06-06 11:02:48,533 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:48,533 - video.core - INFO - ๐Ÿ“ค Server relayed frame #398 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:48,574 - video.core - INFO - ๐Ÿ“ฅ Server received frame #399 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28306 bytes +2025-06-06 11:02:48,574 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:48,574 - video.core - INFO - ๐Ÿ“ค Server relayed frame #399 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:48,616 - video.core - INFO - ๐Ÿ“น Frame #400 from producer producer_1749200539754: size=28424 bytes, resolution=640x480 +2025-06-06 11:02:48,616 - video.core - INFO - ๐Ÿ“ฅ Server received frame #400 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28424 bytes +2025-06-06 11:02:48,616 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:48,616 - video.core - INFO - ๐Ÿ“ค Server relayed frame #400 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:48,665 - video.core - INFO - ๐Ÿ“ฅ Server received frame #401 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28372 bytes +2025-06-06 11:02:48,665 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:48,665 - video.core - INFO - ๐Ÿ“ค Server relayed frame #401 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:48,703 - video.core - INFO - ๐Ÿ“ฅ Server received frame #402 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28415 bytes +2025-06-06 11:02:48,703 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:48,703 - video.core - INFO - ๐Ÿ“ค Server relayed frame #402 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:48,745 - video.core - INFO - ๐Ÿ“ฅ Server received frame #403 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28418 bytes +2025-06-06 11:02:48,745 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:48,745 - video.core - INFO - ๐Ÿ“ค Server relayed frame #403 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:48,791 - video.core - INFO - ๐Ÿ“ฅ Server received frame #404 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28309 bytes +2025-06-06 11:02:48,791 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:48,791 - video.core - INFO - ๐Ÿ“ค Server relayed frame #404 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:48,831 - video.core - INFO - ๐Ÿ“ฅ Server received frame #405 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28299 bytes +2025-06-06 11:02:48,831 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:48,832 - video.core - INFO - ๐Ÿ“ค Server relayed frame #405 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:48,878 - video.core - INFO - ๐Ÿ“ฅ Server received frame #406 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28449 bytes +2025-06-06 11:02:48,879 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:48,879 - video.core - INFO - ๐Ÿ“ค Server relayed frame #406 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:48,917 - video.core - INFO - ๐Ÿ“ฅ Server received frame #407 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28607 bytes +2025-06-06 11:02:48,917 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:48,917 - video.core - INFO - ๐Ÿ“ค Server relayed frame #407 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:48,963 - video.core - INFO - ๐Ÿ“ฅ Server received frame #408 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28470 bytes +2025-06-06 11:02:48,963 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:48,963 - video.core - INFO - ๐Ÿ“ค Server relayed frame #408 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:49,006 - video.core - INFO - ๐Ÿ“ฅ Server received frame #409 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28473 bytes +2025-06-06 11:02:49,007 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:49,007 - video.core - INFO - ๐Ÿ“ค Server relayed frame #409 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:49,046 - video.core - INFO - ๐Ÿ“น Frame #410 from producer producer_1749200539754: size=28492 bytes, resolution=640x480 +2025-06-06 11:02:49,046 - video.core - INFO - ๐Ÿ“ฅ Server received frame #410 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28492 bytes +2025-06-06 11:02:49,046 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:49,047 - video.core - INFO - ๐Ÿ“ค Server relayed frame #410 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:49,084 - video.core - INFO - ๐Ÿ“ฅ Server received frame #411 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28246 bytes +2025-06-06 11:02:49,084 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:49,084 - video.core - INFO - ๐Ÿ“ค Server relayed frame #411 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:49,129 - video.core - INFO - ๐Ÿ“ฅ Server received frame #412 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28218 bytes +2025-06-06 11:02:49,130 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:49,130 - video.core - INFO - ๐Ÿ“ค Server relayed frame #412 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:49,175 - video.core - INFO - ๐Ÿ“ฅ Server received frame #413 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28338 bytes +2025-06-06 11:02:49,175 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:49,175 - video.core - INFO - ๐Ÿ“ค Server relayed frame #413 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:49,221 - video.core - INFO - ๐Ÿ“ฅ Server received frame #414 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28414 bytes +2025-06-06 11:02:49,221 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:49,221 - video.core - INFO - ๐Ÿ“ค Server relayed frame #414 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:49,263 - video.core - INFO - ๐Ÿ“ฅ Server received frame #415 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28418 bytes +2025-06-06 11:02:49,263 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:49,263 - video.core - INFO - ๐Ÿ“ค Server relayed frame #415 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:49,306 - video.core - INFO - ๐Ÿ“ฅ Server received frame #416 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28200 bytes +2025-06-06 11:02:49,306 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:49,306 - video.core - INFO - ๐Ÿ“ค Server relayed frame #416 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:49,356 - video.core - INFO - ๐Ÿ“ฅ Server received frame #417 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28167 bytes +2025-06-06 11:02:49,356 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:49,356 - video.core - INFO - ๐Ÿ“ค Server relayed frame #417 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:49,388 - video.core - INFO - ๐Ÿ“ฅ Server received frame #418 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27977 bytes +2025-06-06 11:02:49,389 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:49,389 - video.core - INFO - ๐Ÿ“ค Server relayed frame #418 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:49,430 - video.core - INFO - ๐Ÿ“ฅ Server received frame #419 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28331 bytes +2025-06-06 11:02:49,430 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:49,430 - video.core - INFO - ๐Ÿ“ค Server relayed frame #419 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:49,476 - video.core - INFO - ๐Ÿ“น Frame #420 from producer producer_1749200539754: size=27562 bytes, resolution=640x480 +2025-06-06 11:02:49,476 - video.core - INFO - ๐Ÿ“ฅ Server received frame #420 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27562 bytes +2025-06-06 11:02:49,476 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:49,476 - video.core - INFO - ๐Ÿ“ค Server relayed frame #420 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:49,476 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 420 frames processed, 20.8 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:49,476 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 420 frames, 13.3 FPS, 2.95 Mbps throughput, 27633 bytes avg frame size +2025-06-06 11:02:49,476 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200539754 stats: 420 frames processed, FPS: 23.0, Throughput: 5.08 Mbps, Avg frame size: 27633 bytes +2025-06-06 11:02:49,524 - video.core - INFO - ๐Ÿ“ฅ Server received frame #421 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27608 bytes +2025-06-06 11:02:49,524 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:49,524 - video.core - INFO - ๐Ÿ“ค Server relayed frame #421 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:49,565 - video.core - INFO - ๐Ÿ“ฅ Server received frame #422 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27496 bytes +2025-06-06 11:02:49,566 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:49,566 - video.core - INFO - ๐Ÿ“ค Server relayed frame #422 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:49,604 - video.core - INFO - ๐Ÿ“ฅ Server received frame #423 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27825 bytes +2025-06-06 11:02:49,604 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:49,604 - video.core - INFO - ๐Ÿ“ค Server relayed frame #423 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:49,646 - video.core - INFO - ๐Ÿ“ฅ Server received frame #424 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27866 bytes +2025-06-06 11:02:49,646 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:49,646 - video.core - INFO - ๐Ÿ“ค Server relayed frame #424 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:49,691 - video.core - INFO - ๐Ÿ“ฅ Server received frame #425 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27917 bytes +2025-06-06 11:02:49,691 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:49,691 - video.core - INFO - ๐Ÿ“ค Server relayed frame #425 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:49,733 - video.core - INFO - ๐Ÿ“ฅ Server received frame #426 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28126 bytes +2025-06-06 11:02:49,733 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:49,733 - video.core - INFO - ๐Ÿ“ค Server relayed frame #426 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:49,776 - video.core - INFO - ๐Ÿ“ฅ Server received frame #427 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28082 bytes +2025-06-06 11:02:49,776 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:49,776 - video.core - INFO - ๐Ÿ“ค Server relayed frame #427 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:49,821 - video.core - INFO - ๐Ÿ“ฅ Server received frame #428 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28137 bytes +2025-06-06 11:02:49,821 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:49,821 - video.core - INFO - ๐Ÿ“ค Server relayed frame #428 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:49,864 - video.core - INFO - ๐Ÿ“ฅ Server received frame #429 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28158 bytes +2025-06-06 11:02:49,864 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:49,864 - video.core - INFO - ๐Ÿ“ค Server relayed frame #429 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:49,905 - video.core - INFO - ๐Ÿ“น Frame #430 from producer producer_1749200539754: size=28004 bytes, resolution=640x480 +2025-06-06 11:02:49,905 - video.core - INFO - ๐Ÿ“ฅ Server received frame #430 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28004 bytes +2025-06-06 11:02:49,905 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:49,905 - video.core - INFO - ๐Ÿ“ค Server relayed frame #430 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:49,948 - video.core - INFO - ๐Ÿ“ฅ Server received frame #431 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27697 bytes +2025-06-06 11:02:49,948 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:49,948 - video.core - INFO - ๐Ÿ“ค Server relayed frame #431 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:49,994 - video.core - INFO - ๐Ÿ“ฅ Server received frame #432 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27661 bytes +2025-06-06 11:02:49,995 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:49,995 - video.core - INFO - ๐Ÿ“ค Server relayed frame #432 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:50,033 - video.core - INFO - ๐Ÿ“ฅ Server received frame #433 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27694 bytes +2025-06-06 11:02:50,033 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:50,033 - video.core - INFO - ๐Ÿ“ค Server relayed frame #433 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:50,076 - video.core - INFO - ๐Ÿ“ฅ Server received frame #434 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27571 bytes +2025-06-06 11:02:50,076 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:50,076 - video.core - INFO - ๐Ÿ“ค Server relayed frame #434 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:50,116 - video.core - INFO - ๐Ÿ“ฅ Server received frame #435 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27770 bytes +2025-06-06 11:02:50,116 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:50,116 - video.core - INFO - ๐Ÿ“ค Server relayed frame #435 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:50,165 - video.core - INFO - ๐Ÿ“ฅ Server received frame #436 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27818 bytes +2025-06-06 11:02:50,165 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:50,166 - video.core - INFO - ๐Ÿ“ค Server relayed frame #436 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:50,208 - video.core - INFO - ๐Ÿ“ฅ Server received frame #437 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27800 bytes +2025-06-06 11:02:50,208 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:50,208 - video.core - INFO - ๐Ÿ“ค Server relayed frame #437 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:50,250 - video.core - INFO - ๐Ÿ“ฅ Server received frame #438 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27601 bytes +2025-06-06 11:02:50,250 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:50,250 - video.core - INFO - ๐Ÿ“ค Server relayed frame #438 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:50,294 - video.core - INFO - ๐Ÿ“ฅ Server received frame #439 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27686 bytes +2025-06-06 11:02:50,294 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:50,294 - video.core - INFO - ๐Ÿ“ค Server relayed frame #439 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:50,338 - video.core - INFO - ๐Ÿ“น Frame #440 from producer producer_1749200539754: size=27619 bytes, resolution=640x480 +2025-06-06 11:02:50,338 - video.core - INFO - ๐Ÿ“ฅ Server received frame #440 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27619 bytes +2025-06-06 11:02:50,338 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:50,338 - video.core - INFO - ๐Ÿ“ค Server relayed frame #440 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:50,380 - video.core - INFO - ๐Ÿ“ฅ Server received frame #441 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27897 bytes +2025-06-06 11:02:50,381 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:50,381 - video.core - INFO - ๐Ÿ“ค Server relayed frame #441 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:50,433 - video.core - INFO - ๐Ÿ“ฅ Server received frame #442 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27773 bytes +2025-06-06 11:02:50,437 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:50,438 - video.core - INFO - ๐Ÿ“ค Server relayed frame #442 to 1 consumers in 4.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:50,529 - video.core - INFO - ๐Ÿ“ฅ Server received frame #443 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27907 bytes +2025-06-06 11:02:50,529 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:50,530 - video.core - INFO - ๐Ÿ“ค Server relayed frame #443 to 1 consumers in 0.7ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:50,531 - video.core - INFO - ๐Ÿ“ฅ Server received frame #444 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28004 bytes +2025-06-06 11:02:50,531 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:50,531 - video.core - INFO - ๐Ÿ“ค Server relayed frame #444 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:50,564 - video.core - INFO - ๐Ÿ“ฅ Server received frame #445 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27906 bytes +2025-06-06 11:02:50,566 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:50,566 - video.core - INFO - ๐Ÿ“ค Server relayed frame #445 to 1 consumers in 2.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:50,603 - video.core - INFO - ๐Ÿ“ฅ Server received frame #446 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28056 bytes +2025-06-06 11:02:50,603 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:50,603 - video.core - INFO - ๐Ÿ“ค Server relayed frame #446 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:50,648 - video.core - INFO - ๐Ÿ“ฅ Server received frame #447 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28158 bytes +2025-06-06 11:02:50,648 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:50,648 - video.core - INFO - ๐Ÿ“ค Server relayed frame #447 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:50,687 - video.core - INFO - ๐Ÿ“ฅ Server received frame #448 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28257 bytes +2025-06-06 11:02:50,687 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:50,687 - video.core - INFO - ๐Ÿ“ค Server relayed frame #448 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:50,731 - video.core - INFO - ๐Ÿ“ฅ Server received frame #449 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28416 bytes +2025-06-06 11:02:50,731 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:50,731 - video.core - INFO - ๐Ÿ“ค Server relayed frame #449 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:50,773 - video.core - INFO - ๐Ÿ“น Frame #450 from producer producer_1749200539754: size=28263 bytes, resolution=640x480 +2025-06-06 11:02:50,773 - video.core - INFO - ๐Ÿ“ฅ Server received frame #450 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28263 bytes +2025-06-06 11:02:50,773 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:50,773 - video.core - INFO - ๐Ÿ“ค Server relayed frame #450 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:50,773 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 450 frames processed, 20.9 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:50,773 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 450 frames, 13.7 FPS, 3.03 Mbps throughput, 27650 bytes avg frame size +2025-06-06 11:02:50,773 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200539754 stats: 450 frames processed, FPS: 23.0, Throughput: 5.09 Mbps, Avg frame size: 27650 bytes +2025-06-06 11:02:50,824 - video.core - INFO - ๐Ÿ“ฅ Server received frame #451 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28238 bytes +2025-06-06 11:02:50,824 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:50,824 - video.core - INFO - ๐Ÿ“ค Server relayed frame #451 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:50,868 - video.core - INFO - ๐Ÿ“ฅ Server received frame #452 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28154 bytes +2025-06-06 11:02:50,868 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:50,868 - video.core - INFO - ๐Ÿ“ค Server relayed frame #452 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:50,906 - video.core - INFO - ๐Ÿ“ฅ Server received frame #453 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28217 bytes +2025-06-06 11:02:50,906 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:50,906 - video.core - INFO - ๐Ÿ“ค Server relayed frame #453 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:50,950 - video.core - INFO - ๐Ÿ“ฅ Server received frame #454 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27963 bytes +2025-06-06 11:02:50,950 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:50,950 - video.core - INFO - ๐Ÿ“ค Server relayed frame #454 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:50,998 - video.core - INFO - ๐Ÿ“ฅ Server received frame #455 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28005 bytes +2025-06-06 11:02:50,998 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:50,998 - video.core - INFO - ๐Ÿ“ค Server relayed frame #455 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:51,039 - video.core - INFO - ๐Ÿ“ฅ Server received frame #456 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28116 bytes +2025-06-06 11:02:51,039 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:51,039 - video.core - INFO - ๐Ÿ“ค Server relayed frame #456 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:51,076 - video.core - INFO - ๐Ÿ“ฅ Server received frame #457 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28189 bytes +2025-06-06 11:02:51,076 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:51,076 - video.core - INFO - ๐Ÿ“ค Server relayed frame #457 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:51,117 - video.core - INFO - ๐Ÿ“ฅ Server received frame #458 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28206 bytes +2025-06-06 11:02:51,117 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:51,118 - video.core - INFO - ๐Ÿ“ค Server relayed frame #458 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:51,164 - video.core - INFO - ๐Ÿ“ฅ Server received frame #459 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28290 bytes +2025-06-06 11:02:51,164 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:51,164 - video.core - INFO - ๐Ÿ“ค Server relayed frame #459 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:51,205 - video.core - INFO - ๐Ÿ“น Frame #460 from producer producer_1749200539754: size=28361 bytes, resolution=640x480 +2025-06-06 11:02:51,205 - video.core - INFO - ๐Ÿ“ฅ Server received frame #460 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28361 bytes +2025-06-06 11:02:51,205 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:51,205 - video.core - INFO - ๐Ÿ“ค Server relayed frame #460 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:51,256 - video.core - INFO - ๐Ÿ“ฅ Server received frame #461 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28209 bytes +2025-06-06 11:02:51,256 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:51,256 - video.core - INFO - ๐Ÿ“ค Server relayed frame #461 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:51,296 - video.core - INFO - ๐Ÿ“ฅ Server received frame #462 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28125 bytes +2025-06-06 11:02:51,296 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:51,296 - video.core - INFO - ๐Ÿ“ค Server relayed frame #462 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:51,341 - video.core - INFO - ๐Ÿ“ฅ Server received frame #463 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28148 bytes +2025-06-06 11:02:51,341 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:51,341 - video.core - INFO - ๐Ÿ“ค Server relayed frame #463 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:51,383 - video.core - INFO - ๐Ÿ“ฅ Server received frame #464 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28142 bytes +2025-06-06 11:02:51,383 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:51,383 - video.core - INFO - ๐Ÿ“ค Server relayed frame #464 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:51,429 - video.core - INFO - ๐Ÿ“ฅ Server received frame #465 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28092 bytes +2025-06-06 11:02:51,429 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:51,429 - video.core - INFO - ๐Ÿ“ค Server relayed frame #465 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:51,463 - video.core - INFO - ๐Ÿ“ฅ Server received frame #466 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28201 bytes +2025-06-06 11:02:51,464 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:51,464 - video.core - INFO - ๐Ÿ“ค Server relayed frame #466 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:51,508 - video.core - INFO - ๐Ÿ“ฅ Server received frame #467 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28213 bytes +2025-06-06 11:02:51,508 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:51,508 - video.core - INFO - ๐Ÿ“ค Server relayed frame #467 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:51,551 - video.core - INFO - ๐Ÿ“ฅ Server received frame #468 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28336 bytes +2025-06-06 11:02:51,551 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:51,551 - video.core - INFO - ๐Ÿ“ค Server relayed frame #468 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:51,594 - video.core - INFO - ๐Ÿ“ฅ Server received frame #469 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28264 bytes +2025-06-06 11:02:51,594 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:51,594 - video.core - INFO - ๐Ÿ“ค Server relayed frame #469 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:51,636 - video.core - INFO - ๐Ÿ“น Frame #470 from producer producer_1749200539754: size=28131 bytes, resolution=640x480 +2025-06-06 11:02:51,636 - video.core - INFO - ๐Ÿ“ฅ Server received frame #470 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28131 bytes +2025-06-06 11:02:51,637 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:51,637 - video.core - INFO - ๐Ÿ“ค Server relayed frame #470 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:51,681 - video.core - INFO - ๐Ÿ“ฅ Server received frame #471 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28240 bytes +2025-06-06 11:02:51,681 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:51,681 - video.core - INFO - ๐Ÿ“ค Server relayed frame #471 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:51,728 - video.core - INFO - ๐Ÿ“ฅ Server received frame #472 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28081 bytes +2025-06-06 11:02:51,728 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:51,728 - video.core - INFO - ๐Ÿ“ค Server relayed frame #472 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:51,782 - video.core - INFO - ๐Ÿ“ฅ Server received frame #473 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28073 bytes +2025-06-06 11:02:51,782 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:51,782 - video.core - INFO - ๐Ÿ“ค Server relayed frame #473 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:51,814 - video.core - INFO - ๐Ÿ“ฅ Server received frame #474 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27870 bytes +2025-06-06 11:02:51,814 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:51,814 - video.core - INFO - ๐Ÿ“ค Server relayed frame #474 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:51,861 - video.core - INFO - ๐Ÿ“ฅ Server received frame #475 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27910 bytes +2025-06-06 11:02:51,861 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:51,861 - video.core - INFO - ๐Ÿ“ค Server relayed frame #475 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:51,909 - video.core - INFO - ๐Ÿ“ฅ Server received frame #476 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27959 bytes +2025-06-06 11:02:51,909 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:51,909 - video.core - INFO - ๐Ÿ“ค Server relayed frame #476 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:51,950 - video.core - INFO - ๐Ÿ“ฅ Server received frame #477 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28053 bytes +2025-06-06 11:02:51,950 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:51,950 - video.core - INFO - ๐Ÿ“ค Server relayed frame #477 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:51,995 - video.core - INFO - ๐Ÿ“ฅ Server received frame #478 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28147 bytes +2025-06-06 11:02:51,996 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:51,996 - video.core - INFO - ๐Ÿ“ค Server relayed frame #478 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:52,035 - video.core - INFO - ๐Ÿ“ฅ Server received frame #479 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28224 bytes +2025-06-06 11:02:52,035 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:52,035 - video.core - INFO - ๐Ÿ“ค Server relayed frame #479 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:52,073 - video.core - INFO - ๐Ÿ“น Frame #480 from producer producer_1749200539754: size=28308 bytes, resolution=640x480 +2025-06-06 11:02:52,073 - video.core - INFO - ๐Ÿ“ฅ Server received frame #480 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28308 bytes +2025-06-06 11:02:52,073 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:52,073 - video.core - INFO - ๐Ÿ“ค Server relayed frame #480 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:52,073 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 480 frames processed, 21.0 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:52,073 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 480 frames, 14.1 FPS, 3.12 Mbps throughput, 27681 bytes avg frame size +2025-06-06 11:02:52,073 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200539754 stats: 480 frames processed, FPS: 23.0, Throughput: 5.09 Mbps, Avg frame size: 27681 bytes +2025-06-06 11:02:52,111 - video.core - INFO - ๐Ÿ“ฅ Server received frame #481 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28374 bytes +2025-06-06 11:02:52,111 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:52,111 - video.core - INFO - ๐Ÿ“ค Server relayed frame #481 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:52,162 - video.core - INFO - ๐Ÿ“ฅ Server received frame #482 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28475 bytes +2025-06-06 11:02:52,162 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:52,162 - video.core - INFO - ๐Ÿ“ค Server relayed frame #482 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:52,205 - video.core - INFO - ๐Ÿ“ฅ Server received frame #483 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28453 bytes +2025-06-06 11:02:52,205 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:52,205 - video.core - INFO - ๐Ÿ“ค Server relayed frame #483 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:52,248 - video.core - INFO - ๐Ÿ“ฅ Server received frame #484 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28463 bytes +2025-06-06 11:02:52,249 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:52,249 - video.core - INFO - ๐Ÿ“ค Server relayed frame #484 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:52,293 - video.core - INFO - ๐Ÿ“ฅ Server received frame #485 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28448 bytes +2025-06-06 11:02:52,293 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:52,293 - video.core - INFO - ๐Ÿ“ค Server relayed frame #485 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:52,337 - video.core - INFO - ๐Ÿ“ฅ Server received frame #486 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28568 bytes +2025-06-06 11:02:52,337 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:52,337 - video.core - INFO - ๐Ÿ“ค Server relayed frame #486 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:52,384 - video.core - INFO - ๐Ÿ“ฅ Server received frame #487 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28733 bytes +2025-06-06 11:02:52,384 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:52,384 - video.core - INFO - ๐Ÿ“ค Server relayed frame #487 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:52,439 - video.core - INFO - ๐Ÿ“ฅ Server received frame #488 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28738 bytes +2025-06-06 11:02:52,439 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:52,439 - video.core - INFO - ๐Ÿ“ค Server relayed frame #488 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:52,467 - video.core - INFO - ๐Ÿ“ฅ Server received frame #489 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28792 bytes +2025-06-06 11:02:52,467 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:52,467 - video.core - INFO - ๐Ÿ“ค Server relayed frame #489 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:52,508 - video.core - INFO - ๐Ÿ“น Frame #490 from producer producer_1749200539754: size=28816 bytes, resolution=640x480 +2025-06-06 11:02:52,508 - video.core - INFO - ๐Ÿ“ฅ Server received frame #490 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28816 bytes +2025-06-06 11:02:52,508 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:52,509 - video.core - INFO - ๐Ÿ“ค Server relayed frame #490 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:52,551 - video.core - INFO - ๐Ÿ“ฅ Server received frame #491 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28798 bytes +2025-06-06 11:02:52,551 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:52,552 - video.core - INFO - ๐Ÿ“ค Server relayed frame #491 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:52,597 - video.core - INFO - ๐Ÿ“ฅ Server received frame #492 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28786 bytes +2025-06-06 11:02:52,598 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:52,598 - video.core - INFO - ๐Ÿ“ค Server relayed frame #492 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:52,640 - video.core - INFO - ๐Ÿ“ฅ Server received frame #493 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28915 bytes +2025-06-06 11:02:52,641 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:52,641 - video.core - INFO - ๐Ÿ“ค Server relayed frame #493 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:52,682 - video.core - INFO - ๐Ÿ“ฅ Server received frame #494 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28981 bytes +2025-06-06 11:02:52,682 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:52,682 - video.core - INFO - ๐Ÿ“ค Server relayed frame #494 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:52,732 - video.core - INFO - ๐Ÿ“ฅ Server received frame #495 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28942 bytes +2025-06-06 11:02:52,732 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:52,732 - video.core - INFO - ๐Ÿ“ค Server relayed frame #495 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:52,772 - video.core - INFO - ๐Ÿ“ฅ Server received frame #496 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28920 bytes +2025-06-06 11:02:52,773 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:52,773 - video.core - INFO - ๐Ÿ“ค Server relayed frame #496 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:52,810 - video.core - INFO - ๐Ÿ“ฅ Server received frame #497 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28869 bytes +2025-06-06 11:02:52,810 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:52,810 - video.core - INFO - ๐Ÿ“ค Server relayed frame #497 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:52,853 - video.core - INFO - ๐Ÿ“ฅ Server received frame #498 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28534 bytes +2025-06-06 11:02:52,853 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:52,853 - video.core - INFO - ๐Ÿ“ค Server relayed frame #498 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:52,898 - video.core - INFO - ๐Ÿ“ฅ Server received frame #499 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28441 bytes +2025-06-06 11:02:52,898 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:52,899 - video.core - INFO - ๐Ÿ“ค Server relayed frame #499 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:52,939 - video.core - INFO - ๐Ÿ“น Frame #500 from producer producer_1749200539754: size=28103 bytes, resolution=640x480 +2025-06-06 11:02:52,940 - video.core - INFO - ๐Ÿ“ฅ Server received frame #500 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28103 bytes +2025-06-06 11:02:52,940 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:52,940 - video.core - INFO - ๐Ÿ“ค Server relayed frame #500 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:52,981 - video.core - INFO - ๐Ÿ“ฅ Server received frame #501 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27701 bytes +2025-06-06 11:02:52,981 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:52,981 - video.core - INFO - ๐Ÿ“ค Server relayed frame #501 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:53,027 - video.core - INFO - ๐Ÿ“ฅ Server received frame #502 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27920 bytes +2025-06-06 11:02:53,028 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:53,028 - video.core - INFO - ๐Ÿ“ค Server relayed frame #502 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:53,065 - video.core - INFO - ๐Ÿ“ฅ Server received frame #503 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27688 bytes +2025-06-06 11:02:53,065 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:53,065 - video.core - INFO - ๐Ÿ“ค Server relayed frame #503 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:53,107 - video.core - INFO - ๐Ÿ“ฅ Server received frame #504 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27658 bytes +2025-06-06 11:02:53,107 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:53,107 - video.core - INFO - ๐Ÿ“ค Server relayed frame #504 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:53,152 - video.core - INFO - ๐Ÿ“ฅ Server received frame #505 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27871 bytes +2025-06-06 11:02:53,152 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:53,152 - video.core - INFO - ๐Ÿ“ค Server relayed frame #505 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:53,195 - video.core - INFO - ๐Ÿ“ฅ Server received frame #506 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27819 bytes +2025-06-06 11:02:53,196 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:53,196 - video.core - INFO - ๐Ÿ“ค Server relayed frame #506 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:53,244 - video.core - INFO - ๐Ÿ“ฅ Server received frame #507 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28044 bytes +2025-06-06 11:02:53,245 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:53,245 - video.core - INFO - ๐Ÿ“ค Server relayed frame #507 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:53,289 - video.core - INFO - ๐Ÿ“ฅ Server received frame #508 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28081 bytes +2025-06-06 11:02:53,289 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:53,289 - video.core - INFO - ๐Ÿ“ค Server relayed frame #508 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:53,329 - video.core - INFO - ๐Ÿ“ฅ Server received frame #509 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28158 bytes +2025-06-06 11:02:53,330 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:53,330 - video.core - INFO - ๐Ÿ“ค Server relayed frame #509 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:53,376 - video.core - INFO - ๐Ÿ“น Frame #510 from producer producer_1749200539754: size=28344 bytes, resolution=640x480 +2025-06-06 11:02:53,376 - video.core - INFO - ๐Ÿ“ฅ Server received frame #510 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28344 bytes +2025-06-06 11:02:53,377 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:53,377 - video.core - INFO - ๐Ÿ“ค Server relayed frame #510 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:53,377 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 510 frames processed, 21.1 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:53,377 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 510 frames, 14.4 FPS, 3.19 Mbps throughput, 27724 bytes avg frame size +2025-06-06 11:02:53,377 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200539754 stats: 510 frames processed, FPS: 23.0, Throughput: 5.10 Mbps, Avg frame size: 27724 bytes +2025-06-06 11:02:53,420 - video.core - INFO - ๐Ÿ“ฅ Server received frame #511 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28341 bytes +2025-06-06 11:02:53,420 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:53,420 - video.core - INFO - ๐Ÿ“ค Server relayed frame #511 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:53,462 - video.core - INFO - ๐Ÿ“ฅ Server received frame #512 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28267 bytes +2025-06-06 11:02:53,463 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:53,463 - video.core - INFO - ๐Ÿ“ค Server relayed frame #512 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:53,501 - video.core - INFO - ๐Ÿ“ฅ Server received frame #513 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28323 bytes +2025-06-06 11:02:53,501 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:53,501 - video.core - INFO - ๐Ÿ“ค Server relayed frame #513 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:53,539 - video.core - INFO - ๐Ÿ“ฅ Server received frame #514 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28403 bytes +2025-06-06 11:02:53,539 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:53,539 - video.core - INFO - ๐Ÿ“ค Server relayed frame #514 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:53,589 - video.core - INFO - ๐Ÿ“ฅ Server received frame #515 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28332 bytes +2025-06-06 11:02:53,589 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:53,589 - video.core - INFO - ๐Ÿ“ค Server relayed frame #515 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:53,634 - video.core - INFO - ๐Ÿ“ฅ Server received frame #516 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28354 bytes +2025-06-06 11:02:53,634 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:53,634 - video.core - INFO - ๐Ÿ“ค Server relayed frame #516 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:53,673 - video.core - INFO - ๐Ÿ“ฅ Server received frame #517 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28158 bytes +2025-06-06 11:02:53,673 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:53,673 - video.core - INFO - ๐Ÿ“ค Server relayed frame #517 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:53,719 - video.core - INFO - ๐Ÿ“ฅ Server received frame #518 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28321 bytes +2025-06-06 11:02:53,719 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:53,719 - video.core - INFO - ๐Ÿ“ค Server relayed frame #518 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:53,766 - video.core - INFO - ๐Ÿ“ฅ Server received frame #519 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28329 bytes +2025-06-06 11:02:53,766 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:53,766 - video.core - INFO - ๐Ÿ“ค Server relayed frame #519 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:53,810 - video.core - INFO - ๐Ÿ“น Frame #520 from producer producer_1749200539754: size=28561 bytes, resolution=640x480 +2025-06-06 11:02:53,811 - video.core - INFO - ๐Ÿ“ฅ Server received frame #520 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28561 bytes +2025-06-06 11:02:53,811 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:53,811 - video.core - INFO - ๐Ÿ“ค Server relayed frame #520 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:53,851 - video.core - INFO - ๐Ÿ“ฅ Server received frame #521 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28532 bytes +2025-06-06 11:02:53,851 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:53,851 - video.core - INFO - ๐Ÿ“ค Server relayed frame #521 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:53,897 - video.core - INFO - ๐Ÿ“ฅ Server received frame #522 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28576 bytes +2025-06-06 11:02:53,898 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:53,898 - video.core - INFO - ๐Ÿ“ค Server relayed frame #522 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:53,939 - video.core - INFO - ๐Ÿ“ฅ Server received frame #523 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28685 bytes +2025-06-06 11:02:53,939 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:53,940 - video.core - INFO - ๐Ÿ“ค Server relayed frame #523 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:53,982 - video.core - INFO - ๐Ÿ“ฅ Server received frame #524 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28611 bytes +2025-06-06 11:02:53,982 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:53,982 - video.core - INFO - ๐Ÿ“ค Server relayed frame #524 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:54,021 - video.core - INFO - ๐Ÿ“ฅ Server received frame #525 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28462 bytes +2025-06-06 11:02:54,021 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:54,021 - video.core - INFO - ๐Ÿ“ค Server relayed frame #525 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:54,061 - video.core - INFO - ๐Ÿ“ฅ Server received frame #526 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28395 bytes +2025-06-06 11:02:54,061 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:54,061 - video.core - INFO - ๐Ÿ“ค Server relayed frame #526 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:54,101 - video.core - INFO - ๐Ÿ“ฅ Server received frame #527 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28263 bytes +2025-06-06 11:02:54,101 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:54,101 - video.core - INFO - ๐Ÿ“ค Server relayed frame #527 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:54,146 - video.core - INFO - ๐Ÿ“ฅ Server received frame #528 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28206 bytes +2025-06-06 11:02:54,146 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:54,146 - video.core - INFO - ๐Ÿ“ค Server relayed frame #528 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:54,195 - video.core - INFO - ๐Ÿ“ฅ Server received frame #529 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28241 bytes +2025-06-06 11:02:54,195 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:54,195 - video.core - INFO - ๐Ÿ“ค Server relayed frame #529 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:54,239 - video.core - INFO - ๐Ÿ“น Frame #530 from producer producer_1749200539754: size=28142 bytes, resolution=640x480 +2025-06-06 11:02:54,239 - video.core - INFO - ๐Ÿ“ฅ Server received frame #530 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28142 bytes +2025-06-06 11:02:54,239 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:54,239 - video.core - INFO - ๐Ÿ“ค Server relayed frame #530 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:54,278 - video.core - INFO - ๐Ÿ“ฅ Server received frame #531 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28075 bytes +2025-06-06 11:02:54,278 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:54,278 - video.core - INFO - ๐Ÿ“ค Server relayed frame #531 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:54,324 - video.core - INFO - ๐Ÿ“ฅ Server received frame #532 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28135 bytes +2025-06-06 11:02:54,324 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:54,324 - video.core - INFO - ๐Ÿ“ค Server relayed frame #532 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:54,367 - video.core - INFO - ๐Ÿ“ฅ Server received frame #533 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28058 bytes +2025-06-06 11:02:54,367 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:54,367 - video.core - INFO - ๐Ÿ“ค Server relayed frame #533 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:54,409 - video.core - INFO - ๐Ÿ“ฅ Server received frame #534 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27879 bytes +2025-06-06 11:02:54,409 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:54,409 - video.core - INFO - ๐Ÿ“ค Server relayed frame #534 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:54,458 - video.core - INFO - ๐Ÿ“ฅ Server received frame #535 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27567 bytes +2025-06-06 11:02:54,459 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:54,459 - video.core - INFO - ๐Ÿ“ค Server relayed frame #535 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:54,499 - video.core - INFO - ๐Ÿ“ฅ Server received frame #536 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27148 bytes +2025-06-06 11:02:54,499 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:54,499 - video.core - INFO - ๐Ÿ“ค Server relayed frame #536 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:54,538 - video.core - INFO - ๐Ÿ“ฅ Server received frame #537 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26891 bytes +2025-06-06 11:02:54,538 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:54,538 - video.core - INFO - ๐Ÿ“ค Server relayed frame #537 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:54,581 - video.core - INFO - ๐Ÿ“ฅ Server received frame #538 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26800 bytes +2025-06-06 11:02:54,583 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:54,583 - video.core - INFO - ๐Ÿ“ค Server relayed frame #538 to 1 consumers in 2.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:54,625 - video.core - INFO - ๐Ÿ“ฅ Server received frame #539 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27444 bytes +2025-06-06 11:02:54,625 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:54,625 - video.core - INFO - ๐Ÿ“ค Server relayed frame #539 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:54,661 - video.core - INFO - ๐Ÿ“น Frame #540 from producer producer_1749200539754: size=27699 bytes, resolution=640x480 +2025-06-06 11:02:54,661 - video.core - INFO - ๐Ÿ“ฅ Server received frame #540 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27699 bytes +2025-06-06 11:02:54,661 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:54,661 - video.core - INFO - ๐Ÿ“ค Server relayed frame #540 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:54,661 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 540 frames processed, 21.3 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:54,661 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 540 frames, 14.7 FPS, 3.27 Mbps throughput, 27746 bytes avg frame size +2025-06-06 11:02:54,661 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200539754 stats: 540 frames processed, FPS: 23.0, Throughput: 5.11 Mbps, Avg frame size: 27746 bytes +2025-06-06 11:02:54,704 - video.core - INFO - ๐Ÿ“ฅ Server received frame #541 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27976 bytes +2025-06-06 11:02:54,705 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:54,705 - video.core - INFO - ๐Ÿ“ค Server relayed frame #541 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:54,749 - video.core - INFO - ๐Ÿ“ฅ Server received frame #542 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27885 bytes +2025-06-06 11:02:54,749 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:54,749 - video.core - INFO - ๐Ÿ“ค Server relayed frame #542 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:54,792 - video.core - INFO - ๐Ÿ“ฅ Server received frame #543 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27620 bytes +2025-06-06 11:02:54,792 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:54,792 - video.core - INFO - ๐Ÿ“ค Server relayed frame #543 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:54,839 - video.core - INFO - ๐Ÿ“ฅ Server received frame #544 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27443 bytes +2025-06-06 11:02:54,840 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:54,840 - video.core - INFO - ๐Ÿ“ค Server relayed frame #544 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:54,907 - video.core - INFO - ๐Ÿ“ฅ Server received frame #545 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27786 bytes +2025-06-06 11:02:54,907 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:54,907 - video.core - INFO - ๐Ÿ“ค Server relayed frame #545 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:55,030 - video.core - INFO - ๐Ÿ“ฅ Server received frame #546 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27819 bytes +2025-06-06 11:02:55,030 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:55,030 - video.core - INFO - ๐Ÿ“ค Server relayed frame #546 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:55,032 - video.core - INFO - ๐Ÿ“ฅ Server received frame #547 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28087 bytes +2025-06-06 11:02:55,032 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:55,032 - video.core - INFO - ๐Ÿ“ค Server relayed frame #547 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:55,033 - video.core - INFO - ๐Ÿ“ฅ Server received frame #548 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27972 bytes +2025-06-06 11:02:55,033 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:55,033 - video.core - INFO - ๐Ÿ“ค Server relayed frame #548 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:55,065 - video.core - INFO - ๐Ÿ“ฅ Server received frame #549 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27942 bytes +2025-06-06 11:02:55,065 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:55,065 - video.core - INFO - ๐Ÿ“ค Server relayed frame #549 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:55,092 - video.core - INFO - ๐Ÿ“น Frame #550 from producer producer_1749200539754: size=28188 bytes, resolution=640x480 +2025-06-06 11:02:55,092 - video.core - INFO - ๐Ÿ“ฅ Server received frame #550 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28188 bytes +2025-06-06 11:02:55,092 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:55,092 - video.core - INFO - ๐Ÿ“ค Server relayed frame #550 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:55,136 - video.core - INFO - ๐Ÿ“ฅ Server received frame #551 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28017 bytes +2025-06-06 11:02:55,136 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:55,136 - video.core - INFO - ๐Ÿ“ค Server relayed frame #551 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:55,178 - video.core - INFO - ๐Ÿ“ฅ Server received frame #552 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28041 bytes +2025-06-06 11:02:55,178 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:55,178 - video.core - INFO - ๐Ÿ“ค Server relayed frame #552 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:55,236 - video.core - INFO - ๐Ÿ“ฅ Server received frame #553 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28179 bytes +2025-06-06 11:02:55,236 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:55,236 - video.core - INFO - ๐Ÿ“ค Server relayed frame #553 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:55,272 - video.core - INFO - ๐Ÿ“ฅ Server received frame #554 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28361 bytes +2025-06-06 11:02:55,273 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:55,273 - video.core - INFO - ๐Ÿ“ค Server relayed frame #554 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:55,319 - video.core - INFO - ๐Ÿ“ฅ Server received frame #555 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28110 bytes +2025-06-06 11:02:55,320 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:55,320 - video.core - INFO - ๐Ÿ“ค Server relayed frame #555 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:55,358 - video.core - INFO - ๐Ÿ“ฅ Server received frame #556 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28087 bytes +2025-06-06 11:02:55,358 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:55,358 - video.core - INFO - ๐Ÿ“ค Server relayed frame #556 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:55,405 - video.core - INFO - ๐Ÿ“ฅ Server received frame #557 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28120 bytes +2025-06-06 11:02:55,405 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:55,405 - video.core - INFO - ๐Ÿ“ค Server relayed frame #557 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:55,446 - video.core - INFO - ๐Ÿ“ฅ Server received frame #558 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28090 bytes +2025-06-06 11:02:55,447 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:55,447 - video.core - INFO - ๐Ÿ“ค Server relayed frame #558 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:55,493 - video.core - INFO - ๐Ÿ“ฅ Server received frame #559 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28020 bytes +2025-06-06 11:02:55,493 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:55,493 - video.core - INFO - ๐Ÿ“ค Server relayed frame #559 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:55,535 - video.core - INFO - ๐Ÿ“น Frame #560 from producer producer_1749200539754: size=28299 bytes, resolution=640x480 +2025-06-06 11:02:55,536 - video.core - INFO - ๐Ÿ“ฅ Server received frame #560 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28299 bytes +2025-06-06 11:02:55,536 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:55,536 - video.core - INFO - ๐Ÿ“ค Server relayed frame #560 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:55,574 - video.core - INFO - ๐Ÿ“ฅ Server received frame #561 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28472 bytes +2025-06-06 11:02:55,574 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:55,574 - video.core - INFO - ๐Ÿ“ค Server relayed frame #561 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:55,619 - video.core - INFO - ๐Ÿ“ฅ Server received frame #562 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28358 bytes +2025-06-06 11:02:55,619 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:55,619 - video.core - INFO - ๐Ÿ“ค Server relayed frame #562 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:55,657 - video.core - INFO - ๐Ÿ“ฅ Server received frame #563 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28253 bytes +2025-06-06 11:02:55,657 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:55,657 - video.core - INFO - ๐Ÿ“ค Server relayed frame #563 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:55,702 - video.core - INFO - ๐Ÿ“ฅ Server received frame #564 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28486 bytes +2025-06-06 11:02:55,702 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:55,702 - video.core - INFO - ๐Ÿ“ค Server relayed frame #564 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:55,748 - video.core - INFO - ๐Ÿ“ฅ Server received frame #565 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28610 bytes +2025-06-06 11:02:55,748 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:55,748 - video.core - INFO - ๐Ÿ“ค Server relayed frame #565 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:55,788 - video.core - INFO - ๐Ÿ“ฅ Server received frame #566 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28380 bytes +2025-06-06 11:02:55,788 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:55,788 - video.core - INFO - ๐Ÿ“ค Server relayed frame #566 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:55,837 - video.core - INFO - ๐Ÿ“ฅ Server received frame #567 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28358 bytes +2025-06-06 11:02:55,837 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:55,837 - video.core - INFO - ๐Ÿ“ค Server relayed frame #567 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:55,882 - video.core - INFO - ๐Ÿ“ฅ Server received frame #568 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28439 bytes +2025-06-06 11:02:55,882 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:55,882 - video.core - INFO - ๐Ÿ“ค Server relayed frame #568 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:55,924 - video.core - INFO - ๐Ÿ“ฅ Server received frame #569 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28522 bytes +2025-06-06 11:02:55,924 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:55,924 - video.core - INFO - ๐Ÿ“ค Server relayed frame #569 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:55,972 - video.core - INFO - ๐Ÿ“น Frame #570 from producer producer_1749200539754: size=28425 bytes, resolution=640x480 +2025-06-06 11:02:55,972 - video.core - INFO - ๐Ÿ“ฅ Server received frame #570 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28425 bytes +2025-06-06 11:02:55,972 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:55,972 - video.core - INFO - ๐Ÿ“ค Server relayed frame #570 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:55,972 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 570 frames processed, 21.3 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:55,973 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 570 frames, 15.0 FPS, 3.33 Mbps throughput, 27767 bytes avg frame size +2025-06-06 11:02:55,973 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200539754 stats: 570 frames processed, FPS: 23.0, Throughput: 5.11 Mbps, Avg frame size: 27767 bytes +2025-06-06 11:02:56,014 - video.core - INFO - ๐Ÿ“ฅ Server received frame #571 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28609 bytes +2025-06-06 11:02:56,014 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:56,014 - video.core - INFO - ๐Ÿ“ค Server relayed frame #571 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:56,055 - video.core - INFO - ๐Ÿ“ฅ Server received frame #572 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28554 bytes +2025-06-06 11:02:56,055 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:56,055 - video.core - INFO - ๐Ÿ“ค Server relayed frame #572 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:56,103 - video.core - INFO - ๐Ÿ“ฅ Server received frame #573 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28672 bytes +2025-06-06 11:02:56,103 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:56,103 - video.core - INFO - ๐Ÿ“ค Server relayed frame #573 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:56,137 - video.core - INFO - ๐Ÿ“ฅ Server received frame #574 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28835 bytes +2025-06-06 11:02:56,137 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:56,137 - video.core - INFO - ๐Ÿ“ค Server relayed frame #574 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:56,184 - video.core - INFO - ๐Ÿ“ฅ Server received frame #575 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28810 bytes +2025-06-06 11:02:56,184 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:56,184 - video.core - INFO - ๐Ÿ“ค Server relayed frame #575 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:56,224 - video.core - INFO - ๐Ÿ“ฅ Server received frame #576 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28896 bytes +2025-06-06 11:02:56,224 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:56,224 - video.core - INFO - ๐Ÿ“ค Server relayed frame #576 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:56,267 - video.core - INFO - ๐Ÿ“ฅ Server received frame #577 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28620 bytes +2025-06-06 11:02:56,267 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:56,267 - video.core - INFO - ๐Ÿ“ค Server relayed frame #577 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:56,309 - video.core - INFO - ๐Ÿ“ฅ Server received frame #578 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28704 bytes +2025-06-06 11:02:56,309 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:56,309 - video.core - INFO - ๐Ÿ“ค Server relayed frame #578 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:56,359 - video.core - INFO - ๐Ÿ“ฅ Server received frame #579 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28558 bytes +2025-06-06 11:02:56,359 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:56,359 - video.core - INFO - ๐Ÿ“ค Server relayed frame #579 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:56,402 - video.core - INFO - ๐Ÿ“น Frame #580 from producer producer_1749200539754: size=28531 bytes, resolution=640x480 +2025-06-06 11:02:56,402 - video.core - INFO - ๐Ÿ“ฅ Server received frame #580 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28531 bytes +2025-06-06 11:02:56,403 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:56,403 - video.core - INFO - ๐Ÿ“ค Server relayed frame #580 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:56,445 - video.core - INFO - ๐Ÿ“ฅ Server received frame #581 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28695 bytes +2025-06-06 11:02:56,445 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:56,445 - video.core - INFO - ๐Ÿ“ค Server relayed frame #581 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:56,487 - video.core - INFO - ๐Ÿ“ฅ Server received frame #582 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28745 bytes +2025-06-06 11:02:56,487 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:56,487 - video.core - INFO - ๐Ÿ“ค Server relayed frame #582 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:56,531 - video.core - INFO - ๐Ÿ“ฅ Server received frame #583 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28798 bytes +2025-06-06 11:02:56,531 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:56,531 - video.core - INFO - ๐Ÿ“ค Server relayed frame #583 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:56,574 - video.core - INFO - ๐Ÿ“ฅ Server received frame #584 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28845 bytes +2025-06-06 11:02:56,575 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:56,575 - video.core - INFO - ๐Ÿ“ค Server relayed frame #584 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:56,619 - video.core - INFO - ๐Ÿ“ฅ Server received frame #585 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28931 bytes +2025-06-06 11:02:56,619 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:56,619 - video.core - INFO - ๐Ÿ“ค Server relayed frame #585 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:56,659 - video.core - INFO - ๐Ÿ“ฅ Server received frame #586 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28917 bytes +2025-06-06 11:02:56,660 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:56,660 - video.core - INFO - ๐Ÿ“ค Server relayed frame #586 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:56,705 - video.core - INFO - ๐Ÿ“ฅ Server received frame #587 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28996 bytes +2025-06-06 11:02:56,705 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:56,705 - video.core - INFO - ๐Ÿ“ค Server relayed frame #587 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:56,750 - video.core - INFO - ๐Ÿ“ฅ Server received frame #588 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29064 bytes +2025-06-06 11:02:56,750 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:56,750 - video.core - INFO - ๐Ÿ“ค Server relayed frame #588 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:56,794 - video.core - INFO - ๐Ÿ“ฅ Server received frame #589 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29086 bytes +2025-06-06 11:02:56,794 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:56,795 - video.core - INFO - ๐Ÿ“ค Server relayed frame #589 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:56,840 - video.core - INFO - ๐Ÿ“น Frame #590 from producer producer_1749200539754: size=28841 bytes, resolution=640x480 +2025-06-06 11:02:56,840 - video.core - INFO - ๐Ÿ“ฅ Server received frame #590 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28841 bytes +2025-06-06 11:02:56,841 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:56,841 - video.core - INFO - ๐Ÿ“ค Server relayed frame #590 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:56,881 - video.core - INFO - ๐Ÿ“ฅ Server received frame #591 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28774 bytes +2025-06-06 11:02:56,881 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:56,881 - video.core - INFO - ๐Ÿ“ค Server relayed frame #591 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:56,926 - video.core - INFO - ๐Ÿ“ฅ Server received frame #592 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28362 bytes +2025-06-06 11:02:56,926 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:56,926 - video.core - INFO - ๐Ÿ“ค Server relayed frame #592 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:56,965 - video.core - INFO - ๐Ÿ“ฅ Server received frame #593 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28392 bytes +2025-06-06 11:02:56,965 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:56,965 - video.core - INFO - ๐Ÿ“ค Server relayed frame #593 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:57,010 - video.core - INFO - ๐Ÿ“ฅ Server received frame #594 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28341 bytes +2025-06-06 11:02:57,010 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:57,010 - video.core - INFO - ๐Ÿ“ค Server relayed frame #594 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:57,054 - video.core - INFO - ๐Ÿ“ฅ Server received frame #595 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28463 bytes +2025-06-06 11:02:57,055 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:57,055 - video.core - INFO - ๐Ÿ“ค Server relayed frame #595 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:57,088 - video.core - INFO - ๐Ÿ“ฅ Server received frame #596 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28542 bytes +2025-06-06 11:02:57,088 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:57,088 - video.core - INFO - ๐Ÿ“ค Server relayed frame #596 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:57,130 - video.core - INFO - ๐Ÿ“ฅ Server received frame #597 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28532 bytes +2025-06-06 11:02:57,130 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:57,130 - video.core - INFO - ๐Ÿ“ค Server relayed frame #597 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:57,174 - video.core - INFO - ๐Ÿ“ฅ Server received frame #598 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28517 bytes +2025-06-06 11:02:57,174 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:57,174 - video.core - INFO - ๐Ÿ“ค Server relayed frame #598 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:57,214 - video.core - INFO - ๐Ÿ“ฅ Server received frame #599 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28570 bytes +2025-06-06 11:02:57,214 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:57,214 - video.core - INFO - ๐Ÿ“ค Server relayed frame #599 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:57,257 - video.core - INFO - ๐Ÿ“น Frame #600 from producer producer_1749200539754: size=28677 bytes, resolution=640x480 +2025-06-06 11:02:57,257 - video.core - INFO - ๐Ÿ“ฅ Server received frame #600 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28677 bytes +2025-06-06 11:02:57,257 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:57,257 - video.core - INFO - ๐Ÿ“ค Server relayed frame #600 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:57,257 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 600 frames processed, 21.4 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:57,257 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 600 frames, 15.3 FPS, 3.40 Mbps throughput, 27813 bytes avg frame size +2025-06-06 11:02:57,257 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200539754 stats: 600 frames processed, FPS: 23.0, Throughput: 5.12 Mbps, Avg frame size: 27813 bytes +2025-06-06 11:02:57,300 - video.core - INFO - ๐Ÿ“ฅ Server received frame #601 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28686 bytes +2025-06-06 11:02:57,300 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:57,301 - video.core - INFO - ๐Ÿ“ค Server relayed frame #601 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:57,343 - video.core - INFO - ๐Ÿ“ฅ Server received frame #602 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28765 bytes +2025-06-06 11:02:57,343 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:57,343 - video.core - INFO - ๐Ÿ“ค Server relayed frame #602 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:57,388 - video.core - INFO - ๐Ÿ“ฅ Server received frame #603 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28811 bytes +2025-06-06 11:02:57,388 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:57,388 - video.core - INFO - ๐Ÿ“ค Server relayed frame #603 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:57,436 - video.core - INFO - ๐Ÿ“ฅ Server received frame #604 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28724 bytes +2025-06-06 11:02:57,436 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:57,436 - video.core - INFO - ๐Ÿ“ค Server relayed frame #604 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:57,491 - video.core - INFO - ๐Ÿ“ฅ Server received frame #605 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28702 bytes +2025-06-06 11:02:57,492 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:57,492 - video.core - INFO - ๐Ÿ“ค Server relayed frame #605 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:57,540 - video.core - INFO - ๐Ÿ“ฅ Server received frame #606 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28775 bytes +2025-06-06 11:02:57,541 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:57,541 - video.core - INFO - ๐Ÿ“ค Server relayed frame #606 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:57,567 - video.core - INFO - ๐Ÿ“ฅ Server received frame #607 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28753 bytes +2025-06-06 11:02:57,567 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:57,568 - video.core - INFO - ๐Ÿ“ค Server relayed frame #607 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:57,619 - video.core - INFO - ๐Ÿ“ฅ Server received frame #608 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28752 bytes +2025-06-06 11:02:57,619 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:57,619 - video.core - INFO - ๐Ÿ“ค Server relayed frame #608 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:57,656 - video.core - INFO - ๐Ÿ“ฅ Server received frame #609 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28833 bytes +2025-06-06 11:02:57,657 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:57,658 - video.core - INFO - ๐Ÿ“ค Server relayed frame #609 to 1 consumers in 1.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:57,693 - video.core - INFO - ๐Ÿ“น Frame #610 from producer producer_1749200539754: size=28773 bytes, resolution=640x480 +2025-06-06 11:02:57,694 - video.core - INFO - ๐Ÿ“ฅ Server received frame #610 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28773 bytes +2025-06-06 11:02:57,694 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:57,694 - video.core - INFO - ๐Ÿ“ค Server relayed frame #610 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:57,754 - video.core - INFO - ๐Ÿ“ฅ Server received frame #611 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28598 bytes +2025-06-06 11:02:57,754 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:57,754 - video.core - INFO - ๐Ÿ“ค Server relayed frame #611 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:57,776 - video.core - INFO - ๐Ÿ“ฅ Server received frame #612 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28703 bytes +2025-06-06 11:02:57,776 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:57,776 - video.core - INFO - ๐Ÿ“ค Server relayed frame #612 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:57,818 - video.core - INFO - ๐Ÿ“ฅ Server received frame #613 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28802 bytes +2025-06-06 11:02:57,818 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:57,818 - video.core - INFO - ๐Ÿ“ค Server relayed frame #613 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:57,863 - video.core - INFO - ๐Ÿ“ฅ Server received frame #614 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28897 bytes +2025-06-06 11:02:57,863 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:57,863 - video.core - INFO - ๐Ÿ“ค Server relayed frame #614 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:57,917 - video.core - INFO - ๐Ÿ“ฅ Server received frame #615 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28589 bytes +2025-06-06 11:02:57,917 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:57,918 - video.core - INFO - ๐Ÿ“ค Server relayed frame #615 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:57,948 - video.core - INFO - ๐Ÿ“ฅ Server received frame #616 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28576 bytes +2025-06-06 11:02:57,949 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:57,949 - video.core - INFO - ๐Ÿ“ค Server relayed frame #616 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:57,992 - video.core - INFO - ๐Ÿ“ฅ Server received frame #617 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28592 bytes +2025-06-06 11:02:57,993 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:57,993 - video.core - INFO - ๐Ÿ“ค Server relayed frame #617 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:58,036 - video.core - INFO - ๐Ÿ“ฅ Server received frame #618 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28466 bytes +2025-06-06 11:02:58,036 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:58,036 - video.core - INFO - ๐Ÿ“ค Server relayed frame #618 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:58,077 - video.core - INFO - ๐Ÿ“ฅ Server received frame #619 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28338 bytes +2025-06-06 11:02:58,077 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:58,077 - video.core - INFO - ๐Ÿ“ค Server relayed frame #619 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:58,120 - video.core - INFO - ๐Ÿ“น Frame #620 from producer producer_1749200539754: size=28458 bytes, resolution=640x480 +2025-06-06 11:02:58,120 - video.core - INFO - ๐Ÿ“ฅ Server received frame #620 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28458 bytes +2025-06-06 11:02:58,120 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:58,120 - video.core - INFO - ๐Ÿ“ค Server relayed frame #620 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:58,163 - video.core - INFO - ๐Ÿ“ฅ Server received frame #621 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28604 bytes +2025-06-06 11:02:58,164 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:58,164 - video.core - INFO - ๐Ÿ“ค Server relayed frame #621 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:58,207 - video.core - INFO - ๐Ÿ“ฅ Server received frame #622 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28664 bytes +2025-06-06 11:02:58,208 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:58,208 - video.core - INFO - ๐Ÿ“ค Server relayed frame #622 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:58,254 - video.core - INFO - ๐Ÿ“ฅ Server received frame #623 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28734 bytes +2025-06-06 11:02:58,254 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:58,254 - video.core - INFO - ๐Ÿ“ค Server relayed frame #623 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:58,295 - video.core - INFO - ๐Ÿ“ฅ Server received frame #624 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28808 bytes +2025-06-06 11:02:58,295 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:58,295 - video.core - INFO - ๐Ÿ“ค Server relayed frame #624 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:58,339 - video.core - INFO - ๐Ÿ“ฅ Server received frame #625 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28662 bytes +2025-06-06 11:02:58,339 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:58,339 - video.core - INFO - ๐Ÿ“ค Server relayed frame #625 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:58,382 - video.core - INFO - ๐Ÿ“ฅ Server received frame #626 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28482 bytes +2025-06-06 11:02:58,382 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:58,382 - video.core - INFO - ๐Ÿ“ค Server relayed frame #626 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:58,423 - video.core - INFO - ๐Ÿ“ฅ Server received frame #627 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28240 bytes +2025-06-06 11:02:58,423 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:58,423 - video.core - INFO - ๐Ÿ“ค Server relayed frame #627 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:58,470 - video.core - INFO - ๐Ÿ“ฅ Server received frame #628 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28024 bytes +2025-06-06 11:02:58,470 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:58,470 - video.core - INFO - ๐Ÿ“ค Server relayed frame #628 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:58,514 - video.core - INFO - ๐Ÿ“ฅ Server received frame #629 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27925 bytes +2025-06-06 11:02:58,514 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:58,514 - video.core - INFO - ๐Ÿ“ค Server relayed frame #629 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:58,559 - video.core - INFO - ๐Ÿ“น Frame #630 from producer producer_1749200539754: size=27966 bytes, resolution=640x480 +2025-06-06 11:02:58,559 - video.core - INFO - ๐Ÿ“ฅ Server received frame #630 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27966 bytes +2025-06-06 11:02:58,559 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:58,559 - video.core - INFO - ๐Ÿ“ค Server relayed frame #630 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:58,559 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 630 frames processed, 21.5 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:58,559 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 630 frames, 15.5 FPS, 3.46 Mbps throughput, 27850 bytes avg frame size +2025-06-06 11:02:58,559 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200539754 stats: 630 frames processed, FPS: 23.0, Throughput: 5.13 Mbps, Avg frame size: 27850 bytes +2025-06-06 11:02:58,600 - video.core - INFO - ๐Ÿ“ฅ Server received frame #631 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28174 bytes +2025-06-06 11:02:58,600 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:58,600 - video.core - INFO - ๐Ÿ“ค Server relayed frame #631 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:58,648 - video.core - INFO - ๐Ÿ“ฅ Server received frame #632 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28293 bytes +2025-06-06 11:02:58,648 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:58,648 - video.core - INFO - ๐Ÿ“ค Server relayed frame #632 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:58,689 - video.core - INFO - ๐Ÿ“ฅ Server received frame #633 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28165 bytes +2025-06-06 11:02:58,690 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:58,690 - video.core - INFO - ๐Ÿ“ค Server relayed frame #633 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:58,730 - video.core - INFO - ๐Ÿ“ฅ Server received frame #634 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28070 bytes +2025-06-06 11:02:58,730 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:58,730 - video.core - INFO - ๐Ÿ“ค Server relayed frame #634 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:58,774 - video.core - INFO - ๐Ÿ“ฅ Server received frame #635 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28037 bytes +2025-06-06 11:02:58,774 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:58,774 - video.core - INFO - ๐Ÿ“ค Server relayed frame #635 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:58,817 - video.core - INFO - ๐Ÿ“ฅ Server received frame #636 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28134 bytes +2025-06-06 11:02:58,817 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:58,818 - video.core - INFO - ๐Ÿ“ค Server relayed frame #636 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:58,865 - video.core - INFO - ๐Ÿ“ฅ Server received frame #637 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28137 bytes +2025-06-06 11:02:58,865 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:58,866 - video.core - INFO - ๐Ÿ“ค Server relayed frame #637 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:58,909 - video.core - INFO - ๐Ÿ“ฅ Server received frame #638 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28279 bytes +2025-06-06 11:02:58,910 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:58,910 - video.core - INFO - ๐Ÿ“ค Server relayed frame #638 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:58,950 - video.core - INFO - ๐Ÿ“ฅ Server received frame #639 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28298 bytes +2025-06-06 11:02:58,951 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:58,951 - video.core - INFO - ๐Ÿ“ค Server relayed frame #639 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:58,992 - video.core - INFO - ๐Ÿ“น Frame #640 from producer producer_1749200539754: size=28166 bytes, resolution=640x480 +2025-06-06 11:02:58,992 - video.core - INFO - ๐Ÿ“ฅ Server received frame #640 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28166 bytes +2025-06-06 11:02:58,992 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:58,992 - video.core - INFO - ๐Ÿ“ค Server relayed frame #640 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:59,036 - video.core - INFO - ๐Ÿ“ฅ Server received frame #641 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28273 bytes +2025-06-06 11:02:59,036 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:59,036 - video.core - INFO - ๐Ÿ“ค Server relayed frame #641 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:59,077 - video.core - INFO - ๐Ÿ“ฅ Server received frame #642 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28166 bytes +2025-06-06 11:02:59,077 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:59,077 - video.core - INFO - ๐Ÿ“ค Server relayed frame #642 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:59,118 - video.core - INFO - ๐Ÿ“ฅ Server received frame #643 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27932 bytes +2025-06-06 11:02:59,118 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:59,118 - video.core - INFO - ๐Ÿ“ค Server relayed frame #643 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:59,164 - video.core - INFO - ๐Ÿ“ฅ Server received frame #644 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27761 bytes +2025-06-06 11:02:59,164 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:59,164 - video.core - INFO - ๐Ÿ“ค Server relayed frame #644 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:59,206 - video.core - INFO - ๐Ÿ“ฅ Server received frame #645 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27963 bytes +2025-06-06 11:02:59,207 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:59,207 - video.core - INFO - ๐Ÿ“ค Server relayed frame #645 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:59,250 - video.core - INFO - ๐Ÿ“ฅ Server received frame #646 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27916 bytes +2025-06-06 11:02:59,250 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:59,250 - video.core - INFO - ๐Ÿ“ค Server relayed frame #646 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:59,292 - video.core - INFO - ๐Ÿ“ฅ Server received frame #647 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28016 bytes +2025-06-06 11:02:59,292 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:59,292 - video.core - INFO - ๐Ÿ“ค Server relayed frame #647 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:59,337 - video.core - INFO - ๐Ÿ“ฅ Server received frame #648 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28096 bytes +2025-06-06 11:02:59,337 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:59,337 - video.core - INFO - ๐Ÿ“ค Server relayed frame #648 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:59,379 - video.core - INFO - ๐Ÿ“ฅ Server received frame #649 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28281 bytes +2025-06-06 11:02:59,379 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:59,379 - video.core - INFO - ๐Ÿ“ค Server relayed frame #649 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:59,423 - video.core - INFO - ๐Ÿ“น Frame #650 from producer producer_1749200539754: size=28310 bytes, resolution=640x480 +2025-06-06 11:02:59,424 - video.core - INFO - ๐Ÿ“ฅ Server received frame #650 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28310 bytes +2025-06-06 11:02:59,424 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:59,424 - video.core - INFO - ๐Ÿ“ค Server relayed frame #650 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:59,464 - video.core - INFO - ๐Ÿ“ฅ Server received frame #651 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28351 bytes +2025-06-06 11:02:59,464 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:59,464 - video.core - INFO - ๐Ÿ“ค Server relayed frame #651 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:59,506 - video.core - INFO - ๐Ÿ“ฅ Server received frame #652 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28247 bytes +2025-06-06 11:02:59,506 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:59,506 - video.core - INFO - ๐Ÿ“ค Server relayed frame #652 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:59,551 - video.core - INFO - ๐Ÿ“ฅ Server received frame #653 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28250 bytes +2025-06-06 11:02:59,552 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:59,552 - video.core - INFO - ๐Ÿ“ค Server relayed frame #653 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:59,593 - video.core - INFO - ๐Ÿ“ฅ Server received frame #654 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28221 bytes +2025-06-06 11:02:59,593 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:59,593 - video.core - INFO - ๐Ÿ“ค Server relayed frame #654 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:59,642 - video.core - INFO - ๐Ÿ“ฅ Server received frame #655 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28206 bytes +2025-06-06 11:02:59,642 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:59,642 - video.core - INFO - ๐Ÿ“ค Server relayed frame #655 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:59,678 - video.core - INFO - ๐Ÿ“ฅ Server received frame #656 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28279 bytes +2025-06-06 11:02:59,678 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:59,678 - video.core - INFO - ๐Ÿ“ค Server relayed frame #656 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:59,724 - video.core - INFO - ๐Ÿ“ฅ Server received frame #657 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28072 bytes +2025-06-06 11:02:59,724 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:59,724 - video.core - INFO - ๐Ÿ“ค Server relayed frame #657 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:59,765 - video.core - INFO - ๐Ÿ“ฅ Server received frame #658 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27723 bytes +2025-06-06 11:02:59,765 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:59,765 - video.core - INFO - ๐Ÿ“ค Server relayed frame #658 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:59,809 - video.core - INFO - ๐Ÿ“ฅ Server received frame #659 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27902 bytes +2025-06-06 11:02:59,809 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:59,809 - video.core - INFO - ๐Ÿ“ค Server relayed frame #659 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:59,854 - video.core - INFO - ๐Ÿ“น Frame #660 from producer producer_1749200539754: size=27362 bytes, resolution=640x480 +2025-06-06 11:02:59,855 - video.core - INFO - ๐Ÿ“ฅ Server received frame #660 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27362 bytes +2025-06-06 11:02:59,855 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:59,855 - video.core - INFO - ๐Ÿ“ค Server relayed frame #660 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:59,855 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 660 frames processed, 21.6 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:59,855 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 660 frames, 15.8 FPS, 3.51 Mbps throughput, 27861 bytes avg frame size +2025-06-06 11:02:59,855 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200539754 stats: 660 frames processed, FPS: 23.0, Throughput: 5.13 Mbps, Avg frame size: 27861 bytes +2025-06-06 11:02:59,898 - video.core - INFO - ๐Ÿ“ฅ Server received frame #661 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27713 bytes +2025-06-06 11:02:59,898 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:59,898 - video.core - INFO - ๐Ÿ“ค Server relayed frame #661 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:59,943 - video.core - INFO - ๐Ÿ“ฅ Server received frame #662 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27783 bytes +2025-06-06 11:02:59,943 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:59,943 - video.core - INFO - ๐Ÿ“ค Server relayed frame #662 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:59,985 - video.core - INFO - ๐Ÿ“ฅ Server received frame #663 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27732 bytes +2025-06-06 11:02:59,986 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:02:59,986 - video.core - INFO - ๐Ÿ“ค Server relayed frame #663 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:00,029 - video.core - INFO - ๐Ÿ“ฅ Server received frame #664 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27994 bytes +2025-06-06 11:03:00,029 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:00,029 - video.core - INFO - ๐Ÿ“ค Server relayed frame #664 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:00,071 - video.core - INFO - ๐Ÿ“ฅ Server received frame #665 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27881 bytes +2025-06-06 11:03:00,072 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:00,072 - video.core - INFO - ๐Ÿ“ค Server relayed frame #665 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:00,113 - video.core - INFO - ๐Ÿ“ฅ Server received frame #666 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27843 bytes +2025-06-06 11:03:00,113 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:00,113 - video.core - INFO - ๐Ÿ“ค Server relayed frame #666 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:00,155 - video.core - INFO - ๐Ÿ“ฅ Server received frame #667 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28097 bytes +2025-06-06 11:03:00,155 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:00,155 - video.core - INFO - ๐Ÿ“ค Server relayed frame #667 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:00,201 - video.core - INFO - ๐Ÿ“ฅ Server received frame #668 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28123 bytes +2025-06-06 11:03:00,201 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:00,201 - video.core - INFO - ๐Ÿ“ค Server relayed frame #668 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:00,244 - video.core - INFO - ๐Ÿ“ฅ Server received frame #669 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27991 bytes +2025-06-06 11:03:00,244 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:00,244 - video.core - INFO - ๐Ÿ“ค Server relayed frame #669 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:00,289 - video.core - INFO - ๐Ÿ“น Frame #670 from producer producer_1749200539754: size=28198 bytes, resolution=640x480 +2025-06-06 11:03:00,290 - video.core - INFO - ๐Ÿ“ฅ Server received frame #670 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28198 bytes +2025-06-06 11:03:00,290 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:00,290 - video.core - INFO - ๐Ÿ“ค Server relayed frame #670 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:00,328 - video.core - INFO - ๐Ÿ“ฅ Server received frame #671 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28122 bytes +2025-06-06 11:03:00,328 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:00,328 - video.core - INFO - ๐Ÿ“ค Server relayed frame #671 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:00,372 - video.core - INFO - ๐Ÿ“ฅ Server received frame #672 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28302 bytes +2025-06-06 11:03:00,372 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:00,372 - video.core - INFO - ๐Ÿ“ค Server relayed frame #672 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:00,422 - video.core - INFO - ๐Ÿ“ฅ Server received frame #673 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28347 bytes +2025-06-06 11:03:00,422 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:00,422 - video.core - INFO - ๐Ÿ“ค Server relayed frame #673 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:00,458 - video.core - INFO - ๐Ÿ“ฅ Server received frame #674 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28384 bytes +2025-06-06 11:03:00,459 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:00,459 - video.core - INFO - ๐Ÿ“ค Server relayed frame #674 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:00,502 - video.core - INFO - ๐Ÿ“ฅ Server received frame #675 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28296 bytes +2025-06-06 11:03:00,502 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:00,502 - video.core - INFO - ๐Ÿ“ค Server relayed frame #675 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:00,546 - video.core - INFO - ๐Ÿ“ฅ Server received frame #676 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28406 bytes +2025-06-06 11:03:00,546 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:00,546 - video.core - INFO - ๐Ÿ“ค Server relayed frame #676 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:00,589 - video.core - INFO - ๐Ÿ“ฅ Server received frame #677 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28460 bytes +2025-06-06 11:03:00,589 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:00,589 - video.core - INFO - ๐Ÿ“ค Server relayed frame #677 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:00,634 - video.core - INFO - ๐Ÿ“ฅ Server received frame #678 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28504 bytes +2025-06-06 11:03:00,635 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:00,635 - video.core - INFO - ๐Ÿ“ค Server relayed frame #678 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:00,676 - video.core - INFO - ๐Ÿ“ฅ Server received frame #679 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28438 bytes +2025-06-06 11:03:00,676 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:00,676 - video.core - INFO - ๐Ÿ“ค Server relayed frame #679 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:00,720 - video.core - INFO - ๐Ÿ“น Frame #680 from producer producer_1749200539754: size=28414 bytes, resolution=640x480 +2025-06-06 11:03:00,720 - video.core - INFO - ๐Ÿ“ฅ Server received frame #680 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28414 bytes +2025-06-06 11:03:00,720 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:00,720 - video.core - INFO - ๐Ÿ“ค Server relayed frame #680 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:00,764 - video.core - INFO - ๐Ÿ“ฅ Server received frame #681 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28454 bytes +2025-06-06 11:03:00,764 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:00,764 - video.core - INFO - ๐Ÿ“ค Server relayed frame #681 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:00,805 - video.core - INFO - ๐Ÿ“ฅ Server received frame #682 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28530 bytes +2025-06-06 11:03:00,805 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:00,805 - video.core - INFO - ๐Ÿ“ค Server relayed frame #682 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:00,857 - video.core - INFO - ๐Ÿ“ฅ Server received frame #683 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28366 bytes +2025-06-06 11:03:00,858 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:00,858 - video.core - INFO - ๐Ÿ“ค Server relayed frame #683 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:00,896 - video.core - INFO - ๐Ÿ“ฅ Server received frame #684 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28366 bytes +2025-06-06 11:03:00,896 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:00,896 - video.core - INFO - ๐Ÿ“ค Server relayed frame #684 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:00,937 - video.core - INFO - ๐Ÿ“ฅ Server received frame #685 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28435 bytes +2025-06-06 11:03:00,937 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:00,937 - video.core - INFO - ๐Ÿ“ค Server relayed frame #685 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:00,985 - video.core - INFO - ๐Ÿ“ฅ Server received frame #686 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28537 bytes +2025-06-06 11:03:00,985 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:00,985 - video.core - INFO - ๐Ÿ“ค Server relayed frame #686 to 1 consumers in 0.9ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:01,028 - video.core - INFO - ๐Ÿ“ฅ Server received frame #687 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28541 bytes +2025-06-06 11:03:01,029 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:01,029 - video.core - INFO - ๐Ÿ“ค Server relayed frame #687 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:01,073 - video.core - INFO - ๐Ÿ“ฅ Server received frame #688 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28439 bytes +2025-06-06 11:03:01,073 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:01,073 - video.core - INFO - ๐Ÿ“ค Server relayed frame #688 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:01,111 - video.core - INFO - ๐Ÿ“ฅ Server received frame #689 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28443 bytes +2025-06-06 11:03:01,111 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:01,111 - video.core - INFO - ๐Ÿ“ค Server relayed frame #689 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:01,150 - video.core - INFO - ๐Ÿ“น Frame #690 from producer producer_1749200539754: size=28133 bytes, resolution=640x480 +2025-06-06 11:03:01,151 - video.core - INFO - ๐Ÿ“ฅ Server received frame #690 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28133 bytes +2025-06-06 11:03:01,151 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:01,151 - video.core - INFO - ๐Ÿ“ค Server relayed frame #690 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:01,151 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 690 frames processed, 21.6 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:01,151 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 690 frames, 16.0 FPS, 3.56 Mbps throughput, 27878 bytes avg frame size +2025-06-06 11:03:01,151 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200539754 stats: 690 frames processed, FPS: 23.0, Throughput: 5.14 Mbps, Avg frame size: 27878 bytes +2025-06-06 11:03:01,193 - video.core - INFO - ๐Ÿ“ฅ Server received frame #691 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27776 bytes +2025-06-06 11:03:01,194 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:01,194 - video.core - INFO - ๐Ÿ“ค Server relayed frame #691 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:01,237 - video.core - INFO - ๐Ÿ“ฅ Server received frame #692 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27768 bytes +2025-06-06 11:03:01,237 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:01,237 - video.core - INFO - ๐Ÿ“ค Server relayed frame #692 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:01,284 - video.core - INFO - ๐Ÿ“ฅ Server received frame #693 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27997 bytes +2025-06-06 11:03:01,284 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:01,284 - video.core - INFO - ๐Ÿ“ค Server relayed frame #693 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:01,333 - video.core - INFO - ๐Ÿ“ฅ Server received frame #694 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27966 bytes +2025-06-06 11:03:01,334 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:01,334 - video.core - INFO - ๐Ÿ“ค Server relayed frame #694 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:01,370 - video.core - INFO - ๐Ÿ“ฅ Server received frame #695 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27953 bytes +2025-06-06 11:03:01,370 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:01,370 - video.core - INFO - ๐Ÿ“ค Server relayed frame #695 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:01,409 - video.core - INFO - ๐Ÿ“ฅ Server received frame #696 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27976 bytes +2025-06-06 11:03:01,409 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:01,409 - video.core - INFO - ๐Ÿ“ค Server relayed frame #696 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:01,453 - video.core - INFO - ๐Ÿ“ฅ Server received frame #697 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28062 bytes +2025-06-06 11:03:01,453 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:01,453 - video.core - INFO - ๐Ÿ“ค Server relayed frame #697 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:01,503 - video.core - INFO - ๐Ÿ“ฅ Server received frame #698 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28263 bytes +2025-06-06 11:03:01,503 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:01,503 - video.core - INFO - ๐Ÿ“ค Server relayed frame #698 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:01,562 - video.core - INFO - ๐Ÿ“ฅ Server received frame #699 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28089 bytes +2025-06-06 11:03:01,562 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:01,562 - video.core - INFO - ๐Ÿ“ค Server relayed frame #699 to 1 consumers in 1.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:01,601 - video.core - INFO - ๐Ÿ“น Frame #700 from producer producer_1749200539754: size=27896 bytes, resolution=640x480 +2025-06-06 11:03:01,605 - video.core - INFO - ๐Ÿ“ฅ Server received frame #700 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27896 bytes +2025-06-06 11:03:01,607 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:01,607 - video.core - INFO - ๐Ÿ“ค Server relayed frame #700 to 1 consumers in 2.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:01,803 - video.core - INFO - ๐Ÿ“ฅ Server received frame #701 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27967 bytes +2025-06-06 11:03:01,804 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:01,804 - video.core - INFO - ๐Ÿ“ค Server relayed frame #701 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:01,809 - video.core - INFO - ๐Ÿ“ฅ Server received frame #702 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27794 bytes +2025-06-06 11:03:01,810 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:01,810 - video.core - INFO - ๐Ÿ“ค Server relayed frame #702 to 1 consumers in 0.7ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:01,843 - video.core - INFO - ๐Ÿ“ฅ Server received frame #703 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27652 bytes +2025-06-06 11:03:01,843 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:01,843 - video.core - INFO - ๐Ÿ“ค Server relayed frame #703 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:01,846 - video.core - INFO - ๐Ÿ“ฅ Server received frame #704 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27527 bytes +2025-06-06 11:03:01,846 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:01,846 - video.core - INFO - ๐Ÿ“ค Server relayed frame #704 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:01,852 - video.core - INFO - ๐Ÿ“ฅ Server received frame #705 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27637 bytes +2025-06-06 11:03:01,852 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:01,852 - video.core - INFO - ๐Ÿ“ค Server relayed frame #705 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:01,854 - video.core - INFO - ๐Ÿ“ฅ Server received frame #706 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27221 bytes +2025-06-06 11:03:01,854 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:01,854 - video.core - INFO - ๐Ÿ“ค Server relayed frame #706 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:01,887 - video.core - INFO - ๐Ÿ“ฅ Server received frame #707 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27459 bytes +2025-06-06 11:03:01,887 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:01,887 - video.core - INFO - ๐Ÿ“ค Server relayed frame #707 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:01,927 - video.core - INFO - ๐Ÿ“ฅ Server received frame #708 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27644 bytes +2025-06-06 11:03:01,927 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:01,927 - video.core - INFO - ๐Ÿ“ค Server relayed frame #708 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:01,973 - video.core - INFO - ๐Ÿ“ฅ Server received frame #709 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27866 bytes +2025-06-06 11:03:01,973 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:01,973 - video.core - INFO - ๐Ÿ“ค Server relayed frame #709 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:02,029 - video.core - INFO - ๐Ÿ“น Frame #710 from producer producer_1749200539754: size=27801 bytes, resolution=640x480 +2025-06-06 11:03:02,029 - video.core - INFO - ๐Ÿ“ฅ Server received frame #710 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27801 bytes +2025-06-06 11:03:02,029 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:02,029 - video.core - INFO - ๐Ÿ“ค Server relayed frame #710 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:02,066 - video.core - INFO - ๐Ÿ“ฅ Server received frame #711 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28069 bytes +2025-06-06 11:03:02,066 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:02,066 - video.core - INFO - ๐Ÿ“ค Server relayed frame #711 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:02,107 - video.core - INFO - ๐Ÿ“ฅ Server received frame #712 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27931 bytes +2025-06-06 11:03:02,107 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:02,107 - video.core - INFO - ๐Ÿ“ค Server relayed frame #712 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:02,149 - video.core - INFO - ๐Ÿ“ฅ Server received frame #713 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27850 bytes +2025-06-06 11:03:02,149 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:02,149 - video.core - INFO - ๐Ÿ“ค Server relayed frame #713 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:02,192 - video.core - INFO - ๐Ÿ“ฅ Server received frame #714 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27503 bytes +2025-06-06 11:03:02,193 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:02,193 - video.core - INFO - ๐Ÿ“ค Server relayed frame #714 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:02,240 - video.core - INFO - ๐Ÿ“ฅ Server received frame #715 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27646 bytes +2025-06-06 11:03:02,240 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:02,240 - video.core - INFO - ๐Ÿ“ค Server relayed frame #715 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:02,284 - video.core - INFO - ๐Ÿ“ฅ Server received frame #716 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27727 bytes +2025-06-06 11:03:02,284 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:02,284 - video.core - INFO - ๐Ÿ“ค Server relayed frame #716 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:02,329 - video.core - INFO - ๐Ÿ“ฅ Server received frame #717 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27892 bytes +2025-06-06 11:03:02,329 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:02,329 - video.core - INFO - ๐Ÿ“ค Server relayed frame #717 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:02,375 - video.core - INFO - ๐Ÿ“ฅ Server received frame #718 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27659 bytes +2025-06-06 11:03:02,376 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:02,376 - video.core - INFO - ๐Ÿ“ค Server relayed frame #718 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:02,418 - video.core - INFO - ๐Ÿ“ฅ Server received frame #719 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27580 bytes +2025-06-06 11:03:02,418 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:02,418 - video.core - INFO - ๐Ÿ“ค Server relayed frame #719 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:02,457 - video.core - INFO - ๐Ÿ“น Frame #720 from producer producer_1749200539754: size=27452 bytes, resolution=640x480 +2025-06-06 11:03:02,457 - video.core - INFO - ๐Ÿ“ฅ Server received frame #720 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27452 bytes +2025-06-06 11:03:02,457 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:02,457 - video.core - INFO - ๐Ÿ“ค Server relayed frame #720 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:02,457 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 720 frames processed, 21.7 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:02,457 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 720 frames, 16.2 FPS, 3.61 Mbps throughput, 27874 bytes avg frame size +2025-06-06 11:03:02,457 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200539754 stats: 720 frames processed, FPS: 23.0, Throughput: 5.14 Mbps, Avg frame size: 27874 bytes +2025-06-06 11:03:02,498 - video.core - INFO - ๐Ÿ“ฅ Server received frame #721 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27110 bytes +2025-06-06 11:03:02,498 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:02,498 - video.core - INFO - ๐Ÿ“ค Server relayed frame #721 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:02,537 - video.core - INFO - ๐Ÿ“ฅ Server received frame #722 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27463 bytes +2025-06-06 11:03:02,537 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:02,537 - video.core - INFO - ๐Ÿ“ค Server relayed frame #722 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:02,585 - video.core - INFO - ๐Ÿ“ฅ Server received frame #723 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27743 bytes +2025-06-06 11:03:02,585 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:02,585 - video.core - INFO - ๐Ÿ“ค Server relayed frame #723 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:02,634 - video.core - INFO - ๐Ÿ“ฅ Server received frame #724 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27751 bytes +2025-06-06 11:03:02,634 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:02,634 - video.core - INFO - ๐Ÿ“ค Server relayed frame #724 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:02,680 - video.core - INFO - ๐Ÿ“ฅ Server received frame #725 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27710 bytes +2025-06-06 11:03:02,680 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:02,680 - video.core - INFO - ๐Ÿ“ค Server relayed frame #725 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:02,725 - video.core - INFO - ๐Ÿ“ฅ Server received frame #726 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27730 bytes +2025-06-06 11:03:02,725 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:02,725 - video.core - INFO - ๐Ÿ“ค Server relayed frame #726 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:02,767 - video.core - INFO - ๐Ÿ“ฅ Server received frame #727 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27636 bytes +2025-06-06 11:03:02,767 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:02,767 - video.core - INFO - ๐Ÿ“ค Server relayed frame #727 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:02,811 - video.core - INFO - ๐Ÿ“ฅ Server received frame #728 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27504 bytes +2025-06-06 11:03:02,811 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:02,811 - video.core - INFO - ๐Ÿ“ค Server relayed frame #728 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:02,853 - video.core - INFO - ๐Ÿ“ฅ Server received frame #729 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27572 bytes +2025-06-06 11:03:02,853 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:02,853 - video.core - INFO - ๐Ÿ“ค Server relayed frame #729 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:02,896 - video.core - INFO - ๐Ÿ“น Frame #730 from producer producer_1749200539754: size=27772 bytes, resolution=640x480 +2025-06-06 11:03:02,896 - video.core - INFO - ๐Ÿ“ฅ Server received frame #730 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27772 bytes +2025-06-06 11:03:02,896 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:02,896 - video.core - INFO - ๐Ÿ“ค Server relayed frame #730 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:02,937 - video.core - INFO - ๐Ÿ“ฅ Server received frame #731 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27595 bytes +2025-06-06 11:03:02,937 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:02,937 - video.core - INFO - ๐Ÿ“ค Server relayed frame #731 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:02,981 - video.core - INFO - ๐Ÿ“ฅ Server received frame #732 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27605 bytes +2025-06-06 11:03:02,981 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:02,982 - video.core - INFO - ๐Ÿ“ค Server relayed frame #732 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:03,030 - video.core - INFO - ๐Ÿ“ฅ Server received frame #733 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27575 bytes +2025-06-06 11:03:03,030 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:03,030 - video.core - INFO - ๐Ÿ“ค Server relayed frame #733 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:03,068 - video.core - INFO - ๐Ÿ“ฅ Server received frame #734 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27649 bytes +2025-06-06 11:03:03,068 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:03,068 - video.core - INFO - ๐Ÿ“ค Server relayed frame #734 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:03,101 - video.core - INFO - ๐Ÿ“ฅ Server received frame #735 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27456 bytes +2025-06-06 11:03:03,101 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:03,101 - video.core - INFO - ๐Ÿ“ค Server relayed frame #735 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:03,142 - video.core - INFO - ๐Ÿ“ฅ Server received frame #736 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27804 bytes +2025-06-06 11:03:03,142 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:03,142 - video.core - INFO - ๐Ÿ“ค Server relayed frame #736 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:03,192 - video.core - INFO - ๐Ÿ“ฅ Server received frame #737 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27728 bytes +2025-06-06 11:03:03,192 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:03,192 - video.core - INFO - ๐Ÿ“ค Server relayed frame #737 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:03,245 - video.core - INFO - ๐Ÿ“ฅ Server received frame #738 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27539 bytes +2025-06-06 11:03:03,245 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:03,245 - video.core - INFO - ๐Ÿ“ค Server relayed frame #738 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:03,279 - video.core - INFO - ๐Ÿ“ฅ Server received frame #739 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27736 bytes +2025-06-06 11:03:03,279 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:03,279 - video.core - INFO - ๐Ÿ“ค Server relayed frame #739 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:03,323 - video.core - INFO - ๐Ÿ“น Frame #740 from producer producer_1749200539754: size=27341 bytes, resolution=640x480 +2025-06-06 11:03:03,323 - video.core - INFO - ๐Ÿ“ฅ Server received frame #740 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27341 bytes +2025-06-06 11:03:03,323 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:03,323 - video.core - INFO - ๐Ÿ“ค Server relayed frame #740 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:03,369 - video.core - INFO - ๐Ÿ“ฅ Server received frame #741 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27461 bytes +2025-06-06 11:03:03,369 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:03,369 - video.core - INFO - ๐Ÿ“ค Server relayed frame #741 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:03,408 - video.core - INFO - ๐Ÿ“ฅ Server received frame #742 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27672 bytes +2025-06-06 11:03:03,408 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:03,408 - video.core - INFO - ๐Ÿ“ค Server relayed frame #742 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:03,449 - video.core - INFO - ๐Ÿ“ฅ Server received frame #743 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27703 bytes +2025-06-06 11:03:03,449 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:03,449 - video.core - INFO - ๐Ÿ“ค Server relayed frame #743 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:03,489 - video.core - INFO - ๐Ÿ“ฅ Server received frame #744 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27814 bytes +2025-06-06 11:03:03,489 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:03,489 - video.core - INFO - ๐Ÿ“ค Server relayed frame #744 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:03,540 - video.core - INFO - ๐Ÿ“ฅ Server received frame #745 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27963 bytes +2025-06-06 11:03:03,540 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:03,541 - video.core - INFO - ๐Ÿ“ค Server relayed frame #745 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:03,581 - video.core - INFO - ๐Ÿ“ฅ Server received frame #746 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27905 bytes +2025-06-06 11:03:03,581 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:03,581 - video.core - INFO - ๐Ÿ“ค Server relayed frame #746 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:03,626 - video.core - INFO - ๐Ÿ“ฅ Server received frame #747 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27779 bytes +2025-06-06 11:03:03,626 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:03,626 - video.core - INFO - ๐Ÿ“ค Server relayed frame #747 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:03,666 - video.core - INFO - ๐Ÿ“ฅ Server received frame #748 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27798 bytes +2025-06-06 11:03:03,666 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:03,666 - video.core - INFO - ๐Ÿ“ค Server relayed frame #748 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:03,735 - video.core - INFO - ๐Ÿ“ฅ Server received frame #749 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27833 bytes +2025-06-06 11:03:03,735 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:03,736 - video.core - INFO - ๐Ÿ“ค Server relayed frame #749 to 1 consumers in 0.7ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:03,757 - video.core - INFO - ๐Ÿ“น Frame #750 from producer producer_1749200539754: size=27906 bytes, resolution=640x480 +2025-06-06 11:03:03,757 - video.core - INFO - ๐Ÿ“ฅ Server received frame #750 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27906 bytes +2025-06-06 11:03:03,757 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:03,757 - video.core - INFO - ๐Ÿ“ค Server relayed frame #750 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:03,758 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 750 frames processed, 21.7 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:03,758 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 750 frames, 16.4 FPS, 3.65 Mbps throughput, 27866 bytes avg frame size +2025-06-06 11:03:03,758 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200539754 stats: 750 frames processed, FPS: 23.0, Throughput: 5.14 Mbps, Avg frame size: 27866 bytes +2025-06-06 11:03:03,848 - video.core - INFO - ๐Ÿ“ฅ Server received frame #751 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27950 bytes +2025-06-06 11:03:03,850 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.9ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:03,888 - video.core - INFO - ๐Ÿ“ค Server relayed frame #751 to 1 consumers in 39.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:03,984 - video.core - INFO - ๐Ÿ“ฅ Server received frame #752 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27945 bytes +2025-06-06 11:03:03,984 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:03,984 - video.core - INFO - ๐Ÿ“ค Server relayed frame #752 to 1 consumers in 0.7ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:03,989 - video.core - INFO - ๐Ÿ“ฅ Server received frame #753 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27979 bytes +2025-06-06 11:03:03,990 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:03,990 - video.core - INFO - ๐Ÿ“ค Server relayed frame #753 to 1 consumers in 0.9ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:03,994 - video.core - INFO - ๐Ÿ“ฅ Server received frame #754 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28019 bytes +2025-06-06 11:03:03,994 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:03,994 - video.core - INFO - ๐Ÿ“ค Server relayed frame #754 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:04,002 - video.core - INFO - ๐Ÿ“ฅ Server received frame #755 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27813 bytes +2025-06-06 11:03:04,002 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:04,002 - video.core - INFO - ๐Ÿ“ค Server relayed frame #755 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:04,025 - video.core - INFO - ๐Ÿ“ฅ Server received frame #756 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27709 bytes +2025-06-06 11:03:04,026 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:04,026 - video.core - INFO - ๐Ÿ“ค Server relayed frame #756 to 1 consumers in 0.8ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:04,055 - video.core - INFO - ๐Ÿ“ฅ Server received frame #757 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27793 bytes +2025-06-06 11:03:04,055 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:04,055 - video.core - INFO - ๐Ÿ“ค Server relayed frame #757 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:04,098 - video.core - INFO - ๐Ÿ“ฅ Server received frame #758 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27726 bytes +2025-06-06 11:03:04,098 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:04,098 - video.core - INFO - ๐Ÿ“ค Server relayed frame #758 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:04,138 - video.core - INFO - ๐Ÿ“ฅ Server received frame #759 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27869 bytes +2025-06-06 11:03:04,138 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:04,138 - video.core - INFO - ๐Ÿ“ค Server relayed frame #759 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:04,180 - video.core - INFO - ๐Ÿ“น Frame #760 from producer producer_1749200539754: size=27807 bytes, resolution=640x480 +2025-06-06 11:03:04,180 - video.core - INFO - ๐Ÿ“ฅ Server received frame #760 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27807 bytes +2025-06-06 11:03:04,180 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:04,180 - video.core - INFO - ๐Ÿ“ค Server relayed frame #760 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:04,227 - video.core - INFO - ๐Ÿ“ฅ Server received frame #761 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27953 bytes +2025-06-06 11:03:04,227 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:04,227 - video.core - INFO - ๐Ÿ“ค Server relayed frame #761 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:04,272 - video.core - INFO - ๐Ÿ“ฅ Server received frame #762 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27939 bytes +2025-06-06 11:03:04,272 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:04,272 - video.core - INFO - ๐Ÿ“ค Server relayed frame #762 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:04,316 - video.core - INFO - ๐Ÿ“ฅ Server received frame #763 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27829 bytes +2025-06-06 11:03:04,316 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:04,316 - video.core - INFO - ๐Ÿ“ค Server relayed frame #763 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:04,358 - video.core - INFO - ๐Ÿ“ฅ Server received frame #764 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27736 bytes +2025-06-06 11:03:04,358 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:04,358 - video.core - INFO - ๐Ÿ“ค Server relayed frame #764 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:04,406 - video.core - INFO - ๐Ÿ“ฅ Server received frame #765 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27780 bytes +2025-06-06 11:03:04,406 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:04,406 - video.core - INFO - ๐Ÿ“ค Server relayed frame #765 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:04,442 - video.core - INFO - ๐Ÿ“ฅ Server received frame #766 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27801 bytes +2025-06-06 11:03:04,443 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:04,443 - video.core - INFO - ๐Ÿ“ค Server relayed frame #766 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:04,486 - video.core - INFO - ๐Ÿ“ฅ Server received frame #767 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27734 bytes +2025-06-06 11:03:04,486 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:04,486 - video.core - INFO - ๐Ÿ“ค Server relayed frame #767 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:04,530 - video.core - INFO - ๐Ÿ“ฅ Server received frame #768 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27831 bytes +2025-06-06 11:03:04,530 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:04,530 - video.core - INFO - ๐Ÿ“ค Server relayed frame #768 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:04,572 - video.core - INFO - ๐Ÿ“ฅ Server received frame #769 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27479 bytes +2025-06-06 11:03:04,572 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:04,572 - video.core - INFO - ๐Ÿ“ค Server relayed frame #769 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:04,622 - video.core - INFO - ๐Ÿ“น Frame #770 from producer producer_1749200539754: size=27502 bytes, resolution=640x480 +2025-06-06 11:03:04,622 - video.core - INFO - ๐Ÿ“ฅ Server received frame #770 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27502 bytes +2025-06-06 11:03:04,622 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:04,622 - video.core - INFO - ๐Ÿ“ค Server relayed frame #770 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:04,664 - video.core - INFO - ๐Ÿ“ฅ Server received frame #771 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27581 bytes +2025-06-06 11:03:04,664 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:04,664 - video.core - INFO - ๐Ÿ“ค Server relayed frame #771 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:04,705 - video.core - INFO - ๐Ÿ“ฅ Server received frame #772 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27684 bytes +2025-06-06 11:03:04,706 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:04,706 - video.core - INFO - ๐Ÿ“ค Server relayed frame #772 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:04,744 - video.core - INFO - ๐Ÿ“ฅ Server received frame #773 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27869 bytes +2025-06-06 11:03:04,744 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:04,744 - video.core - INFO - ๐Ÿ“ค Server relayed frame #773 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:04,788 - video.core - INFO - ๐Ÿ“ฅ Server received frame #774 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27767 bytes +2025-06-06 11:03:04,788 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:04,788 - video.core - INFO - ๐Ÿ“ค Server relayed frame #774 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:04,833 - video.core - INFO - ๐Ÿ“ฅ Server received frame #775 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27840 bytes +2025-06-06 11:03:04,833 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:04,833 - video.core - INFO - ๐Ÿ“ค Server relayed frame #775 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:04,883 - video.core - INFO - ๐Ÿ“ฅ Server received frame #776 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27681 bytes +2025-06-06 11:03:04,883 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:04,883 - video.core - INFO - ๐Ÿ“ค Server relayed frame #776 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:04,925 - video.core - INFO - ๐Ÿ“ฅ Server received frame #777 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27768 bytes +2025-06-06 11:03:04,926 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:04,926 - video.core - INFO - ๐Ÿ“ค Server relayed frame #777 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:04,963 - video.core - INFO - ๐Ÿ“ฅ Server received frame #778 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27679 bytes +2025-06-06 11:03:04,963 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:04,963 - video.core - INFO - ๐Ÿ“ค Server relayed frame #778 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:05,003 - video.core - INFO - ๐Ÿ“ฅ Server received frame #779 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27709 bytes +2025-06-06 11:03:05,003 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:05,003 - video.core - INFO - ๐Ÿ“ค Server relayed frame #779 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:05,045 - video.core - INFO - ๐Ÿ“น Frame #780 from producer producer_1749200539754: size=27715 bytes, resolution=640x480 +2025-06-06 11:03:05,045 - video.core - INFO - ๐Ÿ“ฅ Server received frame #780 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27715 bytes +2025-06-06 11:03:05,045 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:05,045 - video.core - INFO - ๐Ÿ“ค Server relayed frame #780 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:05,045 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 780 frames processed, 21.8 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:05,045 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 780 frames, 16.6 FPS, 3.69 Mbps throughput, 27862 bytes avg frame size +2025-06-06 11:03:05,045 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200539754 stats: 780 frames processed, FPS: 23.0, Throughput: 5.14 Mbps, Avg frame size: 27862 bytes +2025-06-06 11:03:05,091 - video.core - INFO - ๐Ÿ“ฅ Server received frame #781 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27276 bytes +2025-06-06 11:03:05,091 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:05,091 - video.core - INFO - ๐Ÿ“ค Server relayed frame #781 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:05,132 - video.core - INFO - ๐Ÿ“ฅ Server received frame #782 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27381 bytes +2025-06-06 11:03:05,132 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:05,132 - video.core - INFO - ๐Ÿ“ค Server relayed frame #782 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:05,176 - video.core - INFO - ๐Ÿ“ฅ Server received frame #783 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27564 bytes +2025-06-06 11:03:05,176 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:05,176 - video.core - INFO - ๐Ÿ“ค Server relayed frame #783 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:05,228 - video.core - INFO - ๐Ÿ“ฅ Server received frame #784 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27435 bytes +2025-06-06 11:03:05,228 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:05,228 - video.core - INFO - ๐Ÿ“ค Server relayed frame #784 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:05,267 - video.core - INFO - ๐Ÿ“ฅ Server received frame #785 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27403 bytes +2025-06-06 11:03:05,268 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:05,268 - video.core - INFO - ๐Ÿ“ค Server relayed frame #785 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:05,309 - video.core - INFO - ๐Ÿ“ฅ Server received frame #786 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27311 bytes +2025-06-06 11:03:05,309 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:05,309 - video.core - INFO - ๐Ÿ“ค Server relayed frame #786 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:05,357 - video.core - INFO - ๐Ÿ“ฅ Server received frame #787 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27250 bytes +2025-06-06 11:03:05,357 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:05,357 - video.core - INFO - ๐Ÿ“ค Server relayed frame #787 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:05,395 - video.core - INFO - ๐Ÿ“ฅ Server received frame #788 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27411 bytes +2025-06-06 11:03:05,395 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:05,395 - video.core - INFO - ๐Ÿ“ค Server relayed frame #788 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:05,442 - video.core - INFO - ๐Ÿ“ฅ Server received frame #789 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27451 bytes +2025-06-06 11:03:05,442 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:05,442 - video.core - INFO - ๐Ÿ“ค Server relayed frame #789 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:05,481 - video.core - INFO - ๐Ÿ“น Frame #790 from producer producer_1749200539754: size=26692 bytes, resolution=640x480 +2025-06-06 11:03:05,481 - video.core - INFO - ๐Ÿ“ฅ Server received frame #790 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26692 bytes +2025-06-06 11:03:05,481 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:05,481 - video.core - INFO - ๐Ÿ“ค Server relayed frame #790 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:05,527 - video.core - INFO - ๐Ÿ“ฅ Server received frame #791 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26458 bytes +2025-06-06 11:03:05,527 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:05,527 - video.core - INFO - ๐Ÿ“ค Server relayed frame #791 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:05,575 - video.core - INFO - ๐Ÿ“ฅ Server received frame #792 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26705 bytes +2025-06-06 11:03:05,575 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:05,575 - video.core - INFO - ๐Ÿ“ค Server relayed frame #792 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:05,610 - video.core - INFO - ๐Ÿ“ฅ Server received frame #793 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26551 bytes +2025-06-06 11:03:05,610 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:05,610 - video.core - INFO - ๐Ÿ“ค Server relayed frame #793 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:05,653 - video.core - INFO - ๐Ÿ“ฅ Server received frame #794 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26991 bytes +2025-06-06 11:03:05,653 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:05,653 - video.core - INFO - ๐Ÿ“ค Server relayed frame #794 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:05,697 - video.core - INFO - ๐Ÿ“ฅ Server received frame #795 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26542 bytes +2025-06-06 11:03:05,698 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:05,698 - video.core - INFO - ๐Ÿ“ค Server relayed frame #795 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:05,741 - video.core - INFO - ๐Ÿ“ฅ Server received frame #796 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26615 bytes +2025-06-06 11:03:05,741 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:05,741 - video.core - INFO - ๐Ÿ“ค Server relayed frame #796 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:05,783 - video.core - INFO - ๐Ÿ“ฅ Server received frame #797 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26688 bytes +2025-06-06 11:03:05,783 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:05,783 - video.core - INFO - ๐Ÿ“ค Server relayed frame #797 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:05,827 - video.core - INFO - ๐Ÿ“ฅ Server received frame #798 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27016 bytes +2025-06-06 11:03:05,827 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:05,827 - video.core - INFO - ๐Ÿ“ค Server relayed frame #798 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:05,869 - video.core - INFO - ๐Ÿ“ฅ Server received frame #799 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27041 bytes +2025-06-06 11:03:05,869 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:05,869 - video.core - INFO - ๐Ÿ“ค Server relayed frame #799 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:05,915 - video.core - INFO - ๐Ÿ“น Frame #800 from producer producer_1749200539754: size=27006 bytes, resolution=640x480 +2025-06-06 11:03:05,915 - video.core - INFO - ๐Ÿ“ฅ Server received frame #800 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27006 bytes +2025-06-06 11:03:05,915 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:05,916 - video.core - INFO - ๐Ÿ“ค Server relayed frame #800 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:05,961 - video.core - INFO - ๐Ÿ“ฅ Server received frame #801 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27133 bytes +2025-06-06 11:03:05,961 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:05,961 - video.core - INFO - ๐Ÿ“ค Server relayed frame #801 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:05,997 - video.core - INFO - ๐Ÿ“ฅ Server received frame #802 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27186 bytes +2025-06-06 11:03:05,997 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:05,997 - video.core - INFO - ๐Ÿ“ค Server relayed frame #802 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:06,040 - video.core - INFO - ๐Ÿ“ฅ Server received frame #803 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27326 bytes +2025-06-06 11:03:06,040 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:06,040 - video.core - INFO - ๐Ÿ“ค Server relayed frame #803 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:06,087 - video.core - INFO - ๐Ÿ“ฅ Server received frame #804 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27490 bytes +2025-06-06 11:03:06,087 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:06,087 - video.core - INFO - ๐Ÿ“ค Server relayed frame #804 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:06,131 - video.core - INFO - ๐Ÿ“ฅ Server received frame #805 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27556 bytes +2025-06-06 11:03:06,131 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:06,131 - video.core - INFO - ๐Ÿ“ค Server relayed frame #805 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:06,173 - video.core - INFO - ๐Ÿ“ฅ Server received frame #806 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27198 bytes +2025-06-06 11:03:06,173 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:06,174 - video.core - INFO - ๐Ÿ“ค Server relayed frame #806 to 1 consumers in 0.7ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:06,217 - video.core - INFO - ๐Ÿ“ฅ Server received frame #807 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27167 bytes +2025-06-06 11:03:06,217 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:06,217 - video.core - INFO - ๐Ÿ“ค Server relayed frame #807 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:06,260 - video.core - INFO - ๐Ÿ“ฅ Server received frame #808 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27218 bytes +2025-06-06 11:03:06,260 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:06,260 - video.core - INFO - ๐Ÿ“ค Server relayed frame #808 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:06,307 - video.core - INFO - ๐Ÿ“ฅ Server received frame #809 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27148 bytes +2025-06-06 11:03:06,307 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:06,307 - video.core - INFO - ๐Ÿ“ค Server relayed frame #809 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:06,346 - video.core - INFO - ๐Ÿ“น Frame #810 from producer producer_1749200539754: size=27205 bytes, resolution=640x480 +2025-06-06 11:03:06,346 - video.core - INFO - ๐Ÿ“ฅ Server received frame #810 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27205 bytes +2025-06-06 11:03:06,346 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:06,346 - video.core - INFO - ๐Ÿ“ค Server relayed frame #810 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:06,346 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 810 frames processed, 21.8 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:06,346 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 810 frames, 16.7 FPS, 3.73 Mbps throughput, 27835 bytes avg frame size +2025-06-06 11:03:06,346 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200539754 stats: 810 frames processed, FPS: 23.0, Throughput: 5.13 Mbps, Avg frame size: 27835 bytes +2025-06-06 11:03:06,392 - video.core - INFO - ๐Ÿ“ฅ Server received frame #811 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27286 bytes +2025-06-06 11:03:06,392 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:06,392 - video.core - INFO - ๐Ÿ“ค Server relayed frame #811 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:06,440 - video.core - INFO - ๐Ÿ“ฅ Server received frame #812 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27373 bytes +2025-06-06 11:03:06,440 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:06,440 - video.core - INFO - ๐Ÿ“ค Server relayed frame #812 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:06,474 - video.core - INFO - ๐Ÿ“ฅ Server received frame #813 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27445 bytes +2025-06-06 11:03:06,474 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:06,474 - video.core - INFO - ๐Ÿ“ค Server relayed frame #813 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:06,521 - video.core - INFO - ๐Ÿ“ฅ Server received frame #814 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27296 bytes +2025-06-06 11:03:06,522 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:06,522 - video.core - INFO - ๐Ÿ“ค Server relayed frame #814 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:06,561 - video.core - INFO - ๐Ÿ“ฅ Server received frame #815 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27296 bytes +2025-06-06 11:03:06,561 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:06,561 - video.core - INFO - ๐Ÿ“ค Server relayed frame #815 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:06,608 - video.core - INFO - ๐Ÿ“ฅ Server received frame #816 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27366 bytes +2025-06-06 11:03:06,609 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:06,609 - video.core - INFO - ๐Ÿ“ค Server relayed frame #816 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:06,649 - video.core - INFO - ๐Ÿ“ฅ Server received frame #817 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27499 bytes +2025-06-06 11:03:06,649 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:06,649 - video.core - INFO - ๐Ÿ“ค Server relayed frame #817 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:06,697 - video.core - INFO - ๐Ÿ“ฅ Server received frame #818 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27259 bytes +2025-06-06 11:03:06,697 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:06,697 - video.core - INFO - ๐Ÿ“ค Server relayed frame #818 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:06,745 - video.core - INFO - ๐Ÿ“ฅ Server received frame #819 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27152 bytes +2025-06-06 11:03:06,745 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:06,745 - video.core - INFO - ๐Ÿ“ค Server relayed frame #819 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:06,789 - video.core - INFO - ๐Ÿ“น Frame #820 from producer producer_1749200539754: size=27339 bytes, resolution=640x480 +2025-06-06 11:03:06,789 - video.core - INFO - ๐Ÿ“ฅ Server received frame #820 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27339 bytes +2025-06-06 11:03:06,789 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:06,789 - video.core - INFO - ๐Ÿ“ค Server relayed frame #820 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:06,828 - video.core - INFO - ๐Ÿ“ฅ Server received frame #821 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27461 bytes +2025-06-06 11:03:06,828 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:06,828 - video.core - INFO - ๐Ÿ“ค Server relayed frame #821 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:06,876 - video.core - INFO - ๐Ÿ“ฅ Server received frame #822 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27414 bytes +2025-06-06 11:03:06,876 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:06,876 - video.core - INFO - ๐Ÿ“ค Server relayed frame #822 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:06,915 - video.core - INFO - ๐Ÿ“ฅ Server received frame #823 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27452 bytes +2025-06-06 11:03:06,915 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:06,915 - video.core - INFO - ๐Ÿ“ค Server relayed frame #823 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:06,962 - video.core - INFO - ๐Ÿ“ฅ Server received frame #824 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27381 bytes +2025-06-06 11:03:06,962 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:06,962 - video.core - INFO - ๐Ÿ“ค Server relayed frame #824 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:07,003 - video.core - INFO - ๐Ÿ“ฅ Server received frame #825 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27391 bytes +2025-06-06 11:03:07,003 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:07,003 - video.core - INFO - ๐Ÿ“ค Server relayed frame #825 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:07,048 - video.core - INFO - ๐Ÿ“ฅ Server received frame #826 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27387 bytes +2025-06-06 11:03:07,048 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:07,048 - video.core - INFO - ๐Ÿ“ค Server relayed frame #826 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:07,095 - video.core - INFO - ๐Ÿ“ฅ Server received frame #827 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27048 bytes +2025-06-06 11:03:07,095 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:07,095 - video.core - INFO - ๐Ÿ“ค Server relayed frame #827 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:07,132 - video.core - INFO - ๐Ÿ“ฅ Server received frame #828 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26733 bytes +2025-06-06 11:03:07,132 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:07,132 - video.core - INFO - ๐Ÿ“ค Server relayed frame #828 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:07,166 - video.core - INFO - ๐Ÿ“ฅ Server received frame #829 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27078 bytes +2025-06-06 11:03:07,166 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:07,166 - video.core - INFO - ๐Ÿ“ค Server relayed frame #829 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:07,217 - video.core - INFO - ๐Ÿ“น Frame #830 from producer producer_1749200539754: size=27241 bytes, resolution=640x480 +2025-06-06 11:03:07,217 - video.core - INFO - ๐Ÿ“ฅ Server received frame #830 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27241 bytes +2025-06-06 11:03:07,217 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:07,217 - video.core - INFO - ๐Ÿ“ค Server relayed frame #830 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:07,260 - video.core - INFO - ๐Ÿ“ฅ Server received frame #831 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27319 bytes +2025-06-06 11:03:07,260 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:07,260 - video.core - INFO - ๐Ÿ“ค Server relayed frame #831 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:07,296 - video.core - INFO - ๐Ÿ“ฅ Server received frame #832 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27320 bytes +2025-06-06 11:03:07,296 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:07,296 - video.core - INFO - ๐Ÿ“ค Server relayed frame #832 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:07,340 - video.core - INFO - ๐Ÿ“ฅ Server received frame #833 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27373 bytes +2025-06-06 11:03:07,341 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:07,341 - video.core - INFO - ๐Ÿ“ค Server relayed frame #833 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:07,383 - video.core - INFO - ๐Ÿ“ฅ Server received frame #834 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27373 bytes +2025-06-06 11:03:07,384 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:07,384 - video.core - INFO - ๐Ÿ“ค Server relayed frame #834 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:07,426 - video.core - INFO - ๐Ÿ“ฅ Server received frame #835 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27191 bytes +2025-06-06 11:03:07,426 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:07,426 - video.core - INFO - ๐Ÿ“ค Server relayed frame #835 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:07,565 - video.core - INFO - ๐Ÿ“ฅ Server received frame #836 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27263 bytes +2025-06-06 11:03:07,565 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:07,566 - video.core - INFO - ๐Ÿ“ค Server relayed frame #836 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:07,567 - video.core - INFO - ๐Ÿ“ฅ Server received frame #837 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27228 bytes +2025-06-06 11:03:07,567 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:07,567 - video.core - INFO - ๐Ÿ“ค Server relayed frame #837 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:07,568 - video.core - INFO - ๐Ÿ“ฅ Server received frame #838 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26867 bytes +2025-06-06 11:03:07,569 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:07,569 - video.core - INFO - ๐Ÿ“ค Server relayed frame #838 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:07,613 - video.core - INFO - ๐Ÿ“ฅ Server received frame #839 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27074 bytes +2025-06-06 11:03:07,614 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:07,614 - video.core - INFO - ๐Ÿ“ค Server relayed frame #839 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:07,640 - video.core - INFO - ๐Ÿ“น Frame #840 from producer producer_1749200539754: size=27240 bytes, resolution=640x480 +2025-06-06 11:03:07,640 - video.core - INFO - ๐Ÿ“ฅ Server received frame #840 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27240 bytes +2025-06-06 11:03:07,640 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:07,640 - video.core - INFO - ๐Ÿ“ค Server relayed frame #840 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:07,640 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 840 frames processed, 21.9 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:07,640 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 840 frames, 16.9 FPS, 3.76 Mbps throughput, 27815 bytes avg frame size +2025-06-06 11:03:07,640 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200539754 stats: 840 frames processed, FPS: 23.1, Throughput: 5.13 Mbps, Avg frame size: 27815 bytes +2025-06-06 11:03:07,685 - video.core - INFO - ๐Ÿ“ฅ Server received frame #841 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27334 bytes +2025-06-06 11:03:07,685 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:07,685 - video.core - INFO - ๐Ÿ“ค Server relayed frame #841 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:07,735 - video.core - INFO - ๐Ÿ“ฅ Server received frame #842 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27426 bytes +2025-06-06 11:03:07,735 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:07,735 - video.core - INFO - ๐Ÿ“ค Server relayed frame #842 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:07,774 - video.core - INFO - ๐Ÿ“ฅ Server received frame #843 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27453 bytes +2025-06-06 11:03:07,774 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:07,774 - video.core - INFO - ๐Ÿ“ค Server relayed frame #843 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:07,822 - video.core - INFO - ๐Ÿ“ฅ Server received frame #844 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27594 bytes +2025-06-06 11:03:07,822 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:07,822 - video.core - INFO - ๐Ÿ“ค Server relayed frame #844 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:07,863 - video.core - INFO - ๐Ÿ“ฅ Server received frame #845 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27439 bytes +2025-06-06 11:03:07,864 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:07,864 - video.core - INFO - ๐Ÿ“ค Server relayed frame #845 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:07,909 - video.core - INFO - ๐Ÿ“ฅ Server received frame #846 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27320 bytes +2025-06-06 11:03:07,909 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:07,909 - video.core - INFO - ๐Ÿ“ค Server relayed frame #846 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:07,952 - video.core - INFO - ๐Ÿ“ฅ Server received frame #847 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27361 bytes +2025-06-06 11:03:07,952 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:07,952 - video.core - INFO - ๐Ÿ“ค Server relayed frame #847 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:07,996 - video.core - INFO - ๐Ÿ“ฅ Server received frame #848 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27232 bytes +2025-06-06 11:03:07,996 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:07,999 - video.core - INFO - ๐Ÿ“ค Server relayed frame #848 to 1 consumers in 3.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:08,036 - video.core - INFO - ๐Ÿ“ฅ Server received frame #849 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27010 bytes +2025-06-06 11:03:08,036 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:08,036 - video.core - INFO - ๐Ÿ“ค Server relayed frame #849 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:08,075 - video.core - INFO - ๐Ÿ“น Frame #850 from producer producer_1749200539754: size=26825 bytes, resolution=640x480 +2025-06-06 11:03:08,075 - video.core - INFO - ๐Ÿ“ฅ Server received frame #850 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26825 bytes +2025-06-06 11:03:08,075 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:08,075 - video.core - INFO - ๐Ÿ“ค Server relayed frame #850 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:08,119 - video.core - INFO - ๐Ÿ“ฅ Server received frame #851 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26837 bytes +2025-06-06 11:03:08,119 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:08,119 - video.core - INFO - ๐Ÿ“ค Server relayed frame #851 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:08,161 - video.core - INFO - ๐Ÿ“ฅ Server received frame #852 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26376 bytes +2025-06-06 11:03:08,161 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:08,161 - video.core - INFO - ๐Ÿ“ค Server relayed frame #852 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:08,204 - video.core - INFO - ๐Ÿ“ฅ Server received frame #853 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26892 bytes +2025-06-06 11:03:08,204 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:08,204 - video.core - INFO - ๐Ÿ“ค Server relayed frame #853 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:08,250 - video.core - INFO - ๐Ÿ“ฅ Server received frame #854 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26742 bytes +2025-06-06 11:03:08,250 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:08,250 - video.core - INFO - ๐Ÿ“ค Server relayed frame #854 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:08,298 - video.core - INFO - ๐Ÿ“ฅ Server received frame #855 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27147 bytes +2025-06-06 11:03:08,298 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:08,298 - video.core - INFO - ๐Ÿ“ค Server relayed frame #855 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:08,338 - video.core - INFO - ๐Ÿ“ฅ Server received frame #856 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27140 bytes +2025-06-06 11:03:08,338 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:08,338 - video.core - INFO - ๐Ÿ“ค Server relayed frame #856 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:08,381 - video.core - INFO - ๐Ÿ“ฅ Server received frame #857 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27007 bytes +2025-06-06 11:03:08,381 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:08,381 - video.core - INFO - ๐Ÿ“ค Server relayed frame #857 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:08,431 - video.core - INFO - ๐Ÿ“ฅ Server received frame #858 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26949 bytes +2025-06-06 11:03:08,431 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:08,431 - video.core - INFO - ๐Ÿ“ค Server relayed frame #858 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:08,470 - video.core - INFO - ๐Ÿ“ฅ Server received frame #859 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27116 bytes +2025-06-06 11:03:08,470 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:08,470 - video.core - INFO - ๐Ÿ“ค Server relayed frame #859 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:08,519 - video.core - INFO - ๐Ÿ“น Frame #860 from producer producer_1749200539754: size=27022 bytes, resolution=640x480 +2025-06-06 11:03:08,519 - video.core - INFO - ๐Ÿ“ฅ Server received frame #860 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27022 bytes +2025-06-06 11:03:08,519 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:08,519 - video.core - INFO - ๐Ÿ“ค Server relayed frame #860 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:08,554 - video.core - INFO - ๐Ÿ“ฅ Server received frame #861 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27191 bytes +2025-06-06 11:03:08,554 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:08,554 - video.core - INFO - ๐Ÿ“ค Server relayed frame #861 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:08,602 - video.core - INFO - ๐Ÿ“ฅ Server received frame #862 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27422 bytes +2025-06-06 11:03:08,602 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:08,602 - video.core - INFO - ๐Ÿ“ค Server relayed frame #862 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:08,643 - video.core - INFO - ๐Ÿ“ฅ Server received frame #863 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27498 bytes +2025-06-06 11:03:08,643 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:08,643 - video.core - INFO - ๐Ÿ“ค Server relayed frame #863 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:08,688 - video.core - INFO - ๐Ÿ“ฅ Server received frame #864 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27489 bytes +2025-06-06 11:03:08,688 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:08,688 - video.core - INFO - ๐Ÿ“ค Server relayed frame #864 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:08,734 - video.core - INFO - ๐Ÿ“ฅ Server received frame #865 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27395 bytes +2025-06-06 11:03:08,734 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:08,734 - video.core - INFO - ๐Ÿ“ค Server relayed frame #865 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:08,774 - video.core - INFO - ๐Ÿ“ฅ Server received frame #866 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27416 bytes +2025-06-06 11:03:08,775 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:08,775 - video.core - INFO - ๐Ÿ“ค Server relayed frame #866 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:08,813 - video.core - INFO - ๐Ÿ“ฅ Server received frame #867 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27473 bytes +2025-06-06 11:03:08,813 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:08,813 - video.core - INFO - ๐Ÿ“ค Server relayed frame #867 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:08,854 - video.core - INFO - ๐Ÿ“ฅ Server received frame #868 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27337 bytes +2025-06-06 11:03:08,854 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:08,854 - video.core - INFO - ๐Ÿ“ค Server relayed frame #868 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:08,902 - video.core - INFO - ๐Ÿ“ฅ Server received frame #869 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27284 bytes +2025-06-06 11:03:08,902 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:08,902 - video.core - INFO - ๐Ÿ“ค Server relayed frame #869 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:08,942 - video.core - INFO - ๐Ÿ“น Frame #870 from producer producer_1749200539754: size=27336 bytes, resolution=640x480 +2025-06-06 11:03:08,942 - video.core - INFO - ๐Ÿ“ฅ Server received frame #870 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27336 bytes +2025-06-06 11:03:08,942 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:08,942 - video.core - INFO - ๐Ÿ“ค Server relayed frame #870 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:08,942 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 870 frames processed, 21.9 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:08,942 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 870 frames, 17.1 FPS, 3.80 Mbps throughput, 27793 bytes avg frame size +2025-06-06 11:03:08,942 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200539754 stats: 870 frames processed, FPS: 23.1, Throughput: 5.13 Mbps, Avg frame size: 27793 bytes +2025-06-06 11:03:08,998 - video.core - INFO - ๐Ÿ“ฅ Server received frame #871 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27386 bytes +2025-06-06 11:03:08,998 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:08,998 - video.core - INFO - ๐Ÿ“ค Server relayed frame #871 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:09,035 - video.core - INFO - ๐Ÿ“ฅ Server received frame #872 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27530 bytes +2025-06-06 11:03:09,035 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:09,035 - video.core - INFO - ๐Ÿ“ค Server relayed frame #872 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:09,077 - video.core - INFO - ๐Ÿ“ฅ Server received frame #873 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27530 bytes +2025-06-06 11:03:09,077 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:09,077 - video.core - INFO - ๐Ÿ“ค Server relayed frame #873 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:09,115 - video.core - INFO - ๐Ÿ“ฅ Server received frame #874 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27531 bytes +2025-06-06 11:03:09,115 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:09,115 - video.core - INFO - ๐Ÿ“ค Server relayed frame #874 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:09,157 - video.core - INFO - ๐Ÿ“ฅ Server received frame #875 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27442 bytes +2025-06-06 11:03:09,157 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:09,157 - video.core - INFO - ๐Ÿ“ค Server relayed frame #875 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:09,207 - video.core - INFO - ๐Ÿ“ฅ Server received frame #876 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27352 bytes +2025-06-06 11:03:09,207 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:09,207 - video.core - INFO - ๐Ÿ“ค Server relayed frame #876 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:09,247 - video.core - INFO - ๐Ÿ“ฅ Server received frame #877 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27401 bytes +2025-06-06 11:03:09,247 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:09,247 - video.core - INFO - ๐Ÿ“ค Server relayed frame #877 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:09,287 - video.core - INFO - ๐Ÿ“ฅ Server received frame #878 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27151 bytes +2025-06-06 11:03:09,287 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:09,287 - video.core - INFO - ๐Ÿ“ค Server relayed frame #878 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:09,338 - video.core - INFO - ๐Ÿ“ฅ Server received frame #879 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27233 bytes +2025-06-06 11:03:09,339 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:09,339 - video.core - INFO - ๐Ÿ“ค Server relayed frame #879 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:09,377 - video.core - INFO - ๐Ÿ“น Frame #880 from producer producer_1749200539754: size=27262 bytes, resolution=640x480 +2025-06-06 11:03:09,377 - video.core - INFO - ๐Ÿ“ฅ Server received frame #880 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27262 bytes +2025-06-06 11:03:09,377 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:09,377 - video.core - INFO - ๐Ÿ“ค Server relayed frame #880 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:09,428 - video.core - INFO - ๐Ÿ“ฅ Server received frame #881 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27198 bytes +2025-06-06 11:03:09,428 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:09,428 - video.core - INFO - ๐Ÿ“ค Server relayed frame #881 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:09,464 - video.core - INFO - ๐Ÿ“ฅ Server received frame #882 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27264 bytes +2025-06-06 11:03:09,464 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:09,464 - video.core - INFO - ๐Ÿ“ค Server relayed frame #882 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:09,509 - video.core - INFO - ๐Ÿ“ฅ Server received frame #883 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27239 bytes +2025-06-06 11:03:09,509 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:09,509 - video.core - INFO - ๐Ÿ“ค Server relayed frame #883 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:09,552 - video.core - INFO - ๐Ÿ“ฅ Server received frame #884 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27211 bytes +2025-06-06 11:03:09,553 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:09,553 - video.core - INFO - ๐Ÿ“ค Server relayed frame #884 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:09,595 - video.core - INFO - ๐Ÿ“ฅ Server received frame #885 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27359 bytes +2025-06-06 11:03:09,595 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:09,595 - video.core - INFO - ๐Ÿ“ค Server relayed frame #885 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:09,637 - video.core - INFO - ๐Ÿ“ฅ Server received frame #886 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26816 bytes +2025-06-06 11:03:09,638 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:09,638 - video.core - INFO - ๐Ÿ“ค Server relayed frame #886 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:09,683 - video.core - INFO - ๐Ÿ“ฅ Server received frame #887 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27144 bytes +2025-06-06 11:03:09,683 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:09,683 - video.core - INFO - ๐Ÿ“ค Server relayed frame #887 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:09,723 - video.core - INFO - ๐Ÿ“ฅ Server received frame #888 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27272 bytes +2025-06-06 11:03:09,723 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:09,723 - video.core - INFO - ๐Ÿ“ค Server relayed frame #888 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:09,771 - video.core - INFO - ๐Ÿ“ฅ Server received frame #889 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27454 bytes +2025-06-06 11:03:09,771 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:09,772 - video.core - INFO - ๐Ÿ“ค Server relayed frame #889 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:09,810 - video.core - INFO - ๐Ÿ“น Frame #890 from producer producer_1749200539754: size=27420 bytes, resolution=640x480 +2025-06-06 11:03:09,810 - video.core - INFO - ๐Ÿ“ฅ Server received frame #890 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27420 bytes +2025-06-06 11:03:09,810 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:09,810 - video.core - INFO - ๐Ÿ“ค Server relayed frame #890 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:09,860 - video.core - INFO - ๐Ÿ“ฅ Server received frame #891 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27285 bytes +2025-06-06 11:03:09,861 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:09,861 - video.core - INFO - ๐Ÿ“ค Server relayed frame #891 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:09,910 - video.core - INFO - ๐Ÿ“ฅ Server received frame #892 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27226 bytes +2025-06-06 11:03:09,910 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:09,910 - video.core - INFO - ๐Ÿ“ค Server relayed frame #892 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:09,942 - video.core - INFO - ๐Ÿ“ฅ Server received frame #893 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27104 bytes +2025-06-06 11:03:09,942 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:09,942 - video.core - INFO - ๐Ÿ“ค Server relayed frame #893 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:09,990 - video.core - INFO - ๐Ÿ“ฅ Server received frame #894 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27190 bytes +2025-06-06 11:03:09,991 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:09,991 - video.core - INFO - ๐Ÿ“ค Server relayed frame #894 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:10,030 - video.core - INFO - ๐Ÿ“ฅ Server received frame #895 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27164 bytes +2025-06-06 11:03:10,031 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:10,031 - video.core - INFO - ๐Ÿ“ค Server relayed frame #895 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:10,076 - video.core - INFO - ๐Ÿ“ฅ Server received frame #896 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27283 bytes +2025-06-06 11:03:10,076 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:10,077 - video.core - INFO - ๐Ÿ“ค Server relayed frame #896 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:10,110 - video.core - INFO - ๐Ÿ“ฅ Server received frame #897 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27272 bytes +2025-06-06 11:03:10,110 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:10,110 - video.core - INFO - ๐Ÿ“ค Server relayed frame #897 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:10,152 - video.core - INFO - ๐Ÿ“ฅ Server received frame #898 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27345 bytes +2025-06-06 11:03:10,152 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:10,152 - video.core - INFO - ๐Ÿ“ค Server relayed frame #898 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:10,192 - video.core - INFO - ๐Ÿ“ฅ Server received frame #899 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26810 bytes +2025-06-06 11:03:10,192 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:10,192 - video.core - INFO - ๐Ÿ“ค Server relayed frame #899 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:10,244 - video.core - INFO - ๐Ÿ“น Frame #900 from producer producer_1749200539754: size=26939 bytes, resolution=640x480 +2025-06-06 11:03:10,244 - video.core - INFO - ๐Ÿ“ฅ Server received frame #900 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26939 bytes +2025-06-06 11:03:10,244 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:10,244 - video.core - INFO - ๐Ÿ“ค Server relayed frame #900 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:10,244 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 900 frames processed, 22.0 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:10,244 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 900 frames, 17.2 FPS, 3.83 Mbps throughput, 27776 bytes avg frame size +2025-06-06 11:03:10,244 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200539754 stats: 900 frames processed, FPS: 23.1, Throughput: 5.12 Mbps, Avg frame size: 27776 bytes +2025-06-06 11:03:10,283 - video.core - INFO - ๐Ÿ“ฅ Server received frame #901 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26801 bytes +2025-06-06 11:03:10,283 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:10,283 - video.core - INFO - ๐Ÿ“ค Server relayed frame #901 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:10,331 - video.core - INFO - ๐Ÿ“ฅ Server received frame #902 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27157 bytes +2025-06-06 11:03:10,331 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:10,331 - video.core - INFO - ๐Ÿ“ค Server relayed frame #902 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:10,375 - video.core - INFO - ๐Ÿ“ฅ Server received frame #903 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27142 bytes +2025-06-06 11:03:10,375 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:10,375 - video.core - INFO - ๐Ÿ“ค Server relayed frame #903 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:10,415 - video.core - INFO - ๐Ÿ“ฅ Server received frame #904 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27328 bytes +2025-06-06 11:03:10,415 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:10,415 - video.core - INFO - ๐Ÿ“ค Server relayed frame #904 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:10,459 - video.core - INFO - ๐Ÿ“ฅ Server received frame #905 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27309 bytes +2025-06-06 11:03:10,460 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:10,460 - video.core - INFO - ๐Ÿ“ค Server relayed frame #905 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:10,511 - video.core - INFO - ๐Ÿ“ฅ Server received frame #906 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27318 bytes +2025-06-06 11:03:10,511 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:10,511 - video.core - INFO - ๐Ÿ“ค Server relayed frame #906 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:10,546 - video.core - INFO - ๐Ÿ“ฅ Server received frame #907 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27335 bytes +2025-06-06 11:03:10,546 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:10,546 - video.core - INFO - ๐Ÿ“ค Server relayed frame #907 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:10,588 - video.core - INFO - ๐Ÿ“ฅ Server received frame #908 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27375 bytes +2025-06-06 11:03:10,589 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:10,589 - video.core - INFO - ๐Ÿ“ค Server relayed frame #908 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:10,634 - video.core - INFO - ๐Ÿ“ฅ Server received frame #909 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27320 bytes +2025-06-06 11:03:10,634 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:10,634 - video.core - INFO - ๐Ÿ“ค Server relayed frame #909 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:10,676 - video.core - INFO - ๐Ÿ“น Frame #910 from producer producer_1749200539754: size=27191 bytes, resolution=640x480 +2025-06-06 11:03:10,678 - video.core - INFO - ๐Ÿ“ฅ Server received frame #910 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27191 bytes +2025-06-06 11:03:10,678 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:10,678 - video.core - INFO - ๐Ÿ“ค Server relayed frame #910 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:10,721 - video.core - INFO - ๐Ÿ“ฅ Server received frame #911 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27309 bytes +2025-06-06 11:03:10,721 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:10,721 - video.core - INFO - ๐Ÿ“ค Server relayed frame #911 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:10,756 - video.core - INFO - ๐Ÿ“ฅ Server received frame #912 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27333 bytes +2025-06-06 11:03:10,756 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:10,756 - video.core - INFO - ๐Ÿ“ค Server relayed frame #912 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:10,814 - video.core - INFO - ๐Ÿ“ฅ Server received frame #913 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27502 bytes +2025-06-06 11:03:10,814 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:10,814 - video.core - INFO - ๐Ÿ“ค Server relayed frame #913 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:10,852 - video.core - INFO - ๐Ÿ“ฅ Server received frame #914 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27606 bytes +2025-06-06 11:03:10,852 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:10,852 - video.core - INFO - ๐Ÿ“ค Server relayed frame #914 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:10,897 - video.core - INFO - ๐Ÿ“ฅ Server received frame #915 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27643 bytes +2025-06-06 11:03:10,897 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:10,897 - video.core - INFO - ๐Ÿ“ค Server relayed frame #915 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:10,932 - video.core - INFO - ๐Ÿ“ฅ Server received frame #916 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27613 bytes +2025-06-06 11:03:10,932 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:10,932 - video.core - INFO - ๐Ÿ“ค Server relayed frame #916 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:10,984 - video.core - INFO - ๐Ÿ“ฅ Server received frame #917 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27176 bytes +2025-06-06 11:03:10,984 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:10,984 - video.core - INFO - ๐Ÿ“ค Server relayed frame #917 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:11,024 - video.core - INFO - ๐Ÿ“ฅ Server received frame #918 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27285 bytes +2025-06-06 11:03:11,024 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:11,024 - video.core - INFO - ๐Ÿ“ค Server relayed frame #918 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:11,072 - video.core - INFO - ๐Ÿ“ฅ Server received frame #919 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27195 bytes +2025-06-06 11:03:11,072 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:11,072 - video.core - INFO - ๐Ÿ“ค Server relayed frame #919 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:11,114 - video.core - INFO - ๐Ÿ“น Frame #920 from producer producer_1749200539754: size=27128 bytes, resolution=640x480 +2025-06-06 11:03:11,114 - video.core - INFO - ๐Ÿ“ฅ Server received frame #920 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27128 bytes +2025-06-06 11:03:11,115 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:11,115 - video.core - INFO - ๐Ÿ“ค Server relayed frame #920 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:11,148 - video.core - INFO - ๐Ÿ“ฅ Server received frame #921 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27098 bytes +2025-06-06 11:03:11,148 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:11,148 - video.core - INFO - ๐Ÿ“ค Server relayed frame #921 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:11,190 - video.core - INFO - ๐Ÿ“ฅ Server received frame #922 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27122 bytes +2025-06-06 11:03:11,190 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:11,190 - video.core - INFO - ๐Ÿ“ค Server relayed frame #922 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:11,247 - video.core - INFO - ๐Ÿ“ฅ Server received frame #923 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27122 bytes +2025-06-06 11:03:11,247 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:11,247 - video.core - INFO - ๐Ÿ“ค Server relayed frame #923 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:11,281 - video.core - INFO - ๐Ÿ“ฅ Server received frame #924 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27055 bytes +2025-06-06 11:03:11,281 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:11,281 - video.core - INFO - ๐Ÿ“ค Server relayed frame #924 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:11,322 - video.core - INFO - ๐Ÿ“ฅ Server received frame #925 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27291 bytes +2025-06-06 11:03:11,322 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:11,322 - video.core - INFO - ๐Ÿ“ค Server relayed frame #925 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:11,375 - video.core - INFO - ๐Ÿ“ฅ Server received frame #926 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27251 bytes +2025-06-06 11:03:11,375 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:11,375 - video.core - INFO - ๐Ÿ“ค Server relayed frame #926 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:11,411 - video.core - INFO - ๐Ÿ“ฅ Server received frame #927 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26951 bytes +2025-06-06 11:03:11,411 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:11,411 - video.core - INFO - ๐Ÿ“ค Server relayed frame #927 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:11,460 - video.core - INFO - ๐Ÿ“ฅ Server received frame #928 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26751 bytes +2025-06-06 11:03:11,460 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:11,461 - video.core - INFO - ๐Ÿ“ค Server relayed frame #928 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:11,506 - video.core - INFO - ๐Ÿ“ฅ Server received frame #929 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27168 bytes +2025-06-06 11:03:11,506 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:11,506 - video.core - INFO - ๐Ÿ“ค Server relayed frame #929 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:11,546 - video.core - INFO - ๐Ÿ“น Frame #930 from producer producer_1749200539754: size=27071 bytes, resolution=640x480 +2025-06-06 11:03:11,546 - video.core - INFO - ๐Ÿ“ฅ Server received frame #930 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27071 bytes +2025-06-06 11:03:11,546 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:11,546 - video.core - INFO - ๐Ÿ“ค Server relayed frame #930 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:11,546 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 930 frames processed, 22.0 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:11,546 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 930 frames, 17.4 FPS, 3.85 Mbps throughput, 27758 bytes avg frame size +2025-06-06 11:03:11,546 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200539754 stats: 930 frames processed, FPS: 23.1, Throughput: 5.12 Mbps, Avg frame size: 27758 bytes +2025-06-06 11:03:11,588 - video.core - INFO - ๐Ÿ“ฅ Server received frame #931 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26747 bytes +2025-06-06 11:03:11,589 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:11,589 - video.core - INFO - ๐Ÿ“ค Server relayed frame #931 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:11,633 - video.core - INFO - ๐Ÿ“ฅ Server received frame #932 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26675 bytes +2025-06-06 11:03:11,634 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:11,634 - video.core - INFO - ๐Ÿ“ค Server relayed frame #932 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:11,676 - video.core - INFO - ๐Ÿ“ฅ Server received frame #933 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27063 bytes +2025-06-06 11:03:11,676 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:11,676 - video.core - INFO - ๐Ÿ“ค Server relayed frame #933 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:11,712 - video.core - INFO - ๐Ÿ“ฅ Server received frame #934 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27111 bytes +2025-06-06 11:03:11,712 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:11,712 - video.core - INFO - ๐Ÿ“ค Server relayed frame #934 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:11,760 - video.core - INFO - ๐Ÿ“ฅ Server received frame #935 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27201 bytes +2025-06-06 11:03:11,760 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:11,760 - video.core - INFO - ๐Ÿ“ค Server relayed frame #935 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:11,807 - video.core - INFO - ๐Ÿ“ฅ Server received frame #936 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27274 bytes +2025-06-06 11:03:11,807 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:11,807 - video.core - INFO - ๐Ÿ“ค Server relayed frame #936 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:11,844 - video.core - INFO - ๐Ÿ“ฅ Server received frame #937 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27343 bytes +2025-06-06 11:03:11,844 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:11,845 - video.core - INFO - ๐Ÿ“ค Server relayed frame #937 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:11,894 - video.core - INFO - ๐Ÿ“ฅ Server received frame #938 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27313 bytes +2025-06-06 11:03:11,894 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:11,894 - video.core - INFO - ๐Ÿ“ค Server relayed frame #938 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:11,930 - video.core - INFO - ๐Ÿ“ฅ Server received frame #939 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27122 bytes +2025-06-06 11:03:11,930 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:11,930 - video.core - INFO - ๐Ÿ“ค Server relayed frame #939 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:11,990 - video.core - INFO - ๐Ÿ“น Frame #940 from producer producer_1749200539754: size=27247 bytes, resolution=640x480 +2025-06-06 11:03:11,990 - video.core - INFO - ๐Ÿ“ฅ Server received frame #940 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27247 bytes +2025-06-06 11:03:11,990 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:11,990 - video.core - INFO - ๐Ÿ“ค Server relayed frame #940 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:12,024 - video.core - INFO - ๐Ÿ“ฅ Server received frame #941 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27136 bytes +2025-06-06 11:03:12,025 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:12,025 - video.core - INFO - ๐Ÿ“ค Server relayed frame #941 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:12,060 - video.core - INFO - ๐Ÿ“ฅ Server received frame #942 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27117 bytes +2025-06-06 11:03:12,060 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:12,060 - video.core - INFO - ๐Ÿ“ค Server relayed frame #942 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:12,112 - video.core - INFO - ๐Ÿ“ฅ Server received frame #943 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27088 bytes +2025-06-06 11:03:12,112 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:12,112 - video.core - INFO - ๐Ÿ“ค Server relayed frame #943 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:12,144 - video.core - INFO - ๐Ÿ“ฅ Server received frame #944 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27253 bytes +2025-06-06 11:03:12,144 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:12,144 - video.core - INFO - ๐Ÿ“ค Server relayed frame #944 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:12,184 - video.core - INFO - ๐Ÿ“ฅ Server received frame #945 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27419 bytes +2025-06-06 11:03:12,184 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:12,184 - video.core - INFO - ๐Ÿ“ค Server relayed frame #945 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:12,236 - video.core - INFO - ๐Ÿ“ฅ Server received frame #946 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27474 bytes +2025-06-06 11:03:12,236 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:12,236 - video.core - INFO - ๐Ÿ“ค Server relayed frame #946 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:12,278 - video.core - INFO - ๐Ÿ“ฅ Server received frame #947 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27438 bytes +2025-06-06 11:03:12,278 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:12,279 - video.core - INFO - ๐Ÿ“ค Server relayed frame #947 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:12,313 - video.core - INFO - ๐Ÿ“ฅ Server received frame #948 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27329 bytes +2025-06-06 11:03:12,314 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:12,314 - video.core - INFO - ๐Ÿ“ค Server relayed frame #948 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:12,359 - video.core - INFO - ๐Ÿ“ฅ Server received frame #949 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27272 bytes +2025-06-06 11:03:12,359 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:12,359 - video.core - INFO - ๐Ÿ“ค Server relayed frame #949 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:12,401 - video.core - INFO - ๐Ÿ“น Frame #950 from producer producer_1749200539754: size=27372 bytes, resolution=640x480 +2025-06-06 11:03:12,401 - video.core - INFO - ๐Ÿ“ฅ Server received frame #950 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27372 bytes +2025-06-06 11:03:12,401 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:12,401 - video.core - INFO - ๐Ÿ“ค Server relayed frame #950 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:12,452 - video.core - INFO - ๐Ÿ“ฅ Server received frame #951 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27178 bytes +2025-06-06 11:03:12,452 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:12,453 - video.core - INFO - ๐Ÿ“ค Server relayed frame #951 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:12,488 - video.core - INFO - ๐Ÿ“ฅ Server received frame #952 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27146 bytes +2025-06-06 11:03:12,488 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:12,488 - video.core - INFO - ๐Ÿ“ค Server relayed frame #952 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:12,538 - video.core - INFO - ๐Ÿ“ฅ Server received frame #953 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27226 bytes +2025-06-06 11:03:12,539 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:12,539 - video.core - INFO - ๐Ÿ“ค Server relayed frame #953 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:12,577 - video.core - INFO - ๐Ÿ“ฅ Server received frame #954 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27101 bytes +2025-06-06 11:03:12,577 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:12,577 - video.core - INFO - ๐Ÿ“ค Server relayed frame #954 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:12,627 - video.core - INFO - ๐Ÿ“ฅ Server received frame #955 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27074 bytes +2025-06-06 11:03:12,627 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:12,627 - video.core - INFO - ๐Ÿ“ค Server relayed frame #955 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:12,666 - video.core - INFO - ๐Ÿ“ฅ Server received frame #956 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26672 bytes +2025-06-06 11:03:12,666 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:12,666 - video.core - INFO - ๐Ÿ“ค Server relayed frame #956 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:12,714 - video.core - INFO - ๐Ÿ“ฅ Server received frame #957 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26750 bytes +2025-06-06 11:03:12,714 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:12,714 - video.core - INFO - ๐Ÿ“ค Server relayed frame #957 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:12,757 - video.core - INFO - ๐Ÿ“ฅ Server received frame #958 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26823 bytes +2025-06-06 11:03:12,757 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:12,757 - video.core - INFO - ๐Ÿ“ค Server relayed frame #958 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:12,802 - video.core - INFO - ๐Ÿ“ฅ Server received frame #959 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26875 bytes +2025-06-06 11:03:12,802 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:12,802 - video.core - INFO - ๐Ÿ“ค Server relayed frame #959 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:12,850 - video.core - INFO - ๐Ÿ“น Frame #960 from producer producer_1749200539754: size=27031 bytes, resolution=640x480 +2025-06-06 11:03:12,850 - video.core - INFO - ๐Ÿ“ฅ Server received frame #960 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27031 bytes +2025-06-06 11:03:12,850 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:12,850 - video.core - INFO - ๐Ÿ“ค Server relayed frame #960 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:12,850 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 960 frames processed, 22.0 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:12,850 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 960 frames, 17.5 FPS, 3.88 Mbps throughput, 27738 bytes avg frame size +2025-06-06 11:03:12,850 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200539754 stats: 960 frames processed, FPS: 23.0, Throughput: 5.12 Mbps, Avg frame size: 27738 bytes +2025-06-06 11:03:12,887 - video.core - INFO - ๐Ÿ“ฅ Server received frame #961 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27077 bytes +2025-06-06 11:03:12,887 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:12,887 - video.core - INFO - ๐Ÿ“ค Server relayed frame #961 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:12,927 - video.core - INFO - ๐Ÿ“ฅ Server received frame #962 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27108 bytes +2025-06-06 11:03:12,928 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:12,928 - video.core - INFO - ๐Ÿ“ค Server relayed frame #962 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:12,971 - video.core - INFO - ๐Ÿ“ฅ Server received frame #963 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27252 bytes +2025-06-06 11:03:12,972 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:12,972 - video.core - INFO - ๐Ÿ“ค Server relayed frame #963 to 1 consumers in 1.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:13,008 - video.core - INFO - ๐Ÿ“ฅ Server received frame #964 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27131 bytes +2025-06-06 11:03:13,008 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:13,008 - video.core - INFO - ๐Ÿ“ค Server relayed frame #964 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:13,055 - video.core - INFO - ๐Ÿ“ฅ Server received frame #965 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27198 bytes +2025-06-06 11:03:13,055 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:13,055 - video.core - INFO - ๐Ÿ“ค Server relayed frame #965 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:13,101 - video.core - INFO - ๐Ÿ“ฅ Server received frame #966 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26903 bytes +2025-06-06 11:03:13,101 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:13,101 - video.core - INFO - ๐Ÿ“ค Server relayed frame #966 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:13,135 - video.core - INFO - ๐Ÿ“ฅ Server received frame #967 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27085 bytes +2025-06-06 11:03:13,135 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:13,135 - video.core - INFO - ๐Ÿ“ค Server relayed frame #967 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:13,177 - video.core - INFO - ๐Ÿ“ฅ Server received frame #968 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26999 bytes +2025-06-06 11:03:13,177 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:13,177 - video.core - INFO - ๐Ÿ“ค Server relayed frame #968 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:13,237 - video.core - INFO - ๐Ÿ“ฅ Server received frame #969 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27068 bytes +2025-06-06 11:03:13,237 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:13,237 - video.core - INFO - ๐Ÿ“ค Server relayed frame #969 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:13,272 - video.core - INFO - ๐Ÿ“น Frame #970 from producer producer_1749200539754: size=27076 bytes, resolution=640x480 +2025-06-06 11:03:13,272 - video.core - INFO - ๐Ÿ“ฅ Server received frame #970 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27076 bytes +2025-06-06 11:03:13,272 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:13,272 - video.core - INFO - ๐Ÿ“ค Server relayed frame #970 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:13,345 - video.core - INFO - ๐Ÿ“ฅ Server received frame #971 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26872 bytes +2025-06-06 11:03:13,345 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:13,345 - video.core - INFO - ๐Ÿ“ค Server relayed frame #971 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:13,363 - video.core - INFO - ๐Ÿ“ฅ Server received frame #972 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26947 bytes +2025-06-06 11:03:13,363 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:13,363 - video.core - INFO - ๐Ÿ“ค Server relayed frame #972 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:13,392 - video.core - INFO - ๐Ÿ“ฅ Server received frame #973 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26993 bytes +2025-06-06 11:03:13,392 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:13,392 - video.core - INFO - ๐Ÿ“ค Server relayed frame #973 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:13,448 - video.core - INFO - ๐Ÿ“ฅ Server received frame #974 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26833 bytes +2025-06-06 11:03:13,448 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:13,448 - video.core - INFO - ๐Ÿ“ค Server relayed frame #974 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:13,489 - video.core - INFO - ๐Ÿ“ฅ Server received frame #975 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26728 bytes +2025-06-06 11:03:13,489 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:13,489 - video.core - INFO - ๐Ÿ“ค Server relayed frame #975 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:13,532 - video.core - INFO - ๐Ÿ“ฅ Server received frame #976 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26757 bytes +2025-06-06 11:03:13,532 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:13,532 - video.core - INFO - ๐Ÿ“ค Server relayed frame #976 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:13,581 - video.core - INFO - ๐Ÿ“ฅ Server received frame #977 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26494 bytes +2025-06-06 11:03:13,581 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:13,581 - video.core - INFO - ๐Ÿ“ค Server relayed frame #977 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:13,622 - video.core - INFO - ๐Ÿ“ฅ Server received frame #978 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 25545 bytes +2025-06-06 11:03:13,622 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:13,622 - video.core - INFO - ๐Ÿ“ค Server relayed frame #978 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:13,667 - video.core - INFO - ๐Ÿ“ฅ Server received frame #979 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 25732 bytes +2025-06-06 11:03:13,668 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:13,668 - video.core - INFO - ๐Ÿ“ค Server relayed frame #979 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:13,711 - video.core - INFO - ๐Ÿ“น Frame #980 from producer producer_1749200539754: size=26712 bytes, resolution=640x480 +2025-06-06 11:03:13,711 - video.core - INFO - ๐Ÿ“ฅ Server received frame #980 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26712 bytes +2025-06-06 11:03:13,711 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:13,711 - video.core - INFO - ๐Ÿ“ค Server relayed frame #980 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:13,750 - video.core - INFO - ๐Ÿ“ฅ Server received frame #981 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26607 bytes +2025-06-06 11:03:13,750 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:13,750 - video.core - INFO - ๐Ÿ“ค Server relayed frame #981 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:13,786 - video.core - INFO - ๐Ÿ“ฅ Server received frame #982 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26674 bytes +2025-06-06 11:03:13,786 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:13,786 - video.core - INFO - ๐Ÿ“ค Server relayed frame #982 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:13,824 - video.core - INFO - ๐Ÿ“ฅ Server received frame #983 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26751 bytes +2025-06-06 11:03:13,824 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:13,824 - video.core - INFO - ๐Ÿ“ค Server relayed frame #983 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:13,867 - video.core - INFO - ๐Ÿ“ฅ Server received frame #984 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26662 bytes +2025-06-06 11:03:13,867 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:13,867 - video.core - INFO - ๐Ÿ“ค Server relayed frame #984 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:13,910 - video.core - INFO - ๐Ÿ“ฅ Server received frame #985 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26662 bytes +2025-06-06 11:03:13,910 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:13,910 - video.core - INFO - ๐Ÿ“ค Server relayed frame #985 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:13,958 - video.core - INFO - ๐Ÿ“ฅ Server received frame #986 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26732 bytes +2025-06-06 11:03:13,958 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:13,958 - video.core - INFO - ๐Ÿ“ค Server relayed frame #986 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:14,005 - video.core - INFO - ๐Ÿ“ฅ Server received frame #987 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26764 bytes +2025-06-06 11:03:14,005 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:14,005 - video.core - INFO - ๐Ÿ“ค Server relayed frame #987 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:14,047 - video.core - INFO - ๐Ÿ“ฅ Server received frame #988 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26655 bytes +2025-06-06 11:03:14,047 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:14,047 - video.core - INFO - ๐Ÿ“ค Server relayed frame #988 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:14,090 - video.core - INFO - ๐Ÿ“ฅ Server received frame #989 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26381 bytes +2025-06-06 11:03:14,090 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:14,090 - video.core - INFO - ๐Ÿ“ค Server relayed frame #989 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:14,127 - video.core - INFO - ๐Ÿ“น Frame #990 from producer producer_1749200539754: size=26352 bytes, resolution=640x480 +2025-06-06 11:03:14,127 - video.core - INFO - ๐Ÿ“ฅ Server received frame #990 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26352 bytes +2025-06-06 11:03:14,127 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:14,127 - video.core - INFO - ๐Ÿ“ค Server relayed frame #990 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:14,127 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 990 frames processed, 22.1 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:14,127 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 990 frames, 17.6 FPS, 3.91 Mbps throughput, 27709 bytes avg frame size +2025-06-06 11:03:14,127 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200539754 stats: 990 frames processed, FPS: 23.1, Throughput: 5.11 Mbps, Avg frame size: 27709 bytes +2025-06-06 11:03:14,182 - video.core - INFO - ๐Ÿ“ฅ Server received frame #991 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26388 bytes +2025-06-06 11:03:14,182 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:14,182 - video.core - INFO - ๐Ÿ“ค Server relayed frame #991 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:14,217 - video.core - INFO - ๐Ÿ“ฅ Server received frame #992 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26500 bytes +2025-06-06 11:03:14,217 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:14,217 - video.core - INFO - ๐Ÿ“ค Server relayed frame #992 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:14,262 - video.core - INFO - ๐Ÿ“ฅ Server received frame #993 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26288 bytes +2025-06-06 11:03:14,262 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:14,262 - video.core - INFO - ๐Ÿ“ค Server relayed frame #993 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:14,307 - video.core - INFO - ๐Ÿ“ฅ Server received frame #994 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26401 bytes +2025-06-06 11:03:14,307 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:14,307 - video.core - INFO - ๐Ÿ“ค Server relayed frame #994 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:14,351 - video.core - INFO - ๐Ÿ“ฅ Server received frame #995 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26417 bytes +2025-06-06 11:03:14,351 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:14,351 - video.core - INFO - ๐Ÿ“ค Server relayed frame #995 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:14,388 - video.core - INFO - ๐Ÿ“ฅ Server received frame #996 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26496 bytes +2025-06-06 11:03:14,388 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:14,388 - video.core - INFO - ๐Ÿ“ค Server relayed frame #996 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:14,432 - video.core - INFO - ๐Ÿ“ฅ Server received frame #997 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26694 bytes +2025-06-06 11:03:14,433 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:14,433 - video.core - INFO - ๐Ÿ“ค Server relayed frame #997 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:14,480 - video.core - INFO - ๐Ÿ“ฅ Server received frame #998 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26586 bytes +2025-06-06 11:03:14,480 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:14,481 - video.core - INFO - ๐Ÿ“ค Server relayed frame #998 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:14,524 - video.core - INFO - ๐Ÿ“ฅ Server received frame #999 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26601 bytes +2025-06-06 11:03:14,525 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:14,525 - video.core - INFO - ๐Ÿ“ค Server relayed frame #999 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:14,570 - video.core - INFO - ๐Ÿ“น Frame #1000 from producer producer_1749200539754: size=26287 bytes, resolution=640x480 +2025-06-06 11:03:14,571 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1000 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26287 bytes +2025-06-06 11:03:14,571 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:14,571 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1000 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:14,612 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1001 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26497 bytes +2025-06-06 11:03:14,612 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:14,612 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1001 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:14,658 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1002 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26381 bytes +2025-06-06 11:03:14,658 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:14,658 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1002 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:14,700 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1003 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26578 bytes +2025-06-06 11:03:14,700 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:14,700 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1003 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:14,742 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1004 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26715 bytes +2025-06-06 11:03:14,742 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:14,742 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1004 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:14,791 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1005 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26696 bytes +2025-06-06 11:03:14,791 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:14,791 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1005 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:14,828 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1006 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26920 bytes +2025-06-06 11:03:14,828 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:14,828 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1006 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:14,874 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1007 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26796 bytes +2025-06-06 11:03:14,875 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:14,875 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1007 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:14,916 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1008 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26960 bytes +2025-06-06 11:03:14,916 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:14,916 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1008 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:14,961 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1009 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26935 bytes +2025-06-06 11:03:14,961 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:14,961 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1009 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:15,002 - video.core - INFO - ๐Ÿ“น Frame #1010 from producer producer_1749200539754: size=26956 bytes, resolution=640x480 +2025-06-06 11:03:15,002 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1010 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26956 bytes +2025-06-06 11:03:15,002 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:15,002 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1010 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:15,044 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1011 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27042 bytes +2025-06-06 11:03:15,045 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:15,045 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1011 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:15,083 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1012 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26778 bytes +2025-06-06 11:03:15,083 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:15,083 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1012 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:15,124 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1013 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26768 bytes +2025-06-06 11:03:15,124 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:15,124 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1013 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:15,166 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1014 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26731 bytes +2025-06-06 11:03:15,167 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:15,167 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1014 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:15,207 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1015 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26691 bytes +2025-06-06 11:03:15,207 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:15,207 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1015 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:15,255 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1016 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26842 bytes +2025-06-06 11:03:15,255 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:15,255 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1016 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:15,298 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1017 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26999 bytes +2025-06-06 11:03:15,298 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:15,298 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1017 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:15,341 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1018 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27019 bytes +2025-06-06 11:03:15,341 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:15,341 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1018 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:15,386 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1019 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26954 bytes +2025-06-06 11:03:15,386 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:15,386 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1019 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:15,427 - video.core - INFO - ๐Ÿ“น Frame #1020 from producer producer_1749200539754: size=27035 bytes, resolution=640x480 +2025-06-06 11:03:15,427 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1020 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27035 bytes +2025-06-06 11:03:15,427 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:15,427 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1020 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:15,427 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1020 frames processed, 22.1 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:15,427 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1020 frames, 17.8 FPS, 3.93 Mbps throughput, 27679 bytes avg frame size +2025-06-06 11:03:15,427 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200539754 stats: 1020 frames processed, FPS: 23.1, Throughput: 5.11 Mbps, Avg frame size: 27679 bytes +2025-06-06 11:03:15,471 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1021 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27142 bytes +2025-06-06 11:03:15,472 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:15,472 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1021 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:15,514 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1022 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27138 bytes +2025-06-06 11:03:15,514 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:15,514 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1022 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:15,556 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1023 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27106 bytes +2025-06-06 11:03:15,556 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:15,556 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1023 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:15,599 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1024 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27321 bytes +2025-06-06 11:03:15,599 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:15,599 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1024 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:15,643 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1025 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27217 bytes +2025-06-06 11:03:15,643 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:15,643 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1025 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:15,688 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1026 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27263 bytes +2025-06-06 11:03:15,688 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:15,688 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1026 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:15,728 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1027 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27039 bytes +2025-06-06 11:03:15,728 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:15,728 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1027 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:15,773 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1028 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27099 bytes +2025-06-06 11:03:15,773 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:15,773 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1028 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:15,819 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1029 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26822 bytes +2025-06-06 11:03:15,820 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:15,820 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1029 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:15,863 - video.core - INFO - ๐Ÿ“น Frame #1030 from producer producer_1749200539754: size=26513 bytes, resolution=640x480 +2025-06-06 11:03:15,863 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1030 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26513 bytes +2025-06-06 11:03:15,863 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:15,863 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1030 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:15,903 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1031 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26565 bytes +2025-06-06 11:03:15,903 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:15,903 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1031 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:15,949 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1032 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26692 bytes +2025-06-06 11:03:15,949 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:15,949 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1032 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:15,991 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1033 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26591 bytes +2025-06-06 11:03:15,991 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:15,991 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1033 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:16,034 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1034 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26635 bytes +2025-06-06 11:03:16,034 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:16,034 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1034 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:16,079 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1035 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26718 bytes +2025-06-06 11:03:16,079 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:16,079 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1035 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:16,122 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1036 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26547 bytes +2025-06-06 11:03:16,122 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:16,122 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1036 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:16,162 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1037 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26531 bytes +2025-06-06 11:03:16,162 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:16,162 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1037 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:16,205 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1038 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26609 bytes +2025-06-06 11:03:16,205 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:16,205 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1038 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:16,250 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1039 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26764 bytes +2025-06-06 11:03:16,250 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:16,251 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1039 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:16,292 - video.core - INFO - ๐Ÿ“น Frame #1040 from producer producer_1749200539754: size=26804 bytes, resolution=640x480 +2025-06-06 11:03:16,292 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1040 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26804 bytes +2025-06-06 11:03:16,292 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:16,292 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1040 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:16,338 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1041 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26892 bytes +2025-06-06 11:03:16,338 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:16,338 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1041 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:16,387 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1042 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26958 bytes +2025-06-06 11:03:16,387 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:16,387 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1042 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:16,427 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1043 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26946 bytes +2025-06-06 11:03:16,428 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:16,428 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1043 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:16,462 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1044 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26903 bytes +2025-06-06 11:03:16,463 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:16,463 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1044 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:16,507 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1045 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26609 bytes +2025-06-06 11:03:16,507 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:16,507 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1045 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:16,551 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1046 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26594 bytes +2025-06-06 11:03:16,551 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:16,551 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1046 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:16,593 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1047 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26503 bytes +2025-06-06 11:03:16,593 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:16,593 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1047 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:16,640 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1048 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26670 bytes +2025-06-06 11:03:16,640 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:16,640 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1048 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:16,683 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1049 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26790 bytes +2025-06-06 11:03:16,683 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:16,683 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1049 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:16,724 - video.core - INFO - ๐Ÿ“น Frame #1050 from producer producer_1749200539754: size=26715 bytes, resolution=640x480 +2025-06-06 11:03:16,724 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1050 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26715 bytes +2025-06-06 11:03:16,724 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:16,724 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1050 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:16,724 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1050 frames processed, 22.1 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:16,724 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1050 frames, 17.9 FPS, 3.95 Mbps throughput, 27654 bytes avg frame size +2025-06-06 11:03:16,724 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200539754 stats: 1050 frames processed, FPS: 23.1, Throughput: 5.10 Mbps, Avg frame size: 27654 bytes +2025-06-06 11:03:16,767 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1051 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26869 bytes +2025-06-06 11:03:16,767 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:16,767 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1051 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:16,810 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1052 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26806 bytes +2025-06-06 11:03:16,811 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:16,811 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1052 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:16,857 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1053 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26857 bytes +2025-06-06 11:03:16,857 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:16,857 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1053 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:16,897 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1054 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26814 bytes +2025-06-06 11:03:16,897 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:16,897 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1054 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:16,941 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1055 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26903 bytes +2025-06-06 11:03:16,941 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:16,941 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1055 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:16,987 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1056 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26919 bytes +2025-06-06 11:03:16,987 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:16,987 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1056 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:17,028 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1057 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26905 bytes +2025-06-06 11:03:17,028 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:17,028 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1057 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:17,073 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1058 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26991 bytes +2025-06-06 11:03:17,074 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:17,074 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1058 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:17,119 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1059 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27061 bytes +2025-06-06 11:03:17,119 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:17,119 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1059 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:17,156 - video.core - INFO - ๐Ÿ“น Frame #1060 from producer producer_1749200539754: size=27152 bytes, resolution=640x480 +2025-06-06 11:03:17,156 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1060 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27152 bytes +2025-06-06 11:03:17,157 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:17,157 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1060 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:17,197 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1061 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27217 bytes +2025-06-06 11:03:17,198 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:17,198 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1061 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:17,243 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1062 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27208 bytes +2025-06-06 11:03:17,243 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:17,243 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1062 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:17,290 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1063 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27283 bytes +2025-06-06 11:03:17,290 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:17,290 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1063 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:17,329 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1064 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27311 bytes +2025-06-06 11:03:17,329 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:17,329 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1064 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:17,375 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1065 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27205 bytes +2025-06-06 11:03:17,375 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:17,375 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1065 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:17,421 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1066 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27177 bytes +2025-06-06 11:03:17,421 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:17,421 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1066 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:17,459 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1067 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27113 bytes +2025-06-06 11:03:17,459 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:17,459 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1067 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:17,505 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1068 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27172 bytes +2025-06-06 11:03:17,505 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:17,505 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1068 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:17,554 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1069 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27144 bytes +2025-06-06 11:03:17,554 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:17,554 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1069 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:17,597 - video.core - INFO - ๐Ÿ“น Frame #1070 from producer producer_1749200539754: size=27230 bytes, resolution=640x480 +2025-06-06 11:03:17,597 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1070 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27230 bytes +2025-06-06 11:03:17,597 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:17,597 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1070 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:17,641 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1071 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27326 bytes +2025-06-06 11:03:17,641 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:17,641 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1071 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:17,683 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1072 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27354 bytes +2025-06-06 11:03:17,683 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:17,683 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1072 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:17,728 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1073 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27329 bytes +2025-06-06 11:03:17,728 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:17,728 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1073 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:17,769 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1074 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27363 bytes +2025-06-06 11:03:17,769 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:17,769 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1074 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:17,815 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1075 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27454 bytes +2025-06-06 11:03:17,816 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:17,816 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1075 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:17,857 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1076 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27487 bytes +2025-06-06 11:03:17,857 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:17,857 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1076 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:17,895 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1077 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27521 bytes +2025-06-06 11:03:17,895 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:17,895 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1077 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:17,942 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1078 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27887 bytes +2025-06-06 11:03:17,942 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:17,942 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1078 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:17,983 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1079 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27677 bytes +2025-06-06 11:03:17,983 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:17,983 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1079 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:18,026 - video.core - INFO - ๐Ÿ“น Frame #1080 from producer producer_1749200539754: size=27604 bytes, resolution=640x480 +2025-06-06 11:03:18,026 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1080 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27604 bytes +2025-06-06 11:03:18,026 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:18,026 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1080 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:18,026 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1080 frames processed, 22.1 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:18,026 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1080 frames, 18.0 FPS, 3.98 Mbps throughput, 27642 bytes avg frame size +2025-06-06 11:03:18,026 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200539754 stats: 1080 frames processed, FPS: 23.1, Throughput: 5.10 Mbps, Avg frame size: 27642 bytes +2025-06-06 11:03:18,069 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1081 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27563 bytes +2025-06-06 11:03:18,070 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:18,070 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1081 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:18,114 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1082 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27470 bytes +2025-06-06 11:03:18,114 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:18,114 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1082 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:18,157 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1083 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27717 bytes +2025-06-06 11:03:18,157 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:18,157 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1083 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:18,196 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1084 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27353 bytes +2025-06-06 11:03:18,196 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:18,196 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1084 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:18,244 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1085 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27025 bytes +2025-06-06 11:03:18,244 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:18,244 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1085 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:18,288 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1086 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26921 bytes +2025-06-06 11:03:18,288 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:18,288 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1086 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:18,332 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1087 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26772 bytes +2025-06-06 11:03:18,332 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:18,332 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1087 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:18,377 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1088 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26667 bytes +2025-06-06 11:03:18,377 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:18,377 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1088 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:18,425 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1089 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26649 bytes +2025-06-06 11:03:18,426 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:18,426 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1089 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:18,467 - video.core - INFO - ๐Ÿ“น Frame #1090 from producer producer_1749200539754: size=26780 bytes, resolution=640x480 +2025-06-06 11:03:18,468 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1090 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26780 bytes +2025-06-06 11:03:18,468 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:18,468 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1090 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:18,504 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1091 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26686 bytes +2025-06-06 11:03:18,504 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:18,504 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1091 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:18,542 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1092 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26691 bytes +2025-06-06 11:03:18,542 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:18,542 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1092 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:18,593 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1093 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26679 bytes +2025-06-06 11:03:18,593 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:18,593 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1093 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:18,631 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1094 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26651 bytes +2025-06-06 11:03:18,631 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:18,631 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1094 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:18,680 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1095 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26713 bytes +2025-06-06 11:03:18,681 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:18,681 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1095 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:18,721 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1096 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27335 bytes +2025-06-06 11:03:18,721 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:18,721 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1096 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:18,765 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1097 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27106 bytes +2025-06-06 11:03:18,765 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:18,765 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1097 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:18,810 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1098 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26854 bytes +2025-06-06 11:03:18,810 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:18,810 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1098 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:18,855 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1099 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26894 bytes +2025-06-06 11:03:18,855 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:18,855 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1099 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:18,899 - video.core - INFO - ๐Ÿ“น Frame #1100 from producer producer_1749200539754: size=27032 bytes, resolution=640x480 +2025-06-06 11:03:18,899 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1100 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27032 bytes +2025-06-06 11:03:18,899 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:18,899 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1100 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:18,942 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1101 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26957 bytes +2025-06-06 11:03:18,943 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:18,943 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1101 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:18,983 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1102 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26944 bytes +2025-06-06 11:03:18,983 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:18,983 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1102 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:19,031 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1103 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27022 bytes +2025-06-06 11:03:19,031 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:19,031 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1103 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:19,073 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1104 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27108 bytes +2025-06-06 11:03:19,074 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:19,074 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1104 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:19,114 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1105 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27095 bytes +2025-06-06 11:03:19,115 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:19,115 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1105 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:19,154 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1106 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27281 bytes +2025-06-06 11:03:19,154 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:19,154 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1106 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:19,191 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1107 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27391 bytes +2025-06-06 11:03:19,191 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:19,191 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1107 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:19,232 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1108 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27528 bytes +2025-06-06 11:03:19,233 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:19,233 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1108 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:19,280 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1109 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27469 bytes +2025-06-06 11:03:19,280 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:19,280 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1109 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:19,324 - video.core - INFO - ๐Ÿ“น Frame #1110 from producer producer_1749200539754: size=27449 bytes, resolution=640x480 +2025-06-06 11:03:19,324 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1110 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27449 bytes +2025-06-06 11:03:19,324 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:19,324 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1110 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:19,324 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1110 frames processed, 22.2 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:19,325 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1110 frames, 18.1 FPS, 4.00 Mbps throughput, 27626 bytes avg frame size +2025-06-06 11:03:19,325 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200539754 stats: 1110 frames processed, FPS: 23.1, Throughput: 5.10 Mbps, Avg frame size: 27626 bytes +2025-06-06 11:03:19,368 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1111 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27516 bytes +2025-06-06 11:03:19,368 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:19,368 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1111 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:19,407 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1112 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27571 bytes +2025-06-06 11:03:19,407 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:19,407 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1112 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:19,448 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1113 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27598 bytes +2025-06-06 11:03:19,448 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:19,448 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1113 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:19,491 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1114 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27407 bytes +2025-06-06 11:03:19,491 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:19,491 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1114 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:19,538 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1115 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27351 bytes +2025-06-06 11:03:19,538 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:19,538 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1115 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:19,578 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1116 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27151 bytes +2025-06-06 11:03:19,578 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:19,578 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1116 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:19,622 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1117 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27103 bytes +2025-06-06 11:03:19,622 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:19,622 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1117 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:19,664 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1118 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26940 bytes +2025-06-06 11:03:19,664 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:19,664 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1118 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:19,707 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1119 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26388 bytes +2025-06-06 11:03:19,707 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:19,707 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1119 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:19,784 - video.core - INFO - ๐Ÿ“น Frame #1120 from producer producer_1749200539754: size=26377 bytes, resolution=640x480 +2025-06-06 11:03:19,784 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1120 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26377 bytes +2025-06-06 11:03:19,784 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:19,784 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1120 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:19,801 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1121 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26647 bytes +2025-06-06 11:03:19,801 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:19,801 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1121 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:19,844 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1122 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26777 bytes +2025-06-06 11:03:19,846 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:19,846 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1122 to 1 consumers in 2.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:19,886 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1123 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26833 bytes +2025-06-06 11:03:19,887 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:19,887 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1123 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:19,921 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1124 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26877 bytes +2025-06-06 11:03:19,921 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:19,921 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1124 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:19,964 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1125 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26945 bytes +2025-06-06 11:03:19,964 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:19,964 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1125 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:20,013 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1126 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27103 bytes +2025-06-06 11:03:20,013 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:20,013 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1126 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:20,053 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1127 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27178 bytes +2025-06-06 11:03:20,053 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:20,053 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1127 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:20,102 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1128 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27228 bytes +2025-06-06 11:03:20,102 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:20,102 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1128 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:20,140 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1129 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27093 bytes +2025-06-06 11:03:20,141 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:20,141 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1129 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:20,180 - video.core - INFO - ๐Ÿ“น Frame #1130 from producer producer_1749200539754: size=27164 bytes, resolution=640x480 +2025-06-06 11:03:20,180 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1130 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27164 bytes +2025-06-06 11:03:20,180 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:20,180 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1130 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:20,223 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1131 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27164 bytes +2025-06-06 11:03:20,223 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:20,223 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1131 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:20,267 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1132 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27018 bytes +2025-06-06 11:03:20,267 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:20,267 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1132 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:20,310 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1133 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27035 bytes +2025-06-06 11:03:20,310 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:20,310 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1133 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:20,354 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1134 from producer producer_1749200539754 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26956 bytes +2025-06-06 11:03:20,354 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:20,354 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1134 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:03:20,374 - video.core - INFO - ๐ŸงŠ WebRTC producer_1749200539754 ICE state: closed +2025-06-06 11:03:20,374 - video.core - INFO - ๐Ÿ”— WebRTC producer_1749200539754 connection state: closed +2025-06-06 11:03:20,374 - video.core - ERROR - โŒ Error processing video track producer_1749200539754 after 1134 frames +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/video/core.py", line 272, in _process_incoming_video + frame = await track.recv() + ^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/aiortc/rtcrtpreceiver.py", line 209, in recv + raise MediaStreamError +aiortc.mediastreams.MediaStreamError +2025-06-06 11:03:20,375 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Cleaned up WebRTC connection for producer_1749200539754 +2025-06-06 11:03:20,375 - video.core - INFO - ๐ŸงŠ WebRTC consumer_1749200540033 ICE state: closed +2025-06-06 11:03:20,375 - video.core - INFO - ๐Ÿ”— WebRTC consumer_1749200540033 connection state: closed +2025-06-06 11:03:20,376 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Cleaned up WebRTC connection for consumer_1749200540033 +2025-06-06 11:03:20,376 - video.core - INFO - ๐Ÿ”— P2P Strategy initialized for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:03:20,376 - video.core - INFO - ๐Ÿ”— P2P: Producer producer_1749200539754 setup for P2P strategy +2025-06-06 11:03:20,376 - video.core - INFO - ๐Ÿ”— P2P: Consumer consumer_1749200540033 setup for P2P strategy +2025-06-06 11:03:20,376 - video.core - INFO - ๐Ÿ”„ Room 32fd74a9-26a0-4a29-89bf-6f020eccf65b strategy switched: server -> p2p (User requested via UI) +2025-06-06 11:05:04,461 - video.core - INFO - ๐ŸŽฅ Consumer consumer_1749200540033 left video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:05:04,461 - video.core - INFO - ๐ŸŽฅ Producer producer_1749200539754 left video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:05:04,462 - video.core - INFO - ๐Ÿ”— P2P: Cleaned up participant consumer_1749200540033 +2025-06-06 11:05:04,462 - video.core - INFO - ๐Ÿ”— P2P: Cleaned up participant producer_1749200539754 +2025-06-06 11:05:07,950 - video.core - INFO - ๐ŸŽฅ VideoCore initialized with dual communication strategies +2025-06-06 11:05:07,970 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-06 11:05:08,250 - video.core - INFO - ๐ŸŽฅ VideoCore initialized with dual communication strategies +2025-06-06 11:05:08,341 - watchfiles.main - INFO - 1 change detected +2025-06-06 11:05:17,477 - video.core - INFO - ๐Ÿ”— P2P Strategy initialized for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:05:17,478 - video.core - INFO - ๐ŸŽฅ Created video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b with p2p strategy +2025-06-06 11:05:21,889 - video.core - INFO - ๐ŸŽฅ Producer producer_1749200719303 joined video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:05:21,891 - video.core - INFO - ๐Ÿ”— P2P: Producer producer_1749200719303 setup for P2P strategy +2025-06-06 11:05:24,860 - video.core - INFO - ๐ŸŽฅ Stream started by producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:05:26,024 - video.core - INFO - ๐ŸŽฅ Consumer consumer_1749200721100 joined video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:05:26,025 - video.core - INFO - ๐Ÿ”— P2P: Consumer consumer_1749200721100 setup for P2P strategy +2025-06-06 11:05:26,055 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749200719303 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:05:26,055 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 11:05:26,056 - video.core - INFO - ๐Ÿ”— P2P Strategy: offer from producer_1749200719303 (role: producer) +2025-06-06 11:05:26,056 - video.core - INFO - ๐Ÿ”„ P2P: Forwarding offer from producer producer_1749200719303 to consumer consumer_1749200721100 +2025-06-06 11:05:26,059 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749200719303 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:05:26,059 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 11:05:26,059 - video.core - INFO - ๐Ÿ”— P2P Strategy: ice from producer_1749200719303 (role: producer) +2025-06-06 11:05:26,086 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749200721100 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:05:26,086 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 11:05:26,087 - video.core - INFO - ๐Ÿ”— P2P Strategy: answer from consumer_1749200721100 (role: consumer) +2025-06-06 11:05:26,087 - video.core - INFO - ๐Ÿ”„ P2P: Forwarding answer from consumer consumer_1749200721100 to producer producer_1749200719303 +2025-06-06 11:05:26,094 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749200719303 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:05:26,094 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 11:05:26,094 - video.core - INFO - ๐Ÿ”— P2P Strategy: ice from producer_1749200719303 (role: producer) +2025-06-06 11:05:26,095 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749200721100 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:05:26,095 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 11:05:26,095 - video.core - INFO - ๐Ÿ”— P2P Strategy: ice from consumer_1749200721100 (role: consumer) +2025-06-06 11:05:28,823 - video.core - INFO - ๐Ÿ”— P2P: Cleaned up participant producer_1749200719303 +2025-06-06 11:05:28,823 - video.core - INFO - ๐Ÿ”— P2P: Cleaned up participant consumer_1749200721100 +2025-06-06 11:05:28,823 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay Strategy initialized for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:05:28,823 - video.core - INFO - ๐Ÿš€ Server is now ready to relay video frames for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:05:28,831 - video.core - INFO - WebRTC connection producer_1749200719303 initialized +2025-06-06 11:05:28,831 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Created WebRTC connection for producer_1749200719303 +2025-06-06 11:05:28,831 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: producer producer_1749200719303 setup for server relay +2025-06-06 11:05:28,832 - video.core - INFO - WebRTC connection consumer_1749200721100 initialized +2025-06-06 11:05:28,832 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Created WebRTC connection for consumer_1749200721100 +2025-06-06 11:05:28,832 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: consumer consumer_1749200721100 setup for server relay +2025-06-06 11:05:28,832 - video.core - INFO - ๐Ÿ”„ Room 32fd74a9-26a0-4a29-89bf-6f020eccf65b strategy switched: p2p -> server (User requested via UI) +2025-06-06 11:05:29,021 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749200721100 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:05:29,021 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 11:05:29,022 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: offer from consumer_1749200721100 (role: consumer) +2025-06-06 11:05:29,022 - video.core - INFO - ๐Ÿค Processing WebRTC offer from consumer consumer_1749200721100 +2025-06-06 11:05:29,022 - video.core - INFO - ๐Ÿ”ง Processing SDP offer from consumer_1749200721100 (length: 6127 chars) +2025-06-06 11:05:29,030 - video.core - INFO - VideoFrameTrack created with recovery policy: freeze_last_frame +2025-06-06 11:05:29,030 - video.core - INFO - ๐Ÿ–ฅ๏ธ WebRTC consumer_1749200721100 set as CONSUMER (explicit role) - video track added +2025-06-06 11:05:29,033 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749200721100 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:05:29,033 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 11:05:29,033 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: ice from consumer_1749200721100 (role: consumer) +2025-06-06 11:05:29,048 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749200721100 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:05:29,049 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 11:05:29,049 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: ice from consumer_1749200721100 (role: consumer) +2025-06-06 11:05:29,077 - video.core - INFO - โœ… Generated WebRTC answer for consumer_1749200721100 (length: 1977 chars) +2025-06-06 11:05:29,077 - video.core - INFO - โœ… Generated WebRTC answer for consumer_1749200721100 (length: 1977 chars) +2025-06-06 11:05:29,078 - video.core - INFO - ๐ŸงŠ WebRTC consumer_1749200721100 ICE state: checking +2025-06-06 11:05:29,079 - video.core - INFO - ๐Ÿ”— WebRTC consumer_1749200721100 connection state: connecting +2025-06-06 11:05:29,079 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 54043) -> ('192.168.1.83', 52959)) State.FROZEN -> State.WAITING +2025-06-06 11:05:29,079 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 54043) -> ('82.66.87.218', 52959)) State.FROZEN -> State.WAITING +2025-06-06 11:05:29,079 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 54043) -> ('192.168.1.83', 52959)) State.WAITING -> State.IN_PROGRESS +2025-06-06 11:05:29,082 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 54043) -> ('192.168.1.83', 52959)) State.IN_PROGRESS -> State.SUCCEEDED +2025-06-06 11:05:29,083 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 54043) -> ('82.66.87.218', 52959)) State.WAITING -> State.FAILED +2025-06-06 11:05:29,083 - aioice.ice - INFO - Connection(0) ICE completed +2025-06-06 11:05:29,100 - video.core - INFO - ๐ŸงŠ WebRTC consumer_1749200721100 ICE state: completed +2025-06-06 11:05:29,109 - video.core - INFO - ๐Ÿ”— WebRTC consumer_1749200721100 connection state: connected +2025-06-06 11:05:29,109 - video.core - INFO - ๐Ÿ“บ Consumer consumer_1749200721100 WebRTC connection established - ready to send frames +2025-06-06 11:05:29,214 - aiortc.rtcrtpsender - WARNING - RTCRtpsender(video) Traceback (most recent call last): + File "/Users/julienblanchon/.local/share/uv/python/cpython-3.12.0-macos-aarch64-none/lib/python3.12/asyncio/tasks.py", line 510, in wait_for + return await fut + ^^^^^^^^^ + File "/Users/julienblanchon/.local/share/uv/python/cpython-3.12.0-macos-aarch64-none/lib/python3.12/asyncio/queues.py", line 158, in get + await getter +asyncio.exceptions.CancelledError + +The above exception was the direct cause of the following exception: + +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/video/core.py", line 69, in recv + frame_data = await asyncio.wait_for(self.frame_queue.get(), timeout=0.1) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/.local/share/uv/python/cpython-3.12.0-macos-aarch64-none/lib/python3.12/asyncio/tasks.py", line 509, in wait_for + async with timeouts.timeout(timeout): + File "/Users/julienblanchon/.local/share/uv/python/cpython-3.12.0-macos-aarch64-none/lib/python3.12/asyncio/timeouts.py", line 111, in __aexit__ + raise TimeoutError from exc_val +TimeoutError + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/aiortc/rtcrtpsender.py", line 367, in _run_rtp + enc_frame = await self._next_encoded_frame(codec) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/aiortc/rtcrtpsender.py", line 294, in _next_encoded_frame + data = await self.__track.recv() + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/video/core.py", line 100, in recv + frame = self._create_recovery_frame(current_time) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/video/core.py", line 136, in _create_recovery_frame + recovery_frame = self._apply_recovery_policy(policy) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/video/core.py", line 148, in _apply_recovery_policy + recovery_frame = apply_recovery_policy( + ^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/video/utils.py", line 178, in apply_recovery_policy + if policy == RecoveryPolicy.BLACK_FRAME: + ^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: type object 'RecoveryPolicy' has no attribute 'BLACK_FRAME' + +2025-06-06 11:05:30,190 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749200719303 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:05:30,190 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 11:05:30,190 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: offer from producer_1749200719303 (role: producer) +2025-06-06 11:05:30,190 - video.core - INFO - ๐Ÿค Processing WebRTC offer from producer producer_1749200719303 +2025-06-06 11:05:30,190 - video.core - INFO - ๐Ÿ”ง Processing SDP offer from producer_1749200719303 (length: 4741 chars) +2025-06-06 11:05:30,197 - video.core - INFO - WebRTC producer_1749200719303 received track: video +2025-06-06 11:05:30,198 - video.core - INFO - WebRTC producer_1749200719303 is now a PRODUCER +2025-06-06 11:05:30,200 - video.core - INFO - ๐Ÿ–ฅ๏ธ WebRTC producer_1749200719303 set as PRODUCER (explicit role) +2025-06-06 11:05:30,200 - video.core - INFO - ๐Ÿ“น Starting video frame processing for producer producer_1749200719303 +2025-06-06 11:05:30,203 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749200719303 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:05:30,203 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 11:05:30,203 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: ice from producer_1749200719303 (role: producer) +2025-06-06 11:05:30,223 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749200719303 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:05:30,223 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 11:05:30,223 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: ice from producer_1749200719303 (role: producer) +2025-06-06 11:05:30,235 - video.core - INFO - โœ… Generated WebRTC answer for producer_1749200719303 (length: 1977 chars) +2025-06-06 11:05:30,236 - video.core - INFO - โœ… Generated WebRTC answer for producer_1749200719303 (length: 1977 chars) +2025-06-06 11:05:30,236 - video.core - INFO - ๐ŸงŠ WebRTC producer_1749200719303 ICE state: checking +2025-06-06 11:05:30,236 - video.core - INFO - ๐Ÿ”— WebRTC producer_1749200719303 connection state: connecting +2025-06-06 11:05:30,236 - aioice.ice - INFO - Connection(1) Check CandidatePair(('192.168.1.83', 62922) -> ('192.168.1.83', 64579)) State.FROZEN -> State.WAITING +2025-06-06 11:05:30,236 - aioice.ice - INFO - Connection(1) Check CandidatePair(('192.168.1.83', 62922) -> ('82.66.87.218', 64579)) State.FROZEN -> State.WAITING +2025-06-06 11:05:30,236 - aioice.ice - INFO - Connection(1) Check CandidatePair(('192.168.1.83', 62922) -> ('192.168.1.83', 64579)) State.WAITING -> State.IN_PROGRESS +2025-06-06 11:05:30,255 - aioice.ice - INFO - Connection(1) Check CandidatePair(('192.168.1.83', 62922) -> ('192.168.1.83', 64579)) State.IN_PROGRESS -> State.SUCCEEDED +2025-06-06 11:05:30,256 - aioice.ice - INFO - Connection(1) Check CandidatePair(('192.168.1.83', 62922) -> ('82.66.87.218', 64579)) State.WAITING -> State.FAILED +2025-06-06 11:05:30,256 - aioice.ice - INFO - Connection(1) ICE completed +2025-06-06 11:05:30,256 - video.core - INFO - ๐ŸงŠ WebRTC producer_1749200719303 ICE state: completed +2025-06-06 11:05:30,260 - video.core - INFO - ๐Ÿ”— WebRTC producer_1749200719303 connection state: connected +2025-06-06 11:05:30,260 - video.core - INFO - ๐ŸŽฌ Producer producer_1749200719303 WebRTC connection established - ready to receive frames +2025-06-06 11:05:30,353 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 21685 bytes +2025-06-06 11:05:30,353 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:30,353 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:30,393 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 22446 bytes +2025-06-06 11:05:30,393 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:30,393 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:30,435 - video.core - INFO - ๐Ÿ“ฅ Server received frame #3 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 22715 bytes +2025-06-06 11:05:30,436 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:30,436 - video.core - INFO - ๐Ÿ“ค Server relayed frame #3 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:30,472 - video.core - INFO - ๐Ÿ“ฅ Server received frame #4 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 23196 bytes +2025-06-06 11:05:30,472 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:30,472 - video.core - INFO - ๐Ÿ“ค Server relayed frame #4 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:30,512 - video.core - INFO - ๐Ÿ“ฅ Server received frame #5 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 23295 bytes +2025-06-06 11:05:30,512 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:30,512 - video.core - INFO - ๐Ÿ“ค Server relayed frame #5 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:30,554 - video.core - INFO - ๐Ÿ“ฅ Server received frame #6 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 23538 bytes +2025-06-06 11:05:30,554 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:30,554 - video.core - INFO - ๐Ÿ“ค Server relayed frame #6 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:30,594 - video.core - INFO - ๐Ÿ“ฅ Server received frame #7 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 23682 bytes +2025-06-06 11:05:30,594 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:30,594 - video.core - INFO - ๐Ÿ“ค Server relayed frame #7 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:30,638 - video.core - INFO - ๐Ÿ“ฅ Server received frame #8 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 23912 bytes +2025-06-06 11:05:30,639 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:30,639 - video.core - INFO - ๐Ÿ“ค Server relayed frame #8 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:30,684 - video.core - INFO - ๐Ÿ“ฅ Server received frame #9 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 24069 bytes +2025-06-06 11:05:30,685 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:30,685 - video.core - INFO - ๐Ÿ“ค Server relayed frame #9 to 1 consumers in 1.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:30,722 - video.core - INFO - ๐Ÿ“น Frame #10 from producer producer_1749200719303: size=24181 bytes, resolution=640x480 +2025-06-06 11:05:30,722 - video.core - INFO - ๐Ÿ“ฅ Server received frame #10 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 24181 bytes +2025-06-06 11:05:30,722 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:30,722 - video.core - INFO - ๐Ÿ“ค Server relayed frame #10 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:30,766 - video.core - INFO - ๐Ÿ“ฅ Server received frame #11 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 24281 bytes +2025-06-06 11:05:30,766 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:30,766 - video.core - INFO - ๐Ÿ“ค Server relayed frame #11 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:30,818 - video.core - INFO - ๐Ÿ“ฅ Server received frame #12 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 24438 bytes +2025-06-06 11:05:30,818 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:30,818 - video.core - INFO - ๐Ÿ“ค Server relayed frame #12 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:30,861 - video.core - INFO - ๐Ÿ“ฅ Server received frame #13 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 24490 bytes +2025-06-06 11:05:30,861 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:30,861 - video.core - INFO - ๐Ÿ“ค Server relayed frame #13 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:30,903 - video.core - INFO - ๐Ÿ“ฅ Server received frame #14 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 24712 bytes +2025-06-06 11:05:30,903 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:30,903 - video.core - INFO - ๐Ÿ“ค Server relayed frame #14 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:30,947 - video.core - INFO - ๐Ÿ“ฅ Server received frame #15 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 24873 bytes +2025-06-06 11:05:30,947 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:30,947 - video.core - INFO - ๐Ÿ“ค Server relayed frame #15 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:30,992 - video.core - INFO - ๐Ÿ“ฅ Server received frame #16 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 25054 bytes +2025-06-06 11:05:30,993 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:30,993 - video.core - INFO - ๐Ÿ“ค Server relayed frame #16 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:31,042 - video.core - INFO - ๐Ÿ“ฅ Server received frame #17 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26123 bytes +2025-06-06 11:05:31,043 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:31,043 - video.core - INFO - ๐Ÿ“ค Server relayed frame #17 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:31,086 - video.core - INFO - ๐Ÿ“ฅ Server received frame #18 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26234 bytes +2025-06-06 11:05:31,087 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:31,087 - video.core - INFO - ๐Ÿ“ค Server relayed frame #18 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:31,129 - video.core - INFO - ๐Ÿ“ฅ Server received frame #19 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26283 bytes +2025-06-06 11:05:31,129 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:31,129 - video.core - INFO - ๐Ÿ“ค Server relayed frame #19 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:31,168 - video.core - INFO - ๐Ÿ“น Frame #20 from producer producer_1749200719303: size=26182 bytes, resolution=640x480 +2025-06-06 11:05:31,168 - video.core - INFO - ๐Ÿ“ฅ Server received frame #20 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26182 bytes +2025-06-06 11:05:31,168 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:31,168 - video.core - INFO - ๐Ÿ“ค Server relayed frame #20 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:31,212 - video.core - INFO - ๐Ÿ“ฅ Server received frame #21 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26256 bytes +2025-06-06 11:05:31,213 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:31,213 - video.core - INFO - ๐Ÿ“ค Server relayed frame #21 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:31,251 - video.core - INFO - ๐Ÿ“ฅ Server received frame #22 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26381 bytes +2025-06-06 11:05:31,251 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:31,251 - video.core - INFO - ๐Ÿ“ค Server relayed frame #22 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:31,302 - video.core - INFO - ๐Ÿ“ฅ Server received frame #23 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26467 bytes +2025-06-06 11:05:31,302 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:31,302 - video.core - INFO - ๐Ÿ“ค Server relayed frame #23 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:31,346 - video.core - INFO - ๐Ÿ“ฅ Server received frame #24 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26467 bytes +2025-06-06 11:05:31,346 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:31,346 - video.core - INFO - ๐Ÿ“ค Server relayed frame #24 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:31,381 - video.core - INFO - ๐Ÿ“ฅ Server received frame #25 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26327 bytes +2025-06-06 11:05:31,381 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:31,382 - video.core - INFO - ๐Ÿ“ค Server relayed frame #25 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:31,427 - video.core - INFO - ๐Ÿ“ฅ Server received frame #26 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26292 bytes +2025-06-06 11:05:31,427 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:31,427 - video.core - INFO - ๐Ÿ“ค Server relayed frame #26 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:31,474 - video.core - INFO - ๐Ÿ“ฅ Server received frame #27 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26354 bytes +2025-06-06 11:05:31,474 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:31,475 - video.core - INFO - ๐Ÿ“ค Server relayed frame #27 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:31,520 - video.core - INFO - ๐Ÿ“ฅ Server received frame #28 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26292 bytes +2025-06-06 11:05:31,521 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:31,521 - video.core - INFO - ๐Ÿ“ค Server relayed frame #28 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:31,559 - video.core - INFO - ๐Ÿ“ฅ Server received frame #29 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26313 bytes +2025-06-06 11:05:31,559 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:31,559 - video.core - INFO - ๐Ÿ“ค Server relayed frame #29 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:31,591 - video.core - INFO - ๐Ÿ“น Frame #30 from producer producer_1749200719303: size=26346 bytes, resolution=640x480 +2025-06-06 11:05:31,591 - video.core - INFO - ๐Ÿ“ฅ Server received frame #30 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26346 bytes +2025-06-06 11:05:31,591 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:31,591 - video.core - INFO - ๐Ÿ“ค Server relayed frame #30 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:31,591 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 30 frames processed, 10.8 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:31,591 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 30 frames, 2.1 FPS, 0.42 Mbps throughput, 24962 bytes avg frame size +2025-06-06 11:05:31,591 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 30 frames processed, FPS: 21.6, Throughput: 4.32 Mbps, Avg frame size: 24962 bytes +2025-06-06 11:05:31,641 - video.core - INFO - ๐Ÿ“ฅ Server received frame #31 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26392 bytes +2025-06-06 11:05:31,642 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:31,642 - video.core - INFO - ๐Ÿ“ค Server relayed frame #31 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:31,677 - video.core - INFO - ๐Ÿ“ฅ Server received frame #32 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26564 bytes +2025-06-06 11:05:31,677 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:31,677 - video.core - INFO - ๐Ÿ“ค Server relayed frame #32 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:31,719 - video.core - INFO - ๐Ÿ“ฅ Server received frame #33 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26627 bytes +2025-06-06 11:05:31,719 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:31,719 - video.core - INFO - ๐Ÿ“ค Server relayed frame #33 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:31,772 - video.core - INFO - ๐Ÿ“ฅ Server received frame #34 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26724 bytes +2025-06-06 11:05:31,772 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:31,772 - video.core - INFO - ๐Ÿ“ค Server relayed frame #34 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:31,808 - video.core - INFO - ๐Ÿ“ฅ Server received frame #35 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26849 bytes +2025-06-06 11:05:31,808 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:31,808 - video.core - INFO - ๐Ÿ“ค Server relayed frame #35 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:31,852 - video.core - INFO - ๐Ÿ“ฅ Server received frame #36 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26973 bytes +2025-06-06 11:05:31,852 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:31,852 - video.core - INFO - ๐Ÿ“ค Server relayed frame #36 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:31,909 - video.core - INFO - ๐Ÿ“ฅ Server received frame #37 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27144 bytes +2025-06-06 11:05:31,910 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:31,910 - video.core - INFO - ๐Ÿ“ค Server relayed frame #37 to 1 consumers in 0.7ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:31,940 - video.core - INFO - ๐Ÿ“ฅ Server received frame #38 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27191 bytes +2025-06-06 11:05:31,940 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:31,940 - video.core - INFO - ๐Ÿ“ค Server relayed frame #38 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:31,992 - video.core - INFO - ๐Ÿ“ฅ Server received frame #39 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27091 bytes +2025-06-06 11:05:31,992 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:31,992 - video.core - INFO - ๐Ÿ“ค Server relayed frame #39 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:32,036 - video.core - INFO - ๐Ÿ“น Frame #40 from producer producer_1749200719303: size=26981 bytes, resolution=640x480 +2025-06-06 11:05:32,037 - video.core - INFO - ๐Ÿ“ฅ Server received frame #40 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26981 bytes +2025-06-06 11:05:32,037 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:32,037 - video.core - INFO - ๐Ÿ“ค Server relayed frame #40 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:32,081 - video.core - INFO - ๐Ÿ“ฅ Server received frame #41 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26894 bytes +2025-06-06 11:05:32,081 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:32,081 - video.core - INFO - ๐Ÿ“ค Server relayed frame #41 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:32,127 - video.core - INFO - ๐Ÿ“ฅ Server received frame #42 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26905 bytes +2025-06-06 11:05:32,127 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:32,127 - video.core - INFO - ๐Ÿ“ค Server relayed frame #42 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:32,171 - video.core - INFO - ๐Ÿ“ฅ Server received frame #43 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26885 bytes +2025-06-06 11:05:32,171 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:32,171 - video.core - INFO - ๐Ÿ“ค Server relayed frame #43 to 1 consumers in 0.9ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:32,214 - video.core - INFO - ๐Ÿ“ฅ Server received frame #44 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26815 bytes +2025-06-06 11:05:32,215 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:32,215 - video.core - INFO - ๐Ÿ“ค Server relayed frame #44 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:32,254 - video.core - INFO - ๐Ÿ“ฅ Server received frame #45 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26902 bytes +2025-06-06 11:05:32,254 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:32,254 - video.core - INFO - ๐Ÿ“ค Server relayed frame #45 to 1 consumers in 0.8ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:32,299 - video.core - INFO - ๐Ÿ“ฅ Server received frame #46 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27164 bytes +2025-06-06 11:05:32,299 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:32,299 - video.core - INFO - ๐Ÿ“ค Server relayed frame #46 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:32,339 - video.core - INFO - ๐Ÿ“ฅ Server received frame #47 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27090 bytes +2025-06-06 11:05:32,339 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:32,339 - video.core - INFO - ๐Ÿ“ค Server relayed frame #47 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:32,385 - video.core - INFO - ๐Ÿ“ฅ Server received frame #48 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27139 bytes +2025-06-06 11:05:32,386 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:32,386 - video.core - INFO - ๐Ÿ“ค Server relayed frame #48 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:32,425 - video.core - INFO - ๐Ÿ“ฅ Server received frame #49 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27142 bytes +2025-06-06 11:05:32,425 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:32,426 - video.core - INFO - ๐Ÿ“ค Server relayed frame #49 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:32,470 - video.core - INFO - ๐Ÿ“น Frame #50 from producer producer_1749200719303: size=27034 bytes, resolution=640x480 +2025-06-06 11:05:32,470 - video.core - INFO - ๐Ÿ“ฅ Server received frame #50 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27034 bytes +2025-06-06 11:05:32,470 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:32,470 - video.core - INFO - ๐Ÿ“ค Server relayed frame #50 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:32,515 - video.core - INFO - ๐Ÿ“ฅ Server received frame #51 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27042 bytes +2025-06-06 11:05:32,515 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:32,515 - video.core - INFO - ๐Ÿ“ค Server relayed frame #51 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:32,556 - video.core - INFO - ๐Ÿ“ฅ Server received frame #52 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27091 bytes +2025-06-06 11:05:32,556 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:32,556 - video.core - INFO - ๐Ÿ“ค Server relayed frame #52 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:32,600 - video.core - INFO - ๐Ÿ“ฅ Server received frame #53 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27226 bytes +2025-06-06 11:05:32,600 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:32,600 - video.core - INFO - ๐Ÿ“ค Server relayed frame #53 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:32,645 - video.core - INFO - ๐Ÿ“ฅ Server received frame #54 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27319 bytes +2025-06-06 11:05:32,646 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:32,646 - video.core - INFO - ๐Ÿ“ค Server relayed frame #54 to 1 consumers in 0.8ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:32,679 - video.core - INFO - ๐Ÿ“ฅ Server received frame #55 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27216 bytes +2025-06-06 11:05:32,679 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:32,679 - video.core - INFO - ๐Ÿ“ค Server relayed frame #55 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:32,733 - video.core - INFO - ๐Ÿ“ฅ Server received frame #56 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27036 bytes +2025-06-06 11:05:32,733 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:32,733 - video.core - INFO - ๐Ÿ“ค Server relayed frame #56 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:32,762 - video.core - INFO - ๐Ÿ“ฅ Server received frame #57 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26941 bytes +2025-06-06 11:05:32,762 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:32,762 - video.core - INFO - ๐Ÿ“ค Server relayed frame #57 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:32,799 - video.core - INFO - ๐Ÿ“ฅ Server received frame #58 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26925 bytes +2025-06-06 11:05:32,799 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:32,799 - video.core - INFO - ๐Ÿ“ค Server relayed frame #58 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:32,843 - video.core - INFO - ๐Ÿ“ฅ Server received frame #59 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26831 bytes +2025-06-06 11:05:32,844 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:32,844 - video.core - INFO - ๐Ÿ“ค Server relayed frame #59 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:32,892 - video.core - INFO - ๐Ÿ“น Frame #60 from producer producer_1749200719303: size=26925 bytes, resolution=640x480 +2025-06-06 11:05:32,892 - video.core - INFO - ๐Ÿ“ฅ Server received frame #60 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26925 bytes +2025-06-06 11:05:32,892 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:32,892 - video.core - INFO - ๐Ÿ“ค Server relayed frame #60 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:32,892 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 60 frames processed, 14.7 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:32,892 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 60 frames, 3.9 FPS, 0.81 Mbps throughput, 25965 bytes avg frame size +2025-06-06 11:05:32,892 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 60 frames processed, FPS: 22.3, Throughput: 4.63 Mbps, Avg frame size: 25965 bytes +2025-06-06 11:05:32,933 - video.core - INFO - ๐Ÿ“ฅ Server received frame #61 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26819 bytes +2025-06-06 11:05:32,933 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:32,933 - video.core - INFO - ๐Ÿ“ค Server relayed frame #61 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:32,981 - video.core - INFO - ๐Ÿ“ฅ Server received frame #62 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26776 bytes +2025-06-06 11:05:32,981 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:32,981 - video.core - INFO - ๐Ÿ“ค Server relayed frame #62 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:33,022 - video.core - INFO - ๐Ÿ“ฅ Server received frame #63 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26751 bytes +2025-06-06 11:05:33,022 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:33,022 - video.core - INFO - ๐Ÿ“ค Server relayed frame #63 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:33,064 - video.core - INFO - ๐Ÿ“ฅ Server received frame #64 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26744 bytes +2025-06-06 11:05:33,064 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:33,064 - video.core - INFO - ๐Ÿ“ค Server relayed frame #64 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:33,111 - video.core - INFO - ๐Ÿ“ฅ Server received frame #65 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26839 bytes +2025-06-06 11:05:33,111 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:33,111 - video.core - INFO - ๐Ÿ“ค Server relayed frame #65 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:33,152 - video.core - INFO - ๐Ÿ“ฅ Server received frame #66 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26907 bytes +2025-06-06 11:05:33,152 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:33,152 - video.core - INFO - ๐Ÿ“ค Server relayed frame #66 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:33,197 - video.core - INFO - ๐Ÿ“ฅ Server received frame #67 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26891 bytes +2025-06-06 11:05:33,197 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:33,197 - video.core - INFO - ๐Ÿ“ค Server relayed frame #67 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:33,240 - video.core - INFO - ๐Ÿ“ฅ Server received frame #68 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26900 bytes +2025-06-06 11:05:33,240 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:33,240 - video.core - INFO - ๐Ÿ“ค Server relayed frame #68 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:33,285 - video.core - INFO - ๐Ÿ“ฅ Server received frame #69 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26945 bytes +2025-06-06 11:05:33,286 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:33,286 - video.core - INFO - ๐Ÿ“ค Server relayed frame #69 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:33,327 - video.core - INFO - ๐Ÿ“น Frame #70 from producer producer_1749200719303: size=26890 bytes, resolution=640x480 +2025-06-06 11:05:33,328 - video.core - INFO - ๐Ÿ“ฅ Server received frame #70 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26890 bytes +2025-06-06 11:05:33,328 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:33,328 - video.core - INFO - ๐Ÿ“ค Server relayed frame #70 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:33,374 - video.core - INFO - ๐Ÿ“ฅ Server received frame #71 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26907 bytes +2025-06-06 11:05:33,374 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:33,374 - video.core - INFO - ๐Ÿ“ค Server relayed frame #71 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:33,412 - video.core - INFO - ๐Ÿ“ฅ Server received frame #72 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26873 bytes +2025-06-06 11:05:33,412 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:33,412 - video.core - INFO - ๐Ÿ“ค Server relayed frame #72 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:33,457 - video.core - INFO - ๐Ÿ“ฅ Server received frame #73 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26726 bytes +2025-06-06 11:05:33,457 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:33,457 - video.core - INFO - ๐Ÿ“ค Server relayed frame #73 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:33,497 - video.core - INFO - ๐Ÿ“ฅ Server received frame #74 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26764 bytes +2025-06-06 11:05:33,497 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:33,497 - video.core - INFO - ๐Ÿ“ค Server relayed frame #74 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:33,540 - video.core - INFO - ๐Ÿ“ฅ Server received frame #75 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26790 bytes +2025-06-06 11:05:33,540 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:33,540 - video.core - INFO - ๐Ÿ“ค Server relayed frame #75 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:33,585 - video.core - INFO - ๐Ÿ“ฅ Server received frame #76 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26937 bytes +2025-06-06 11:05:33,585 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:33,585 - video.core - INFO - ๐Ÿ“ค Server relayed frame #76 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:33,627 - video.core - INFO - ๐Ÿ“ฅ Server received frame #77 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27043 bytes +2025-06-06 11:05:33,627 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:33,627 - video.core - INFO - ๐Ÿ“ค Server relayed frame #77 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:33,670 - video.core - INFO - ๐Ÿ“ฅ Server received frame #78 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27029 bytes +2025-06-06 11:05:33,670 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:33,670 - video.core - INFO - ๐Ÿ“ค Server relayed frame #78 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:33,708 - video.core - INFO - ๐Ÿ“ฅ Server received frame #79 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27044 bytes +2025-06-06 11:05:33,709 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:33,709 - video.core - INFO - ๐Ÿ“ค Server relayed frame #79 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:33,752 - video.core - INFO - ๐Ÿ“น Frame #80 from producer producer_1749200719303: size=27057 bytes, resolution=640x480 +2025-06-06 11:05:33,752 - video.core - INFO - ๐Ÿ“ฅ Server received frame #80 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27057 bytes +2025-06-06 11:05:33,752 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:33,752 - video.core - INFO - ๐Ÿ“ค Server relayed frame #80 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:33,799 - video.core - INFO - ๐Ÿ“ฅ Server received frame #81 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27204 bytes +2025-06-06 11:05:33,799 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:33,799 - video.core - INFO - ๐Ÿ“ค Server relayed frame #81 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:33,845 - video.core - INFO - ๐Ÿ“ฅ Server received frame #82 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27317 bytes +2025-06-06 11:05:33,847 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:33,847 - video.core - INFO - ๐Ÿ“ค Server relayed frame #82 to 1 consumers in 1.7ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:33,884 - video.core - INFO - ๐Ÿ“ฅ Server received frame #83 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27264 bytes +2025-06-06 11:05:33,884 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:33,884 - video.core - INFO - ๐Ÿ“ค Server relayed frame #83 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:33,931 - video.core - INFO - ๐Ÿ“ฅ Server received frame #84 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27291 bytes +2025-06-06 11:05:33,931 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:33,931 - video.core - INFO - ๐Ÿ“ค Server relayed frame #84 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:33,972 - video.core - INFO - ๐Ÿ“ฅ Server received frame #85 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27389 bytes +2025-06-06 11:05:33,973 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:33,973 - video.core - INFO - ๐Ÿ“ค Server relayed frame #85 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:34,018 - video.core - INFO - ๐Ÿ“ฅ Server received frame #86 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27405 bytes +2025-06-06 11:05:34,018 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:34,018 - video.core - INFO - ๐Ÿ“ค Server relayed frame #86 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:34,063 - video.core - INFO - ๐Ÿ“ฅ Server received frame #87 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27385 bytes +2025-06-06 11:05:34,063 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:34,063 - video.core - INFO - ๐Ÿ“ค Server relayed frame #87 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:34,107 - video.core - INFO - ๐Ÿ“ฅ Server received frame #88 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27269 bytes +2025-06-06 11:05:34,108 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:34,108 - video.core - INFO - ๐Ÿ“ค Server relayed frame #88 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:34,148 - video.core - INFO - ๐Ÿ“ฅ Server received frame #89 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27158 bytes +2025-06-06 11:05:34,148 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:34,148 - video.core - INFO - ๐Ÿ“ค Server relayed frame #89 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:34,194 - video.core - INFO - ๐Ÿ“น Frame #90 from producer producer_1749200719303: size=27104 bytes, resolution=640x480 +2025-06-06 11:05:34,195 - video.core - INFO - ๐Ÿ“ฅ Server received frame #90 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27104 bytes +2025-06-06 11:05:34,195 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:34,195 - video.core - INFO - ๐Ÿ“ค Server relayed frame #90 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:34,195 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 90 frames processed, 16.8 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:34,195 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 90 frames, 5.4 FPS, 1.13 Mbps throughput, 26315 bytes avg frame size +2025-06-06 11:05:34,195 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 90 frames processed, FPS: 22.5, Throughput: 4.75 Mbps, Avg frame size: 26315 bytes +2025-06-06 11:05:34,236 - video.core - INFO - ๐Ÿ“ฅ Server received frame #91 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27138 bytes +2025-06-06 11:05:34,236 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:34,236 - video.core - INFO - ๐Ÿ“ค Server relayed frame #91 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:34,275 - video.core - INFO - ๐Ÿ“ฅ Server received frame #92 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27160 bytes +2025-06-06 11:05:34,275 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:34,275 - video.core - INFO - ๐Ÿ“ค Server relayed frame #92 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:34,317 - video.core - INFO - ๐Ÿ“ฅ Server received frame #93 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27191 bytes +2025-06-06 11:05:34,317 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:34,318 - video.core - INFO - ๐Ÿ“ค Server relayed frame #93 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:34,363 - video.core - INFO - ๐Ÿ“ฅ Server received frame #94 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27027 bytes +2025-06-06 11:05:34,363 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:34,363 - video.core - INFO - ๐Ÿ“ค Server relayed frame #94 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:34,408 - video.core - INFO - ๐Ÿ“ฅ Server received frame #95 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26774 bytes +2025-06-06 11:05:34,408 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:34,408 - video.core - INFO - ๐Ÿ“ค Server relayed frame #95 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:34,448 - video.core - INFO - ๐Ÿ“ฅ Server received frame #96 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26525 bytes +2025-06-06 11:05:34,448 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:34,448 - video.core - INFO - ๐Ÿ“ค Server relayed frame #96 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:34,493 - video.core - INFO - ๐Ÿ“ฅ Server received frame #97 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26560 bytes +2025-06-06 11:05:34,493 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:34,493 - video.core - INFO - ๐Ÿ“ค Server relayed frame #97 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:34,540 - video.core - INFO - ๐Ÿ“ฅ Server received frame #98 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26476 bytes +2025-06-06 11:05:34,540 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:34,540 - video.core - INFO - ๐Ÿ“ค Server relayed frame #98 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:34,582 - video.core - INFO - ๐Ÿ“ฅ Server received frame #99 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26316 bytes +2025-06-06 11:05:34,582 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:34,582 - video.core - INFO - ๐Ÿ“ค Server relayed frame #99 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:34,625 - video.core - INFO - ๐Ÿ“น Frame #100 from producer producer_1749200719303: size=25994 bytes, resolution=640x480 +2025-06-06 11:05:34,626 - video.core - INFO - ๐Ÿ“ฅ Server received frame #100 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 25994 bytes +2025-06-06 11:05:34,626 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:34,626 - video.core - INFO - ๐Ÿ“ค Server relayed frame #100 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:34,664 - video.core - INFO - ๐Ÿ“ฅ Server received frame #101 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26040 bytes +2025-06-06 11:05:34,664 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:34,665 - video.core - INFO - ๐Ÿ“ค Server relayed frame #101 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:34,705 - video.core - INFO - ๐Ÿ“ฅ Server received frame #102 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26129 bytes +2025-06-06 11:05:34,705 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:34,705 - video.core - INFO - ๐Ÿ“ค Server relayed frame #102 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:34,750 - video.core - INFO - ๐Ÿ“ฅ Server received frame #103 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26054 bytes +2025-06-06 11:05:34,750 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:34,750 - video.core - INFO - ๐Ÿ“ค Server relayed frame #103 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:34,799 - video.core - INFO - ๐Ÿ“ฅ Server received frame #104 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 25694 bytes +2025-06-06 11:05:34,799 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:34,799 - video.core - INFO - ๐Ÿ“ค Server relayed frame #104 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:34,838 - video.core - INFO - ๐Ÿ“ฅ Server received frame #105 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 25550 bytes +2025-06-06 11:05:34,838 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:34,838 - video.core - INFO - ๐Ÿ“ค Server relayed frame #105 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:34,882 - video.core - INFO - ๐Ÿ“ฅ Server received frame #106 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 24846 bytes +2025-06-06 11:05:34,882 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:34,882 - video.core - INFO - ๐Ÿ“ค Server relayed frame #106 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:34,924 - video.core - INFO - ๐Ÿ“ฅ Server received frame #107 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 24615 bytes +2025-06-06 11:05:34,924 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:34,924 - video.core - INFO - ๐Ÿ“ค Server relayed frame #107 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:34,969 - video.core - INFO - ๐Ÿ“ฅ Server received frame #108 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 24472 bytes +2025-06-06 11:05:34,969 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:34,969 - video.core - INFO - ๐Ÿ“ค Server relayed frame #108 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:35,012 - video.core - INFO - ๐Ÿ“ฅ Server received frame #109 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 24586 bytes +2025-06-06 11:05:35,012 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:35,012 - video.core - INFO - ๐Ÿ“ค Server relayed frame #109 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:35,056 - video.core - INFO - ๐Ÿ“น Frame #110 from producer producer_1749200719303: size=25027 bytes, resolution=640x480 +2025-06-06 11:05:35,057 - video.core - INFO - ๐Ÿ“ฅ Server received frame #110 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 25027 bytes +2025-06-06 11:05:35,057 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:35,057 - video.core - INFO - ๐Ÿ“ค Server relayed frame #110 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:35,097 - video.core - INFO - ๐Ÿ“ฅ Server received frame #111 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 25428 bytes +2025-06-06 11:05:35,097 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:35,097 - video.core - INFO - ๐Ÿ“ค Server relayed frame #111 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:35,142 - video.core - INFO - ๐Ÿ“ฅ Server received frame #112 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 25675 bytes +2025-06-06 11:05:35,142 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:35,142 - video.core - INFO - ๐Ÿ“ค Server relayed frame #112 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:35,183 - video.core - INFO - ๐Ÿ“ฅ Server received frame #113 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 25872 bytes +2025-06-06 11:05:35,184 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:35,184 - video.core - INFO - ๐Ÿ“ค Server relayed frame #113 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:35,230 - video.core - INFO - ๐Ÿ“ฅ Server received frame #114 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 25994 bytes +2025-06-06 11:05:35,230 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:35,230 - video.core - INFO - ๐Ÿ“ค Server relayed frame #114 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:35,279 - video.core - INFO - ๐Ÿ“ฅ Server received frame #115 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 25764 bytes +2025-06-06 11:05:35,279 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:35,279 - video.core - INFO - ๐Ÿ“ค Server relayed frame #115 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:35,347 - video.core - INFO - ๐Ÿ“ฅ Server received frame #116 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 25978 bytes +2025-06-06 11:05:35,347 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:35,347 - video.core - INFO - ๐Ÿ“ค Server relayed frame #116 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:35,385 - video.core - INFO - ๐Ÿ“ฅ Server received frame #117 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26465 bytes +2025-06-06 11:05:35,385 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:35,385 - video.core - INFO - ๐Ÿ“ค Server relayed frame #117 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:35,466 - video.core - INFO - ๐Ÿ“ฅ Server received frame #118 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26705 bytes +2025-06-06 11:05:35,467 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:35,467 - video.core - INFO - ๐Ÿ“ค Server relayed frame #118 to 1 consumers in 1.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:35,497 - video.core - INFO - ๐Ÿ“ฅ Server received frame #119 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26737 bytes +2025-06-06 11:05:35,497 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:35,497 - video.core - INFO - ๐Ÿ“ค Server relayed frame #119 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:35,498 - video.core - INFO - ๐Ÿ“น Frame #120 from producer producer_1749200719303: size=26502 bytes, resolution=640x480 +2025-06-06 11:05:35,499 - video.core - INFO - ๐Ÿ“ฅ Server received frame #120 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26502 bytes +2025-06-06 11:05:35,499 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:35,499 - video.core - INFO - ๐Ÿ“ค Server relayed frame #120 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:35,499 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 120 frames processed, 18.0 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:35,499 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 120 frames, 6.7 FPS, 1.40 Mbps throughput, 26247 bytes avg frame size +2025-06-06 11:05:35,499 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 120 frames processed, FPS: 22.7, Throughput: 4.76 Mbps, Avg frame size: 26247 bytes +2025-06-06 11:05:35,573 - video.core - INFO - ๐Ÿ“ฅ Server received frame #121 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26593 bytes +2025-06-06 11:05:35,573 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:35,573 - video.core - INFO - ๐Ÿ“ค Server relayed frame #121 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:35,604 - video.core - INFO - ๐Ÿ“ฅ Server received frame #122 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26527 bytes +2025-06-06 11:05:35,605 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:35,605 - video.core - INFO - ๐Ÿ“ค Server relayed frame #122 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:35,614 - video.core - INFO - ๐Ÿ“ฅ Server received frame #123 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26493 bytes +2025-06-06 11:05:35,614 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:35,614 - video.core - INFO - ๐Ÿ“ค Server relayed frame #123 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:35,661 - video.core - INFO - ๐Ÿ“ฅ Server received frame #124 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26633 bytes +2025-06-06 11:05:35,661 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:35,662 - video.core - INFO - ๐Ÿ“ค Server relayed frame #124 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:35,706 - video.core - INFO - ๐Ÿ“ฅ Server received frame #125 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26752 bytes +2025-06-06 11:05:35,706 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:35,706 - video.core - INFO - ๐Ÿ“ค Server relayed frame #125 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:35,748 - video.core - INFO - ๐Ÿ“ฅ Server received frame #126 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26314 bytes +2025-06-06 11:05:35,748 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:35,748 - video.core - INFO - ๐Ÿ“ค Server relayed frame #126 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:35,788 - video.core - INFO - ๐Ÿ“ฅ Server received frame #127 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26599 bytes +2025-06-06 11:05:35,789 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:35,789 - video.core - INFO - ๐Ÿ“ค Server relayed frame #127 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:35,826 - video.core - INFO - ๐Ÿ“ฅ Server received frame #128 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26652 bytes +2025-06-06 11:05:35,826 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:35,826 - video.core - INFO - ๐Ÿ“ค Server relayed frame #128 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:35,871 - video.core - INFO - ๐Ÿ“ฅ Server received frame #129 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26658 bytes +2025-06-06 11:05:35,871 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:35,871 - video.core - INFO - ๐Ÿ“ค Server relayed frame #129 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:35,919 - video.core - INFO - ๐Ÿ“น Frame #130 from producer producer_1749200719303: size=27043 bytes, resolution=640x480 +2025-06-06 11:05:35,920 - video.core - INFO - ๐Ÿ“ฅ Server received frame #130 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27043 bytes +2025-06-06 11:05:35,920 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:35,920 - video.core - INFO - ๐Ÿ“ค Server relayed frame #130 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:35,958 - video.core - INFO - ๐Ÿ“ฅ Server received frame #131 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26927 bytes +2025-06-06 11:05:35,959 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:35,959 - video.core - INFO - ๐Ÿ“ค Server relayed frame #131 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:36,003 - video.core - INFO - ๐Ÿ“ฅ Server received frame #132 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26553 bytes +2025-06-06 11:05:36,003 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:36,003 - video.core - INFO - ๐Ÿ“ค Server relayed frame #132 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:36,043 - video.core - INFO - ๐Ÿ“ฅ Server received frame #133 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26304 bytes +2025-06-06 11:05:36,044 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:36,044 - video.core - INFO - ๐Ÿ“ค Server relayed frame #133 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:36,086 - video.core - INFO - ๐Ÿ“ฅ Server received frame #134 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26436 bytes +2025-06-06 11:05:36,087 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:36,087 - video.core - INFO - ๐Ÿ“ค Server relayed frame #134 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:36,135 - video.core - INFO - ๐Ÿ“ฅ Server received frame #135 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26676 bytes +2025-06-06 11:05:36,135 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:36,135 - video.core - INFO - ๐Ÿ“ค Server relayed frame #135 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:36,176 - video.core - INFO - ๐Ÿ“ฅ Server received frame #136 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26696 bytes +2025-06-06 11:05:36,176 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:36,176 - video.core - INFO - ๐Ÿ“ค Server relayed frame #136 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:36,224 - video.core - INFO - ๐Ÿ“ฅ Server received frame #137 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26783 bytes +2025-06-06 11:05:36,224 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:36,224 - video.core - INFO - ๐Ÿ“ค Server relayed frame #137 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:36,264 - video.core - INFO - ๐Ÿ“ฅ Server received frame #138 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26920 bytes +2025-06-06 11:05:36,264 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:36,264 - video.core - INFO - ๐Ÿ“ค Server relayed frame #138 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:36,306 - video.core - INFO - ๐Ÿ“ฅ Server received frame #139 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26952 bytes +2025-06-06 11:05:36,306 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:36,306 - video.core - INFO - ๐Ÿ“ค Server relayed frame #139 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:36,351 - video.core - INFO - ๐Ÿ“น Frame #140 from producer producer_1749200719303: size=27080 bytes, resolution=640x480 +2025-06-06 11:05:36,353 - video.core - INFO - ๐Ÿ“ฅ Server received frame #140 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27080 bytes +2025-06-06 11:05:36,353 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:36,353 - video.core - INFO - ๐Ÿ“ค Server relayed frame #140 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:36,392 - video.core - INFO - ๐Ÿ“ฅ Server received frame #141 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27007 bytes +2025-06-06 11:05:36,392 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:36,392 - video.core - INFO - ๐Ÿ“ค Server relayed frame #141 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:36,435 - video.core - INFO - ๐Ÿ“ฅ Server received frame #142 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27039 bytes +2025-06-06 11:05:36,436 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:36,436 - video.core - INFO - ๐Ÿ“ค Server relayed frame #142 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:36,479 - video.core - INFO - ๐Ÿ“ฅ Server received frame #143 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26954 bytes +2025-06-06 11:05:36,479 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:36,479 - video.core - INFO - ๐Ÿ“ค Server relayed frame #143 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:36,522 - video.core - INFO - ๐Ÿ“ฅ Server received frame #144 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27069 bytes +2025-06-06 11:05:36,522 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:36,522 - video.core - INFO - ๐Ÿ“ค Server relayed frame #144 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:36,567 - video.core - INFO - ๐Ÿ“ฅ Server received frame #145 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27035 bytes +2025-06-06 11:05:36,568 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:36,568 - video.core - INFO - ๐Ÿ“ค Server relayed frame #145 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:36,609 - video.core - INFO - ๐Ÿ“ฅ Server received frame #146 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27085 bytes +2025-06-06 11:05:36,609 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:36,609 - video.core - INFO - ๐Ÿ“ค Server relayed frame #146 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:36,653 - video.core - INFO - ๐Ÿ“ฅ Server received frame #147 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27078 bytes +2025-06-06 11:05:36,653 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:36,653 - video.core - INFO - ๐Ÿ“ค Server relayed frame #147 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:36,698 - video.core - INFO - ๐Ÿ“ฅ Server received frame #148 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27092 bytes +2025-06-06 11:05:36,699 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:36,699 - video.core - INFO - ๐Ÿ“ค Server relayed frame #148 to 1 consumers in 0.9ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:36,737 - video.core - INFO - ๐Ÿ“ฅ Server received frame #149 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27116 bytes +2025-06-06 11:05:36,737 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:36,737 - video.core - INFO - ๐Ÿ“ค Server relayed frame #149 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:36,777 - video.core - INFO - ๐Ÿ“น Frame #150 from producer producer_1749200719303: size=27242 bytes, resolution=640x480 +2025-06-06 11:05:36,778 - video.core - INFO - ๐Ÿ“ฅ Server received frame #150 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27242 bytes +2025-06-06 11:05:36,778 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:36,778 - video.core - INFO - ๐Ÿ“ค Server relayed frame #150 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:36,778 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 150 frames processed, 18.9 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:36,778 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 150 frames, 7.8 FPS, 1.64 Mbps throughput, 26359 bytes avg frame size +2025-06-06 11:05:36,778 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 150 frames processed, FPS: 22.8, Throughput: 4.81 Mbps, Avg frame size: 26359 bytes +2025-06-06 11:05:36,822 - video.core - INFO - ๐Ÿ“ฅ Server received frame #151 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27348 bytes +2025-06-06 11:05:36,822 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:36,822 - video.core - INFO - ๐Ÿ“ค Server relayed frame #151 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:36,868 - video.core - INFO - ๐Ÿ“ฅ Server received frame #152 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27533 bytes +2025-06-06 11:05:36,868 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:36,868 - video.core - INFO - ๐Ÿ“ค Server relayed frame #152 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:36,908 - video.core - INFO - ๐Ÿ“ฅ Server received frame #153 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27449 bytes +2025-06-06 11:05:36,908 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:36,908 - video.core - INFO - ๐Ÿ“ค Server relayed frame #153 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:36,960 - video.core - INFO - ๐Ÿ“ฅ Server received frame #154 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27403 bytes +2025-06-06 11:05:36,960 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:36,960 - video.core - INFO - ๐Ÿ“ค Server relayed frame #154 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:37,002 - video.core - INFO - ๐Ÿ“ฅ Server received frame #155 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27389 bytes +2025-06-06 11:05:37,003 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:37,003 - video.core - INFO - ๐Ÿ“ค Server relayed frame #155 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:37,043 - video.core - INFO - ๐Ÿ“ฅ Server received frame #156 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27409 bytes +2025-06-06 11:05:37,043 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:37,043 - video.core - INFO - ๐Ÿ“ค Server relayed frame #156 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:37,082 - video.core - INFO - ๐Ÿ“ฅ Server received frame #157 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27372 bytes +2025-06-06 11:05:37,082 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:37,082 - video.core - INFO - ๐Ÿ“ค Server relayed frame #157 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:37,127 - video.core - INFO - ๐Ÿ“ฅ Server received frame #158 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27346 bytes +2025-06-06 11:05:37,128 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:37,128 - video.core - INFO - ๐Ÿ“ค Server relayed frame #158 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:37,172 - video.core - INFO - ๐Ÿ“ฅ Server received frame #159 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27366 bytes +2025-06-06 11:05:37,172 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:37,172 - video.core - INFO - ๐Ÿ“ค Server relayed frame #159 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:37,212 - video.core - INFO - ๐Ÿ“น Frame #160 from producer producer_1749200719303: size=27469 bytes, resolution=640x480 +2025-06-06 11:05:37,213 - video.core - INFO - ๐Ÿ“ฅ Server received frame #160 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27469 bytes +2025-06-06 11:05:37,213 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:37,213 - video.core - INFO - ๐Ÿ“ค Server relayed frame #160 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:37,257 - video.core - INFO - ๐Ÿ“ฅ Server received frame #161 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27638 bytes +2025-06-06 11:05:37,257 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:37,257 - video.core - INFO - ๐Ÿ“ค Server relayed frame #161 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:37,302 - video.core - INFO - ๐Ÿ“ฅ Server received frame #162 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27668 bytes +2025-06-06 11:05:37,302 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:37,302 - video.core - INFO - ๐Ÿ“ค Server relayed frame #162 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:37,348 - video.core - INFO - ๐Ÿ“ฅ Server received frame #163 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27635 bytes +2025-06-06 11:05:37,349 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:37,349 - video.core - INFO - ๐Ÿ“ค Server relayed frame #163 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:37,389 - video.core - INFO - ๐Ÿ“ฅ Server received frame #164 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27587 bytes +2025-06-06 11:05:37,389 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:37,389 - video.core - INFO - ๐Ÿ“ค Server relayed frame #164 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:37,431 - video.core - INFO - ๐Ÿ“ฅ Server received frame #165 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27639 bytes +2025-06-06 11:05:37,432 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:37,432 - video.core - INFO - ๐Ÿ“ค Server relayed frame #165 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:37,486 - video.core - INFO - ๐Ÿ“ฅ Server received frame #166 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27502 bytes +2025-06-06 11:05:37,486 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:37,486 - video.core - INFO - ๐Ÿ“ค Server relayed frame #166 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:37,516 - video.core - INFO - ๐Ÿ“ฅ Server received frame #167 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27355 bytes +2025-06-06 11:05:37,516 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:37,516 - video.core - INFO - ๐Ÿ“ค Server relayed frame #167 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:37,559 - video.core - INFO - ๐Ÿ“ฅ Server received frame #168 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27235 bytes +2025-06-06 11:05:37,560 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:37,560 - video.core - INFO - ๐Ÿ“ค Server relayed frame #168 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:37,603 - video.core - INFO - ๐Ÿ“ฅ Server received frame #169 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27190 bytes +2025-06-06 11:05:37,603 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:37,603 - video.core - INFO - ๐Ÿ“ค Server relayed frame #169 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:37,644 - video.core - INFO - ๐Ÿ“น Frame #170 from producer producer_1749200719303: size=27384 bytes, resolution=640x480 +2025-06-06 11:05:37,644 - video.core - INFO - ๐Ÿ“ฅ Server received frame #170 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27384 bytes +2025-06-06 11:05:37,644 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:37,644 - video.core - INFO - ๐Ÿ“ค Server relayed frame #170 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:37,688 - video.core - INFO - ๐Ÿ“ฅ Server received frame #171 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27044 bytes +2025-06-06 11:05:37,689 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:37,689 - video.core - INFO - ๐Ÿ“ค Server relayed frame #171 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:37,731 - video.core - INFO - ๐Ÿ“ฅ Server received frame #172 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26745 bytes +2025-06-06 11:05:37,731 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:37,731 - video.core - INFO - ๐Ÿ“ค Server relayed frame #172 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:37,773 - video.core - INFO - ๐Ÿ“ฅ Server received frame #173 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26902 bytes +2025-06-06 11:05:37,773 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:37,773 - video.core - INFO - ๐Ÿ“ค Server relayed frame #173 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:37,826 - video.core - INFO - ๐Ÿ“ฅ Server received frame #174 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26773 bytes +2025-06-06 11:05:37,828 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 2.8ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:37,829 - video.core - INFO - ๐Ÿ“ค Server relayed frame #174 to 1 consumers in 3.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:37,866 - video.core - INFO - ๐Ÿ“ฅ Server received frame #175 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27121 bytes +2025-06-06 11:05:37,866 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:37,866 - video.core - INFO - ๐Ÿ“ค Server relayed frame #175 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:37,917 - video.core - INFO - ๐Ÿ“ฅ Server received frame #176 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27000 bytes +2025-06-06 11:05:37,917 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:37,917 - video.core - INFO - ๐Ÿ“ค Server relayed frame #176 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:37,957 - video.core - INFO - ๐Ÿ“ฅ Server received frame #177 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27080 bytes +2025-06-06 11:05:37,957 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:37,957 - video.core - INFO - ๐Ÿ“ค Server relayed frame #177 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:38,001 - video.core - INFO - ๐Ÿ“ฅ Server received frame #178 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27304 bytes +2025-06-06 11:05:38,002 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:38,002 - video.core - INFO - ๐Ÿ“ค Server relayed frame #178 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:38,075 - video.core - INFO - ๐Ÿ“ฅ Server received frame #179 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27227 bytes +2025-06-06 11:05:38,075 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:38,075 - video.core - INFO - ๐Ÿ“ค Server relayed frame #179 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:38,080 - video.core - INFO - ๐Ÿ“น Frame #180 from producer producer_1749200719303: size=27319 bytes, resolution=640x480 +2025-06-06 11:05:38,080 - video.core - INFO - ๐Ÿ“ฅ Server received frame #180 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27319 bytes +2025-06-06 11:05:38,080 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:38,080 - video.core - INFO - ๐Ÿ“ค Server relayed frame #180 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:38,080 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 180 frames processed, 19.4 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:38,080 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 180 frames, 8.7 FPS, 1.85 Mbps throughput, 26518 bytes avg frame size +2025-06-06 11:05:38,080 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 180 frames processed, FPS: 22.8, Throughput: 4.85 Mbps, Avg frame size: 26518 bytes +2025-06-06 11:05:38,139 - video.core - INFO - ๐Ÿ“ฅ Server received frame #181 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27409 bytes +2025-06-06 11:05:38,139 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:38,139 - video.core - INFO - ๐Ÿ“ค Server relayed frame #181 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:38,249 - video.core - INFO - ๐Ÿ“ฅ Server received frame #182 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27502 bytes +2025-06-06 11:05:38,249 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:38,249 - video.core - INFO - ๐Ÿ“ค Server relayed frame #182 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:38,257 - video.core - INFO - ๐Ÿ“ฅ Server received frame #183 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27433 bytes +2025-06-06 11:05:38,258 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:38,258 - video.core - INFO - ๐Ÿ“ค Server relayed frame #183 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:38,269 - video.core - INFO - ๐Ÿ“ฅ Server received frame #184 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27400 bytes +2025-06-06 11:05:38,269 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:38,270 - video.core - INFO - ๐Ÿ“ค Server relayed frame #184 to 1 consumers in 1.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:38,295 - video.core - INFO - ๐Ÿ“ฅ Server received frame #185 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27303 bytes +2025-06-06 11:05:38,296 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:38,296 - video.core - INFO - ๐Ÿ“ค Server relayed frame #185 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:38,341 - video.core - INFO - ๐Ÿ“ฅ Server received frame #186 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27378 bytes +2025-06-06 11:05:38,341 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:38,341 - video.core - INFO - ๐Ÿ“ค Server relayed frame #186 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:38,380 - video.core - INFO - ๐Ÿ“ฅ Server received frame #187 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27444 bytes +2025-06-06 11:05:38,380 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:38,380 - video.core - INFO - ๐Ÿ“ค Server relayed frame #187 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:38,421 - video.core - INFO - ๐Ÿ“ฅ Server received frame #188 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27546 bytes +2025-06-06 11:05:38,421 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:38,421 - video.core - INFO - ๐Ÿ“ค Server relayed frame #188 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:38,465 - video.core - INFO - ๐Ÿ“ฅ Server received frame #189 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27467 bytes +2025-06-06 11:05:38,466 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:38,466 - video.core - INFO - ๐Ÿ“ค Server relayed frame #189 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:38,509 - video.core - INFO - ๐Ÿ“น Frame #190 from producer producer_1749200719303: size=27545 bytes, resolution=640x480 +2025-06-06 11:05:38,509 - video.core - INFO - ๐Ÿ“ฅ Server received frame #190 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27545 bytes +2025-06-06 11:05:38,509 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:38,509 - video.core - INFO - ๐Ÿ“ค Server relayed frame #190 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:38,551 - video.core - INFO - ๐Ÿ“ฅ Server received frame #191 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27589 bytes +2025-06-06 11:05:38,551 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:38,551 - video.core - INFO - ๐Ÿ“ค Server relayed frame #191 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:38,595 - video.core - INFO - ๐Ÿ“ฅ Server received frame #192 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27745 bytes +2025-06-06 11:05:38,595 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:38,595 - video.core - INFO - ๐Ÿ“ค Server relayed frame #192 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:38,639 - video.core - INFO - ๐Ÿ“ฅ Server received frame #193 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27671 bytes +2025-06-06 11:05:38,639 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:38,639 - video.core - INFO - ๐Ÿ“ค Server relayed frame #193 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:38,683 - video.core - INFO - ๐Ÿ“ฅ Server received frame #194 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27626 bytes +2025-06-06 11:05:38,684 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:38,684 - video.core - INFO - ๐Ÿ“ค Server relayed frame #194 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:38,724 - video.core - INFO - ๐Ÿ“ฅ Server received frame #195 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27746 bytes +2025-06-06 11:05:38,724 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:38,724 - video.core - INFO - ๐Ÿ“ค Server relayed frame #195 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:38,770 - video.core - INFO - ๐Ÿ“ฅ Server received frame #196 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27653 bytes +2025-06-06 11:05:38,771 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:38,771 - video.core - INFO - ๐Ÿ“ค Server relayed frame #196 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:38,814 - video.core - INFO - ๐Ÿ“ฅ Server received frame #197 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27640 bytes +2025-06-06 11:05:38,814 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:38,814 - video.core - INFO - ๐Ÿ“ค Server relayed frame #197 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:38,857 - video.core - INFO - ๐Ÿ“ฅ Server received frame #198 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27595 bytes +2025-06-06 11:05:38,857 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:38,857 - video.core - INFO - ๐Ÿ“ค Server relayed frame #198 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:38,901 - video.core - INFO - ๐Ÿ“ฅ Server received frame #199 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27719 bytes +2025-06-06 11:05:38,901 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:38,901 - video.core - INFO - ๐Ÿ“ค Server relayed frame #199 to 1 consumers in 0.9ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:38,941 - video.core - INFO - ๐Ÿ“น Frame #200 from producer producer_1749200719303: size=27831 bytes, resolution=640x480 +2025-06-06 11:05:38,942 - video.core - INFO - ๐Ÿ“ฅ Server received frame #200 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27831 bytes +2025-06-06 11:05:38,942 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:38,942 - video.core - INFO - ๐Ÿ“ค Server relayed frame #200 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:38,995 - video.core - INFO - ๐Ÿ“ฅ Server received frame #201 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27929 bytes +2025-06-06 11:05:38,995 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:38,995 - video.core - INFO - ๐Ÿ“ค Server relayed frame #201 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:39,028 - video.core - INFO - ๐Ÿ“ฅ Server received frame #202 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27778 bytes +2025-06-06 11:05:39,029 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:39,029 - video.core - INFO - ๐Ÿ“ค Server relayed frame #202 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:39,075 - video.core - INFO - ๐Ÿ“ฅ Server received frame #203 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27517 bytes +2025-06-06 11:05:39,075 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:39,075 - video.core - INFO - ๐Ÿ“ค Server relayed frame #203 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:39,119 - video.core - INFO - ๐Ÿ“ฅ Server received frame #204 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27484 bytes +2025-06-06 11:05:39,119 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:39,120 - video.core - INFO - ๐Ÿ“ค Server relayed frame #204 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:39,166 - video.core - INFO - ๐Ÿ“ฅ Server received frame #205 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27628 bytes +2025-06-06 11:05:39,167 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:39,167 - video.core - INFO - ๐Ÿ“ค Server relayed frame #205 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:39,211 - video.core - INFO - ๐Ÿ“ฅ Server received frame #206 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27717 bytes +2025-06-06 11:05:39,211 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:39,211 - video.core - INFO - ๐Ÿ“ค Server relayed frame #206 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:39,246 - video.core - INFO - ๐Ÿ“ฅ Server received frame #207 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27732 bytes +2025-06-06 11:05:39,246 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:39,246 - video.core - INFO - ๐Ÿ“ค Server relayed frame #207 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:39,292 - video.core - INFO - ๐Ÿ“ฅ Server received frame #208 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27732 bytes +2025-06-06 11:05:39,292 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:39,292 - video.core - INFO - ๐Ÿ“ค Server relayed frame #208 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:39,334 - video.core - INFO - ๐Ÿ“ฅ Server received frame #209 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27782 bytes +2025-06-06 11:05:39,334 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:39,334 - video.core - INFO - ๐Ÿ“ค Server relayed frame #209 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:39,377 - video.core - INFO - ๐Ÿ“น Frame #210 from producer producer_1749200719303: size=27823 bytes, resolution=640x480 +2025-06-06 11:05:39,377 - video.core - INFO - ๐Ÿ“ฅ Server received frame #210 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27823 bytes +2025-06-06 11:05:39,378 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:39,378 - video.core - INFO - ๐Ÿ“ค Server relayed frame #210 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:39,378 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 210 frames processed, 19.9 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:39,378 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 210 frames, 9.6 FPS, 2.05 Mbps throughput, 26675 bytes avg frame size +2025-06-06 11:05:39,378 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 210 frames processed, FPS: 22.9, Throughput: 4.88 Mbps, Avg frame size: 26675 bytes +2025-06-06 11:05:39,421 - video.core - INFO - ๐Ÿ“ฅ Server received frame #211 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27743 bytes +2025-06-06 11:05:39,421 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:39,421 - video.core - INFO - ๐Ÿ“ค Server relayed frame #211 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:39,462 - video.core - INFO - ๐Ÿ“ฅ Server received frame #212 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27697 bytes +2025-06-06 11:05:39,463 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:39,463 - video.core - INFO - ๐Ÿ“ค Server relayed frame #212 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:39,507 - video.core - INFO - ๐Ÿ“ฅ Server received frame #213 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27696 bytes +2025-06-06 11:05:39,508 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:39,508 - video.core - INFO - ๐Ÿ“ค Server relayed frame #213 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:39,549 - video.core - INFO - ๐Ÿ“ฅ Server received frame #214 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27325 bytes +2025-06-06 11:05:39,549 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:39,549 - video.core - INFO - ๐Ÿ“ค Server relayed frame #214 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:39,593 - video.core - INFO - ๐Ÿ“ฅ Server received frame #215 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27158 bytes +2025-06-06 11:05:39,593 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:39,593 - video.core - INFO - ๐Ÿ“ค Server relayed frame #215 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:39,636 - video.core - INFO - ๐Ÿ“ฅ Server received frame #216 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27303 bytes +2025-06-06 11:05:39,636 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:39,636 - video.core - INFO - ๐Ÿ“ค Server relayed frame #216 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:39,679 - video.core - INFO - ๐Ÿ“ฅ Server received frame #217 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27196 bytes +2025-06-06 11:05:39,680 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:39,680 - video.core - INFO - ๐Ÿ“ค Server relayed frame #217 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:39,721 - video.core - INFO - ๐Ÿ“ฅ Server received frame #218 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27130 bytes +2025-06-06 11:05:39,721 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:39,721 - video.core - INFO - ๐Ÿ“ค Server relayed frame #218 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:39,764 - video.core - INFO - ๐Ÿ“ฅ Server received frame #219 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27138 bytes +2025-06-06 11:05:39,764 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:39,764 - video.core - INFO - ๐Ÿ“ค Server relayed frame #219 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:39,808 - video.core - INFO - ๐Ÿ“น Frame #220 from producer producer_1749200719303: size=27191 bytes, resolution=640x480 +2025-06-06 11:05:39,808 - video.core - INFO - ๐Ÿ“ฅ Server received frame #220 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27191 bytes +2025-06-06 11:05:39,808 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:39,808 - video.core - INFO - ๐Ÿ“ค Server relayed frame #220 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:39,851 - video.core - INFO - ๐Ÿ“ฅ Server received frame #221 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27265 bytes +2025-06-06 11:05:39,851 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:39,851 - video.core - INFO - ๐Ÿ“ค Server relayed frame #221 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:39,896 - video.core - INFO - ๐Ÿ“ฅ Server received frame #222 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27250 bytes +2025-06-06 11:05:39,896 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:39,896 - video.core - INFO - ๐Ÿ“ค Server relayed frame #222 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:39,946 - video.core - INFO - ๐Ÿ“ฅ Server received frame #223 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27329 bytes +2025-06-06 11:05:39,946 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:39,946 - video.core - INFO - ๐Ÿ“ค Server relayed frame #223 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:39,981 - video.core - INFO - ๐Ÿ“ฅ Server received frame #224 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27444 bytes +2025-06-06 11:05:39,981 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:39,981 - video.core - INFO - ๐Ÿ“ค Server relayed frame #224 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:40,026 - video.core - INFO - ๐Ÿ“ฅ Server received frame #225 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27593 bytes +2025-06-06 11:05:40,026 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:40,026 - video.core - INFO - ๐Ÿ“ค Server relayed frame #225 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:40,067 - video.core - INFO - ๐Ÿ“ฅ Server received frame #226 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27609 bytes +2025-06-06 11:05:40,067 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:40,067 - video.core - INFO - ๐Ÿ“ค Server relayed frame #226 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:40,110 - video.core - INFO - ๐Ÿ“ฅ Server received frame #227 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27784 bytes +2025-06-06 11:05:40,110 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:40,110 - video.core - INFO - ๐Ÿ“ค Server relayed frame #227 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:40,153 - video.core - INFO - ๐Ÿ“ฅ Server received frame #228 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27741 bytes +2025-06-06 11:05:40,153 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:40,153 - video.core - INFO - ๐Ÿ“ค Server relayed frame #228 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:40,197 - video.core - INFO - ๐Ÿ“ฅ Server received frame #229 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27937 bytes +2025-06-06 11:05:40,197 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:40,197 - video.core - INFO - ๐Ÿ“ค Server relayed frame #229 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:40,242 - video.core - INFO - ๐Ÿ“น Frame #230 from producer producer_1749200719303: size=27814 bytes, resolution=640x480 +2025-06-06 11:05:40,242 - video.core - INFO - ๐Ÿ“ฅ Server received frame #230 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27814 bytes +2025-06-06 11:05:40,242 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:40,242 - video.core - INFO - ๐Ÿ“ค Server relayed frame #230 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:40,282 - video.core - INFO - ๐Ÿ“ฅ Server received frame #231 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27894 bytes +2025-06-06 11:05:40,283 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:40,283 - video.core - INFO - ๐Ÿ“ค Server relayed frame #231 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:40,327 - video.core - INFO - ๐Ÿ“ฅ Server received frame #232 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27895 bytes +2025-06-06 11:05:40,328 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:40,328 - video.core - INFO - ๐Ÿ“ค Server relayed frame #232 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:40,372 - video.core - INFO - ๐Ÿ“ฅ Server received frame #233 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27995 bytes +2025-06-06 11:05:40,372 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:40,372 - video.core - INFO - ๐Ÿ“ค Server relayed frame #233 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:40,413 - video.core - INFO - ๐Ÿ“ฅ Server received frame #234 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27942 bytes +2025-06-06 11:05:40,413 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:40,413 - video.core - INFO - ๐Ÿ“ค Server relayed frame #234 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:40,457 - video.core - INFO - ๐Ÿ“ฅ Server received frame #235 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27965 bytes +2025-06-06 11:05:40,457 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:40,457 - video.core - INFO - ๐Ÿ“ค Server relayed frame #235 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:40,500 - video.core - INFO - ๐Ÿ“ฅ Server received frame #236 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27992 bytes +2025-06-06 11:05:40,500 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:40,500 - video.core - INFO - ๐Ÿ“ค Server relayed frame #236 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:40,542 - video.core - INFO - ๐Ÿ“ฅ Server received frame #237 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28153 bytes +2025-06-06 11:05:40,542 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:40,542 - video.core - INFO - ๐Ÿ“ค Server relayed frame #237 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:40,586 - video.core - INFO - ๐Ÿ“ฅ Server received frame #238 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28104 bytes +2025-06-06 11:05:40,586 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:40,586 - video.core - INFO - ๐Ÿ“ค Server relayed frame #238 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:40,628 - video.core - INFO - ๐Ÿ“ฅ Server received frame #239 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28138 bytes +2025-06-06 11:05:40,628 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:40,628 - video.core - INFO - ๐Ÿ“ค Server relayed frame #239 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:40,673 - video.core - INFO - ๐Ÿ“น Frame #240 from producer producer_1749200719303: size=28040 bytes, resolution=640x480 +2025-06-06 11:05:40,673 - video.core - INFO - ๐Ÿ“ฅ Server received frame #240 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28040 bytes +2025-06-06 11:05:40,673 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:40,673 - video.core - INFO - ๐Ÿ“ค Server relayed frame #240 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:40,673 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 240 frames processed, 20.3 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:40,673 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 240 frames, 10.3 FPS, 2.22 Mbps throughput, 26796 bytes avg frame size +2025-06-06 11:05:40,673 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 240 frames processed, FPS: 22.9, Throughput: 4.91 Mbps, Avg frame size: 26796 bytes +2025-06-06 11:05:40,715 - video.core - INFO - ๐Ÿ“ฅ Server received frame #241 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28161 bytes +2025-06-06 11:05:40,715 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:40,715 - video.core - INFO - ๐Ÿ“ค Server relayed frame #241 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:40,758 - video.core - INFO - ๐Ÿ“ฅ Server received frame #242 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28261 bytes +2025-06-06 11:05:40,758 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:40,758 - video.core - INFO - ๐Ÿ“ค Server relayed frame #242 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:40,804 - video.core - INFO - ๐Ÿ“ฅ Server received frame #243 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28347 bytes +2025-06-06 11:05:40,804 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:40,804 - video.core - INFO - ๐Ÿ“ค Server relayed frame #243 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:40,846 - video.core - INFO - ๐Ÿ“ฅ Server received frame #244 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28258 bytes +2025-06-06 11:05:40,846 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:40,846 - video.core - INFO - ๐Ÿ“ค Server relayed frame #244 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:40,892 - video.core - INFO - ๐Ÿ“ฅ Server received frame #245 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28221 bytes +2025-06-06 11:05:40,892 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:40,892 - video.core - INFO - ๐Ÿ“ค Server relayed frame #245 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:40,933 - video.core - INFO - ๐Ÿ“ฅ Server received frame #246 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28332 bytes +2025-06-06 11:05:40,933 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:40,933 - video.core - INFO - ๐Ÿ“ค Server relayed frame #246 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:40,976 - video.core - INFO - ๐Ÿ“ฅ Server received frame #247 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28260 bytes +2025-06-06 11:05:40,977 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:40,977 - video.core - INFO - ๐Ÿ“ค Server relayed frame #247 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:41,020 - video.core - INFO - ๐Ÿ“ฅ Server received frame #248 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28133 bytes +2025-06-06 11:05:41,020 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:41,020 - video.core - INFO - ๐Ÿ“ค Server relayed frame #248 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:41,064 - video.core - INFO - ๐Ÿ“ฅ Server received frame #249 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28120 bytes +2025-06-06 11:05:41,064 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:41,064 - video.core - INFO - ๐Ÿ“ค Server relayed frame #249 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:41,106 - video.core - INFO - ๐Ÿ“น Frame #250 from producer producer_1749200719303: size=28058 bytes, resolution=640x480 +2025-06-06 11:05:41,106 - video.core - INFO - ๐Ÿ“ฅ Server received frame #250 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28058 bytes +2025-06-06 11:05:41,107 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:41,107 - video.core - INFO - ๐Ÿ“ค Server relayed frame #250 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:41,150 - video.core - INFO - ๐Ÿ“ฅ Server received frame #251 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27963 bytes +2025-06-06 11:05:41,150 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:41,150 - video.core - INFO - ๐Ÿ“ค Server relayed frame #251 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:41,192 - video.core - INFO - ๐Ÿ“ฅ Server received frame #252 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27946 bytes +2025-06-06 11:05:41,192 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:41,192 - video.core - INFO - ๐Ÿ“ค Server relayed frame #252 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:41,238 - video.core - INFO - ๐Ÿ“ฅ Server received frame #253 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27870 bytes +2025-06-06 11:05:41,238 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:41,238 - video.core - INFO - ๐Ÿ“ค Server relayed frame #253 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:41,277 - video.core - INFO - ๐Ÿ“ฅ Server received frame #254 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27805 bytes +2025-06-06 11:05:41,277 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:41,277 - video.core - INFO - ๐Ÿ“ค Server relayed frame #254 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:41,321 - video.core - INFO - ๐Ÿ“ฅ Server received frame #255 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27849 bytes +2025-06-06 11:05:41,321 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:41,321 - video.core - INFO - ๐Ÿ“ค Server relayed frame #255 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:41,365 - video.core - INFO - ๐Ÿ“ฅ Server received frame #256 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27772 bytes +2025-06-06 11:05:41,365 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:41,365 - video.core - INFO - ๐Ÿ“ค Server relayed frame #256 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:41,408 - video.core - INFO - ๐Ÿ“ฅ Server received frame #257 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27883 bytes +2025-06-06 11:05:41,408 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:41,408 - video.core - INFO - ๐Ÿ“ค Server relayed frame #257 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:41,454 - video.core - INFO - ๐Ÿ“ฅ Server received frame #258 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27912 bytes +2025-06-06 11:05:41,454 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:41,454 - video.core - INFO - ๐Ÿ“ค Server relayed frame #258 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:41,494 - video.core - INFO - ๐Ÿ“ฅ Server received frame #259 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28037 bytes +2025-06-06 11:05:41,495 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:41,495 - video.core - INFO - ๐Ÿ“ค Server relayed frame #259 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:41,539 - video.core - INFO - ๐Ÿ“น Frame #260 from producer producer_1749200719303: size=28124 bytes, resolution=640x480 +2025-06-06 11:05:41,539 - video.core - INFO - ๐Ÿ“ฅ Server received frame #260 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28124 bytes +2025-06-06 11:05:41,539 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:41,539 - video.core - INFO - ๐Ÿ“ค Server relayed frame #260 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:41,580 - video.core - INFO - ๐Ÿ“ฅ Server received frame #261 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27980 bytes +2025-06-06 11:05:41,580 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:41,580 - video.core - INFO - ๐Ÿ“ค Server relayed frame #261 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:41,622 - video.core - INFO - ๐Ÿ“ฅ Server received frame #262 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28078 bytes +2025-06-06 11:05:41,623 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:41,623 - video.core - INFO - ๐Ÿ“ค Server relayed frame #262 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:41,669 - video.core - INFO - ๐Ÿ“ฅ Server received frame #263 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28079 bytes +2025-06-06 11:05:41,669 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:41,669 - video.core - INFO - ๐Ÿ“ค Server relayed frame #263 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:41,714 - video.core - INFO - ๐Ÿ“ฅ Server received frame #264 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28100 bytes +2025-06-06 11:05:41,714 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:41,714 - video.core - INFO - ๐Ÿ“ค Server relayed frame #264 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:41,751 - video.core - INFO - ๐Ÿ“ฅ Server received frame #265 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28214 bytes +2025-06-06 11:05:41,751 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:41,752 - video.core - INFO - ๐Ÿ“ค Server relayed frame #265 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:41,795 - video.core - INFO - ๐Ÿ“ฅ Server received frame #266 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28068 bytes +2025-06-06 11:05:41,795 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:41,795 - video.core - INFO - ๐Ÿ“ค Server relayed frame #266 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:41,840 - video.core - INFO - ๐Ÿ“ฅ Server received frame #267 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28000 bytes +2025-06-06 11:05:41,841 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:41,841 - video.core - INFO - ๐Ÿ“ค Server relayed frame #267 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:41,883 - video.core - INFO - ๐Ÿ“ฅ Server received frame #268 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28053 bytes +2025-06-06 11:05:41,883 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:41,883 - video.core - INFO - ๐Ÿ“ค Server relayed frame #268 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:41,926 - video.core - INFO - ๐Ÿ“ฅ Server received frame #269 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28117 bytes +2025-06-06 11:05:41,926 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:41,926 - video.core - INFO - ๐Ÿ“ค Server relayed frame #269 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:41,971 - video.core - INFO - ๐Ÿ“น Frame #270 from producer producer_1749200719303: size=27951 bytes, resolution=640x480 +2025-06-06 11:05:41,971 - video.core - INFO - ๐Ÿ“ฅ Server received frame #270 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27951 bytes +2025-06-06 11:05:41,971 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:41,971 - video.core - INFO - ๐Ÿ“ค Server relayed frame #270 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:41,971 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 270 frames processed, 20.5 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:41,971 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 270 frames, 11.0 FPS, 2.38 Mbps throughput, 26937 bytes avg frame size +2025-06-06 11:05:41,971 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 270 frames processed, FPS: 22.9, Throughput: 4.94 Mbps, Avg frame size: 26937 bytes +2025-06-06 11:05:42,015 - video.core - INFO - ๐Ÿ“ฅ Server received frame #271 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27703 bytes +2025-06-06 11:05:42,015 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:42,015 - video.core - INFO - ๐Ÿ“ค Server relayed frame #271 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:42,061 - video.core - INFO - ๐Ÿ“ฅ Server received frame #272 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27639 bytes +2025-06-06 11:05:42,061 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:42,061 - video.core - INFO - ๐Ÿ“ค Server relayed frame #272 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:42,099 - video.core - INFO - ๐Ÿ“ฅ Server received frame #273 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27736 bytes +2025-06-06 11:05:42,099 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:42,099 - video.core - INFO - ๐Ÿ“ค Server relayed frame #273 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:42,142 - video.core - INFO - ๐Ÿ“ฅ Server received frame #274 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27630 bytes +2025-06-06 11:05:42,142 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:42,142 - video.core - INFO - ๐Ÿ“ค Server relayed frame #274 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:42,188 - video.core - INFO - ๐Ÿ“ฅ Server received frame #275 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27722 bytes +2025-06-06 11:05:42,188 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:42,188 - video.core - INFO - ๐Ÿ“ค Server relayed frame #275 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:42,230 - video.core - INFO - ๐Ÿ“ฅ Server received frame #276 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27824 bytes +2025-06-06 11:05:42,230 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:42,230 - video.core - INFO - ๐Ÿ“ค Server relayed frame #276 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:42,274 - video.core - INFO - ๐Ÿ“ฅ Server received frame #277 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27978 bytes +2025-06-06 11:05:42,274 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:42,274 - video.core - INFO - ๐Ÿ“ค Server relayed frame #277 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:42,316 - video.core - INFO - ๐Ÿ“ฅ Server received frame #278 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27969 bytes +2025-06-06 11:05:42,316 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:42,317 - video.core - INFO - ๐Ÿ“ค Server relayed frame #278 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:42,360 - video.core - INFO - ๐Ÿ“ฅ Server received frame #279 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27919 bytes +2025-06-06 11:05:42,360 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:42,360 - video.core - INFO - ๐Ÿ“ค Server relayed frame #279 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:42,403 - video.core - INFO - ๐Ÿ“น Frame #280 from producer producer_1749200719303: size=27772 bytes, resolution=640x480 +2025-06-06 11:05:42,404 - video.core - INFO - ๐Ÿ“ฅ Server received frame #280 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27772 bytes +2025-06-06 11:05:42,404 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:42,404 - video.core - INFO - ๐Ÿ“ค Server relayed frame #280 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:42,445 - video.core - INFO - ๐Ÿ“ฅ Server received frame #281 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27819 bytes +2025-06-06 11:05:42,445 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:42,445 - video.core - INFO - ๐Ÿ“ค Server relayed frame #281 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:42,490 - video.core - INFO - ๐Ÿ“ฅ Server received frame #282 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27787 bytes +2025-06-06 11:05:42,490 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:42,490 - video.core - INFO - ๐Ÿ“ค Server relayed frame #282 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:42,532 - video.core - INFO - ๐Ÿ“ฅ Server received frame #283 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27747 bytes +2025-06-06 11:05:42,533 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:42,533 - video.core - INFO - ๐Ÿ“ค Server relayed frame #283 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:42,575 - video.core - INFO - ๐Ÿ“ฅ Server received frame #284 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27896 bytes +2025-06-06 11:05:42,575 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:42,575 - video.core - INFO - ๐Ÿ“ค Server relayed frame #284 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:42,621 - video.core - INFO - ๐Ÿ“ฅ Server received frame #285 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27871 bytes +2025-06-06 11:05:42,621 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:42,621 - video.core - INFO - ๐Ÿ“ค Server relayed frame #285 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:42,673 - video.core - INFO - ๐Ÿ“ฅ Server received frame #286 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27917 bytes +2025-06-06 11:05:42,673 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:42,673 - video.core - INFO - ๐Ÿ“ค Server relayed frame #286 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:42,710 - video.core - INFO - ๐Ÿ“ฅ Server received frame #287 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27794 bytes +2025-06-06 11:05:42,710 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:42,710 - video.core - INFO - ๐Ÿ“ค Server relayed frame #287 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:42,750 - video.core - INFO - ๐Ÿ“ฅ Server received frame #288 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27730 bytes +2025-06-06 11:05:42,750 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:42,750 - video.core - INFO - ๐Ÿ“ค Server relayed frame #288 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:42,793 - video.core - INFO - ๐Ÿ“ฅ Server received frame #289 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27619 bytes +2025-06-06 11:05:42,793 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:42,793 - video.core - INFO - ๐Ÿ“ค Server relayed frame #289 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:42,834 - video.core - INFO - ๐Ÿ“น Frame #290 from producer producer_1749200719303: size=27266 bytes, resolution=640x480 +2025-06-06 11:05:42,834 - video.core - INFO - ๐Ÿ“ฅ Server received frame #290 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27266 bytes +2025-06-06 11:05:42,834 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:42,835 - video.core - INFO - ๐Ÿ“ค Server relayed frame #290 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:42,878 - video.core - INFO - ๐Ÿ“ฅ Server received frame #291 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27107 bytes +2025-06-06 11:05:42,878 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:42,878 - video.core - INFO - ๐Ÿ“ค Server relayed frame #291 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:42,921 - video.core - INFO - ๐Ÿ“ฅ Server received frame #292 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27207 bytes +2025-06-06 11:05:42,921 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:42,921 - video.core - INFO - ๐Ÿ“ค Server relayed frame #292 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:42,963 - video.core - INFO - ๐Ÿ“ฅ Server received frame #293 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27371 bytes +2025-06-06 11:05:42,963 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:42,963 - video.core - INFO - ๐Ÿ“ค Server relayed frame #293 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:43,008 - video.core - INFO - ๐Ÿ“ฅ Server received frame #294 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27477 bytes +2025-06-06 11:05:43,008 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:43,008 - video.core - INFO - ๐Ÿ“ค Server relayed frame #294 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:43,051 - video.core - INFO - ๐Ÿ“ฅ Server received frame #295 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27571 bytes +2025-06-06 11:05:43,051 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:43,051 - video.core - INFO - ๐Ÿ“ค Server relayed frame #295 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:43,093 - video.core - INFO - ๐Ÿ“ฅ Server received frame #296 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27701 bytes +2025-06-06 11:05:43,093 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:43,093 - video.core - INFO - ๐Ÿ“ค Server relayed frame #296 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:43,138 - video.core - INFO - ๐Ÿ“ฅ Server received frame #297 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27741 bytes +2025-06-06 11:05:43,138 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:43,138 - video.core - INFO - ๐Ÿ“ค Server relayed frame #297 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:43,179 - video.core - INFO - ๐Ÿ“ฅ Server received frame #298 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27896 bytes +2025-06-06 11:05:43,179 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:43,179 - video.core - INFO - ๐Ÿ“ค Server relayed frame #298 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:43,226 - video.core - INFO - ๐Ÿ“ฅ Server received frame #299 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27955 bytes +2025-06-06 11:05:43,226 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:43,226 - video.core - INFO - ๐Ÿ“ค Server relayed frame #299 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:43,270 - video.core - INFO - ๐Ÿ“น Frame #300 from producer producer_1749200719303: size=27654 bytes, resolution=640x480 +2025-06-06 11:05:43,270 - video.core - INFO - ๐Ÿ“ฅ Server received frame #300 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27654 bytes +2025-06-06 11:05:43,270 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:43,270 - video.core - INFO - ๐Ÿ“ค Server relayed frame #300 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:43,270 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 300 frames processed, 20.8 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:43,270 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 300 frames, 11.6 FPS, 2.51 Mbps throughput, 27013 bytes avg frame size +2025-06-06 11:05:43,270 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 300 frames processed, FPS: 23.0, Throughput: 4.96 Mbps, Avg frame size: 27013 bytes +2025-06-06 11:05:43,310 - video.core - INFO - ๐Ÿ“ฅ Server received frame #301 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27588 bytes +2025-06-06 11:05:43,310 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:43,310 - video.core - INFO - ๐Ÿ“ค Server relayed frame #301 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:43,353 - video.core - INFO - ๐Ÿ“ฅ Server received frame #302 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27767 bytes +2025-06-06 11:05:43,354 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:43,354 - video.core - INFO - ๐Ÿ“ค Server relayed frame #302 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:43,397 - video.core - INFO - ๐Ÿ“ฅ Server received frame #303 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27614 bytes +2025-06-06 11:05:43,397 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:43,397 - video.core - INFO - ๐Ÿ“ค Server relayed frame #303 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:43,440 - video.core - INFO - ๐Ÿ“ฅ Server received frame #304 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27620 bytes +2025-06-06 11:05:43,440 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:43,440 - video.core - INFO - ๐Ÿ“ค Server relayed frame #304 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:43,484 - video.core - INFO - ๐Ÿ“ฅ Server received frame #305 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27775 bytes +2025-06-06 11:05:43,484 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:43,484 - video.core - INFO - ๐Ÿ“ค Server relayed frame #305 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:43,531 - video.core - INFO - ๐Ÿ“ฅ Server received frame #306 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27963 bytes +2025-06-06 11:05:43,531 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:43,531 - video.core - INFO - ๐Ÿ“ค Server relayed frame #306 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:43,575 - video.core - INFO - ๐Ÿ“ฅ Server received frame #307 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28035 bytes +2025-06-06 11:05:43,575 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:43,575 - video.core - INFO - ๐Ÿ“ค Server relayed frame #307 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:43,618 - video.core - INFO - ๐Ÿ“ฅ Server received frame #308 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28100 bytes +2025-06-06 11:05:43,619 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:43,619 - video.core - INFO - ๐Ÿ“ค Server relayed frame #308 to 1 consumers in 0.7ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:43,667 - video.core - INFO - ๐Ÿ“ฅ Server received frame #309 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28018 bytes +2025-06-06 11:05:43,667 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:43,667 - video.core - INFO - ๐Ÿ“ค Server relayed frame #309 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:43,705 - video.core - INFO - ๐Ÿ“น Frame #310 from producer producer_1749200719303: size=28169 bytes, resolution=640x480 +2025-06-06 11:05:43,705 - video.core - INFO - ๐Ÿ“ฅ Server received frame #310 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28169 bytes +2025-06-06 11:05:43,705 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:43,705 - video.core - INFO - ๐Ÿ“ค Server relayed frame #310 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:43,745 - video.core - INFO - ๐Ÿ“ฅ Server received frame #311 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28061 bytes +2025-06-06 11:05:43,745 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:43,745 - video.core - INFO - ๐Ÿ“ค Server relayed frame #311 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:43,787 - video.core - INFO - ๐Ÿ“ฅ Server received frame #312 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28023 bytes +2025-06-06 11:05:43,787 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:43,787 - video.core - INFO - ๐Ÿ“ค Server relayed frame #312 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:43,833 - video.core - INFO - ๐Ÿ“ฅ Server received frame #313 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28021 bytes +2025-06-06 11:05:43,833 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:43,833 - video.core - INFO - ๐Ÿ“ค Server relayed frame #313 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:43,875 - video.core - INFO - ๐Ÿ“ฅ Server received frame #314 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28089 bytes +2025-06-06 11:05:43,876 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:43,876 - video.core - INFO - ๐Ÿ“ค Server relayed frame #314 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:43,922 - video.core - INFO - ๐Ÿ“ฅ Server received frame #315 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28210 bytes +2025-06-06 11:05:43,922 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:43,922 - video.core - INFO - ๐Ÿ“ค Server relayed frame #315 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:43,963 - video.core - INFO - ๐Ÿ“ฅ Server received frame #316 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28014 bytes +2025-06-06 11:05:43,964 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:43,964 - video.core - INFO - ๐Ÿ“ค Server relayed frame #316 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:44,002 - video.core - INFO - ๐Ÿ“ฅ Server received frame #317 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28005 bytes +2025-06-06 11:05:44,003 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:44,003 - video.core - INFO - ๐Ÿ“ค Server relayed frame #317 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:44,050 - video.core - INFO - ๐Ÿ“ฅ Server received frame #318 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27976 bytes +2025-06-06 11:05:44,050 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:44,050 - video.core - INFO - ๐Ÿ“ค Server relayed frame #318 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:44,098 - video.core - INFO - ๐Ÿ“ฅ Server received frame #319 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27864 bytes +2025-06-06 11:05:44,098 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:44,098 - video.core - INFO - ๐Ÿ“ค Server relayed frame #319 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:44,135 - video.core - INFO - ๐Ÿ“น Frame #320 from producer producer_1749200719303: size=27968 bytes, resolution=640x480 +2025-06-06 11:05:44,135 - video.core - INFO - ๐Ÿ“ฅ Server received frame #320 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27968 bytes +2025-06-06 11:05:44,135 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:44,135 - video.core - INFO - ๐Ÿ“ค Server relayed frame #320 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:44,189 - video.core - INFO - ๐Ÿ“ฅ Server received frame #321 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27988 bytes +2025-06-06 11:05:44,189 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:44,189 - video.core - INFO - ๐Ÿ“ค Server relayed frame #321 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:44,223 - video.core - INFO - ๐Ÿ“ฅ Server received frame #322 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27944 bytes +2025-06-06 11:05:44,224 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:44,224 - video.core - INFO - ๐Ÿ“ค Server relayed frame #322 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:44,268 - video.core - INFO - ๐Ÿ“ฅ Server received frame #323 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27862 bytes +2025-06-06 11:05:44,268 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:44,268 - video.core - INFO - ๐Ÿ“ค Server relayed frame #323 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:44,311 - video.core - INFO - ๐Ÿ“ฅ Server received frame #324 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27836 bytes +2025-06-06 11:05:44,311 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:44,311 - video.core - INFO - ๐Ÿ“ค Server relayed frame #324 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:44,354 - video.core - INFO - ๐Ÿ“ฅ Server received frame #325 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27938 bytes +2025-06-06 11:05:44,354 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:44,354 - video.core - INFO - ๐Ÿ“ค Server relayed frame #325 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:44,398 - video.core - INFO - ๐Ÿ“ฅ Server received frame #326 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28053 bytes +2025-06-06 11:05:44,398 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:44,398 - video.core - INFO - ๐Ÿ“ค Server relayed frame #326 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:44,441 - video.core - INFO - ๐Ÿ“ฅ Server received frame #327 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28001 bytes +2025-06-06 11:05:44,441 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:44,441 - video.core - INFO - ๐Ÿ“ค Server relayed frame #327 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:44,483 - video.core - INFO - ๐Ÿ“ฅ Server received frame #328 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27991 bytes +2025-06-06 11:05:44,483 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:44,483 - video.core - INFO - ๐Ÿ“ค Server relayed frame #328 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:44,528 - video.core - INFO - ๐Ÿ“ฅ Server received frame #329 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28028 bytes +2025-06-06 11:05:44,528 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:44,528 - video.core - INFO - ๐Ÿ“ค Server relayed frame #329 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:44,572 - video.core - INFO - ๐Ÿ“น Frame #330 from producer producer_1749200719303: size=28075 bytes, resolution=640x480 +2025-06-06 11:05:44,572 - video.core - INFO - ๐Ÿ“ฅ Server received frame #330 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28075 bytes +2025-06-06 11:05:44,572 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:44,572 - video.core - INFO - ๐Ÿ“ค Server relayed frame #330 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:44,572 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 330 frames processed, 21.0 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:44,572 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 330 frames, 12.2 FPS, 2.64 Mbps throughput, 27099 bytes avg frame size +2025-06-06 11:05:44,572 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 330 frames processed, FPS: 23.0, Throughput: 4.98 Mbps, Avg frame size: 27099 bytes +2025-06-06 11:05:44,612 - video.core - INFO - ๐Ÿ“ฅ Server received frame #331 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28185 bytes +2025-06-06 11:05:44,612 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:44,612 - video.core - INFO - ๐Ÿ“ค Server relayed frame #331 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:44,658 - video.core - INFO - ๐Ÿ“ฅ Server received frame #332 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28225 bytes +2025-06-06 11:05:44,658 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:44,658 - video.core - INFO - ๐Ÿ“ค Server relayed frame #332 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:44,738 - video.core - INFO - ๐Ÿ“ฅ Server received frame #333 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28141 bytes +2025-06-06 11:05:44,739 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:44,739 - video.core - INFO - ๐Ÿ“ค Server relayed frame #333 to 1 consumers in 0.9ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:44,750 - video.core - INFO - ๐Ÿ“ฅ Server received frame #334 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28133 bytes +2025-06-06 11:05:44,750 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:44,750 - video.core - INFO - ๐Ÿ“ค Server relayed frame #334 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:44,783 - video.core - INFO - ๐Ÿ“ฅ Server received frame #335 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28152 bytes +2025-06-06 11:05:44,783 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:44,783 - video.core - INFO - ๐Ÿ“ค Server relayed frame #335 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:44,826 - video.core - INFO - ๐Ÿ“ฅ Server received frame #336 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28200 bytes +2025-06-06 11:05:44,826 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:44,826 - video.core - INFO - ๐Ÿ“ค Server relayed frame #336 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:44,872 - video.core - INFO - ๐Ÿ“ฅ Server received frame #337 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28269 bytes +2025-06-06 11:05:44,872 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:44,872 - video.core - INFO - ๐Ÿ“ค Server relayed frame #337 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:44,916 - video.core - INFO - ๐Ÿ“ฅ Server received frame #338 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28332 bytes +2025-06-06 11:05:44,916 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:44,916 - video.core - INFO - ๐Ÿ“ค Server relayed frame #338 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:44,964 - video.core - INFO - ๐Ÿ“ฅ Server received frame #339 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28106 bytes +2025-06-06 11:05:44,964 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:44,964 - video.core - INFO - ๐Ÿ“ค Server relayed frame #339 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:45,007 - video.core - INFO - ๐Ÿ“น Frame #340 from producer producer_1749200719303: size=27922 bytes, resolution=640x480 +2025-06-06 11:05:45,007 - video.core - INFO - ๐Ÿ“ฅ Server received frame #340 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27922 bytes +2025-06-06 11:05:45,007 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:45,007 - video.core - INFO - ๐Ÿ“ค Server relayed frame #340 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:45,047 - video.core - INFO - ๐Ÿ“ฅ Server received frame #341 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27619 bytes +2025-06-06 11:05:45,048 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:45,048 - video.core - INFO - ๐Ÿ“ค Server relayed frame #341 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:45,092 - video.core - INFO - ๐Ÿ“ฅ Server received frame #342 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27303 bytes +2025-06-06 11:05:45,093 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:45,093 - video.core - INFO - ๐Ÿ“ค Server relayed frame #342 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:45,137 - video.core - INFO - ๐Ÿ“ฅ Server received frame #343 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27112 bytes +2025-06-06 11:05:45,137 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:45,137 - video.core - INFO - ๐Ÿ“ค Server relayed frame #343 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:45,179 - video.core - INFO - ๐Ÿ“ฅ Server received frame #344 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27398 bytes +2025-06-06 11:05:45,180 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:45,180 - video.core - INFO - ๐Ÿ“ค Server relayed frame #344 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:45,222 - video.core - INFO - ๐Ÿ“ฅ Server received frame #345 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27482 bytes +2025-06-06 11:05:45,222 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:45,222 - video.core - INFO - ๐Ÿ“ค Server relayed frame #345 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:45,265 - video.core - INFO - ๐Ÿ“ฅ Server received frame #346 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27674 bytes +2025-06-06 11:05:45,265 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:45,265 - video.core - INFO - ๐Ÿ“ค Server relayed frame #346 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:45,306 - video.core - INFO - ๐Ÿ“ฅ Server received frame #347 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27561 bytes +2025-06-06 11:05:45,307 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:45,307 - video.core - INFO - ๐Ÿ“ค Server relayed frame #347 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:45,349 - video.core - INFO - ๐Ÿ“ฅ Server received frame #348 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27455 bytes +2025-06-06 11:05:45,349 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:45,349 - video.core - INFO - ๐Ÿ“ค Server relayed frame #348 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:45,394 - video.core - INFO - ๐Ÿ“ฅ Server received frame #349 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27375 bytes +2025-06-06 11:05:45,394 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:45,394 - video.core - INFO - ๐Ÿ“ค Server relayed frame #349 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:45,439 - video.core - INFO - ๐Ÿ“น Frame #350 from producer producer_1749200719303: size=27553 bytes, resolution=640x480 +2025-06-06 11:05:45,440 - video.core - INFO - ๐Ÿ“ฅ Server received frame #350 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27553 bytes +2025-06-06 11:05:45,440 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:45,440 - video.core - INFO - ๐Ÿ“ค Server relayed frame #350 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:45,479 - video.core - INFO - ๐Ÿ“ฅ Server received frame #351 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27596 bytes +2025-06-06 11:05:45,479 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:45,479 - video.core - INFO - ๐Ÿ“ค Server relayed frame #351 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:45,524 - video.core - INFO - ๐Ÿ“ฅ Server received frame #352 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27625 bytes +2025-06-06 11:05:45,525 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:45,525 - video.core - INFO - ๐Ÿ“ค Server relayed frame #352 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:45,569 - video.core - INFO - ๐Ÿ“ฅ Server received frame #353 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27692 bytes +2025-06-06 11:05:45,569 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:45,569 - video.core - INFO - ๐Ÿ“ค Server relayed frame #353 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:45,613 - video.core - INFO - ๐Ÿ“ฅ Server received frame #354 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27747 bytes +2025-06-06 11:05:45,613 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:45,613 - video.core - INFO - ๐Ÿ“ค Server relayed frame #354 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:45,658 - video.core - INFO - ๐Ÿ“ฅ Server received frame #355 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27749 bytes +2025-06-06 11:05:45,658 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:45,658 - video.core - INFO - ๐Ÿ“ค Server relayed frame #355 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:45,701 - video.core - INFO - ๐Ÿ“ฅ Server received frame #356 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27818 bytes +2025-06-06 11:05:45,701 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:45,701 - video.core - INFO - ๐Ÿ“ค Server relayed frame #356 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:45,737 - video.core - INFO - ๐Ÿ“ฅ Server received frame #357 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27281 bytes +2025-06-06 11:05:45,737 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:45,737 - video.core - INFO - ๐Ÿ“ค Server relayed frame #357 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:45,778 - video.core - INFO - ๐Ÿ“ฅ Server received frame #358 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27412 bytes +2025-06-06 11:05:45,778 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:45,779 - video.core - INFO - ๐Ÿ“ค Server relayed frame #358 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:45,826 - video.core - INFO - ๐Ÿ“ฅ Server received frame #359 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27413 bytes +2025-06-06 11:05:45,826 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:45,826 - video.core - INFO - ๐Ÿ“ค Server relayed frame #359 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:45,872 - video.core - INFO - ๐Ÿ“น Frame #360 from producer producer_1749200719303: size=27437 bytes, resolution=640x480 +2025-06-06 11:05:45,873 - video.core - INFO - ๐Ÿ“ฅ Server received frame #360 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27437 bytes +2025-06-06 11:05:45,873 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:45,873 - video.core - INFO - ๐Ÿ“ค Server relayed frame #360 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:45,873 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 360 frames processed, 21.1 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:45,873 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 360 frames, 12.7 FPS, 2.75 Mbps throughput, 27152 bytes avg frame size +2025-06-06 11:05:45,873 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 360 frames processed, FPS: 23.0, Throughput: 4.99 Mbps, Avg frame size: 27152 bytes +2025-06-06 11:05:45,916 - video.core - INFO - ๐Ÿ“ฅ Server received frame #361 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27297 bytes +2025-06-06 11:05:45,916 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:45,916 - video.core - INFO - ๐Ÿ“ค Server relayed frame #361 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:45,958 - video.core - INFO - ๐Ÿ“ฅ Server received frame #362 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27332 bytes +2025-06-06 11:05:45,958 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:45,958 - video.core - INFO - ๐Ÿ“ค Server relayed frame #362 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:46,005 - video.core - INFO - ๐Ÿ“ฅ Server received frame #363 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27475 bytes +2025-06-06 11:05:46,005 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:46,005 - video.core - INFO - ๐Ÿ“ค Server relayed frame #363 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:46,047 - video.core - INFO - ๐Ÿ“ฅ Server received frame #364 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27592 bytes +2025-06-06 11:05:46,047 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:46,047 - video.core - INFO - ๐Ÿ“ค Server relayed frame #364 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:46,091 - video.core - INFO - ๐Ÿ“ฅ Server received frame #365 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27444 bytes +2025-06-06 11:05:46,092 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:46,092 - video.core - INFO - ๐Ÿ“ค Server relayed frame #365 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:46,135 - video.core - INFO - ๐Ÿ“ฅ Server received frame #366 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27638 bytes +2025-06-06 11:05:46,136 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:46,136 - video.core - INFO - ๐Ÿ“ค Server relayed frame #366 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:46,178 - video.core - INFO - ๐Ÿ“ฅ Server received frame #367 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27732 bytes +2025-06-06 11:05:46,179 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:46,179 - video.core - INFO - ๐Ÿ“ค Server relayed frame #367 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:46,214 - video.core - INFO - ๐Ÿ“ฅ Server received frame #368 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27646 bytes +2025-06-06 11:05:46,214 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:46,214 - video.core - INFO - ๐Ÿ“ค Server relayed frame #368 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:46,256 - video.core - INFO - ๐Ÿ“ฅ Server received frame #369 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27912 bytes +2025-06-06 11:05:46,257 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:46,257 - video.core - INFO - ๐Ÿ“ค Server relayed frame #369 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:46,298 - video.core - INFO - ๐Ÿ“น Frame #370 from producer producer_1749200719303: size=27900 bytes, resolution=640x480 +2025-06-06 11:05:46,298 - video.core - INFO - ๐Ÿ“ฅ Server received frame #370 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27900 bytes +2025-06-06 11:05:46,299 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:46,299 - video.core - INFO - ๐Ÿ“ค Server relayed frame #370 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:46,343 - video.core - INFO - ๐Ÿ“ฅ Server received frame #371 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27949 bytes +2025-06-06 11:05:46,343 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:46,343 - video.core - INFO - ๐Ÿ“ค Server relayed frame #371 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:46,390 - video.core - INFO - ๐Ÿ“ฅ Server received frame #372 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27986 bytes +2025-06-06 11:05:46,390 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:46,390 - video.core - INFO - ๐Ÿ“ค Server relayed frame #372 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:46,433 - video.core - INFO - ๐Ÿ“ฅ Server received frame #373 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27968 bytes +2025-06-06 11:05:46,433 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:46,433 - video.core - INFO - ๐Ÿ“ค Server relayed frame #373 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:46,479 - video.core - INFO - ๐Ÿ“ฅ Server received frame #374 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27968 bytes +2025-06-06 11:05:46,479 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:46,479 - video.core - INFO - ๐Ÿ“ค Server relayed frame #374 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:46,522 - video.core - INFO - ๐Ÿ“ฅ Server received frame #375 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27971 bytes +2025-06-06 11:05:46,523 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:46,523 - video.core - INFO - ๐Ÿ“ค Server relayed frame #375 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:46,566 - video.core - INFO - ๐Ÿ“ฅ Server received frame #376 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28039 bytes +2025-06-06 11:05:46,566 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:46,566 - video.core - INFO - ๐Ÿ“ค Server relayed frame #376 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:46,611 - video.core - INFO - ๐Ÿ“ฅ Server received frame #377 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27954 bytes +2025-06-06 11:05:46,611 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:46,611 - video.core - INFO - ๐Ÿ“ค Server relayed frame #377 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:46,654 - video.core - INFO - ๐Ÿ“ฅ Server received frame #378 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27897 bytes +2025-06-06 11:05:46,655 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:46,655 - video.core - INFO - ๐Ÿ“ค Server relayed frame #378 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:46,699 - video.core - INFO - ๐Ÿ“ฅ Server received frame #379 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27937 bytes +2025-06-06 11:05:46,699 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:46,699 - video.core - INFO - ๐Ÿ“ค Server relayed frame #379 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:46,736 - video.core - INFO - ๐Ÿ“น Frame #380 from producer producer_1749200719303: size=27852 bytes, resolution=640x480 +2025-06-06 11:05:46,737 - video.core - INFO - ๐Ÿ“ฅ Server received frame #380 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27852 bytes +2025-06-06 11:05:46,737 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:46,737 - video.core - INFO - ๐Ÿ“ค Server relayed frame #380 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:46,775 - video.core - INFO - ๐Ÿ“ฅ Server received frame #381 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27693 bytes +2025-06-06 11:05:46,775 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:46,776 - video.core - INFO - ๐Ÿ“ค Server relayed frame #381 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:46,824 - video.core - INFO - ๐Ÿ“ฅ Server received frame #382 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27692 bytes +2025-06-06 11:05:46,824 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:46,824 - video.core - INFO - ๐Ÿ“ค Server relayed frame #382 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:46,867 - video.core - INFO - ๐Ÿ“ฅ Server received frame #383 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27702 bytes +2025-06-06 11:05:46,867 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:46,867 - video.core - INFO - ๐Ÿ“ค Server relayed frame #383 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:46,908 - video.core - INFO - ๐Ÿ“ฅ Server received frame #384 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27812 bytes +2025-06-06 11:05:46,909 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:46,909 - video.core - INFO - ๐Ÿ“ค Server relayed frame #384 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:46,958 - video.core - INFO - ๐Ÿ“ฅ Server received frame #385 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27886 bytes +2025-06-06 11:05:46,958 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:46,958 - video.core - INFO - ๐Ÿ“ค Server relayed frame #385 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:47,001 - video.core - INFO - ๐Ÿ“ฅ Server received frame #386 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27632 bytes +2025-06-06 11:05:47,001 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:47,001 - video.core - INFO - ๐Ÿ“ค Server relayed frame #386 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:47,042 - video.core - INFO - ๐Ÿ“ฅ Server received frame #387 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27444 bytes +2025-06-06 11:05:47,042 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:47,042 - video.core - INFO - ๐Ÿ“ค Server relayed frame #387 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:47,086 - video.core - INFO - ๐Ÿ“ฅ Server received frame #388 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27275 bytes +2025-06-06 11:05:47,086 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:47,086 - video.core - INFO - ๐Ÿ“ค Server relayed frame #388 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:47,132 - video.core - INFO - ๐Ÿ“ฅ Server received frame #389 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27510 bytes +2025-06-06 11:05:47,132 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:47,133 - video.core - INFO - ๐Ÿ“ค Server relayed frame #389 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:47,175 - video.core - INFO - ๐Ÿ“น Frame #390 from producer producer_1749200719303: size=27546 bytes, resolution=640x480 +2025-06-06 11:05:47,176 - video.core - INFO - ๐Ÿ“ฅ Server received frame #390 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27546 bytes +2025-06-06 11:05:47,176 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:47,176 - video.core - INFO - ๐Ÿ“ค Server relayed frame #390 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:47,176 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 390 frames processed, 21.3 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:47,176 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 390 frames, 13.1 FPS, 2.86 Mbps throughput, 27195 bytes avg frame size +2025-06-06 11:05:47,176 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 390 frames processed, FPS: 23.0, Throughput: 5.00 Mbps, Avg frame size: 27195 bytes +2025-06-06 11:05:47,239 - video.core - INFO - ๐Ÿ“ฅ Server received frame #391 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27546 bytes +2025-06-06 11:05:47,239 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:47,239 - video.core - INFO - ๐Ÿ“ค Server relayed frame #391 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:47,264 - video.core - INFO - ๐Ÿ“ฅ Server received frame #392 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27651 bytes +2025-06-06 11:05:47,265 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:47,265 - video.core - INFO - ๐Ÿ“ค Server relayed frame #392 to 1 consumers in 0.7ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:47,303 - video.core - INFO - ๐Ÿ“ฅ Server received frame #393 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27743 bytes +2025-06-06 11:05:47,304 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:47,304 - video.core - INFO - ๐Ÿ“ค Server relayed frame #393 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:47,339 - video.core - INFO - ๐Ÿ“ฅ Server received frame #394 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27643 bytes +2025-06-06 11:05:47,351 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:47,351 - video.core - INFO - ๐Ÿ“ค Server relayed frame #394 to 1 consumers in 12.8ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:47,393 - video.core - INFO - ๐Ÿ“ฅ Server received frame #395 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27853 bytes +2025-06-06 11:05:47,395 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:47,395 - video.core - INFO - ๐Ÿ“ค Server relayed frame #395 to 1 consumers in 1.7ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:47,468 - video.core - INFO - ๐Ÿ“ฅ Server received frame #396 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27955 bytes +2025-06-06 11:05:47,469 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:47,469 - video.core - INFO - ๐Ÿ“ค Server relayed frame #396 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:47,470 - video.core - INFO - ๐Ÿ“ฅ Server received frame #397 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27919 bytes +2025-06-06 11:05:47,470 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:47,470 - video.core - INFO - ๐Ÿ“ค Server relayed frame #397 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:47,508 - video.core - INFO - ๐Ÿ“ฅ Server received frame #398 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27933 bytes +2025-06-06 11:05:47,508 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:47,508 - video.core - INFO - ๐Ÿ“ค Server relayed frame #398 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:47,556 - video.core - INFO - ๐Ÿ“ฅ Server received frame #399 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28032 bytes +2025-06-06 11:05:47,556 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:47,556 - video.core - INFO - ๐Ÿ“ค Server relayed frame #399 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:47,604 - video.core - INFO - ๐Ÿ“น Frame #400 from producer producer_1749200719303: size=27870 bytes, resolution=640x480 +2025-06-06 11:05:47,605 - video.core - INFO - ๐Ÿ“ฅ Server received frame #400 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27870 bytes +2025-06-06 11:05:47,605 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:47,605 - video.core - INFO - ๐Ÿ“ค Server relayed frame #400 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:47,647 - video.core - INFO - ๐Ÿ“ฅ Server received frame #401 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27863 bytes +2025-06-06 11:05:47,648 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:47,648 - video.core - INFO - ๐Ÿ“ค Server relayed frame #401 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:47,689 - video.core - INFO - ๐Ÿ“ฅ Server received frame #402 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27851 bytes +2025-06-06 11:05:47,689 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:47,689 - video.core - INFO - ๐Ÿ“ค Server relayed frame #402 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:47,732 - video.core - INFO - ๐Ÿ“ฅ Server received frame #403 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27930 bytes +2025-06-06 11:05:47,732 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:47,732 - video.core - INFO - ๐Ÿ“ค Server relayed frame #403 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:47,769 - video.core - INFO - ๐Ÿ“ฅ Server received frame #404 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27925 bytes +2025-06-06 11:05:47,769 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:47,769 - video.core - INFO - ๐Ÿ“ค Server relayed frame #404 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:47,817 - video.core - INFO - ๐Ÿ“ฅ Server received frame #405 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28018 bytes +2025-06-06 11:05:47,817 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:47,817 - video.core - INFO - ๐Ÿ“ค Server relayed frame #405 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:47,860 - video.core - INFO - ๐Ÿ“ฅ Server received frame #406 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27978 bytes +2025-06-06 11:05:47,860 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:47,860 - video.core - INFO - ๐Ÿ“ค Server relayed frame #406 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:47,908 - video.core - INFO - ๐Ÿ“ฅ Server received frame #407 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28020 bytes +2025-06-06 11:05:47,908 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:47,908 - video.core - INFO - ๐Ÿ“ค Server relayed frame #407 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:47,952 - video.core - INFO - ๐Ÿ“ฅ Server received frame #408 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28044 bytes +2025-06-06 11:05:47,952 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:47,952 - video.core - INFO - ๐Ÿ“ค Server relayed frame #408 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:47,989 - video.core - INFO - ๐Ÿ“ฅ Server received frame #409 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28010 bytes +2025-06-06 11:05:47,989 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:47,989 - video.core - INFO - ๐Ÿ“ค Server relayed frame #409 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:48,034 - video.core - INFO - ๐Ÿ“น Frame #410 from producer producer_1749200719303: size=27995 bytes, resolution=640x480 +2025-06-06 11:05:48,034 - video.core - INFO - ๐Ÿ“ฅ Server received frame #410 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27995 bytes +2025-06-06 11:05:48,034 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:48,034 - video.core - INFO - ๐Ÿ“ค Server relayed frame #410 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:48,079 - video.core - INFO - ๐Ÿ“ฅ Server received frame #411 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28137 bytes +2025-06-06 11:05:48,080 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:48,080 - video.core - INFO - ๐Ÿ“ค Server relayed frame #411 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:48,125 - video.core - INFO - ๐Ÿ“ฅ Server received frame #412 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27982 bytes +2025-06-06 11:05:48,126 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:48,126 - video.core - INFO - ๐Ÿ“ค Server relayed frame #412 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:48,170 - video.core - INFO - ๐Ÿ“ฅ Server received frame #413 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27822 bytes +2025-06-06 11:05:48,170 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:48,170 - video.core - INFO - ๐Ÿ“ค Server relayed frame #413 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:48,203 - video.core - INFO - ๐Ÿ“ฅ Server received frame #414 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27866 bytes +2025-06-06 11:05:48,203 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:48,203 - video.core - INFO - ๐Ÿ“ค Server relayed frame #414 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:48,258 - video.core - INFO - ๐Ÿ“ฅ Server received frame #415 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27932 bytes +2025-06-06 11:05:48,258 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:48,259 - video.core - INFO - ๐Ÿ“ค Server relayed frame #415 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:48,290 - video.core - INFO - ๐Ÿ“ฅ Server received frame #416 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27924 bytes +2025-06-06 11:05:48,290 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:48,290 - video.core - INFO - ๐Ÿ“ค Server relayed frame #416 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:48,331 - video.core - INFO - ๐Ÿ“ฅ Server received frame #417 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27808 bytes +2025-06-06 11:05:48,332 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:48,332 - video.core - INFO - ๐Ÿ“ค Server relayed frame #417 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:48,380 - video.core - INFO - ๐Ÿ“ฅ Server received frame #418 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27650 bytes +2025-06-06 11:05:48,380 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:48,380 - video.core - INFO - ๐Ÿ“ค Server relayed frame #418 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:48,424 - video.core - INFO - ๐Ÿ“ฅ Server received frame #419 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27793 bytes +2025-06-06 11:05:48,424 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:48,424 - video.core - INFO - ๐Ÿ“ค Server relayed frame #419 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:48,468 - video.core - INFO - ๐Ÿ“น Frame #420 from producer producer_1749200719303: size=27795 bytes, resolution=640x480 +2025-06-06 11:05:48,468 - video.core - INFO - ๐Ÿ“ฅ Server received frame #420 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27795 bytes +2025-06-06 11:05:48,468 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:48,468 - video.core - INFO - ๐Ÿ“ค Server relayed frame #420 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:48,468 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 420 frames processed, 21.4 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:48,468 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 420 frames, 13.6 FPS, 2.95 Mbps throughput, 27245 bytes avg frame size +2025-06-06 11:05:48,468 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 420 frames processed, FPS: 23.0, Throughput: 5.01 Mbps, Avg frame size: 27245 bytes +2025-06-06 11:05:48,511 - video.core - INFO - ๐Ÿ“ฅ Server received frame #421 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27872 bytes +2025-06-06 11:05:48,511 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:48,511 - video.core - INFO - ๐Ÿ“ค Server relayed frame #421 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:48,556 - video.core - INFO - ๐Ÿ“ฅ Server received frame #422 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28029 bytes +2025-06-06 11:05:48,556 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:48,556 - video.core - INFO - ๐Ÿ“ค Server relayed frame #422 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:48,604 - video.core - INFO - ๐Ÿ“ฅ Server received frame #423 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28116 bytes +2025-06-06 11:05:48,604 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:48,604 - video.core - INFO - ๐Ÿ“ค Server relayed frame #423 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:48,644 - video.core - INFO - ๐Ÿ“ฅ Server received frame #424 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28081 bytes +2025-06-06 11:05:48,644 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:48,644 - video.core - INFO - ๐Ÿ“ค Server relayed frame #424 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:48,688 - video.core - INFO - ๐Ÿ“ฅ Server received frame #425 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28223 bytes +2025-06-06 11:05:48,688 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:48,688 - video.core - INFO - ๐Ÿ“ค Server relayed frame #425 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:48,727 - video.core - INFO - ๐Ÿ“ฅ Server received frame #426 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28231 bytes +2025-06-06 11:05:48,727 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:48,727 - video.core - INFO - ๐Ÿ“ค Server relayed frame #426 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:48,762 - video.core - INFO - ๐Ÿ“ฅ Server received frame #427 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28183 bytes +2025-06-06 11:05:48,762 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:48,762 - video.core - INFO - ๐Ÿ“ค Server relayed frame #427 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:48,807 - video.core - INFO - ๐Ÿ“ฅ Server received frame #428 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28239 bytes +2025-06-06 11:05:48,807 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:48,807 - video.core - INFO - ๐Ÿ“ค Server relayed frame #428 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:48,857 - video.core - INFO - ๐Ÿ“ฅ Server received frame #429 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28209 bytes +2025-06-06 11:05:48,857 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:48,857 - video.core - INFO - ๐Ÿ“ค Server relayed frame #429 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:48,898 - video.core - INFO - ๐Ÿ“น Frame #430 from producer producer_1749200719303: size=28041 bytes, resolution=640x480 +2025-06-06 11:05:48,898 - video.core - INFO - ๐Ÿ“ฅ Server received frame #430 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28041 bytes +2025-06-06 11:05:48,898 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:48,898 - video.core - INFO - ๐Ÿ“ค Server relayed frame #430 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:48,944 - video.core - INFO - ๐Ÿ“ฅ Server received frame #431 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28011 bytes +2025-06-06 11:05:48,944 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:48,944 - video.core - INFO - ๐Ÿ“ค Server relayed frame #431 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:48,989 - video.core - INFO - ๐Ÿ“ฅ Server received frame #432 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27963 bytes +2025-06-06 11:05:48,990 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:48,990 - video.core - INFO - ๐Ÿ“ค Server relayed frame #432 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:49,032 - video.core - INFO - ๐Ÿ“ฅ Server received frame #433 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27737 bytes +2025-06-06 11:05:49,032 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:49,032 - video.core - INFO - ๐Ÿ“ค Server relayed frame #433 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:49,077 - video.core - INFO - ๐Ÿ“ฅ Server received frame #434 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27682 bytes +2025-06-06 11:05:49,077 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:49,077 - video.core - INFO - ๐Ÿ“ค Server relayed frame #434 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:49,118 - video.core - INFO - ๐Ÿ“ฅ Server received frame #435 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27811 bytes +2025-06-06 11:05:49,118 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:49,118 - video.core - INFO - ๐Ÿ“ค Server relayed frame #435 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:49,166 - video.core - INFO - ๐Ÿ“ฅ Server received frame #436 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27865 bytes +2025-06-06 11:05:49,167 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:49,167 - video.core - INFO - ๐Ÿ“ค Server relayed frame #436 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:49,207 - video.core - INFO - ๐Ÿ“ฅ Server received frame #437 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27791 bytes +2025-06-06 11:05:49,207 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:49,207 - video.core - INFO - ๐Ÿ“ค Server relayed frame #437 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:49,247 - video.core - INFO - ๐Ÿ“ฅ Server received frame #438 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27991 bytes +2025-06-06 11:05:49,247 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:49,247 - video.core - INFO - ๐Ÿ“ค Server relayed frame #438 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:49,291 - video.core - INFO - ๐Ÿ“ฅ Server received frame #439 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28095 bytes +2025-06-06 11:05:49,292 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:49,292 - video.core - INFO - ๐Ÿ“ค Server relayed frame #439 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:49,336 - video.core - INFO - ๐Ÿ“น Frame #440 from producer producer_1749200719303: size=28108 bytes, resolution=640x480 +2025-06-06 11:05:49,336 - video.core - INFO - ๐Ÿ“ฅ Server received frame #440 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28108 bytes +2025-06-06 11:05:49,336 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:49,337 - video.core - INFO - ๐Ÿ“ค Server relayed frame #440 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:49,370 - video.core - INFO - ๐Ÿ“ฅ Server received frame #441 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28122 bytes +2025-06-06 11:05:49,370 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:49,370 - video.core - INFO - ๐Ÿ“ค Server relayed frame #441 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:49,414 - video.core - INFO - ๐Ÿ“ฅ Server received frame #442 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28038 bytes +2025-06-06 11:05:49,414 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:49,414 - video.core - INFO - ๐Ÿ“ค Server relayed frame #442 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:49,460 - video.core - INFO - ๐Ÿ“ฅ Server received frame #443 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27928 bytes +2025-06-06 11:05:49,460 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:49,460 - video.core - INFO - ๐Ÿ“ค Server relayed frame #443 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:49,504 - video.core - INFO - ๐Ÿ“ฅ Server received frame #444 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27787 bytes +2025-06-06 11:05:49,504 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:49,504 - video.core - INFO - ๐Ÿ“ค Server relayed frame #444 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:49,552 - video.core - INFO - ๐Ÿ“ฅ Server received frame #445 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27600 bytes +2025-06-06 11:05:49,553 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:49,553 - video.core - INFO - ๐Ÿ“ค Server relayed frame #445 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:49,591 - video.core - INFO - ๐Ÿ“ฅ Server received frame #446 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27643 bytes +2025-06-06 11:05:49,591 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:49,591 - video.core - INFO - ๐Ÿ“ค Server relayed frame #446 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:49,631 - video.core - INFO - ๐Ÿ“ฅ Server received frame #447 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27602 bytes +2025-06-06 11:05:49,631 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:49,631 - video.core - INFO - ๐Ÿ“ค Server relayed frame #447 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:49,674 - video.core - INFO - ๐Ÿ“ฅ Server received frame #448 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27423 bytes +2025-06-06 11:05:49,674 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:49,674 - video.core - INFO - ๐Ÿ“ค Server relayed frame #448 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:49,715 - video.core - INFO - ๐Ÿ“ฅ Server received frame #449 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27333 bytes +2025-06-06 11:05:49,715 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:49,715 - video.core - INFO - ๐Ÿ“ค Server relayed frame #449 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:49,757 - video.core - INFO - ๐Ÿ“น Frame #450 from producer producer_1749200719303: size=27308 bytes, resolution=640x480 +2025-06-06 11:05:49,757 - video.core - INFO - ๐Ÿ“ฅ Server received frame #450 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27308 bytes +2025-06-06 11:05:49,757 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:49,757 - video.core - INFO - ๐Ÿ“ค Server relayed frame #450 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:49,757 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 450 frames processed, 21.5 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:49,757 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 450 frames, 13.9 FPS, 3.04 Mbps throughput, 27288 bytes avg frame size +2025-06-06 11:05:49,757 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 450 frames processed, FPS: 23.0, Throughput: 5.02 Mbps, Avg frame size: 27288 bytes +2025-06-06 11:05:49,802 - video.core - INFO - ๐Ÿ“ฅ Server received frame #451 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27436 bytes +2025-06-06 11:05:49,802 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:49,802 - video.core - INFO - ๐Ÿ“ค Server relayed frame #451 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:49,845 - video.core - INFO - ๐Ÿ“ฅ Server received frame #452 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27518 bytes +2025-06-06 11:05:49,845 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:49,845 - video.core - INFO - ๐Ÿ“ค Server relayed frame #452 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:49,887 - video.core - INFO - ๐Ÿ“ฅ Server received frame #453 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27455 bytes +2025-06-06 11:05:49,887 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:49,887 - video.core - INFO - ๐Ÿ“ค Server relayed frame #453 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:49,930 - video.core - INFO - ๐Ÿ“ฅ Server received frame #454 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27549 bytes +2025-06-06 11:05:49,930 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:49,930 - video.core - INFO - ๐Ÿ“ค Server relayed frame #454 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:49,973 - video.core - INFO - ๐Ÿ“ฅ Server received frame #455 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27668 bytes +2025-06-06 11:05:49,973 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:49,973 - video.core - INFO - ๐Ÿ“ค Server relayed frame #455 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:50,016 - video.core - INFO - ๐Ÿ“ฅ Server received frame #456 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27586 bytes +2025-06-06 11:05:50,016 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:50,016 - video.core - INFO - ๐Ÿ“ค Server relayed frame #456 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:50,063 - video.core - INFO - ๐Ÿ“ฅ Server received frame #457 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27679 bytes +2025-06-06 11:05:50,063 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:50,063 - video.core - INFO - ๐Ÿ“ค Server relayed frame #457 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:50,104 - video.core - INFO - ๐Ÿ“ฅ Server received frame #458 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27689 bytes +2025-06-06 11:05:50,104 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:50,105 - video.core - INFO - ๐Ÿ“ค Server relayed frame #458 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:50,147 - video.core - INFO - ๐Ÿ“ฅ Server received frame #459 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27761 bytes +2025-06-06 11:05:50,147 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:50,147 - video.core - INFO - ๐Ÿ“ค Server relayed frame #459 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:50,195 - video.core - INFO - ๐Ÿ“น Frame #460 from producer producer_1749200719303: size=27841 bytes, resolution=640x480 +2025-06-06 11:05:50,195 - video.core - INFO - ๐Ÿ“ฅ Server received frame #460 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27841 bytes +2025-06-06 11:05:50,195 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:50,195 - video.core - INFO - ๐Ÿ“ค Server relayed frame #460 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:50,237 - video.core - INFO - ๐Ÿ“ฅ Server received frame #461 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27839 bytes +2025-06-06 11:05:50,237 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:50,237 - video.core - INFO - ๐Ÿ“ค Server relayed frame #461 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:50,275 - video.core - INFO - ๐Ÿ“ฅ Server received frame #462 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27974 bytes +2025-06-06 11:05:50,275 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:50,275 - video.core - INFO - ๐Ÿ“ค Server relayed frame #462 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:50,322 - video.core - INFO - ๐Ÿ“ฅ Server received frame #463 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28002 bytes +2025-06-06 11:05:50,322 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:50,322 - video.core - INFO - ๐Ÿ“ค Server relayed frame #463 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:50,363 - video.core - INFO - ๐Ÿ“ฅ Server received frame #464 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27981 bytes +2025-06-06 11:05:50,363 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:50,363 - video.core - INFO - ๐Ÿ“ค Server relayed frame #464 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:50,407 - video.core - INFO - ๐Ÿ“ฅ Server received frame #465 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28063 bytes +2025-06-06 11:05:50,407 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:50,407 - video.core - INFO - ๐Ÿ“ค Server relayed frame #465 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:50,459 - video.core - INFO - ๐Ÿ“ฅ Server received frame #466 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27942 bytes +2025-06-06 11:05:50,459 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:50,459 - video.core - INFO - ๐Ÿ“ค Server relayed frame #466 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:50,496 - video.core - INFO - ๐Ÿ“ฅ Server received frame #467 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28071 bytes +2025-06-06 11:05:50,496 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:50,496 - video.core - INFO - ๐Ÿ“ค Server relayed frame #467 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:50,542 - video.core - INFO - ๐Ÿ“ฅ Server received frame #468 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28103 bytes +2025-06-06 11:05:50,542 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:50,542 - video.core - INFO - ๐Ÿ“ค Server relayed frame #468 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:50,590 - video.core - INFO - ๐Ÿ“ฅ Server received frame #469 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28092 bytes +2025-06-06 11:05:50,590 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:50,590 - video.core - INFO - ๐Ÿ“ค Server relayed frame #469 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:50,634 - video.core - INFO - ๐Ÿ“น Frame #470 from producer producer_1749200719303: size=28101 bytes, resolution=640x480 +2025-06-06 11:05:50,634 - video.core - INFO - ๐Ÿ“ฅ Server received frame #470 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28101 bytes +2025-06-06 11:05:50,634 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:50,634 - video.core - INFO - ๐Ÿ“ค Server relayed frame #470 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:50,675 - video.core - INFO - ๐Ÿ“ฅ Server received frame #471 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28072 bytes +2025-06-06 11:05:50,676 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:50,676 - video.core - INFO - ๐Ÿ“ค Server relayed frame #471 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:50,719 - video.core - INFO - ๐Ÿ“ฅ Server received frame #472 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28025 bytes +2025-06-06 11:05:50,720 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:50,720 - video.core - INFO - ๐Ÿ“ค Server relayed frame #472 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:50,755 - video.core - INFO - ๐Ÿ“ฅ Server received frame #473 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28098 bytes +2025-06-06 11:05:50,755 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:50,755 - video.core - INFO - ๐Ÿ“ค Server relayed frame #473 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:50,798 - video.core - INFO - ๐Ÿ“ฅ Server received frame #474 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28064 bytes +2025-06-06 11:05:50,798 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:50,798 - video.core - INFO - ๐Ÿ“ค Server relayed frame #474 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:50,846 - video.core - INFO - ๐Ÿ“ฅ Server received frame #475 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27950 bytes +2025-06-06 11:05:50,846 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:50,846 - video.core - INFO - ๐Ÿ“ค Server relayed frame #475 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:50,887 - video.core - INFO - ๐Ÿ“ฅ Server received frame #476 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28022 bytes +2025-06-06 11:05:50,887 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:50,887 - video.core - INFO - ๐Ÿ“ค Server relayed frame #476 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:50,934 - video.core - INFO - ๐Ÿ“ฅ Server received frame #477 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27982 bytes +2025-06-06 11:05:50,934 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:50,934 - video.core - INFO - ๐Ÿ“ค Server relayed frame #477 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:50,982 - video.core - INFO - ๐Ÿ“ฅ Server received frame #478 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28061 bytes +2025-06-06 11:05:50,982 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:50,982 - video.core - INFO - ๐Ÿ“ค Server relayed frame #478 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:51,026 - video.core - INFO - ๐Ÿ“ฅ Server received frame #479 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28178 bytes +2025-06-06 11:05:51,026 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:51,026 - video.core - INFO - ๐Ÿ“ค Server relayed frame #479 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:51,066 - video.core - INFO - ๐Ÿ“น Frame #480 from producer producer_1749200719303: size=28210 bytes, resolution=640x480 +2025-06-06 11:05:51,066 - video.core - INFO - ๐Ÿ“ฅ Server received frame #480 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28210 bytes +2025-06-06 11:05:51,066 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:51,066 - video.core - INFO - ๐Ÿ“ค Server relayed frame #480 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:51,066 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 480 frames processed, 21.6 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:51,066 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 480 frames, 14.3 FPS, 3.12 Mbps throughput, 27327 bytes avg frame size +2025-06-06 11:05:51,066 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 480 frames processed, FPS: 23.0, Throughput: 5.03 Mbps, Avg frame size: 27327 bytes +2025-06-06 11:05:51,106 - video.core - INFO - ๐Ÿ“ฅ Server received frame #481 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28241 bytes +2025-06-06 11:05:51,107 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:51,107 - video.core - INFO - ๐Ÿ“ค Server relayed frame #481 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:51,148 - video.core - INFO - ๐Ÿ“ฅ Server received frame #482 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28254 bytes +2025-06-06 11:05:51,149 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:51,149 - video.core - INFO - ๐Ÿ“ค Server relayed frame #482 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:51,192 - video.core - INFO - ๐Ÿ“ฅ Server received frame #483 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28351 bytes +2025-06-06 11:05:51,192 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:51,192 - video.core - INFO - ๐Ÿ“ค Server relayed frame #483 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:51,243 - video.core - INFO - ๐Ÿ“ฅ Server received frame #484 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28254 bytes +2025-06-06 11:05:51,243 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:51,243 - video.core - INFO - ๐Ÿ“ค Server relayed frame #484 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:51,282 - video.core - INFO - ๐Ÿ“ฅ Server received frame #485 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28325 bytes +2025-06-06 11:05:51,282 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:51,282 - video.core - INFO - ๐Ÿ“ค Server relayed frame #485 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:51,326 - video.core - INFO - ๐Ÿ“ฅ Server received frame #486 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28233 bytes +2025-06-06 11:05:51,326 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:51,326 - video.core - INFO - ๐Ÿ“ค Server relayed frame #486 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:51,364 - video.core - INFO - ๐Ÿ“ฅ Server received frame #487 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28190 bytes +2025-06-06 11:05:51,365 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:51,365 - video.core - INFO - ๐Ÿ“ค Server relayed frame #487 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:51,406 - video.core - INFO - ๐Ÿ“ฅ Server received frame #488 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28199 bytes +2025-06-06 11:05:51,407 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:51,407 - video.core - INFO - ๐Ÿ“ค Server relayed frame #488 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:51,470 - video.core - INFO - ๐Ÿ“ฅ Server received frame #489 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28170 bytes +2025-06-06 11:05:51,472 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:51,473 - video.core - INFO - ๐Ÿ“ค Server relayed frame #489 to 1 consumers in 3.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:51,624 - video.core - INFO - ๐Ÿ“น Frame #490 from producer producer_1749200719303: size=28179 bytes, resolution=640x480 +2025-06-06 11:05:51,625 - video.core - INFO - ๐Ÿ“ฅ Server received frame #490 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28179 bytes +2025-06-06 11:05:51,625 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:51,625 - video.core - INFO - ๐Ÿ“ค Server relayed frame #490 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:51,627 - video.core - INFO - ๐Ÿ“ฅ Server received frame #491 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28219 bytes +2025-06-06 11:05:51,628 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:51,628 - video.core - INFO - ๐Ÿ“ค Server relayed frame #491 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:51,629 - video.core - INFO - ๐Ÿ“ฅ Server received frame #492 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28190 bytes +2025-06-06 11:05:51,629 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:51,629 - video.core - INFO - ๐Ÿ“ค Server relayed frame #492 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:51,630 - video.core - INFO - ๐Ÿ“ฅ Server received frame #493 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28080 bytes +2025-06-06 11:05:51,630 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:51,630 - video.core - INFO - ๐Ÿ“ค Server relayed frame #493 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:51,659 - video.core - INFO - ๐Ÿ“ฅ Server received frame #494 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28111 bytes +2025-06-06 11:05:51,660 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:51,660 - video.core - INFO - ๐Ÿ“ค Server relayed frame #494 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:51,704 - video.core - INFO - ๐Ÿ“ฅ Server received frame #495 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28041 bytes +2025-06-06 11:05:51,704 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:51,704 - video.core - INFO - ๐Ÿ“ค Server relayed frame #495 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:51,744 - video.core - INFO - ๐Ÿ“ฅ Server received frame #496 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27988 bytes +2025-06-06 11:05:51,744 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:51,744 - video.core - INFO - ๐Ÿ“ค Server relayed frame #496 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:51,788 - video.core - INFO - ๐Ÿ“ฅ Server received frame #497 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28042 bytes +2025-06-06 11:05:51,788 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:51,788 - video.core - INFO - ๐Ÿ“ค Server relayed frame #497 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:51,836 - video.core - INFO - ๐Ÿ“ฅ Server received frame #498 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28045 bytes +2025-06-06 11:05:51,836 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:51,836 - video.core - INFO - ๐Ÿ“ค Server relayed frame #498 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:51,888 - video.core - INFO - ๐Ÿ“ฅ Server received frame #499 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28007 bytes +2025-06-06 11:05:51,888 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:51,888 - video.core - INFO - ๐Ÿ“ค Server relayed frame #499 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:51,929 - video.core - INFO - ๐Ÿ“น Frame #500 from producer producer_1749200719303: size=28133 bytes, resolution=640x480 +2025-06-06 11:05:51,930 - video.core - INFO - ๐Ÿ“ฅ Server received frame #500 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28133 bytes +2025-06-06 11:05:51,930 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:51,930 - video.core - INFO - ๐Ÿ“ค Server relayed frame #500 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:51,972 - video.core - INFO - ๐Ÿ“ฅ Server received frame #501 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28163 bytes +2025-06-06 11:05:51,973 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:51,973 - video.core - INFO - ๐Ÿ“ค Server relayed frame #501 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:52,017 - video.core - INFO - ๐Ÿ“ฅ Server received frame #502 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27950 bytes +2025-06-06 11:05:52,017 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:52,017 - video.core - INFO - ๐Ÿ“ค Server relayed frame #502 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:52,061 - video.core - INFO - ๐Ÿ“ฅ Server received frame #503 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28042 bytes +2025-06-06 11:05:52,061 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:52,061 - video.core - INFO - ๐Ÿ“ค Server relayed frame #503 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:52,108 - video.core - INFO - ๐Ÿ“ฅ Server received frame #504 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27956 bytes +2025-06-06 11:05:52,108 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:52,108 - video.core - INFO - ๐Ÿ“ค Server relayed frame #504 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:52,148 - video.core - INFO - ๐Ÿ“ฅ Server received frame #505 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27845 bytes +2025-06-06 11:05:52,148 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:52,148 - video.core - INFO - ๐Ÿ“ค Server relayed frame #505 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:52,193 - video.core - INFO - ๐Ÿ“ฅ Server received frame #506 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27898 bytes +2025-06-06 11:05:52,193 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:52,193 - video.core - INFO - ๐Ÿ“ค Server relayed frame #506 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:52,234 - video.core - INFO - ๐Ÿ“ฅ Server received frame #507 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27788 bytes +2025-06-06 11:05:52,235 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:52,235 - video.core - INFO - ๐Ÿ“ค Server relayed frame #507 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:52,278 - video.core - INFO - ๐Ÿ“ฅ Server received frame #508 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27751 bytes +2025-06-06 11:05:52,280 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:52,280 - video.core - INFO - ๐Ÿ“ค Server relayed frame #508 to 1 consumers in 1.9ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:52,322 - video.core - INFO - ๐Ÿ“ฅ Server received frame #509 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27476 bytes +2025-06-06 11:05:52,322 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:52,322 - video.core - INFO - ๐Ÿ“ค Server relayed frame #509 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:52,368 - video.core - INFO - ๐Ÿ“น Frame #510 from producer producer_1749200719303: size=27265 bytes, resolution=640x480 +2025-06-06 11:05:52,368 - video.core - INFO - ๐Ÿ“ฅ Server received frame #510 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27265 bytes +2025-06-06 11:05:52,368 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:52,368 - video.core - INFO - ๐Ÿ“ค Server relayed frame #510 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:52,368 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 510 frames processed, 21.7 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:52,368 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 510 frames, 14.6 FPS, 3.20 Mbps throughput, 27369 bytes avg frame size +2025-06-06 11:05:52,368 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 510 frames processed, FPS: 23.0, Throughput: 5.04 Mbps, Avg frame size: 27369 bytes +2025-06-06 11:05:52,407 - video.core - INFO - ๐Ÿ“ฅ Server received frame #511 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27081 bytes +2025-06-06 11:05:52,407 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:52,407 - video.core - INFO - ๐Ÿ“ค Server relayed frame #511 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:52,439 - video.core - INFO - ๐Ÿ“ฅ Server received frame #512 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27297 bytes +2025-06-06 11:05:52,439 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:52,439 - video.core - INFO - ๐Ÿ“ค Server relayed frame #512 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:52,487 - video.core - INFO - ๐Ÿ“ฅ Server received frame #513 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27524 bytes +2025-06-06 11:05:52,487 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:52,487 - video.core - INFO - ๐Ÿ“ค Server relayed frame #513 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:52,529 - video.core - INFO - ๐Ÿ“ฅ Server received frame #514 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27596 bytes +2025-06-06 11:05:52,529 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:52,530 - video.core - INFO - ๐Ÿ“ค Server relayed frame #514 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:52,574 - video.core - INFO - ๐Ÿ“ฅ Server received frame #515 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27200 bytes +2025-06-06 11:05:52,574 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:52,574 - video.core - INFO - ๐Ÿ“ค Server relayed frame #515 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:52,614 - video.core - INFO - ๐Ÿ“ฅ Server received frame #516 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27300 bytes +2025-06-06 11:05:52,614 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:52,614 - video.core - INFO - ๐Ÿ“ค Server relayed frame #516 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:52,662 - video.core - INFO - ๐Ÿ“ฅ Server received frame #517 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27278 bytes +2025-06-06 11:05:52,662 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:52,662 - video.core - INFO - ๐Ÿ“ค Server relayed frame #517 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:52,710 - video.core - INFO - ๐Ÿ“ฅ Server received frame #518 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27039 bytes +2025-06-06 11:05:52,710 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:52,710 - video.core - INFO - ๐Ÿ“ค Server relayed frame #518 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:52,742 - video.core - INFO - ๐Ÿ“ฅ Server received frame #519 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27084 bytes +2025-06-06 11:05:52,742 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:52,742 - video.core - INFO - ๐Ÿ“ค Server relayed frame #519 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:52,788 - video.core - INFO - ๐Ÿ“น Frame #520 from producer producer_1749200719303: size=27109 bytes, resolution=640x480 +2025-06-06 11:05:52,789 - video.core - INFO - ๐Ÿ“ฅ Server received frame #520 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27109 bytes +2025-06-06 11:05:52,789 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:52,789 - video.core - INFO - ๐Ÿ“ค Server relayed frame #520 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:52,830 - video.core - INFO - ๐Ÿ“ฅ Server received frame #521 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27122 bytes +2025-06-06 11:05:52,830 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:52,830 - video.core - INFO - ๐Ÿ“ค Server relayed frame #521 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:52,874 - video.core - INFO - ๐Ÿ“ฅ Server received frame #522 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27055 bytes +2025-06-06 11:05:52,874 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:52,874 - video.core - INFO - ๐Ÿ“ค Server relayed frame #522 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:52,919 - video.core - INFO - ๐Ÿ“ฅ Server received frame #523 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27270 bytes +2025-06-06 11:05:52,919 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:52,919 - video.core - INFO - ๐Ÿ“ค Server relayed frame #523 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:52,961 - video.core - INFO - ๐Ÿ“ฅ Server received frame #524 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27224 bytes +2025-06-06 11:05:52,961 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:52,961 - video.core - INFO - ๐Ÿ“ค Server relayed frame #524 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:53,007 - video.core - INFO - ๐Ÿ“ฅ Server received frame #525 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27197 bytes +2025-06-06 11:05:53,007 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:53,007 - video.core - INFO - ๐Ÿ“ค Server relayed frame #525 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:53,049 - video.core - INFO - ๐Ÿ“ฅ Server received frame #526 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27171 bytes +2025-06-06 11:05:53,049 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:53,049 - video.core - INFO - ๐Ÿ“ค Server relayed frame #526 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:53,097 - video.core - INFO - ๐Ÿ“ฅ Server received frame #527 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27202 bytes +2025-06-06 11:05:53,097 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:53,097 - video.core - INFO - ๐Ÿ“ค Server relayed frame #527 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:53,138 - video.core - INFO - ๐Ÿ“ฅ Server received frame #528 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27304 bytes +2025-06-06 11:05:53,138 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:53,138 - video.core - INFO - ๐Ÿ“ค Server relayed frame #528 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:53,181 - video.core - INFO - ๐Ÿ“ฅ Server received frame #529 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27106 bytes +2025-06-06 11:05:53,181 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:53,181 - video.core - INFO - ๐Ÿ“ค Server relayed frame #529 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:53,222 - video.core - INFO - ๐Ÿ“น Frame #530 from producer producer_1749200719303: size=27306 bytes, resolution=640x480 +2025-06-06 11:05:53,222 - video.core - INFO - ๐Ÿ“ฅ Server received frame #530 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27306 bytes +2025-06-06 11:05:53,222 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:53,222 - video.core - INFO - ๐Ÿ“ค Server relayed frame #530 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:53,263 - video.core - INFO - ๐Ÿ“ฅ Server received frame #531 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27164 bytes +2025-06-06 11:05:53,263 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:53,263 - video.core - INFO - ๐Ÿ“ค Server relayed frame #531 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:53,308 - video.core - INFO - ๐Ÿ“ฅ Server received frame #532 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27447 bytes +2025-06-06 11:05:53,309 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:53,309 - video.core - INFO - ๐Ÿ“ค Server relayed frame #532 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:53,350 - video.core - INFO - ๐Ÿ“ฅ Server received frame #533 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27605 bytes +2025-06-06 11:05:53,350 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:53,350 - video.core - INFO - ๐Ÿ“ค Server relayed frame #533 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:53,396 - video.core - INFO - ๐Ÿ“ฅ Server received frame #534 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27824 bytes +2025-06-06 11:05:53,396 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:53,396 - video.core - INFO - ๐Ÿ“ค Server relayed frame #534 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:53,440 - video.core - INFO - ๐Ÿ“ฅ Server received frame #535 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27955 bytes +2025-06-06 11:05:53,440 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:53,440 - video.core - INFO - ๐Ÿ“ค Server relayed frame #535 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:53,480 - video.core - INFO - ๐Ÿ“ฅ Server received frame #536 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27993 bytes +2025-06-06 11:05:53,480 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:53,480 - video.core - INFO - ๐Ÿ“ค Server relayed frame #536 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:53,526 - video.core - INFO - ๐Ÿ“ฅ Server received frame #537 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28071 bytes +2025-06-06 11:05:53,527 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:53,527 - video.core - INFO - ๐Ÿ“ค Server relayed frame #537 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:53,567 - video.core - INFO - ๐Ÿ“ฅ Server received frame #538 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28148 bytes +2025-06-06 11:05:53,567 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:53,567 - video.core - INFO - ๐Ÿ“ค Server relayed frame #538 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:53,613 - video.core - INFO - ๐Ÿ“ฅ Server received frame #539 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28217 bytes +2025-06-06 11:05:53,613 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:53,613 - video.core - INFO - ๐Ÿ“ค Server relayed frame #539 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:53,653 - video.core - INFO - ๐Ÿ“น Frame #540 from producer producer_1749200719303: size=28259 bytes, resolution=640x480 +2025-06-06 11:05:53,653 - video.core - INFO - ๐Ÿ“ฅ Server received frame #540 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28259 bytes +2025-06-06 11:05:53,653 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:53,653 - video.core - INFO - ๐Ÿ“ค Server relayed frame #540 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:53,654 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 540 frames processed, 21.7 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:53,654 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 540 frames, 14.9 FPS, 3.27 Mbps throughput, 27373 bytes avg frame size +2025-06-06 11:05:53,654 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 540 frames processed, FPS: 23.0, Throughput: 5.04 Mbps, Avg frame size: 27373 bytes +2025-06-06 11:05:53,702 - video.core - INFO - ๐Ÿ“ฅ Server received frame #541 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28162 bytes +2025-06-06 11:05:53,703 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:53,703 - video.core - INFO - ๐Ÿ“ค Server relayed frame #541 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:53,747 - video.core - INFO - ๐Ÿ“ฅ Server received frame #542 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28061 bytes +2025-06-06 11:05:53,747 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:53,747 - video.core - INFO - ๐Ÿ“ค Server relayed frame #542 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:53,786 - video.core - INFO - ๐Ÿ“ฅ Server received frame #543 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28107 bytes +2025-06-06 11:05:53,787 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:53,787 - video.core - INFO - ๐Ÿ“ค Server relayed frame #543 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:53,827 - video.core - INFO - ๐Ÿ“ฅ Server received frame #544 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27967 bytes +2025-06-06 11:05:53,827 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:53,827 - video.core - INFO - ๐Ÿ“ค Server relayed frame #544 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:53,874 - video.core - INFO - ๐Ÿ“ฅ Server received frame #545 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27974 bytes +2025-06-06 11:05:53,874 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:53,874 - video.core - INFO - ๐Ÿ“ค Server relayed frame #545 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:53,917 - video.core - INFO - ๐Ÿ“ฅ Server received frame #546 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27908 bytes +2025-06-06 11:05:53,917 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:53,917 - video.core - INFO - ๐Ÿ“ค Server relayed frame #546 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:53,950 - video.core - INFO - ๐Ÿ“ฅ Server received frame #547 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27792 bytes +2025-06-06 11:05:53,950 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:53,950 - video.core - INFO - ๐Ÿ“ค Server relayed frame #547 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:53,997 - video.core - INFO - ๐Ÿ“ฅ Server received frame #548 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27626 bytes +2025-06-06 11:05:53,997 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:53,997 - video.core - INFO - ๐Ÿ“ค Server relayed frame #548 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:54,040 - video.core - INFO - ๐Ÿ“ฅ Server received frame #549 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27648 bytes +2025-06-06 11:05:54,040 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:54,040 - video.core - INFO - ๐Ÿ“ค Server relayed frame #549 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:54,087 - video.core - INFO - ๐Ÿ“น Frame #550 from producer producer_1749200719303: size=27677 bytes, resolution=640x480 +2025-06-06 11:05:54,087 - video.core - INFO - ๐Ÿ“ฅ Server received frame #550 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27677 bytes +2025-06-06 11:05:54,088 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:54,088 - video.core - INFO - ๐Ÿ“ค Server relayed frame #550 to 1 consumers in 1.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:54,128 - video.core - INFO - ๐Ÿ“ฅ Server received frame #551 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27704 bytes +2025-06-06 11:05:54,128 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:54,128 - video.core - INFO - ๐Ÿ“ค Server relayed frame #551 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:54,169 - video.core - INFO - ๐Ÿ“ฅ Server received frame #552 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27850 bytes +2025-06-06 11:05:54,170 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:54,170 - video.core - INFO - ๐Ÿ“ค Server relayed frame #552 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:54,220 - video.core - INFO - ๐Ÿ“ฅ Server received frame #553 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27828 bytes +2025-06-06 11:05:54,220 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:54,220 - video.core - INFO - ๐Ÿ“ค Server relayed frame #553 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:54,259 - video.core - INFO - ๐Ÿ“ฅ Server received frame #554 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27891 bytes +2025-06-06 11:05:54,260 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:54,260 - video.core - INFO - ๐Ÿ“ค Server relayed frame #554 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:54,303 - video.core - INFO - ๐Ÿ“ฅ Server received frame #555 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27777 bytes +2025-06-06 11:05:54,303 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:54,303 - video.core - INFO - ๐Ÿ“ค Server relayed frame #555 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:54,344 - video.core - INFO - ๐Ÿ“ฅ Server received frame #556 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27792 bytes +2025-06-06 11:05:54,345 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:54,345 - video.core - INFO - ๐Ÿ“ค Server relayed frame #556 to 1 consumers in 1.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:54,391 - video.core - INFO - ๐Ÿ“ฅ Server received frame #557 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27832 bytes +2025-06-06 11:05:54,391 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:54,391 - video.core - INFO - ๐Ÿ“ค Server relayed frame #557 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:54,437 - video.core - INFO - ๐Ÿ“ฅ Server received frame #558 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27686 bytes +2025-06-06 11:05:54,437 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:54,437 - video.core - INFO - ๐Ÿ“ค Server relayed frame #558 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:54,484 - video.core - INFO - ๐Ÿ“ฅ Server received frame #559 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27728 bytes +2025-06-06 11:05:54,485 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:54,485 - video.core - INFO - ๐Ÿ“ค Server relayed frame #559 to 1 consumers in 1.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:54,517 - video.core - INFO - ๐Ÿ“น Frame #560 from producer producer_1749200719303: size=27746 bytes, resolution=640x480 +2025-06-06 11:05:54,517 - video.core - INFO - ๐Ÿ“ฅ Server received frame #560 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27746 bytes +2025-06-06 11:05:54,517 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:54,517 - video.core - INFO - ๐Ÿ“ค Server relayed frame #560 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:54,564 - video.core - INFO - ๐Ÿ“ฅ Server received frame #561 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27819 bytes +2025-06-06 11:05:54,564 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:54,564 - video.core - INFO - ๐Ÿ“ค Server relayed frame #561 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:54,607 - video.core - INFO - ๐Ÿ“ฅ Server received frame #562 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27659 bytes +2025-06-06 11:05:54,607 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:54,607 - video.core - INFO - ๐Ÿ“ค Server relayed frame #562 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:54,653 - video.core - INFO - ๐Ÿ“ฅ Server received frame #563 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27648 bytes +2025-06-06 11:05:54,654 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:54,654 - video.core - INFO - ๐Ÿ“ค Server relayed frame #563 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:54,690 - video.core - INFO - ๐Ÿ“ฅ Server received frame #564 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27678 bytes +2025-06-06 11:05:54,691 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:54,691 - video.core - INFO - ๐Ÿ“ค Server relayed frame #564 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:54,734 - video.core - INFO - ๐Ÿ“ฅ Server received frame #565 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27747 bytes +2025-06-06 11:05:54,734 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:54,735 - video.core - INFO - ๐Ÿ“ค Server relayed frame #565 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:54,775 - video.core - INFO - ๐Ÿ“ฅ Server received frame #566 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27765 bytes +2025-06-06 11:05:54,775 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:54,775 - video.core - INFO - ๐Ÿ“ค Server relayed frame #566 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:54,820 - video.core - INFO - ๐Ÿ“ฅ Server received frame #567 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27565 bytes +2025-06-06 11:05:54,820 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:54,820 - video.core - INFO - ๐Ÿ“ค Server relayed frame #567 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:54,865 - video.core - INFO - ๐Ÿ“ฅ Server received frame #568 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27633 bytes +2025-06-06 11:05:54,865 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:54,865 - video.core - INFO - ๐Ÿ“ค Server relayed frame #568 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:54,909 - video.core - INFO - ๐Ÿ“ฅ Server received frame #569 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27603 bytes +2025-06-06 11:05:54,909 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:54,909 - video.core - INFO - ๐Ÿ“ค Server relayed frame #569 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:54,954 - video.core - INFO - ๐Ÿ“น Frame #570 from producer producer_1749200719303: size=27635 bytes, resolution=640x480 +2025-06-06 11:05:54,954 - video.core - INFO - ๐Ÿ“ฅ Server received frame #570 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27635 bytes +2025-06-06 11:05:54,954 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:54,954 - video.core - INFO - ๐Ÿ“ค Server relayed frame #570 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:54,954 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 570 frames processed, 21.8 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:54,954 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 570 frames, 15.2 FPS, 3.33 Mbps throughput, 27394 bytes avg frame size +2025-06-06 11:05:54,954 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 570 frames processed, FPS: 23.0, Throughput: 5.05 Mbps, Avg frame size: 27394 bytes +2025-06-06 11:05:54,993 - video.core - INFO - ๐Ÿ“ฅ Server received frame #571 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27596 bytes +2025-06-06 11:05:54,993 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:54,993 - video.core - INFO - ๐Ÿ“ค Server relayed frame #571 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:55,039 - video.core - INFO - ๐Ÿ“ฅ Server received frame #572 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27563 bytes +2025-06-06 11:05:55,039 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:55,039 - video.core - INFO - ๐Ÿ“ค Server relayed frame #572 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:55,079 - video.core - INFO - ๐Ÿ“ฅ Server received frame #573 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27460 bytes +2025-06-06 11:05:55,080 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:55,080 - video.core - INFO - ๐Ÿ“ค Server relayed frame #573 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:55,129 - video.core - INFO - ๐Ÿ“ฅ Server received frame #574 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27677 bytes +2025-06-06 11:05:55,129 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:55,129 - video.core - INFO - ๐Ÿ“ค Server relayed frame #574 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:55,167 - video.core - INFO - ๐Ÿ“ฅ Server received frame #575 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27826 bytes +2025-06-06 11:05:55,167 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:55,167 - video.core - INFO - ๐Ÿ“ค Server relayed frame #575 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:55,213 - video.core - INFO - ๐Ÿ“ฅ Server received frame #576 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27848 bytes +2025-06-06 11:05:55,213 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:55,213 - video.core - INFO - ๐Ÿ“ค Server relayed frame #576 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:55,255 - video.core - INFO - ๐Ÿ“ฅ Server received frame #577 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27676 bytes +2025-06-06 11:05:55,255 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:55,255 - video.core - INFO - ๐Ÿ“ค Server relayed frame #577 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:55,297 - video.core - INFO - ๐Ÿ“ฅ Server received frame #578 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27741 bytes +2025-06-06 11:05:55,298 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:55,298 - video.core - INFO - ๐Ÿ“ค Server relayed frame #578 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:55,343 - video.core - INFO - ๐Ÿ“ฅ Server received frame #579 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27721 bytes +2025-06-06 11:05:55,343 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:55,343 - video.core - INFO - ๐Ÿ“ค Server relayed frame #579 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:55,385 - video.core - INFO - ๐Ÿ“น Frame #580 from producer producer_1749200719303: size=27489 bytes, resolution=640x480 +2025-06-06 11:05:55,385 - video.core - INFO - ๐Ÿ“ฅ Server received frame #580 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27489 bytes +2025-06-06 11:05:55,385 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:55,385 - video.core - INFO - ๐Ÿ“ค Server relayed frame #580 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:55,428 - video.core - INFO - ๐Ÿ“ฅ Server received frame #581 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27481 bytes +2025-06-06 11:05:55,428 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:55,428 - video.core - INFO - ๐Ÿ“ค Server relayed frame #581 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:55,469 - video.core - INFO - ๐Ÿ“ฅ Server received frame #582 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27449 bytes +2025-06-06 11:05:55,469 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:55,469 - video.core - INFO - ๐Ÿ“ค Server relayed frame #582 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:55,514 - video.core - INFO - ๐Ÿ“ฅ Server received frame #583 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27393 bytes +2025-06-06 11:05:55,515 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:55,515 - video.core - INFO - ๐Ÿ“ค Server relayed frame #583 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:55,557 - video.core - INFO - ๐Ÿ“ฅ Server received frame #584 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27435 bytes +2025-06-06 11:05:55,557 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:55,557 - video.core - INFO - ๐Ÿ“ค Server relayed frame #584 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:55,602 - video.core - INFO - ๐Ÿ“ฅ Server received frame #585 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27461 bytes +2025-06-06 11:05:55,602 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:55,602 - video.core - INFO - ๐Ÿ“ค Server relayed frame #585 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:55,647 - video.core - INFO - ๐Ÿ“ฅ Server received frame #586 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27496 bytes +2025-06-06 11:05:55,647 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:55,647 - video.core - INFO - ๐Ÿ“ค Server relayed frame #586 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:55,692 - video.core - INFO - ๐Ÿ“ฅ Server received frame #587 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27475 bytes +2025-06-06 11:05:55,692 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:55,692 - video.core - INFO - ๐Ÿ“ค Server relayed frame #587 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:55,735 - video.core - INFO - ๐Ÿ“ฅ Server received frame #588 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27288 bytes +2025-06-06 11:05:55,736 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:55,736 - video.core - INFO - ๐Ÿ“ค Server relayed frame #588 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:55,773 - video.core - INFO - ๐Ÿ“ฅ Server received frame #589 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27286 bytes +2025-06-06 11:05:55,773 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:55,773 - video.core - INFO - ๐Ÿ“ค Server relayed frame #589 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:55,814 - video.core - INFO - ๐Ÿ“น Frame #590 from producer producer_1749200719303: size=27354 bytes, resolution=640x480 +2025-06-06 11:05:55,814 - video.core - INFO - ๐Ÿ“ฅ Server received frame #590 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27354 bytes +2025-06-06 11:05:55,814 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:55,814 - video.core - INFO - ๐Ÿ“ค Server relayed frame #590 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:55,862 - video.core - INFO - ๐Ÿ“ฅ Server received frame #591 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27378 bytes +2025-06-06 11:05:55,862 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:55,862 - video.core - INFO - ๐Ÿ“ค Server relayed frame #591 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:55,905 - video.core - INFO - ๐Ÿ“ฅ Server received frame #592 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27403 bytes +2025-06-06 11:05:55,905 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:55,905 - video.core - INFO - ๐Ÿ“ค Server relayed frame #592 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:55,946 - video.core - INFO - ๐Ÿ“ฅ Server received frame #593 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27329 bytes +2025-06-06 11:05:55,946 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:55,946 - video.core - INFO - ๐Ÿ“ค Server relayed frame #593 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:55,995 - video.core - INFO - ๐Ÿ“ฅ Server received frame #594 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27446 bytes +2025-06-06 11:05:55,995 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:55,995 - video.core - INFO - ๐Ÿ“ค Server relayed frame #594 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:56,036 - video.core - INFO - ๐Ÿ“ฅ Server received frame #595 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27445 bytes +2025-06-06 11:05:56,037 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:56,037 - video.core - INFO - ๐Ÿ“ค Server relayed frame #595 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:56,084 - video.core - INFO - ๐Ÿ“ฅ Server received frame #596 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27472 bytes +2025-06-06 11:05:56,084 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:56,084 - video.core - INFO - ๐Ÿ“ค Server relayed frame #596 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:56,123 - video.core - INFO - ๐Ÿ“ฅ Server received frame #597 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27593 bytes +2025-06-06 11:05:56,123 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:56,123 - video.core - INFO - ๐Ÿ“ค Server relayed frame #597 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:56,165 - video.core - INFO - ๐Ÿ“ฅ Server received frame #598 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27723 bytes +2025-06-06 11:05:56,165 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:56,165 - video.core - INFO - ๐Ÿ“ค Server relayed frame #598 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:56,207 - video.core - INFO - ๐Ÿ“ฅ Server received frame #599 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27633 bytes +2025-06-06 11:05:56,208 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:56,208 - video.core - INFO - ๐Ÿ“ค Server relayed frame #599 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:56,255 - video.core - INFO - ๐Ÿ“น Frame #600 from producer producer_1749200719303: size=27779 bytes, resolution=640x480 +2025-06-06 11:05:56,255 - video.core - INFO - ๐Ÿ“ฅ Server received frame #600 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27779 bytes +2025-06-06 11:05:56,255 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:56,255 - video.core - INFO - ๐Ÿ“ค Server relayed frame #600 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:56,255 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 600 frames processed, 21.9 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:56,255 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 600 frames, 15.5 FPS, 3.39 Mbps throughput, 27401 bytes avg frame size +2025-06-06 11:05:56,255 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 600 frames processed, FPS: 23.0, Throughput: 5.05 Mbps, Avg frame size: 27401 bytes +2025-06-06 11:05:56,296 - video.core - INFO - ๐Ÿ“ฅ Server received frame #601 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27855 bytes +2025-06-06 11:05:56,296 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:56,296 - video.core - INFO - ๐Ÿ“ค Server relayed frame #601 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:56,339 - video.core - INFO - ๐Ÿ“ฅ Server received frame #602 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27728 bytes +2025-06-06 11:05:56,339 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:56,339 - video.core - INFO - ๐Ÿ“ค Server relayed frame #602 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:56,383 - video.core - INFO - ๐Ÿ“ฅ Server received frame #603 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27879 bytes +2025-06-06 11:05:56,383 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:56,383 - video.core - INFO - ๐Ÿ“ค Server relayed frame #603 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:56,429 - video.core - INFO - ๐Ÿ“ฅ Server received frame #604 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27967 bytes +2025-06-06 11:05:56,429 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:56,429 - video.core - INFO - ๐Ÿ“ค Server relayed frame #604 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:56,471 - video.core - INFO - ๐Ÿ“ฅ Server received frame #605 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27960 bytes +2025-06-06 11:05:56,471 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:56,471 - video.core - INFO - ๐Ÿ“ค Server relayed frame #605 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:56,507 - video.core - INFO - ๐Ÿ“ฅ Server received frame #606 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28022 bytes +2025-06-06 11:05:56,508 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:56,508 - video.core - INFO - ๐Ÿ“ค Server relayed frame #606 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:56,558 - video.core - INFO - ๐Ÿ“ฅ Server received frame #607 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28015 bytes +2025-06-06 11:05:56,558 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:56,558 - video.core - INFO - ๐Ÿ“ค Server relayed frame #607 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:56,596 - video.core - INFO - ๐Ÿ“ฅ Server received frame #608 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27908 bytes +2025-06-06 11:05:56,596 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:56,596 - video.core - INFO - ๐Ÿ“ค Server relayed frame #608 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:56,641 - video.core - INFO - ๐Ÿ“ฅ Server received frame #609 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27854 bytes +2025-06-06 11:05:56,641 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:56,641 - video.core - INFO - ๐Ÿ“ค Server relayed frame #609 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:56,682 - video.core - INFO - ๐Ÿ“น Frame #610 from producer producer_1749200719303: size=27797 bytes, resolution=640x480 +2025-06-06 11:05:56,683 - video.core - INFO - ๐Ÿ“ฅ Server received frame #610 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27797 bytes +2025-06-06 11:05:56,683 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:56,683 - video.core - INFO - ๐Ÿ“ค Server relayed frame #610 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:56,727 - video.core - INFO - ๐Ÿ“ฅ Server received frame #611 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27860 bytes +2025-06-06 11:05:56,727 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:56,727 - video.core - INFO - ๐Ÿ“ค Server relayed frame #611 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:56,767 - video.core - INFO - ๐Ÿ“ฅ Server received frame #612 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27844 bytes +2025-06-06 11:05:56,767 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:56,767 - video.core - INFO - ๐Ÿ“ค Server relayed frame #612 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:56,810 - video.core - INFO - ๐Ÿ“ฅ Server received frame #613 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27901 bytes +2025-06-06 11:05:56,810 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:56,810 - video.core - INFO - ๐Ÿ“ค Server relayed frame #613 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:56,857 - video.core - INFO - ๐Ÿ“ฅ Server received frame #614 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27863 bytes +2025-06-06 11:05:56,857 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:56,857 - video.core - INFO - ๐Ÿ“ค Server relayed frame #614 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:56,902 - video.core - INFO - ๐Ÿ“ฅ Server received frame #615 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27873 bytes +2025-06-06 11:05:56,902 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:56,902 - video.core - INFO - ๐Ÿ“ค Server relayed frame #615 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:56,944 - video.core - INFO - ๐Ÿ“ฅ Server received frame #616 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27963 bytes +2025-06-06 11:05:56,944 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:56,944 - video.core - INFO - ๐Ÿ“ค Server relayed frame #616 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:56,986 - video.core - INFO - ๐Ÿ“ฅ Server received frame #617 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27918 bytes +2025-06-06 11:05:56,987 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:56,987 - video.core - INFO - ๐Ÿ“ค Server relayed frame #617 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:57,033 - video.core - INFO - ๐Ÿ“ฅ Server received frame #618 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27825 bytes +2025-06-06 11:05:57,034 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:57,034 - video.core - INFO - ๐Ÿ“ค Server relayed frame #618 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:57,079 - video.core - INFO - ๐Ÿ“ฅ Server received frame #619 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27707 bytes +2025-06-06 11:05:57,079 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:57,079 - video.core - INFO - ๐Ÿ“ค Server relayed frame #619 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:57,116 - video.core - INFO - ๐Ÿ“น Frame #620 from producer producer_1749200719303: size=27738 bytes, resolution=640x480 +2025-06-06 11:05:57,117 - video.core - INFO - ๐Ÿ“ฅ Server received frame #620 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27738 bytes +2025-06-06 11:05:57,117 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:57,117 - video.core - INFO - ๐Ÿ“ค Server relayed frame #620 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:57,162 - video.core - INFO - ๐Ÿ“ฅ Server received frame #621 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27866 bytes +2025-06-06 11:05:57,162 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:57,162 - video.core - INFO - ๐Ÿ“ค Server relayed frame #621 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:57,205 - video.core - INFO - ๐Ÿ“ฅ Server received frame #622 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27838 bytes +2025-06-06 11:05:57,206 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:57,206 - video.core - INFO - ๐Ÿ“ค Server relayed frame #622 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:57,249 - video.core - INFO - ๐Ÿ“ฅ Server received frame #623 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27957 bytes +2025-06-06 11:05:57,250 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:57,250 - video.core - INFO - ๐Ÿ“ค Server relayed frame #623 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:57,292 - video.core - INFO - ๐Ÿ“ฅ Server received frame #624 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27970 bytes +2025-06-06 11:05:57,292 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:57,293 - video.core - INFO - ๐Ÿ“ค Server relayed frame #624 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:57,336 - video.core - INFO - ๐Ÿ“ฅ Server received frame #625 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28050 bytes +2025-06-06 11:05:57,336 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:57,336 - video.core - INFO - ๐Ÿ“ค Server relayed frame #625 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:57,382 - video.core - INFO - ๐Ÿ“ฅ Server received frame #626 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28046 bytes +2025-06-06 11:05:57,382 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:57,382 - video.core - INFO - ๐Ÿ“ค Server relayed frame #626 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:57,423 - video.core - INFO - ๐Ÿ“ฅ Server received frame #627 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27961 bytes +2025-06-06 11:05:57,423 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:57,423 - video.core - INFO - ๐Ÿ“ค Server relayed frame #627 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:57,462 - video.core - INFO - ๐Ÿ“ฅ Server received frame #628 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27725 bytes +2025-06-06 11:05:57,462 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:57,462 - video.core - INFO - ๐Ÿ“ค Server relayed frame #628 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:57,506 - video.core - INFO - ๐Ÿ“ฅ Server received frame #629 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27279 bytes +2025-06-06 11:05:57,507 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:57,507 - video.core - INFO - ๐Ÿ“ค Server relayed frame #629 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:57,549 - video.core - INFO - ๐Ÿ“น Frame #630 from producer producer_1749200719303: size=27378 bytes, resolution=640x480 +2025-06-06 11:05:57,549 - video.core - INFO - ๐Ÿ“ฅ Server received frame #630 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27378 bytes +2025-06-06 11:05:57,549 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:57,549 - video.core - INFO - ๐Ÿ“ค Server relayed frame #630 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:57,549 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 630 frames processed, 21.9 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:57,549 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 630 frames, 15.7 FPS, 3.45 Mbps throughput, 27423 bytes avg frame size +2025-06-06 11:05:57,549 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 630 frames processed, FPS: 23.0, Throughput: 5.05 Mbps, Avg frame size: 27423 bytes +2025-06-06 11:05:57,596 - video.core - INFO - ๐Ÿ“ฅ Server received frame #631 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27424 bytes +2025-06-06 11:05:57,596 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:57,597 - video.core - INFO - ๐Ÿ“ค Server relayed frame #631 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:57,639 - video.core - INFO - ๐Ÿ“ฅ Server received frame #632 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27463 bytes +2025-06-06 11:05:57,639 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:57,639 - video.core - INFO - ๐Ÿ“ค Server relayed frame #632 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:57,682 - video.core - INFO - ๐Ÿ“ฅ Server received frame #633 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27484 bytes +2025-06-06 11:05:57,682 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:57,682 - video.core - INFO - ๐Ÿ“ค Server relayed frame #633 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:57,724 - video.core - INFO - ๐Ÿ“ฅ Server received frame #634 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27369 bytes +2025-06-06 11:05:57,724 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:57,724 - video.core - INFO - ๐Ÿ“ค Server relayed frame #634 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:57,765 - video.core - INFO - ๐Ÿ“ฅ Server received frame #635 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26982 bytes +2025-06-06 11:05:57,765 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:57,765 - video.core - INFO - ๐Ÿ“ค Server relayed frame #635 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:57,804 - video.core - INFO - ๐Ÿ“ฅ Server received frame #636 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26733 bytes +2025-06-06 11:05:57,804 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:57,804 - video.core - INFO - ๐Ÿ“ค Server relayed frame #636 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:57,854 - video.core - INFO - ๐Ÿ“ฅ Server received frame #637 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26613 bytes +2025-06-06 11:05:57,855 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:57,855 - video.core - INFO - ๐Ÿ“ค Server relayed frame #637 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:57,894 - video.core - INFO - ๐Ÿ“ฅ Server received frame #638 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26579 bytes +2025-06-06 11:05:57,895 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:57,895 - video.core - INFO - ๐Ÿ“ค Server relayed frame #638 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:57,940 - video.core - INFO - ๐Ÿ“ฅ Server received frame #639 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26888 bytes +2025-06-06 11:05:57,940 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:57,940 - video.core - INFO - ๐Ÿ“ค Server relayed frame #639 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:58,009 - video.core - INFO - ๐Ÿ“น Frame #640 from producer producer_1749200719303: size=27118 bytes, resolution=640x480 +2025-06-06 11:05:58,035 - video.core - INFO - ๐Ÿ“ฅ Server received frame #640 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27118 bytes +2025-06-06 11:05:58,035 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:58,035 - video.core - INFO - ๐Ÿ“ค Server relayed frame #640 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:58,114 - video.core - INFO - ๐Ÿ“ฅ Server received frame #641 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27233 bytes +2025-06-06 11:05:58,114 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:58,115 - video.core - INFO - ๐Ÿ“ค Server relayed frame #641 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:58,116 - video.core - INFO - ๐Ÿ“ฅ Server received frame #642 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27366 bytes +2025-06-06 11:05:58,116 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:58,116 - video.core - INFO - ๐Ÿ“ค Server relayed frame #642 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:58,118 - video.core - INFO - ๐Ÿ“ฅ Server received frame #643 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27420 bytes +2025-06-06 11:05:58,118 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:58,118 - video.core - INFO - ๐Ÿ“ค Server relayed frame #643 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:58,156 - video.core - INFO - ๐Ÿ“ฅ Server received frame #644 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27560 bytes +2025-06-06 11:05:58,156 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:58,156 - video.core - INFO - ๐Ÿ“ค Server relayed frame #644 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:58,192 - video.core - INFO - ๐Ÿ“ฅ Server received frame #645 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27475 bytes +2025-06-06 11:05:58,192 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:58,192 - video.core - INFO - ๐Ÿ“ค Server relayed frame #645 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:58,239 - video.core - INFO - ๐Ÿ“ฅ Server received frame #646 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27482 bytes +2025-06-06 11:05:58,239 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:58,239 - video.core - INFO - ๐Ÿ“ค Server relayed frame #646 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:58,283 - video.core - INFO - ๐Ÿ“ฅ Server received frame #647 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27448 bytes +2025-06-06 11:05:58,283 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:58,283 - video.core - INFO - ๐Ÿ“ค Server relayed frame #647 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:58,326 - video.core - INFO - ๐Ÿ“ฅ Server received frame #648 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27571 bytes +2025-06-06 11:05:58,326 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:58,326 - video.core - INFO - ๐Ÿ“ค Server relayed frame #648 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:58,372 - video.core - INFO - ๐Ÿ“ฅ Server received frame #649 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27679 bytes +2025-06-06 11:05:58,373 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:58,373 - video.core - INFO - ๐Ÿ“ค Server relayed frame #649 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:58,415 - video.core - INFO - ๐Ÿ“น Frame #650 from producer producer_1749200719303: size=27623 bytes, resolution=640x480 +2025-06-06 11:05:58,415 - video.core - INFO - ๐Ÿ“ฅ Server received frame #650 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27623 bytes +2025-06-06 11:05:58,415 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:58,415 - video.core - INFO - ๐Ÿ“ค Server relayed frame #650 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:58,462 - video.core - INFO - ๐Ÿ“ฅ Server received frame #651 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27619 bytes +2025-06-06 11:05:58,463 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:58,463 - video.core - INFO - ๐Ÿ“ค Server relayed frame #651 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:58,501 - video.core - INFO - ๐Ÿ“ฅ Server received frame #652 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27533 bytes +2025-06-06 11:05:58,502 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:58,502 - video.core - INFO - ๐Ÿ“ค Server relayed frame #652 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:58,547 - video.core - INFO - ๐Ÿ“ฅ Server received frame #653 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27621 bytes +2025-06-06 11:05:58,547 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:58,548 - video.core - INFO - ๐Ÿ“ค Server relayed frame #653 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:58,593 - video.core - INFO - ๐Ÿ“ฅ Server received frame #654 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27505 bytes +2025-06-06 11:05:58,593 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:58,593 - video.core - INFO - ๐Ÿ“ค Server relayed frame #654 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:58,642 - video.core - INFO - ๐Ÿ“ฅ Server received frame #655 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27541 bytes +2025-06-06 11:05:58,642 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:58,643 - video.core - INFO - ๐Ÿ“ค Server relayed frame #655 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:58,673 - video.core - INFO - ๐Ÿ“ฅ Server received frame #656 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27666 bytes +2025-06-06 11:05:58,673 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:58,673 - video.core - INFO - ๐Ÿ“ค Server relayed frame #656 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:58,716 - video.core - INFO - ๐Ÿ“ฅ Server received frame #657 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27555 bytes +2025-06-06 11:05:58,717 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:58,717 - video.core - INFO - ๐Ÿ“ค Server relayed frame #657 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:58,758 - video.core - INFO - ๐Ÿ“ฅ Server received frame #658 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27570 bytes +2025-06-06 11:05:58,758 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:58,758 - video.core - INFO - ๐Ÿ“ค Server relayed frame #658 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:58,798 - video.core - INFO - ๐Ÿ“ฅ Server received frame #659 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27504 bytes +2025-06-06 11:05:58,798 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:58,798 - video.core - INFO - ๐Ÿ“ค Server relayed frame #659 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:58,846 - video.core - INFO - ๐Ÿ“น Frame #660 from producer producer_1749200719303: size=27626 bytes, resolution=640x480 +2025-06-06 11:05:58,846 - video.core - INFO - ๐Ÿ“ฅ Server received frame #660 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27626 bytes +2025-06-06 11:05:58,846 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:58,846 - video.core - INFO - ๐Ÿ“ค Server relayed frame #660 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:58,846 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 660 frames processed, 22.0 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:58,846 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 660 frames, 16.0 FPS, 3.50 Mbps throughput, 27420 bytes avg frame size +2025-06-06 11:05:58,846 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 660 frames processed, FPS: 23.0, Throughput: 5.05 Mbps, Avg frame size: 27420 bytes +2025-06-06 11:05:58,888 - video.core - INFO - ๐Ÿ“ฅ Server received frame #661 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27623 bytes +2025-06-06 11:05:58,888 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:58,888 - video.core - INFO - ๐Ÿ“ค Server relayed frame #661 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:58,936 - video.core - INFO - ๐Ÿ“ฅ Server received frame #662 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27823 bytes +2025-06-06 11:05:58,936 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:58,936 - video.core - INFO - ๐Ÿ“ค Server relayed frame #662 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:58,982 - video.core - INFO - ๐Ÿ“ฅ Server received frame #663 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27846 bytes +2025-06-06 11:05:58,982 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:58,982 - video.core - INFO - ๐Ÿ“ค Server relayed frame #663 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:59,025 - video.core - INFO - ๐Ÿ“ฅ Server received frame #664 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27812 bytes +2025-06-06 11:05:59,025 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:59,025 - video.core - INFO - ๐Ÿ“ค Server relayed frame #664 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:59,070 - video.core - INFO - ๐Ÿ“ฅ Server received frame #665 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27817 bytes +2025-06-06 11:05:59,071 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:59,071 - video.core - INFO - ๐Ÿ“ค Server relayed frame #665 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:59,112 - video.core - INFO - ๐Ÿ“ฅ Server received frame #666 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27739 bytes +2025-06-06 11:05:59,112 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:59,112 - video.core - INFO - ๐Ÿ“ค Server relayed frame #666 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:59,153 - video.core - INFO - ๐Ÿ“ฅ Server received frame #667 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27658 bytes +2025-06-06 11:05:59,153 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:59,153 - video.core - INFO - ๐Ÿ“ค Server relayed frame #667 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:59,190 - video.core - INFO - ๐Ÿ“ฅ Server received frame #668 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27454 bytes +2025-06-06 11:05:59,191 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:59,191 - video.core - INFO - ๐Ÿ“ค Server relayed frame #668 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:59,240 - video.core - INFO - ๐Ÿ“ฅ Server received frame #669 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27111 bytes +2025-06-06 11:05:59,240 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:59,240 - video.core - INFO - ๐Ÿ“ค Server relayed frame #669 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:59,280 - video.core - INFO - ๐Ÿ“น Frame #670 from producer producer_1749200719303: size=26911 bytes, resolution=640x480 +2025-06-06 11:05:59,281 - video.core - INFO - ๐Ÿ“ฅ Server received frame #670 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26911 bytes +2025-06-06 11:05:59,281 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:59,281 - video.core - INFO - ๐Ÿ“ค Server relayed frame #670 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:59,325 - video.core - INFO - ๐Ÿ“ฅ Server received frame #671 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27006 bytes +2025-06-06 11:05:59,325 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:59,325 - video.core - INFO - ๐Ÿ“ค Server relayed frame #671 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:59,368 - video.core - INFO - ๐Ÿ“ฅ Server received frame #672 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27045 bytes +2025-06-06 11:05:59,368 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:59,368 - video.core - INFO - ๐Ÿ“ค Server relayed frame #672 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:59,408 - video.core - INFO - ๐Ÿ“ฅ Server received frame #673 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27216 bytes +2025-06-06 11:05:59,408 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:59,408 - video.core - INFO - ๐Ÿ“ค Server relayed frame #673 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:59,455 - video.core - INFO - ๐Ÿ“ฅ Server received frame #674 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27276 bytes +2025-06-06 11:05:59,455 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:59,455 - video.core - INFO - ๐Ÿ“ค Server relayed frame #674 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:59,490 - video.core - INFO - ๐Ÿ“ฅ Server received frame #675 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27291 bytes +2025-06-06 11:05:59,491 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:59,491 - video.core - INFO - ๐Ÿ“ค Server relayed frame #675 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:59,540 - video.core - INFO - ๐Ÿ“ฅ Server received frame #676 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27162 bytes +2025-06-06 11:05:59,540 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:59,540 - video.core - INFO - ๐Ÿ“ค Server relayed frame #676 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:59,581 - video.core - INFO - ๐Ÿ“ฅ Server received frame #677 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27187 bytes +2025-06-06 11:05:59,582 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:59,582 - video.core - INFO - ๐Ÿ“ค Server relayed frame #677 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:59,627 - video.core - INFO - ๐Ÿ“ฅ Server received frame #678 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27095 bytes +2025-06-06 11:05:59,627 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:59,627 - video.core - INFO - ๐Ÿ“ค Server relayed frame #678 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:59,669 - video.core - INFO - ๐Ÿ“ฅ Server received frame #679 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27097 bytes +2025-06-06 11:05:59,669 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:59,669 - video.core - INFO - ๐Ÿ“ค Server relayed frame #679 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:59,709 - video.core - INFO - ๐Ÿ“น Frame #680 from producer producer_1749200719303: size=26931 bytes, resolution=640x480 +2025-06-06 11:05:59,709 - video.core - INFO - ๐Ÿ“ฅ Server received frame #680 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26931 bytes +2025-06-06 11:05:59,709 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:59,709 - video.core - INFO - ๐Ÿ“ค Server relayed frame #680 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:59,752 - video.core - INFO - ๐Ÿ“ฅ Server received frame #681 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26671 bytes +2025-06-06 11:05:59,753 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:59,753 - video.core - INFO - ๐Ÿ“ค Server relayed frame #681 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:59,793 - video.core - INFO - ๐Ÿ“ฅ Server received frame #682 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26416 bytes +2025-06-06 11:05:59,793 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:59,793 - video.core - INFO - ๐Ÿ“ค Server relayed frame #682 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:59,838 - video.core - INFO - ๐Ÿ“ฅ Server received frame #683 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27003 bytes +2025-06-06 11:05:59,838 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:59,838 - video.core - INFO - ๐Ÿ“ค Server relayed frame #683 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:59,888 - video.core - INFO - ๐Ÿ“ฅ Server received frame #684 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27038 bytes +2025-06-06 11:05:59,888 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:59,888 - video.core - INFO - ๐Ÿ“ค Server relayed frame #684 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:59,931 - video.core - INFO - ๐Ÿ“ฅ Server received frame #685 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26775 bytes +2025-06-06 11:05:59,931 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:59,931 - video.core - INFO - ๐Ÿ“ค Server relayed frame #685 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:59,975 - video.core - INFO - ๐Ÿ“ฅ Server received frame #686 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26816 bytes +2025-06-06 11:05:59,976 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:05:59,976 - video.core - INFO - ๐Ÿ“ค Server relayed frame #686 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:00,016 - video.core - INFO - ๐Ÿ“ฅ Server received frame #687 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26712 bytes +2025-06-06 11:06:00,016 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:00,016 - video.core - INFO - ๐Ÿ“ค Server relayed frame #687 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:00,062 - video.core - INFO - ๐Ÿ“ฅ Server received frame #688 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26659 bytes +2025-06-06 11:06:00,062 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:00,062 - video.core - INFO - ๐Ÿ“ค Server relayed frame #688 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:00,100 - video.core - INFO - ๐Ÿ“ฅ Server received frame #689 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26651 bytes +2025-06-06 11:06:00,100 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:00,100 - video.core - INFO - ๐Ÿ“ค Server relayed frame #689 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:00,150 - video.core - INFO - ๐Ÿ“น Frame #690 from producer producer_1749200719303: size=26304 bytes, resolution=640x480 +2025-06-06 11:06:00,151 - video.core - INFO - ๐Ÿ“ฅ Server received frame #690 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26304 bytes +2025-06-06 11:06:00,151 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:00,151 - video.core - INFO - ๐Ÿ“ค Server relayed frame #690 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:00,151 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 690 frames processed, 22.0 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:00,151 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 690 frames, 16.2 FPS, 3.55 Mbps throughput, 27408 bytes avg frame size +2025-06-06 11:06:00,152 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 690 frames processed, FPS: 23.0, Throughput: 5.05 Mbps, Avg frame size: 27408 bytes +2025-06-06 11:06:00,200 - video.core - INFO - ๐Ÿ“ฅ Server received frame #691 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 25937 bytes +2025-06-06 11:06:00,201 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:00,201 - video.core - INFO - ๐Ÿ“ค Server relayed frame #691 to 1 consumers in 0.9ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:00,242 - video.core - INFO - ๐Ÿ“ฅ Server received frame #692 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26570 bytes +2025-06-06 11:06:00,242 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:00,242 - video.core - INFO - ๐Ÿ“ค Server relayed frame #692 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:00,282 - video.core - INFO - ๐Ÿ“ฅ Server received frame #693 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26619 bytes +2025-06-06 11:06:00,283 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:00,283 - video.core - INFO - ๐Ÿ“ค Server relayed frame #693 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:00,331 - video.core - INFO - ๐Ÿ“ฅ Server received frame #694 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26840 bytes +2025-06-06 11:06:00,332 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:00,332 - video.core - INFO - ๐Ÿ“ค Server relayed frame #694 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:00,373 - video.core - INFO - ๐Ÿ“ฅ Server received frame #695 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26779 bytes +2025-06-06 11:06:00,373 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:00,373 - video.core - INFO - ๐Ÿ“ค Server relayed frame #695 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:00,418 - video.core - INFO - ๐Ÿ“ฅ Server received frame #696 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27024 bytes +2025-06-06 11:06:00,419 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:00,419 - video.core - INFO - ๐Ÿ“ค Server relayed frame #696 to 1 consumers in 0.9ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:00,464 - video.core - INFO - ๐Ÿ“ฅ Server received frame #697 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27220 bytes +2025-06-06 11:06:00,464 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:00,464 - video.core - INFO - ๐Ÿ“ค Server relayed frame #697 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:00,500 - video.core - INFO - ๐Ÿ“ฅ Server received frame #698 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27336 bytes +2025-06-06 11:06:00,500 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:00,500 - video.core - INFO - ๐Ÿ“ค Server relayed frame #698 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:00,538 - video.core - INFO - ๐Ÿ“ฅ Server received frame #699 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27477 bytes +2025-06-06 11:06:00,538 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:00,538 - video.core - INFO - ๐Ÿ“ค Server relayed frame #699 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:00,584 - video.core - INFO - ๐Ÿ“น Frame #700 from producer producer_1749200719303: size=27652 bytes, resolution=640x480 +2025-06-06 11:06:00,584 - video.core - INFO - ๐Ÿ“ฅ Server received frame #700 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27652 bytes +2025-06-06 11:06:00,584 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:00,584 - video.core - INFO - ๐Ÿ“ค Server relayed frame #700 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:00,628 - video.core - INFO - ๐Ÿ“ฅ Server received frame #701 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27687 bytes +2025-06-06 11:06:00,628 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:00,628 - video.core - INFO - ๐Ÿ“ค Server relayed frame #701 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:00,674 - video.core - INFO - ๐Ÿ“ฅ Server received frame #702 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27790 bytes +2025-06-06 11:06:00,675 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:00,675 - video.core - INFO - ๐Ÿ“ค Server relayed frame #702 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:00,714 - video.core - INFO - ๐Ÿ“ฅ Server received frame #703 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27784 bytes +2025-06-06 11:06:00,715 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:00,715 - video.core - INFO - ๐Ÿ“ค Server relayed frame #703 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:00,748 - video.core - INFO - ๐Ÿ“ฅ Server received frame #704 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27822 bytes +2025-06-06 11:06:00,748 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:00,748 - video.core - INFO - ๐Ÿ“ค Server relayed frame #704 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:00,790 - video.core - INFO - ๐Ÿ“ฅ Server received frame #705 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27788 bytes +2025-06-06 11:06:00,790 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:00,790 - video.core - INFO - ๐Ÿ“ค Server relayed frame #705 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:00,835 - video.core - INFO - ๐Ÿ“ฅ Server received frame #706 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27956 bytes +2025-06-06 11:06:00,835 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:00,835 - video.core - INFO - ๐Ÿ“ค Server relayed frame #706 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:00,885 - video.core - INFO - ๐Ÿ“ฅ Server received frame #707 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27770 bytes +2025-06-06 11:06:00,885 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:00,885 - video.core - INFO - ๐Ÿ“ค Server relayed frame #707 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:00,926 - video.core - INFO - ๐Ÿ“ฅ Server received frame #708 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27927 bytes +2025-06-06 11:06:00,926 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:00,926 - video.core - INFO - ๐Ÿ“ค Server relayed frame #708 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:00,974 - video.core - INFO - ๐Ÿ“ฅ Server received frame #709 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27919 bytes +2025-06-06 11:06:00,975 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:00,975 - video.core - INFO - ๐Ÿ“ค Server relayed frame #709 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:01,021 - video.core - INFO - ๐Ÿ“น Frame #710 from producer producer_1749200719303: size=27998 bytes, resolution=640x480 +2025-06-06 11:06:01,021 - video.core - INFO - ๐Ÿ“ฅ Server received frame #710 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27998 bytes +2025-06-06 11:06:01,021 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:01,021 - video.core - INFO - ๐Ÿ“ค Server relayed frame #710 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:01,065 - video.core - INFO - ๐Ÿ“ฅ Server received frame #711 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27946 bytes +2025-06-06 11:06:01,066 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:01,066 - video.core - INFO - ๐Ÿ“ค Server relayed frame #711 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:01,100 - video.core - INFO - ๐Ÿ“ฅ Server received frame #712 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27874 bytes +2025-06-06 11:06:01,100 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:01,100 - video.core - INFO - ๐Ÿ“ค Server relayed frame #712 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:01,137 - video.core - INFO - ๐Ÿ“ฅ Server received frame #713 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27936 bytes +2025-06-06 11:06:01,137 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:01,137 - video.core - INFO - ๐Ÿ“ค Server relayed frame #713 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:01,184 - video.core - INFO - ๐Ÿ“ฅ Server received frame #714 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27800 bytes +2025-06-06 11:06:01,184 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:01,184 - video.core - INFO - ๐Ÿ“ค Server relayed frame #714 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:01,225 - video.core - INFO - ๐Ÿ“ฅ Server received frame #715 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27380 bytes +2025-06-06 11:06:01,225 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:01,225 - video.core - INFO - ๐Ÿ“ค Server relayed frame #715 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:01,271 - video.core - INFO - ๐Ÿ“ฅ Server received frame #716 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26622 bytes +2025-06-06 11:06:01,271 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:01,271 - video.core - INFO - ๐Ÿ“ค Server relayed frame #716 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:01,315 - video.core - INFO - ๐Ÿ“ฅ Server received frame #717 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26179 bytes +2025-06-06 11:06:01,316 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:01,316 - video.core - INFO - ๐Ÿ“ค Server relayed frame #717 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:01,358 - video.core - INFO - ๐Ÿ“ฅ Server received frame #718 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 25944 bytes +2025-06-06 11:06:01,358 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:01,358 - video.core - INFO - ๐Ÿ“ค Server relayed frame #718 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:01,403 - video.core - INFO - ๐Ÿ“ฅ Server received frame #719 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26185 bytes +2025-06-06 11:06:01,403 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:01,403 - video.core - INFO - ๐Ÿ“ค Server relayed frame #719 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:01,446 - video.core - INFO - ๐Ÿ“น Frame #720 from producer producer_1749200719303: size=26819 bytes, resolution=640x480 +2025-06-06 11:06:01,446 - video.core - INFO - ๐Ÿ“ฅ Server received frame #720 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26819 bytes +2025-06-06 11:06:01,446 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:01,446 - video.core - INFO - ๐Ÿ“ค Server relayed frame #720 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:01,446 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 720 frames processed, 22.1 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:01,446 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 720 frames, 16.4 FPS, 3.59 Mbps throughput, 27403 bytes avg frame size +2025-06-06 11:06:01,446 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 720 frames processed, FPS: 23.0, Throughput: 5.05 Mbps, Avg frame size: 27403 bytes +2025-06-06 11:06:01,483 - video.core - INFO - ๐Ÿ“ฅ Server received frame #721 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26808 bytes +2025-06-06 11:06:01,483 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:01,484 - video.core - INFO - ๐Ÿ“ค Server relayed frame #721 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:01,529 - video.core - INFO - ๐Ÿ“ฅ Server received frame #722 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26422 bytes +2025-06-06 11:06:01,529 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:01,529 - video.core - INFO - ๐Ÿ“ค Server relayed frame #722 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:01,573 - video.core - INFO - ๐Ÿ“ฅ Server received frame #723 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26247 bytes +2025-06-06 11:06:01,573 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:01,573 - video.core - INFO - ๐Ÿ“ค Server relayed frame #723 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:01,616 - video.core - INFO - ๐Ÿ“ฅ Server received frame #724 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26289 bytes +2025-06-06 11:06:01,616 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:01,616 - video.core - INFO - ๐Ÿ“ค Server relayed frame #724 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:01,661 - video.core - INFO - ๐Ÿ“ฅ Server received frame #725 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26442 bytes +2025-06-06 11:06:01,661 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:01,661 - video.core - INFO - ๐Ÿ“ค Server relayed frame #725 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:01,703 - video.core - INFO - ๐Ÿ“ฅ Server received frame #726 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26456 bytes +2025-06-06 11:06:01,703 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:01,703 - video.core - INFO - ๐Ÿ“ค Server relayed frame #726 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:01,748 - video.core - INFO - ๐Ÿ“ฅ Server received frame #727 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26508 bytes +2025-06-06 11:06:01,749 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:01,749 - video.core - INFO - ๐Ÿ“ค Server relayed frame #727 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:01,784 - video.core - INFO - ๐Ÿ“ฅ Server received frame #728 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26572 bytes +2025-06-06 11:06:01,784 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:01,784 - video.core - INFO - ๐Ÿ“ค Server relayed frame #728 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:01,827 - video.core - INFO - ๐Ÿ“ฅ Server received frame #729 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26797 bytes +2025-06-06 11:06:01,827 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:01,827 - video.core - INFO - ๐Ÿ“ค Server relayed frame #729 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:01,875 - video.core - INFO - ๐Ÿ“น Frame #730 from producer producer_1749200719303: size=26612 bytes, resolution=640x480 +2025-06-06 11:06:01,875 - video.core - INFO - ๐Ÿ“ฅ Server received frame #730 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26612 bytes +2025-06-06 11:06:01,875 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:01,875 - video.core - INFO - ๐Ÿ“ค Server relayed frame #730 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:01,919 - video.core - INFO - ๐Ÿ“ฅ Server received frame #731 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26813 bytes +2025-06-06 11:06:01,919 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:01,919 - video.core - INFO - ๐Ÿ“ค Server relayed frame #731 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:01,955 - video.core - INFO - ๐Ÿ“ฅ Server received frame #732 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26570 bytes +2025-06-06 11:06:01,956 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:01,956 - video.core - INFO - ๐Ÿ“ค Server relayed frame #732 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:02,002 - video.core - INFO - ๐Ÿ“ฅ Server received frame #733 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26615 bytes +2025-06-06 11:06:02,002 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:02,002 - video.core - INFO - ๐Ÿ“ค Server relayed frame #733 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:02,048 - video.core - INFO - ๐Ÿ“ฅ Server received frame #734 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26481 bytes +2025-06-06 11:06:02,048 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:02,048 - video.core - INFO - ๐Ÿ“ค Server relayed frame #734 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:02,094 - video.core - INFO - ๐Ÿ“ฅ Server received frame #735 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26327 bytes +2025-06-06 11:06:02,094 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:02,094 - video.core - INFO - ๐Ÿ“ค Server relayed frame #735 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:02,135 - video.core - INFO - ๐Ÿ“ฅ Server received frame #736 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26211 bytes +2025-06-06 11:06:02,135 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:02,135 - video.core - INFO - ๐Ÿ“ค Server relayed frame #736 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:02,179 - video.core - INFO - ๐Ÿ“ฅ Server received frame #737 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26373 bytes +2025-06-06 11:06:02,179 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:02,179 - video.core - INFO - ๐Ÿ“ค Server relayed frame #737 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:02,222 - video.core - INFO - ๐Ÿ“ฅ Server received frame #738 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26665 bytes +2025-06-06 11:06:02,222 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:02,223 - video.core - INFO - ๐Ÿ“ค Server relayed frame #738 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:02,266 - video.core - INFO - ๐Ÿ“ฅ Server received frame #739 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26699 bytes +2025-06-06 11:06:02,266 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:02,266 - video.core - INFO - ๐Ÿ“ค Server relayed frame #739 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:02,308 - video.core - INFO - ๐Ÿ“น Frame #740 from producer producer_1749200719303: size=26600 bytes, resolution=640x480 +2025-06-06 11:06:02,309 - video.core - INFO - ๐Ÿ“ฅ Server received frame #740 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26600 bytes +2025-06-06 11:06:02,309 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:02,309 - video.core - INFO - ๐Ÿ“ค Server relayed frame #740 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:02,352 - video.core - INFO - ๐Ÿ“ฅ Server received frame #741 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26706 bytes +2025-06-06 11:06:02,352 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:02,352 - video.core - INFO - ๐Ÿ“ค Server relayed frame #741 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:02,396 - video.core - INFO - ๐Ÿ“ฅ Server received frame #742 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26694 bytes +2025-06-06 11:06:02,396 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:02,396 - video.core - INFO - ๐Ÿ“ค Server relayed frame #742 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:02,441 - video.core - INFO - ๐Ÿ“ฅ Server received frame #743 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26789 bytes +2025-06-06 11:06:02,441 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:02,441 - video.core - INFO - ๐Ÿ“ค Server relayed frame #743 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:02,483 - video.core - INFO - ๐Ÿ“ฅ Server received frame #744 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26919 bytes +2025-06-06 11:06:02,483 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:02,483 - video.core - INFO - ๐Ÿ“ค Server relayed frame #744 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:02,526 - video.core - INFO - ๐Ÿ“ฅ Server received frame #745 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26839 bytes +2025-06-06 11:06:02,526 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:02,526 - video.core - INFO - ๐Ÿ“ค Server relayed frame #745 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:02,568 - video.core - INFO - ๐Ÿ“ฅ Server received frame #746 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27021 bytes +2025-06-06 11:06:02,568 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:02,568 - video.core - INFO - ๐Ÿ“ค Server relayed frame #746 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:02,607 - video.core - INFO - ๐Ÿ“ฅ Server received frame #747 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27152 bytes +2025-06-06 11:06:02,607 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:02,607 - video.core - INFO - ๐Ÿ“ค Server relayed frame #747 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:02,653 - video.core - INFO - ๐Ÿ“ฅ Server received frame #748 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27262 bytes +2025-06-06 11:06:02,653 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:02,653 - video.core - INFO - ๐Ÿ“ค Server relayed frame #748 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:02,696 - video.core - INFO - ๐Ÿ“ฅ Server received frame #749 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27443 bytes +2025-06-06 11:06:02,696 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:02,696 - video.core - INFO - ๐Ÿ“ค Server relayed frame #749 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:02,739 - video.core - INFO - ๐Ÿ“น Frame #750 from producer producer_1749200719303: size=27412 bytes, resolution=640x480 +2025-06-06 11:06:02,739 - video.core - INFO - ๐Ÿ“ฅ Server received frame #750 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27412 bytes +2025-06-06 11:06:02,739 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:02,740 - video.core - INFO - ๐Ÿ“ค Server relayed frame #750 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:02,740 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 750 frames processed, 22.1 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:02,740 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 750 frames, 16.6 FPS, 3.63 Mbps throughput, 27374 bytes avg frame size +2025-06-06 11:06:02,740 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 750 frames processed, FPS: 23.1, Throughput: 5.05 Mbps, Avg frame size: 27374 bytes +2025-06-06 11:06:02,782 - video.core - INFO - ๐Ÿ“ฅ Server received frame #751 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27487 bytes +2025-06-06 11:06:02,782 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:02,782 - video.core - INFO - ๐Ÿ“ค Server relayed frame #751 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:02,823 - video.core - INFO - ๐Ÿ“ฅ Server received frame #752 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27540 bytes +2025-06-06 11:06:02,823 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:02,823 - video.core - INFO - ๐Ÿ“ค Server relayed frame #752 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:02,866 - video.core - INFO - ๐Ÿ“ฅ Server received frame #753 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27296 bytes +2025-06-06 11:06:02,866 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:02,866 - video.core - INFO - ๐Ÿ“ค Server relayed frame #753 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:02,916 - video.core - INFO - ๐Ÿ“ฅ Server received frame #754 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27261 bytes +2025-06-06 11:06:02,916 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:02,916 - video.core - INFO - ๐Ÿ“ค Server relayed frame #754 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:02,961 - video.core - INFO - ๐Ÿ“ฅ Server received frame #755 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27256 bytes +2025-06-06 11:06:02,961 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:02,961 - video.core - INFO - ๐Ÿ“ค Server relayed frame #755 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:03,003 - video.core - INFO - ๐Ÿ“ฅ Server received frame #756 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26957 bytes +2025-06-06 11:06:03,003 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:03,003 - video.core - INFO - ๐Ÿ“ค Server relayed frame #756 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:03,045 - video.core - INFO - ๐Ÿ“ฅ Server received frame #757 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27040 bytes +2025-06-06 11:06:03,045 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:03,045 - video.core - INFO - ๐Ÿ“ค Server relayed frame #757 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:03,093 - video.core - INFO - ๐Ÿ“ฅ Server received frame #758 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27196 bytes +2025-06-06 11:06:03,093 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:03,093 - video.core - INFO - ๐Ÿ“ค Server relayed frame #758 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:03,134 - video.core - INFO - ๐Ÿ“ฅ Server received frame #759 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27324 bytes +2025-06-06 11:06:03,134 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:03,134 - video.core - INFO - ๐Ÿ“ค Server relayed frame #759 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:03,176 - video.core - INFO - ๐Ÿ“น Frame #760 from producer producer_1749200719303: size=27323 bytes, resolution=640x480 +2025-06-06 11:06:03,176 - video.core - INFO - ๐Ÿ“ฅ Server received frame #760 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27323 bytes +2025-06-06 11:06:03,176 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:03,176 - video.core - INFO - ๐Ÿ“ค Server relayed frame #760 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:03,214 - video.core - INFO - ๐Ÿ“ฅ Server received frame #761 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27419 bytes +2025-06-06 11:06:03,214 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:03,215 - video.core - INFO - ๐Ÿ“ค Server relayed frame #761 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:03,261 - video.core - INFO - ๐Ÿ“ฅ Server received frame #762 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27385 bytes +2025-06-06 11:06:03,261 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:03,262 - video.core - INFO - ๐Ÿ“ค Server relayed frame #762 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:03,302 - video.core - INFO - ๐Ÿ“ฅ Server received frame #763 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27107 bytes +2025-06-06 11:06:03,303 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:03,303 - video.core - INFO - ๐Ÿ“ค Server relayed frame #763 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:03,344 - video.core - INFO - ๐Ÿ“ฅ Server received frame #764 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27219 bytes +2025-06-06 11:06:03,345 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:03,345 - video.core - INFO - ๐Ÿ“ค Server relayed frame #764 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:03,389 - video.core - INFO - ๐Ÿ“ฅ Server received frame #765 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27262 bytes +2025-06-06 11:06:03,389 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:03,389 - video.core - INFO - ๐Ÿ“ค Server relayed frame #765 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:03,432 - video.core - INFO - ๐Ÿ“ฅ Server received frame #766 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27041 bytes +2025-06-06 11:06:03,432 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:03,432 - video.core - INFO - ๐Ÿ“ค Server relayed frame #766 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:03,478 - video.core - INFO - ๐Ÿ“ฅ Server received frame #767 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26997 bytes +2025-06-06 11:06:03,478 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:03,478 - video.core - INFO - ๐Ÿ“ค Server relayed frame #767 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:03,514 - video.core - INFO - ๐Ÿ“ฅ Server received frame #768 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26794 bytes +2025-06-06 11:06:03,514 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:03,514 - video.core - INFO - ๐Ÿ“ค Server relayed frame #768 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:03,563 - video.core - INFO - ๐Ÿ“ฅ Server received frame #769 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26452 bytes +2025-06-06 11:06:03,563 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:03,563 - video.core - INFO - ๐Ÿ“ค Server relayed frame #769 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:03,607 - video.core - INFO - ๐Ÿ“น Frame #770 from producer producer_1749200719303: size=26135 bytes, resolution=640x480 +2025-06-06 11:06:03,607 - video.core - INFO - ๐Ÿ“ฅ Server received frame #770 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26135 bytes +2025-06-06 11:06:03,608 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:03,608 - video.core - INFO - ๐Ÿ“ค Server relayed frame #770 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:03,653 - video.core - INFO - ๐Ÿ“ฅ Server received frame #771 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 25735 bytes +2025-06-06 11:06:03,653 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:03,653 - video.core - INFO - ๐Ÿ“ค Server relayed frame #771 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:03,698 - video.core - INFO - ๐Ÿ“ฅ Server received frame #772 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26238 bytes +2025-06-06 11:06:03,698 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:03,698 - video.core - INFO - ๐Ÿ“ค Server relayed frame #772 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:03,742 - video.core - INFO - ๐Ÿ“ฅ Server received frame #773 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26415 bytes +2025-06-06 11:06:03,742 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:03,742 - video.core - INFO - ๐Ÿ“ค Server relayed frame #773 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:03,780 - video.core - INFO - ๐Ÿ“ฅ Server received frame #774 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26518 bytes +2025-06-06 11:06:03,780 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:03,780 - video.core - INFO - ๐Ÿ“ค Server relayed frame #774 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:03,819 - video.core - INFO - ๐Ÿ“ฅ Server received frame #775 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26771 bytes +2025-06-06 11:06:03,820 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:03,820 - video.core - INFO - ๐Ÿ“ค Server relayed frame #775 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:03,865 - video.core - INFO - ๐Ÿ“ฅ Server received frame #776 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26674 bytes +2025-06-06 11:06:03,865 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:03,865 - video.core - INFO - ๐Ÿ“ค Server relayed frame #776 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:03,910 - video.core - INFO - ๐Ÿ“ฅ Server received frame #777 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26541 bytes +2025-06-06 11:06:03,910 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:03,910 - video.core - INFO - ๐Ÿ“ค Server relayed frame #777 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:03,957 - video.core - INFO - ๐Ÿ“ฅ Server received frame #778 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26821 bytes +2025-06-06 11:06:03,958 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:03,958 - video.core - INFO - ๐Ÿ“ค Server relayed frame #778 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:04,001 - video.core - INFO - ๐Ÿ“ฅ Server received frame #779 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26954 bytes +2025-06-06 11:06:04,002 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:04,002 - video.core - INFO - ๐Ÿ“ค Server relayed frame #779 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:04,043 - video.core - INFO - ๐Ÿ“น Frame #780 from producer producer_1749200719303: size=26976 bytes, resolution=640x480 +2025-06-06 11:06:04,044 - video.core - INFO - ๐Ÿ“ฅ Server received frame #780 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26976 bytes +2025-06-06 11:06:04,044 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:04,044 - video.core - INFO - ๐Ÿ“ค Server relayed frame #780 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:04,044 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 780 frames processed, 22.1 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:04,044 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 780 frames, 16.8 FPS, 3.67 Mbps throughput, 27358 bytes avg frame size +2025-06-06 11:06:04,044 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 780 frames processed, FPS: 23.0, Throughput: 5.04 Mbps, Avg frame size: 27358 bytes +2025-06-06 11:06:04,204 - video.core - INFO - ๐Ÿ“ฅ Server received frame #781 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27088 bytes +2025-06-06 11:06:04,205 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:04,205 - video.core - INFO - ๐Ÿ“ค Server relayed frame #781 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:04,206 - video.core - INFO - ๐Ÿ“ฅ Server received frame #782 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27118 bytes +2025-06-06 11:06:04,206 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:04,206 - video.core - INFO - ๐Ÿ“ค Server relayed frame #782 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:04,207 - video.core - INFO - ๐Ÿ“ฅ Server received frame #783 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27225 bytes +2025-06-06 11:06:04,207 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:04,207 - video.core - INFO - ๐Ÿ“ค Server relayed frame #783 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:04,212 - video.core - INFO - ๐Ÿ“ฅ Server received frame #784 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27355 bytes +2025-06-06 11:06:04,213 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:04,213 - video.core - INFO - ๐Ÿ“ค Server relayed frame #784 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:04,259 - video.core - INFO - ๐Ÿ“ฅ Server received frame #785 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27192 bytes +2025-06-06 11:06:04,259 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:04,259 - video.core - INFO - ๐Ÿ“ค Server relayed frame #785 to 1 consumers in 0.9ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:04,297 - video.core - INFO - ๐Ÿ“ฅ Server received frame #786 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27034 bytes +2025-06-06 11:06:04,297 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:04,297 - video.core - INFO - ๐Ÿ“ค Server relayed frame #786 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:04,339 - video.core - INFO - ๐Ÿ“ฅ Server received frame #787 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27150 bytes +2025-06-06 11:06:04,339 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:04,340 - video.core - INFO - ๐Ÿ“ค Server relayed frame #787 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:04,380 - video.core - INFO - ๐Ÿ“ฅ Server received frame #788 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27276 bytes +2025-06-06 11:06:04,380 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:04,380 - video.core - INFO - ๐Ÿ“ค Server relayed frame #788 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:04,426 - video.core - INFO - ๐Ÿ“ฅ Server received frame #789 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27046 bytes +2025-06-06 11:06:04,426 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:04,426 - video.core - INFO - ๐Ÿ“ค Server relayed frame #789 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:04,465 - video.core - INFO - ๐Ÿ“น Frame #790 from producer producer_1749200719303: size=26951 bytes, resolution=640x480 +2025-06-06 11:06:04,465 - video.core - INFO - ๐Ÿ“ฅ Server received frame #790 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26951 bytes +2025-06-06 11:06:04,465 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:04,465 - video.core - INFO - ๐Ÿ“ค Server relayed frame #790 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:04,506 - video.core - INFO - ๐Ÿ“ฅ Server received frame #791 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26724 bytes +2025-06-06 11:06:04,506 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:04,506 - video.core - INFO - ๐Ÿ“ค Server relayed frame #791 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:04,552 - video.core - INFO - ๐Ÿ“ฅ Server received frame #792 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26902 bytes +2025-06-06 11:06:04,552 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:04,552 - video.core - INFO - ๐Ÿ“ค Server relayed frame #792 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:04,597 - video.core - INFO - ๐Ÿ“ฅ Server received frame #793 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26683 bytes +2025-06-06 11:06:04,597 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:04,597 - video.core - INFO - ๐Ÿ“ค Server relayed frame #793 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:04,641 - video.core - INFO - ๐Ÿ“ฅ Server received frame #794 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26884 bytes +2025-06-06 11:06:04,641 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:04,641 - video.core - INFO - ๐Ÿ“ค Server relayed frame #794 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:04,685 - video.core - INFO - ๐Ÿ“ฅ Server received frame #795 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26671 bytes +2025-06-06 11:06:04,686 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:04,686 - video.core - INFO - ๐Ÿ“ค Server relayed frame #795 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:04,731 - video.core - INFO - ๐Ÿ“ฅ Server received frame #796 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26052 bytes +2025-06-06 11:06:04,731 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:04,731 - video.core - INFO - ๐Ÿ“ค Server relayed frame #796 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:04,771 - video.core - INFO - ๐Ÿ“ฅ Server received frame #797 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 25917 bytes +2025-06-06 11:06:04,771 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:04,771 - video.core - INFO - ๐Ÿ“ค Server relayed frame #797 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:04,812 - video.core - INFO - ๐Ÿ“ฅ Server received frame #798 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26008 bytes +2025-06-06 11:06:04,812 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:04,812 - video.core - INFO - ๐Ÿ“ค Server relayed frame #798 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:04,860 - video.core - INFO - ๐Ÿ“ฅ Server received frame #799 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26349 bytes +2025-06-06 11:06:04,860 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:04,860 - video.core - INFO - ๐Ÿ“ค Server relayed frame #799 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:04,902 - video.core - INFO - ๐Ÿ“น Frame #800 from producer producer_1749200719303: size=26602 bytes, resolution=640x480 +2025-06-06 11:06:04,902 - video.core - INFO - ๐Ÿ“ฅ Server received frame #800 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26602 bytes +2025-06-06 11:06:04,902 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:04,902 - video.core - INFO - ๐Ÿ“ค Server relayed frame #800 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:04,957 - video.core - INFO - ๐Ÿ“ฅ Server received frame #801 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26733 bytes +2025-06-06 11:06:04,958 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:04,958 - video.core - INFO - ๐Ÿ“ค Server relayed frame #801 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:04,986 - video.core - INFO - ๐Ÿ“ฅ Server received frame #802 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26815 bytes +2025-06-06 11:06:04,986 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:04,986 - video.core - INFO - ๐Ÿ“ค Server relayed frame #802 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:05,029 - video.core - INFO - ๐Ÿ“ฅ Server received frame #803 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26699 bytes +2025-06-06 11:06:05,029 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:05,029 - video.core - INFO - ๐Ÿ“ค Server relayed frame #803 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:05,072 - video.core - INFO - ๐Ÿ“ฅ Server received frame #804 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26596 bytes +2025-06-06 11:06:05,072 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:05,072 - video.core - INFO - ๐Ÿ“ค Server relayed frame #804 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:05,117 - video.core - INFO - ๐Ÿ“ฅ Server received frame #805 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26817 bytes +2025-06-06 11:06:05,117 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:05,117 - video.core - INFO - ๐Ÿ“ค Server relayed frame #805 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:05,159 - video.core - INFO - ๐Ÿ“ฅ Server received frame #806 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26750 bytes +2025-06-06 11:06:05,159 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:05,159 - video.core - INFO - ๐Ÿ“ค Server relayed frame #806 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:05,202 - video.core - INFO - ๐Ÿ“ฅ Server received frame #807 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26813 bytes +2025-06-06 11:06:05,202 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:05,202 - video.core - INFO - ๐Ÿ“ค Server relayed frame #807 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:05,249 - video.core - INFO - ๐Ÿ“ฅ Server received frame #808 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27018 bytes +2025-06-06 11:06:05,250 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:05,250 - video.core - INFO - ๐Ÿ“ค Server relayed frame #808 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:05,293 - video.core - INFO - ๐Ÿ“ฅ Server received frame #809 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27154 bytes +2025-06-06 11:06:05,293 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:05,293 - video.core - INFO - ๐Ÿ“ค Server relayed frame #809 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:05,338 - video.core - INFO - ๐Ÿ“น Frame #810 from producer producer_1749200719303: size=27110 bytes, resolution=640x480 +2025-06-06 11:06:05,338 - video.core - INFO - ๐Ÿ“ฅ Server received frame #810 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27110 bytes +2025-06-06 11:06:05,338 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:05,338 - video.core - INFO - ๐Ÿ“ค Server relayed frame #810 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:05,339 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 810 frames processed, 22.2 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:05,339 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 810 frames, 16.9 FPS, 3.70 Mbps throughput, 27338 bytes avg frame size +2025-06-06 11:06:05,339 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 810 frames processed, FPS: 23.1, Throughput: 5.04 Mbps, Avg frame size: 27338 bytes +2025-06-06 11:06:05,384 - video.core - INFO - ๐Ÿ“ฅ Server received frame #811 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27251 bytes +2025-06-06 11:06:05,384 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:05,384 - video.core - INFO - ๐Ÿ“ค Server relayed frame #811 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:05,430 - video.core - INFO - ๐Ÿ“ฅ Server received frame #812 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27379 bytes +2025-06-06 11:06:05,430 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:05,430 - video.core - INFO - ๐Ÿ“ค Server relayed frame #812 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:05,470 - video.core - INFO - ๐Ÿ“ฅ Server received frame #813 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27402 bytes +2025-06-06 11:06:05,471 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:05,471 - video.core - INFO - ๐Ÿ“ค Server relayed frame #813 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:05,507 - video.core - INFO - ๐Ÿ“ฅ Server received frame #814 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27430 bytes +2025-06-06 11:06:05,508 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:05,508 - video.core - INFO - ๐Ÿ“ค Server relayed frame #814 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:05,549 - video.core - INFO - ๐Ÿ“ฅ Server received frame #815 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27471 bytes +2025-06-06 11:06:05,549 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:05,549 - video.core - INFO - ๐Ÿ“ค Server relayed frame #815 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:05,589 - video.core - INFO - ๐Ÿ“ฅ Server received frame #816 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27482 bytes +2025-06-06 11:06:05,589 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:05,589 - video.core - INFO - ๐Ÿ“ค Server relayed frame #816 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:05,638 - video.core - INFO - ๐Ÿ“ฅ Server received frame #817 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27544 bytes +2025-06-06 11:06:05,638 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:05,638 - video.core - INFO - ๐Ÿ“ค Server relayed frame #817 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:05,684 - video.core - INFO - ๐Ÿ“ฅ Server received frame #818 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27530 bytes +2025-06-06 11:06:05,684 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:05,684 - video.core - INFO - ๐Ÿ“ค Server relayed frame #818 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:05,729 - video.core - INFO - ๐Ÿ“ฅ Server received frame #819 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27628 bytes +2025-06-06 11:06:05,729 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:05,730 - video.core - INFO - ๐Ÿ“ค Server relayed frame #819 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:05,769 - video.core - INFO - ๐Ÿ“น Frame #820 from producer producer_1749200719303: size=27639 bytes, resolution=640x480 +2025-06-06 11:06:05,769 - video.core - INFO - ๐Ÿ“ฅ Server received frame #820 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27639 bytes +2025-06-06 11:06:05,769 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:05,769 - video.core - INFO - ๐Ÿ“ค Server relayed frame #820 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:05,809 - video.core - INFO - ๐Ÿ“ฅ Server received frame #821 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27822 bytes +2025-06-06 11:06:05,809 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:05,809 - video.core - INFO - ๐Ÿ“ค Server relayed frame #821 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:05,851 - video.core - INFO - ๐Ÿ“ฅ Server received frame #822 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27758 bytes +2025-06-06 11:06:05,851 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:05,851 - video.core - INFO - ๐Ÿ“ค Server relayed frame #822 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:05,902 - video.core - INFO - ๐Ÿ“ฅ Server received frame #823 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27766 bytes +2025-06-06 11:06:05,902 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:05,902 - video.core - INFO - ๐Ÿ“ค Server relayed frame #823 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:05,946 - video.core - INFO - ๐Ÿ“ฅ Server received frame #824 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27824 bytes +2025-06-06 11:06:05,947 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:05,947 - video.core - INFO - ๐Ÿ“ค Server relayed frame #824 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:05,985 - video.core - INFO - ๐Ÿ“ฅ Server received frame #825 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27728 bytes +2025-06-06 11:06:05,985 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:05,985 - video.core - INFO - ๐Ÿ“ค Server relayed frame #825 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:06,035 - video.core - INFO - ๐Ÿ“ฅ Server received frame #826 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27743 bytes +2025-06-06 11:06:06,035 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:06,035 - video.core - INFO - ๐Ÿ“ค Server relayed frame #826 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:06,080 - video.core - INFO - ๐Ÿ“ฅ Server received frame #827 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27706 bytes +2025-06-06 11:06:06,080 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:06,080 - video.core - INFO - ๐Ÿ“ค Server relayed frame #827 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:06,126 - video.core - INFO - ๐Ÿ“ฅ Server received frame #828 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27743 bytes +2025-06-06 11:06:06,126 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:06,126 - video.core - INFO - ๐Ÿ“ค Server relayed frame #828 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:06,167 - video.core - INFO - ๐Ÿ“ฅ Server received frame #829 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27635 bytes +2025-06-06 11:06:06,167 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:06,167 - video.core - INFO - ๐Ÿ“ค Server relayed frame #829 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:06,205 - video.core - INFO - ๐Ÿ“น Frame #830 from producer producer_1749200719303: size=27688 bytes, resolution=640x480 +2025-06-06 11:06:06,205 - video.core - INFO - ๐Ÿ“ฅ Server received frame #830 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27688 bytes +2025-06-06 11:06:06,205 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:06,205 - video.core - INFO - ๐Ÿ“ค Server relayed frame #830 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:06,255 - video.core - INFO - ๐Ÿ“ฅ Server received frame #831 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27684 bytes +2025-06-06 11:06:06,255 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:06,255 - video.core - INFO - ๐Ÿ“ค Server relayed frame #831 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:06,284 - video.core - INFO - ๐Ÿ“ฅ Server received frame #832 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27745 bytes +2025-06-06 11:06:06,284 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:06,284 - video.core - INFO - ๐Ÿ“ค Server relayed frame #832 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:06,330 - video.core - INFO - ๐Ÿ“ฅ Server received frame #833 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27833 bytes +2025-06-06 11:06:06,331 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:06,331 - video.core - INFO - ๐Ÿ“ค Server relayed frame #833 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:06,374 - video.core - INFO - ๐Ÿ“ฅ Server received frame #834 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27835 bytes +2025-06-06 11:06:06,374 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:06,374 - video.core - INFO - ๐Ÿ“ค Server relayed frame #834 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:06,416 - video.core - INFO - ๐Ÿ“ฅ Server received frame #835 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27948 bytes +2025-06-06 11:06:06,417 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:06,417 - video.core - INFO - ๐Ÿ“ค Server relayed frame #835 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:06,461 - video.core - INFO - ๐Ÿ“ฅ Server received frame #836 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27998 bytes +2025-06-06 11:06:06,461 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:06,461 - video.core - INFO - ๐Ÿ“ค Server relayed frame #836 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:06,501 - video.core - INFO - ๐Ÿ“ฅ Server received frame #837 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28077 bytes +2025-06-06 11:06:06,502 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:06,502 - video.core - INFO - ๐Ÿ“ค Server relayed frame #837 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:06,540 - video.core - INFO - ๐Ÿ“ฅ Server received frame #838 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28108 bytes +2025-06-06 11:06:06,540 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:06,540 - video.core - INFO - ๐Ÿ“ค Server relayed frame #838 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:06,594 - video.core - INFO - ๐Ÿ“ฅ Server received frame #839 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28141 bytes +2025-06-06 11:06:06,594 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:06,594 - video.core - INFO - ๐Ÿ“ค Server relayed frame #839 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:06,634 - video.core - INFO - ๐Ÿ“น Frame #840 from producer producer_1749200719303: size=28637 bytes, resolution=640x480 +2025-06-06 11:06:06,634 - video.core - INFO - ๐Ÿ“ฅ Server received frame #840 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28637 bytes +2025-06-06 11:06:06,634 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:06,634 - video.core - INFO - ๐Ÿ“ค Server relayed frame #840 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:06,634 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 840 frames processed, 22.2 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:06,634 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 840 frames, 17.1 FPS, 3.74 Mbps throughput, 27352 bytes avg frame size +2025-06-06 11:06:06,634 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 840 frames processed, FPS: 23.1, Throughput: 5.05 Mbps, Avg frame size: 27352 bytes +2025-06-06 11:06:06,677 - video.core - INFO - ๐Ÿ“ฅ Server received frame #841 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28479 bytes +2025-06-06 11:06:06,677 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:06,677 - video.core - INFO - ๐Ÿ“ค Server relayed frame #841 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:06,723 - video.core - INFO - ๐Ÿ“ฅ Server received frame #842 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28177 bytes +2025-06-06 11:06:06,723 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:06,723 - video.core - INFO - ๐Ÿ“ค Server relayed frame #842 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:06,764 - video.core - INFO - ๐Ÿ“ฅ Server received frame #843 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28086 bytes +2025-06-06 11:06:06,764 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:06,764 - video.core - INFO - ๐Ÿ“ค Server relayed frame #843 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:06,803 - video.core - INFO - ๐Ÿ“ฅ Server received frame #844 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28080 bytes +2025-06-06 11:06:06,803 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:06,803 - video.core - INFO - ๐Ÿ“ค Server relayed frame #844 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:06,846 - video.core - INFO - ๐Ÿ“ฅ Server received frame #845 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28166 bytes +2025-06-06 11:06:06,846 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:06,846 - video.core - INFO - ๐Ÿ“ค Server relayed frame #845 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:06,893 - video.core - INFO - ๐Ÿ“ฅ Server received frame #846 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28205 bytes +2025-06-06 11:06:06,893 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:06,893 - video.core - INFO - ๐Ÿ“ค Server relayed frame #846 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:06,934 - video.core - INFO - ๐Ÿ“ฅ Server received frame #847 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28206 bytes +2025-06-06 11:06:06,934 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:06,934 - video.core - INFO - ๐Ÿ“ค Server relayed frame #847 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:06,974 - video.core - INFO - ๐Ÿ“ฅ Server received frame #848 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28338 bytes +2025-06-06 11:06:06,974 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:06,975 - video.core - INFO - ๐Ÿ“ค Server relayed frame #848 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:07,022 - video.core - INFO - ๐Ÿ“ฅ Server received frame #849 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28671 bytes +2025-06-06 11:06:07,022 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:07,022 - video.core - INFO - ๐Ÿ“ค Server relayed frame #849 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:07,060 - video.core - INFO - ๐Ÿ“น Frame #850 from producer producer_1749200719303: size=28538 bytes, resolution=640x480 +2025-06-06 11:06:07,060 - video.core - INFO - ๐Ÿ“ฅ Server received frame #850 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28538 bytes +2025-06-06 11:06:07,060 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:07,060 - video.core - INFO - ๐Ÿ“ค Server relayed frame #850 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:07,110 - video.core - INFO - ๐Ÿ“ฅ Server received frame #851 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28514 bytes +2025-06-06 11:06:07,110 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:07,110 - video.core - INFO - ๐Ÿ“ค Server relayed frame #851 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:07,157 - video.core - INFO - ๐Ÿ“ฅ Server received frame #852 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28728 bytes +2025-06-06 11:06:07,157 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:07,157 - video.core - INFO - ๐Ÿ“ค Server relayed frame #852 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:07,198 - video.core - INFO - ๐Ÿ“ฅ Server received frame #853 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28481 bytes +2025-06-06 11:06:07,198 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:07,198 - video.core - INFO - ๐Ÿ“ค Server relayed frame #853 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:07,238 - video.core - INFO - ๐Ÿ“ฅ Server received frame #854 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28511 bytes +2025-06-06 11:06:07,238 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:07,238 - video.core - INFO - ๐Ÿ“ค Server relayed frame #854 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:07,284 - video.core - INFO - ๐Ÿ“ฅ Server received frame #855 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28504 bytes +2025-06-06 11:06:07,284 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:07,284 - video.core - INFO - ๐Ÿ“ค Server relayed frame #855 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:07,327 - video.core - INFO - ๐Ÿ“ฅ Server received frame #856 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28465 bytes +2025-06-06 11:06:07,327 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:07,328 - video.core - INFO - ๐Ÿ“ค Server relayed frame #856 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:07,372 - video.core - INFO - ๐Ÿ“ฅ Server received frame #857 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28748 bytes +2025-06-06 11:06:07,373 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:07,373 - video.core - INFO - ๐Ÿ“ค Server relayed frame #857 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:07,415 - video.core - INFO - ๐Ÿ“ฅ Server received frame #858 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28728 bytes +2025-06-06 11:06:07,415 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:07,415 - video.core - INFO - ๐Ÿ“ค Server relayed frame #858 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:07,458 - video.core - INFO - ๐Ÿ“ฅ Server received frame #859 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28712 bytes +2025-06-06 11:06:07,458 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:07,458 - video.core - INFO - ๐Ÿ“ค Server relayed frame #859 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:07,501 - video.core - INFO - ๐Ÿ“น Frame #860 from producer producer_1749200719303: size=28917 bytes, resolution=640x480 +2025-06-06 11:06:07,501 - video.core - INFO - ๐Ÿ“ฅ Server received frame #860 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28917 bytes +2025-06-06 11:06:07,501 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:07,501 - video.core - INFO - ๐Ÿ“ค Server relayed frame #860 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:07,579 - video.core - INFO - ๐Ÿ“ฅ Server received frame #861 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28783 bytes +2025-06-06 11:06:07,579 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:07,579 - video.core - INFO - ๐Ÿ“ค Server relayed frame #861 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:07,587 - video.core - INFO - ๐Ÿ“ฅ Server received frame #862 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28854 bytes +2025-06-06 11:06:07,587 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:07,588 - video.core - INFO - ๐Ÿ“ค Server relayed frame #862 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:07,622 - video.core - INFO - ๐Ÿ“ฅ Server received frame #863 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28776 bytes +2025-06-06 11:06:07,622 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:07,622 - video.core - INFO - ๐Ÿ“ค Server relayed frame #863 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:07,668 - video.core - INFO - ๐Ÿ“ฅ Server received frame #864 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29036 bytes +2025-06-06 11:06:07,668 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:07,668 - video.core - INFO - ๐Ÿ“ค Server relayed frame #864 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:07,776 - video.core - INFO - ๐Ÿ“ฅ Server received frame #865 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28935 bytes +2025-06-06 11:06:07,777 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:07,777 - video.core - INFO - ๐Ÿ“ค Server relayed frame #865 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:07,780 - video.core - INFO - ๐Ÿ“ฅ Server received frame #866 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29024 bytes +2025-06-06 11:06:07,780 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:07,780 - video.core - INFO - ๐Ÿ“ค Server relayed frame #866 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:07,807 - video.core - INFO - ๐Ÿ“ฅ Server received frame #867 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28884 bytes +2025-06-06 11:06:07,807 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:07,807 - video.core - INFO - ๐Ÿ“ค Server relayed frame #867 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:07,836 - video.core - INFO - ๐Ÿ“ฅ Server received frame #868 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29048 bytes +2025-06-06 11:06:07,836 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:07,836 - video.core - INFO - ๐Ÿ“ค Server relayed frame #868 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:07,882 - video.core - INFO - ๐Ÿ“ฅ Server received frame #869 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28902 bytes +2025-06-06 11:06:07,883 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:07,883 - video.core - INFO - ๐Ÿ“ค Server relayed frame #869 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:07,932 - video.core - INFO - ๐Ÿ“น Frame #870 from producer producer_1749200719303: size=29112 bytes, resolution=640x480 +2025-06-06 11:06:07,932 - video.core - INFO - ๐Ÿ“ฅ Server received frame #870 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29112 bytes +2025-06-06 11:06:07,932 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:07,932 - video.core - INFO - ๐Ÿ“ค Server relayed frame #870 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:07,932 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 870 frames processed, 22.2 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:07,932 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 870 frames, 17.2 FPS, 3.78 Mbps throughput, 27396 bytes avg frame size +2025-06-06 11:06:07,932 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 870 frames processed, FPS: 23.1, Throughput: 5.05 Mbps, Avg frame size: 27396 bytes +2025-06-06 11:06:07,976 - video.core - INFO - ๐Ÿ“ฅ Server received frame #871 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28908 bytes +2025-06-06 11:06:07,976 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:07,976 - video.core - INFO - ๐Ÿ“ค Server relayed frame #871 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:08,022 - video.core - INFO - ๐Ÿ“ฅ Server received frame #872 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29092 bytes +2025-06-06 11:06:08,022 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:08,022 - video.core - INFO - ๐Ÿ“ค Server relayed frame #872 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:08,061 - video.core - INFO - ๐Ÿ“ฅ Server received frame #873 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28860 bytes +2025-06-06 11:06:08,061 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:08,061 - video.core - INFO - ๐Ÿ“ค Server relayed frame #873 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:08,108 - video.core - INFO - ๐Ÿ“ฅ Server received frame #874 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28707 bytes +2025-06-06 11:06:08,108 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:08,108 - video.core - INFO - ๐Ÿ“ค Server relayed frame #874 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:08,152 - video.core - INFO - ๐Ÿ“ฅ Server received frame #875 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28917 bytes +2025-06-06 11:06:08,152 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:08,152 - video.core - INFO - ๐Ÿ“ค Server relayed frame #875 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:08,191 - video.core - INFO - ๐Ÿ“ฅ Server received frame #876 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28857 bytes +2025-06-06 11:06:08,192 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:08,192 - video.core - INFO - ๐Ÿ“ค Server relayed frame #876 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:08,237 - video.core - INFO - ๐Ÿ“ฅ Server received frame #877 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28752 bytes +2025-06-06 11:06:08,237 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:08,237 - video.core - INFO - ๐Ÿ“ค Server relayed frame #877 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:08,276 - video.core - INFO - ๐Ÿ“ฅ Server received frame #878 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28746 bytes +2025-06-06 11:06:08,276 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:08,277 - video.core - INFO - ๐Ÿ“ค Server relayed frame #878 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:08,320 - video.core - INFO - ๐Ÿ“ฅ Server received frame #879 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29021 bytes +2025-06-06 11:06:08,320 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:08,320 - video.core - INFO - ๐Ÿ“ค Server relayed frame #879 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:08,365 - video.core - INFO - ๐Ÿ“น Frame #880 from producer producer_1749200719303: size=28936 bytes, resolution=640x480 +2025-06-06 11:06:08,365 - video.core - INFO - ๐Ÿ“ฅ Server received frame #880 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28936 bytes +2025-06-06 11:06:08,366 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:08,366 - video.core - INFO - ๐Ÿ“ค Server relayed frame #880 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:08,408 - video.core - INFO - ๐Ÿ“ฅ Server received frame #881 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28853 bytes +2025-06-06 11:06:08,408 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:08,409 - video.core - INFO - ๐Ÿ“ค Server relayed frame #881 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:08,453 - video.core - INFO - ๐Ÿ“ฅ Server received frame #882 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29037 bytes +2025-06-06 11:06:08,453 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:08,453 - video.core - INFO - ๐Ÿ“ค Server relayed frame #882 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:08,499 - video.core - INFO - ๐Ÿ“ฅ Server received frame #883 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29064 bytes +2025-06-06 11:06:08,499 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:08,499 - video.core - INFO - ๐Ÿ“ค Server relayed frame #883 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:08,541 - video.core - INFO - ๐Ÿ“ฅ Server received frame #884 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29054 bytes +2025-06-06 11:06:08,541 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:08,541 - video.core - INFO - ๐Ÿ“ค Server relayed frame #884 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:08,584 - video.core - INFO - ๐Ÿ“ฅ Server received frame #885 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28831 bytes +2025-06-06 11:06:08,584 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:08,584 - video.core - INFO - ๐Ÿ“ค Server relayed frame #885 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:08,628 - video.core - INFO - ๐Ÿ“ฅ Server received frame #886 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28580 bytes +2025-06-06 11:06:08,629 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:08,629 - video.core - INFO - ๐Ÿ“ค Server relayed frame #886 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:08,672 - video.core - INFO - ๐Ÿ“ฅ Server received frame #887 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28387 bytes +2025-06-06 11:06:08,672 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:08,672 - video.core - INFO - ๐Ÿ“ค Server relayed frame #887 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:08,709 - video.core - INFO - ๐Ÿ“ฅ Server received frame #888 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28323 bytes +2025-06-06 11:06:08,710 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:08,710 - video.core - INFO - ๐Ÿ“ค Server relayed frame #888 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:08,759 - video.core - INFO - ๐Ÿ“ฅ Server received frame #889 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28297 bytes +2025-06-06 11:06:08,759 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:08,759 - video.core - INFO - ๐Ÿ“ค Server relayed frame #889 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:08,796 - video.core - INFO - ๐Ÿ“น Frame #890 from producer producer_1749200719303: size=28093 bytes, resolution=640x480 +2025-06-06 11:06:08,796 - video.core - INFO - ๐Ÿ“ฅ Server received frame #890 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28093 bytes +2025-06-06 11:06:08,796 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:08,796 - video.core - INFO - ๐Ÿ“ค Server relayed frame #890 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:08,833 - video.core - INFO - ๐Ÿ“ฅ Server received frame #891 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28061 bytes +2025-06-06 11:06:08,833 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:08,833 - video.core - INFO - ๐Ÿ“ค Server relayed frame #891 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:08,879 - video.core - INFO - ๐Ÿ“ฅ Server received frame #892 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28062 bytes +2025-06-06 11:06:08,880 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:08,880 - video.core - INFO - ๐Ÿ“ค Server relayed frame #892 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:08,927 - video.core - INFO - ๐Ÿ“ฅ Server received frame #893 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27992 bytes +2025-06-06 11:06:08,927 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:08,927 - video.core - INFO - ๐Ÿ“ค Server relayed frame #893 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:08,973 - video.core - INFO - ๐Ÿ“ฅ Server received frame #894 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27889 bytes +2025-06-06 11:06:08,973 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:08,973 - video.core - INFO - ๐Ÿ“ค Server relayed frame #894 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:09,016 - video.core - INFO - ๐Ÿ“ฅ Server received frame #895 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27965 bytes +2025-06-06 11:06:09,017 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:09,017 - video.core - INFO - ๐Ÿ“ค Server relayed frame #895 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:09,052 - video.core - INFO - ๐Ÿ“ฅ Server received frame #896 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28072 bytes +2025-06-06 11:06:09,052 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:09,052 - video.core - INFO - ๐Ÿ“ค Server relayed frame #896 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:09,099 - video.core - INFO - ๐Ÿ“ฅ Server received frame #897 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28099 bytes +2025-06-06 11:06:09,099 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:09,100 - video.core - INFO - ๐Ÿ“ค Server relayed frame #897 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:09,141 - video.core - INFO - ๐Ÿ“ฅ Server received frame #898 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28121 bytes +2025-06-06 11:06:09,141 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:09,141 - video.core - INFO - ๐Ÿ“ค Server relayed frame #898 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:09,189 - video.core - INFO - ๐Ÿ“ฅ Server received frame #899 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28140 bytes +2025-06-06 11:06:09,189 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:09,189 - video.core - INFO - ๐Ÿ“ค Server relayed frame #899 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:09,225 - video.core - INFO - ๐Ÿ“น Frame #900 from producer producer_1749200719303: size=28151 bytes, resolution=640x480 +2025-06-06 11:06:09,226 - video.core - INFO - ๐Ÿ“ฅ Server received frame #900 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28151 bytes +2025-06-06 11:06:09,226 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:09,226 - video.core - INFO - ๐Ÿ“ค Server relayed frame #900 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:09,226 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 900 frames processed, 22.3 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:09,226 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 900 frames, 17.4 FPS, 3.82 Mbps throughput, 27434 bytes avg frame size +2025-06-06 11:06:09,226 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 900 frames processed, FPS: 23.1, Throughput: 5.06 Mbps, Avg frame size: 27434 bytes +2025-06-06 11:06:09,273 - video.core - INFO - ๐Ÿ“ฅ Server received frame #901 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28072 bytes +2025-06-06 11:06:09,273 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:09,273 - video.core - INFO - ๐Ÿ“ค Server relayed frame #901 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:09,315 - video.core - INFO - ๐Ÿ“ฅ Server received frame #902 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28204 bytes +2025-06-06 11:06:09,315 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:09,315 - video.core - INFO - ๐Ÿ“ค Server relayed frame #902 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:09,363 - video.core - INFO - ๐Ÿ“ฅ Server received frame #903 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28245 bytes +2025-06-06 11:06:09,363 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:09,363 - video.core - INFO - ๐Ÿ“ค Server relayed frame #903 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:09,404 - video.core - INFO - ๐Ÿ“ฅ Server received frame #904 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28097 bytes +2025-06-06 11:06:09,404 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:09,404 - video.core - INFO - ๐Ÿ“ค Server relayed frame #904 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:09,447 - video.core - INFO - ๐Ÿ“ฅ Server received frame #905 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28050 bytes +2025-06-06 11:06:09,447 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:09,447 - video.core - INFO - ๐Ÿ“ค Server relayed frame #905 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:09,492 - video.core - INFO - ๐Ÿ“ฅ Server received frame #906 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28119 bytes +2025-06-06 11:06:09,492 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:09,492 - video.core - INFO - ๐Ÿ“ค Server relayed frame #906 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:09,533 - video.core - INFO - ๐Ÿ“ฅ Server received frame #907 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28108 bytes +2025-06-06 11:06:09,533 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:09,534 - video.core - INFO - ๐Ÿ“ค Server relayed frame #907 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:09,573 - video.core - INFO - ๐Ÿ“ฅ Server received frame #908 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28133 bytes +2025-06-06 11:06:09,574 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:09,574 - video.core - INFO - ๐Ÿ“ค Server relayed frame #908 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:09,616 - video.core - INFO - ๐Ÿ“ฅ Server received frame #909 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28121 bytes +2025-06-06 11:06:09,617 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:09,617 - video.core - INFO - ๐Ÿ“ค Server relayed frame #909 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:09,656 - video.core - INFO - ๐Ÿ“น Frame #910 from producer producer_1749200719303: size=28175 bytes, resolution=640x480 +2025-06-06 11:06:09,657 - video.core - INFO - ๐Ÿ“ฅ Server received frame #910 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28175 bytes +2025-06-06 11:06:09,657 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:09,657 - video.core - INFO - ๐Ÿ“ค Server relayed frame #910 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:09,703 - video.core - INFO - ๐Ÿ“ฅ Server received frame #911 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28176 bytes +2025-06-06 11:06:09,704 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:09,704 - video.core - INFO - ๐Ÿ“ค Server relayed frame #911 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:09,749 - video.core - INFO - ๐Ÿ“ฅ Server received frame #912 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28207 bytes +2025-06-06 11:06:09,749 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:09,749 - video.core - INFO - ๐Ÿ“ค Server relayed frame #912 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:09,790 - video.core - INFO - ๐Ÿ“ฅ Server received frame #913 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28217 bytes +2025-06-06 11:06:09,790 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:09,790 - video.core - INFO - ๐Ÿ“ค Server relayed frame #913 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:09,830 - video.core - INFO - ๐Ÿ“ฅ Server received frame #914 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28258 bytes +2025-06-06 11:06:09,830 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:09,830 - video.core - INFO - ๐Ÿ“ค Server relayed frame #914 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:09,874 - video.core - INFO - ๐Ÿ“ฅ Server received frame #915 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28241 bytes +2025-06-06 11:06:09,874 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:09,874 - video.core - INFO - ๐Ÿ“ค Server relayed frame #915 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:09,923 - video.core - INFO - ๐Ÿ“ฅ Server received frame #916 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28121 bytes +2025-06-06 11:06:09,923 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:09,923 - video.core - INFO - ๐Ÿ“ค Server relayed frame #916 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:09,965 - video.core - INFO - ๐Ÿ“ฅ Server received frame #917 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28223 bytes +2025-06-06 11:06:09,965 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:09,965 - video.core - INFO - ๐Ÿ“ค Server relayed frame #917 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:10,009 - video.core - INFO - ๐Ÿ“ฅ Server received frame #918 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28243 bytes +2025-06-06 11:06:10,009 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:10,009 - video.core - INFO - ๐Ÿ“ค Server relayed frame #918 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:10,051 - video.core - INFO - ๐Ÿ“ฅ Server received frame #919 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28219 bytes +2025-06-06 11:06:10,051 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:10,051 - video.core - INFO - ๐Ÿ“ค Server relayed frame #919 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:10,092 - video.core - INFO - ๐Ÿ“น Frame #920 from producer producer_1749200719303: size=28348 bytes, resolution=640x480 +2025-06-06 11:06:10,092 - video.core - INFO - ๐Ÿ“ฅ Server received frame #920 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28348 bytes +2025-06-06 11:06:10,092 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:10,092 - video.core - INFO - ๐Ÿ“ค Server relayed frame #920 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:10,135 - video.core - INFO - ๐Ÿ“ฅ Server received frame #921 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28354 bytes +2025-06-06 11:06:10,135 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:10,135 - video.core - INFO - ๐Ÿ“ค Server relayed frame #921 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:10,182 - video.core - INFO - ๐Ÿ“ฅ Server received frame #922 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28372 bytes +2025-06-06 11:06:10,182 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:10,182 - video.core - INFO - ๐Ÿ“ค Server relayed frame #922 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:10,225 - video.core - INFO - ๐Ÿ“ฅ Server received frame #923 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28342 bytes +2025-06-06 11:06:10,225 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:10,225 - video.core - INFO - ๐Ÿ“ค Server relayed frame #923 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:10,271 - video.core - INFO - ๐Ÿ“ฅ Server received frame #924 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28418 bytes +2025-06-06 11:06:10,271 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:10,271 - video.core - INFO - ๐Ÿ“ค Server relayed frame #924 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:10,314 - video.core - INFO - ๐Ÿ“ฅ Server received frame #925 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28431 bytes +2025-06-06 11:06:10,314 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:10,314 - video.core - INFO - ๐Ÿ“ค Server relayed frame #925 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:10,359 - video.core - INFO - ๐Ÿ“ฅ Server received frame #926 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28502 bytes +2025-06-06 11:06:10,359 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:10,359 - video.core - INFO - ๐Ÿ“ค Server relayed frame #926 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:10,402 - video.core - INFO - ๐Ÿ“ฅ Server received frame #927 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28433 bytes +2025-06-06 11:06:10,402 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:10,402 - video.core - INFO - ๐Ÿ“ค Server relayed frame #927 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:10,447 - video.core - INFO - ๐Ÿ“ฅ Server received frame #928 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28560 bytes +2025-06-06 11:06:10,448 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:10,448 - video.core - INFO - ๐Ÿ“ค Server relayed frame #928 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:10,485 - video.core - INFO - ๐Ÿ“ฅ Server received frame #929 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28583 bytes +2025-06-06 11:06:10,485 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:10,485 - video.core - INFO - ๐Ÿ“ค Server relayed frame #929 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:10,530 - video.core - INFO - ๐Ÿ“น Frame #930 from producer producer_1749200719303: size=28587 bytes, resolution=640x480 +2025-06-06 11:06:10,530 - video.core - INFO - ๐Ÿ“ฅ Server received frame #930 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28587 bytes +2025-06-06 11:06:10,530 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:10,530 - video.core - INFO - ๐Ÿ“ค Server relayed frame #930 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:10,530 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 930 frames processed, 22.3 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:10,530 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 930 frames, 17.5 FPS, 3.85 Mbps throughput, 27461 bytes avg frame size +2025-06-06 11:06:10,530 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 930 frames processed, FPS: 23.1, Throughput: 5.07 Mbps, Avg frame size: 27461 bytes +2025-06-06 11:06:10,573 - video.core - INFO - ๐Ÿ“ฅ Server received frame #931 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28566 bytes +2025-06-06 11:06:10,573 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:10,573 - video.core - INFO - ๐Ÿ“ค Server relayed frame #931 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:10,618 - video.core - INFO - ๐Ÿ“ฅ Server received frame #932 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28592 bytes +2025-06-06 11:06:10,618 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:10,618 - video.core - INFO - ๐Ÿ“ค Server relayed frame #932 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:10,662 - video.core - INFO - ๐Ÿ“ฅ Server received frame #933 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28603 bytes +2025-06-06 11:06:10,662 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:10,662 - video.core - INFO - ๐Ÿ“ค Server relayed frame #933 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:10,703 - video.core - INFO - ๐Ÿ“ฅ Server received frame #934 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28123 bytes +2025-06-06 11:06:10,704 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:10,704 - video.core - INFO - ๐Ÿ“ค Server relayed frame #934 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:10,742 - video.core - INFO - ๐Ÿ“ฅ Server received frame #935 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27657 bytes +2025-06-06 11:06:10,743 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:10,743 - video.core - INFO - ๐Ÿ“ค Server relayed frame #935 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:10,792 - video.core - INFO - ๐Ÿ“ฅ Server received frame #936 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27228 bytes +2025-06-06 11:06:10,792 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:10,792 - video.core - INFO - ๐Ÿ“ค Server relayed frame #936 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:10,831 - video.core - INFO - ๐Ÿ“ฅ Server received frame #937 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26943 bytes +2025-06-06 11:06:10,831 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:10,831 - video.core - INFO - ๐Ÿ“ค Server relayed frame #937 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:10,870 - video.core - INFO - ๐Ÿ“ฅ Server received frame #938 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27127 bytes +2025-06-06 11:06:10,870 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:10,870 - video.core - INFO - ๐Ÿ“ค Server relayed frame #938 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:10,921 - video.core - INFO - ๐Ÿ“ฅ Server received frame #939 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27451 bytes +2025-06-06 11:06:10,921 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:10,921 - video.core - INFO - ๐Ÿ“ค Server relayed frame #939 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:10,961 - video.core - INFO - ๐Ÿ“น Frame #940 from producer producer_1749200719303: size=27491 bytes, resolution=640x480 +2025-06-06 11:06:10,961 - video.core - INFO - ๐Ÿ“ฅ Server received frame #940 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27491 bytes +2025-06-06 11:06:10,961 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:10,961 - video.core - INFO - ๐Ÿ“ค Server relayed frame #940 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:11,010 - video.core - INFO - ๐Ÿ“ฅ Server received frame #941 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27393 bytes +2025-06-06 11:06:11,010 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:11,010 - video.core - INFO - ๐Ÿ“ค Server relayed frame #941 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:11,046 - video.core - INFO - ๐Ÿ“ฅ Server received frame #942 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27596 bytes +2025-06-06 11:06:11,046 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:11,046 - video.core - INFO - ๐Ÿ“ค Server relayed frame #942 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:11,091 - video.core - INFO - ๐Ÿ“ฅ Server received frame #943 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27646 bytes +2025-06-06 11:06:11,091 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:11,091 - video.core - INFO - ๐Ÿ“ค Server relayed frame #943 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:11,131 - video.core - INFO - ๐Ÿ“ฅ Server received frame #944 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27358 bytes +2025-06-06 11:06:11,131 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:11,131 - video.core - INFO - ๐Ÿ“ค Server relayed frame #944 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:11,174 - video.core - INFO - ๐Ÿ“ฅ Server received frame #945 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27404 bytes +2025-06-06 11:06:11,174 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:11,174 - video.core - INFO - ๐Ÿ“ค Server relayed frame #945 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:11,219 - video.core - INFO - ๐Ÿ“ฅ Server received frame #946 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27470 bytes +2025-06-06 11:06:11,219 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:11,219 - video.core - INFO - ๐Ÿ“ค Server relayed frame #946 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:11,260 - video.core - INFO - ๐Ÿ“ฅ Server received frame #947 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27307 bytes +2025-06-06 11:06:11,260 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:11,260 - video.core - INFO - ๐Ÿ“ค Server relayed frame #947 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:11,306 - video.core - INFO - ๐Ÿ“ฅ Server received frame #948 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27491 bytes +2025-06-06 11:06:11,306 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:11,306 - video.core - INFO - ๐Ÿ“ค Server relayed frame #948 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:11,349 - video.core - INFO - ๐Ÿ“ฅ Server received frame #949 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27481 bytes +2025-06-06 11:06:11,349 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:11,349 - video.core - INFO - ๐Ÿ“ค Server relayed frame #949 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:11,392 - video.core - INFO - ๐Ÿ“น Frame #950 from producer producer_1749200719303: size=27586 bytes, resolution=640x480 +2025-06-06 11:06:11,392 - video.core - INFO - ๐Ÿ“ฅ Server received frame #950 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27586 bytes +2025-06-06 11:06:11,392 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:11,392 - video.core - INFO - ๐Ÿ“ค Server relayed frame #950 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:11,435 - video.core - INFO - ๐Ÿ“ฅ Server received frame #951 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27228 bytes +2025-06-06 11:06:11,435 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:11,435 - video.core - INFO - ๐Ÿ“ค Server relayed frame #951 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:11,478 - video.core - INFO - ๐Ÿ“ฅ Server received frame #952 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27312 bytes +2025-06-06 11:06:11,478 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:11,479 - video.core - INFO - ๐Ÿ“ค Server relayed frame #952 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:11,522 - video.core - INFO - ๐Ÿ“ฅ Server received frame #953 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27314 bytes +2025-06-06 11:06:11,522 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:11,522 - video.core - INFO - ๐Ÿ“ค Server relayed frame #953 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:11,564 - video.core - INFO - ๐Ÿ“ฅ Server received frame #954 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27446 bytes +2025-06-06 11:06:11,565 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:11,565 - video.core - INFO - ๐Ÿ“ค Server relayed frame #954 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:11,608 - video.core - INFO - ๐Ÿ“ฅ Server received frame #955 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27499 bytes +2025-06-06 11:06:11,608 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:11,608 - video.core - INFO - ๐Ÿ“ค Server relayed frame #955 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:11,650 - video.core - INFO - ๐Ÿ“ฅ Server received frame #956 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27661 bytes +2025-06-06 11:06:11,650 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:11,650 - video.core - INFO - ๐Ÿ“ค Server relayed frame #956 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:11,695 - video.core - INFO - ๐Ÿ“ฅ Server received frame #957 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27776 bytes +2025-06-06 11:06:11,696 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:11,696 - video.core - INFO - ๐Ÿ“ค Server relayed frame #957 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:11,741 - video.core - INFO - ๐Ÿ“ฅ Server received frame #958 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27816 bytes +2025-06-06 11:06:11,741 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:11,741 - video.core - INFO - ๐Ÿ“ค Server relayed frame #958 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:11,783 - video.core - INFO - ๐Ÿ“ฅ Server received frame #959 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27867 bytes +2025-06-06 11:06:11,784 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:11,784 - video.core - INFO - ๐Ÿ“ค Server relayed frame #959 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:11,824 - video.core - INFO - ๐Ÿ“น Frame #960 from producer producer_1749200719303: size=27664 bytes, resolution=640x480 +2025-06-06 11:06:11,824 - video.core - INFO - ๐Ÿ“ฅ Server received frame #960 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27664 bytes +2025-06-06 11:06:11,824 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:11,824 - video.core - INFO - ๐Ÿ“ค Server relayed frame #960 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:11,824 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 960 frames processed, 22.3 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:11,824 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 960 frames, 17.7 FPS, 3.88 Mbps throughput, 27465 bytes avg frame size +2025-06-06 11:06:11,824 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 960 frames processed, FPS: 23.1, Throughput: 5.07 Mbps, Avg frame size: 27465 bytes +2025-06-06 11:06:11,863 - video.core - INFO - ๐Ÿ“ฅ Server received frame #961 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27586 bytes +2025-06-06 11:06:11,863 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:11,863 - video.core - INFO - ๐Ÿ“ค Server relayed frame #961 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:11,912 - video.core - INFO - ๐Ÿ“ฅ Server received frame #962 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27592 bytes +2025-06-06 11:06:11,912 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:11,912 - video.core - INFO - ๐Ÿ“ค Server relayed frame #962 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:11,955 - video.core - INFO - ๐Ÿ“ฅ Server received frame #963 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27609 bytes +2025-06-06 11:06:11,955 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:11,955 - video.core - INFO - ๐Ÿ“ค Server relayed frame #963 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:11,999 - video.core - INFO - ๐Ÿ“ฅ Server received frame #964 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27540 bytes +2025-06-06 11:06:11,999 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:11,999 - video.core - INFO - ๐Ÿ“ค Server relayed frame #964 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:12,042 - video.core - INFO - ๐Ÿ“ฅ Server received frame #965 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27661 bytes +2025-06-06 11:06:12,042 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:12,042 - video.core - INFO - ๐Ÿ“ค Server relayed frame #965 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:12,085 - video.core - INFO - ๐Ÿ“ฅ Server received frame #966 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27555 bytes +2025-06-06 11:06:12,085 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:12,085 - video.core - INFO - ๐Ÿ“ค Server relayed frame #966 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:12,127 - video.core - INFO - ๐Ÿ“ฅ Server received frame #967 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27645 bytes +2025-06-06 11:06:12,127 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:12,127 - video.core - INFO - ๐Ÿ“ค Server relayed frame #967 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:12,173 - video.core - INFO - ๐Ÿ“ฅ Server received frame #968 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27804 bytes +2025-06-06 11:06:12,173 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:12,173 - video.core - INFO - ๐Ÿ“ค Server relayed frame #968 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:12,218 - video.core - INFO - ๐Ÿ“ฅ Server received frame #969 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27682 bytes +2025-06-06 11:06:12,219 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:12,219 - video.core - INFO - ๐Ÿ“ค Server relayed frame #969 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:12,257 - video.core - INFO - ๐Ÿ“น Frame #970 from producer producer_1749200719303: size=27638 bytes, resolution=640x480 +2025-06-06 11:06:12,257 - video.core - INFO - ๐Ÿ“ฅ Server received frame #970 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27638 bytes +2025-06-06 11:06:12,257 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:12,257 - video.core - INFO - ๐Ÿ“ค Server relayed frame #970 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:12,299 - video.core - INFO - ๐Ÿ“ฅ Server received frame #971 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27801 bytes +2025-06-06 11:06:12,299 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:12,299 - video.core - INFO - ๐Ÿ“ค Server relayed frame #971 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:12,346 - video.core - INFO - ๐Ÿ“ฅ Server received frame #972 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27625 bytes +2025-06-06 11:06:12,346 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:12,346 - video.core - INFO - ๐Ÿ“ค Server relayed frame #972 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:12,389 - video.core - INFO - ๐Ÿ“ฅ Server received frame #973 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27522 bytes +2025-06-06 11:06:12,389 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:12,389 - video.core - INFO - ๐Ÿ“ค Server relayed frame #973 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:12,431 - video.core - INFO - ๐Ÿ“ฅ Server received frame #974 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27542 bytes +2025-06-06 11:06:12,431 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:12,431 - video.core - INFO - ๐Ÿ“ค Server relayed frame #974 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:12,473 - video.core - INFO - ๐Ÿ“ฅ Server received frame #975 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27627 bytes +2025-06-06 11:06:12,474 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:12,474 - video.core - INFO - ๐Ÿ“ค Server relayed frame #975 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:12,515 - video.core - INFO - ๐Ÿ“ฅ Server received frame #976 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27697 bytes +2025-06-06 11:06:12,515 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:12,515 - video.core - INFO - ๐Ÿ“ค Server relayed frame #976 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:12,561 - video.core - INFO - ๐Ÿ“ฅ Server received frame #977 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27690 bytes +2025-06-06 11:06:12,561 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:12,561 - video.core - INFO - ๐Ÿ“ค Server relayed frame #977 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:12,606 - video.core - INFO - ๐Ÿ“ฅ Server received frame #978 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27716 bytes +2025-06-06 11:06:12,606 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:12,606 - video.core - INFO - ๐Ÿ“ค Server relayed frame #978 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:12,648 - video.core - INFO - ๐Ÿ“ฅ Server received frame #979 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27845 bytes +2025-06-06 11:06:12,648 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:12,648 - video.core - INFO - ๐Ÿ“ค Server relayed frame #979 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:12,690 - video.core - INFO - ๐Ÿ“น Frame #980 from producer producer_1749200719303: size=27841 bytes, resolution=640x480 +2025-06-06 11:06:12,691 - video.core - INFO - ๐Ÿ“ฅ Server received frame #980 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27841 bytes +2025-06-06 11:06:12,691 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:12,691 - video.core - INFO - ๐Ÿ“ค Server relayed frame #980 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:12,733 - video.core - INFO - ๐Ÿ“ฅ Server received frame #981 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27976 bytes +2025-06-06 11:06:12,734 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:12,734 - video.core - INFO - ๐Ÿ“ค Server relayed frame #981 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:12,777 - video.core - INFO - ๐Ÿ“ฅ Server received frame #982 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28104 bytes +2025-06-06 11:06:12,777 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:12,777 - video.core - INFO - ๐Ÿ“ค Server relayed frame #982 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:12,816 - video.core - INFO - ๐Ÿ“ฅ Server received frame #983 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27920 bytes +2025-06-06 11:06:12,816 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:12,816 - video.core - INFO - ๐Ÿ“ค Server relayed frame #983 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:12,858 - video.core - INFO - ๐Ÿ“ฅ Server received frame #984 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27966 bytes +2025-06-06 11:06:12,858 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:12,858 - video.core - INFO - ๐Ÿ“ค Server relayed frame #984 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:12,904 - video.core - INFO - ๐Ÿ“ฅ Server received frame #985 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28049 bytes +2025-06-06 11:06:12,904 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:12,904 - video.core - INFO - ๐Ÿ“ค Server relayed frame #985 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:12,949 - video.core - INFO - ๐Ÿ“ฅ Server received frame #986 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28166 bytes +2025-06-06 11:06:12,949 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:12,950 - video.core - INFO - ๐Ÿ“ค Server relayed frame #986 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:12,993 - video.core - INFO - ๐Ÿ“ฅ Server received frame #987 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28102 bytes +2025-06-06 11:06:12,993 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:12,993 - video.core - INFO - ๐Ÿ“ค Server relayed frame #987 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:13,038 - video.core - INFO - ๐Ÿ“ฅ Server received frame #988 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28118 bytes +2025-06-06 11:06:13,038 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:13,038 - video.core - INFO - ๐Ÿ“ค Server relayed frame #988 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:13,080 - video.core - INFO - ๐Ÿ“ฅ Server received frame #989 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28223 bytes +2025-06-06 11:06:13,080 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:13,080 - video.core - INFO - ๐Ÿ“ค Server relayed frame #989 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:13,125 - video.core - INFO - ๐Ÿ“น Frame #990 from producer producer_1749200719303: size=28280 bytes, resolution=640x480 +2025-06-06 11:06:13,125 - video.core - INFO - ๐Ÿ“ฅ Server received frame #990 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28280 bytes +2025-06-06 11:06:13,125 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:13,125 - video.core - INFO - ๐Ÿ“ค Server relayed frame #990 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:13,125 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 990 frames processed, 22.3 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:13,125 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 990 frames, 17.8 FPS, 3.91 Mbps throughput, 27475 bytes avg frame size +2025-06-06 11:06:13,125 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 990 frames processed, FPS: 23.1, Throughput: 5.07 Mbps, Avg frame size: 27475 bytes +2025-06-06 11:06:13,163 - video.core - INFO - ๐Ÿ“ฅ Server received frame #991 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28219 bytes +2025-06-06 11:06:13,163 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:13,163 - video.core - INFO - ๐Ÿ“ค Server relayed frame #991 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:13,206 - video.core - INFO - ๐Ÿ“ฅ Server received frame #992 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28203 bytes +2025-06-06 11:06:13,206 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:13,207 - video.core - INFO - ๐Ÿ“ค Server relayed frame #992 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:13,254 - video.core - INFO - ๐Ÿ“ฅ Server received frame #993 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27944 bytes +2025-06-06 11:06:13,254 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:13,254 - video.core - INFO - ๐Ÿ“ค Server relayed frame #993 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:13,293 - video.core - INFO - ๐Ÿ“ฅ Server received frame #994 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27998 bytes +2025-06-06 11:06:13,293 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:13,293 - video.core - INFO - ๐Ÿ“ค Server relayed frame #994 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:13,339 - video.core - INFO - ๐Ÿ“ฅ Server received frame #995 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28020 bytes +2025-06-06 11:06:13,339 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:13,339 - video.core - INFO - ๐Ÿ“ค Server relayed frame #995 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:13,381 - video.core - INFO - ๐Ÿ“ฅ Server received frame #996 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28003 bytes +2025-06-06 11:06:13,381 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:13,381 - video.core - INFO - ๐Ÿ“ค Server relayed frame #996 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:13,425 - video.core - INFO - ๐Ÿ“ฅ Server received frame #997 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28066 bytes +2025-06-06 11:06:13,425 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:13,425 - video.core - INFO - ๐Ÿ“ค Server relayed frame #997 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:13,471 - video.core - INFO - ๐Ÿ“ฅ Server received frame #998 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28123 bytes +2025-06-06 11:06:13,471 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:13,471 - video.core - INFO - ๐Ÿ“ค Server relayed frame #998 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:13,512 - video.core - INFO - ๐Ÿ“ฅ Server received frame #999 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28027 bytes +2025-06-06 11:06:13,512 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:13,512 - video.core - INFO - ๐Ÿ“ค Server relayed frame #999 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:13,555 - video.core - INFO - ๐Ÿ“น Frame #1000 from producer producer_1749200719303: size=28116 bytes, resolution=640x480 +2025-06-06 11:06:13,555 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1000 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28116 bytes +2025-06-06 11:06:13,555 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:13,555 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1000 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:13,599 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1001 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28178 bytes +2025-06-06 11:06:13,599 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:13,599 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1001 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:13,641 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1002 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28230 bytes +2025-06-06 11:06:13,641 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:13,641 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1002 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:13,684 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1003 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28160 bytes +2025-06-06 11:06:13,684 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:13,684 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1003 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:13,727 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1004 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28141 bytes +2025-06-06 11:06:13,728 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:13,728 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1004 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:13,768 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1005 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28152 bytes +2025-06-06 11:06:13,769 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:13,769 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1005 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:13,810 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1006 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28203 bytes +2025-06-06 11:06:13,810 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:13,810 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1006 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:13,853 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1007 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28269 bytes +2025-06-06 11:06:13,853 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:13,853 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1007 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:13,898 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1008 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28266 bytes +2025-06-06 11:06:13,898 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:13,898 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1008 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:13,949 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1009 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27919 bytes +2025-06-06 11:06:13,949 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:13,949 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1009 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:13,982 - video.core - INFO - ๐Ÿ“น Frame #1010 from producer producer_1749200719303: size=27635 bytes, resolution=640x480 +2025-06-06 11:06:13,982 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1010 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27635 bytes +2025-06-06 11:06:13,982 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:13,982 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1010 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:14,030 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1011 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27555 bytes +2025-06-06 11:06:14,031 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:14,031 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1011 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:14,075 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1012 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27554 bytes +2025-06-06 11:06:14,075 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:14,075 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1012 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:14,119 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1013 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27529 bytes +2025-06-06 11:06:14,119 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:14,119 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1013 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:14,166 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1014 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27643 bytes +2025-06-06 11:06:14,166 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:14,166 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1014 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:14,206 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1015 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27617 bytes +2025-06-06 11:06:14,207 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:14,207 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1015 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:14,247 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1016 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27673 bytes +2025-06-06 11:06:14,248 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:14,248 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1016 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:14,294 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1017 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27803 bytes +2025-06-06 11:06:14,295 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:14,295 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1017 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:14,335 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1018 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27906 bytes +2025-06-06 11:06:14,336 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:14,336 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1018 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:14,382 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1019 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27815 bytes +2025-06-06 11:06:14,382 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:14,382 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1019 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:14,417 - video.core - INFO - ๐Ÿ“น Frame #1020 from producer producer_1749200719303: size=27875 bytes, resolution=640x480 +2025-06-06 11:06:14,417 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1020 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27875 bytes +2025-06-06 11:06:14,417 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:14,417 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1020 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:14,417 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1020 frames processed, 22.4 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:14,417 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1020 frames, 17.9 FPS, 3.94 Mbps throughput, 27490 bytes avg frame size +2025-06-06 11:06:14,417 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 1020 frames processed, FPS: 23.1, Throughput: 5.07 Mbps, Avg frame size: 27490 bytes +2025-06-06 11:06:14,461 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1021 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27940 bytes +2025-06-06 11:06:14,462 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:14,462 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1021 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:14,508 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1022 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27693 bytes +2025-06-06 11:06:14,508 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:14,508 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1022 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:14,548 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1023 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27584 bytes +2025-06-06 11:06:14,548 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:14,548 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1023 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:14,594 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1024 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27796 bytes +2025-06-06 11:06:14,594 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:14,594 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1024 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:14,638 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1025 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27870 bytes +2025-06-06 11:06:14,639 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:14,639 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1025 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:14,682 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1026 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27677 bytes +2025-06-06 11:06:14,683 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:14,683 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1026 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:14,726 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1027 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27844 bytes +2025-06-06 11:06:14,727 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:14,727 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1027 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:14,768 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1028 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27964 bytes +2025-06-06 11:06:14,768 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:14,768 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1028 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:14,816 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1029 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27834 bytes +2025-06-06 11:06:14,816 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:14,816 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1029 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:14,854 - video.core - INFO - ๐Ÿ“น Frame #1030 from producer producer_1749200719303: size=27823 bytes, resolution=640x480 +2025-06-06 11:06:14,854 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1030 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27823 bytes +2025-06-06 11:06:14,854 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:14,854 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1030 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:14,893 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1031 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27622 bytes +2025-06-06 11:06:14,893 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:14,893 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1031 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:14,941 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1032 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27508 bytes +2025-06-06 11:06:14,941 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:14,941 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1032 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:14,988 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1033 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27582 bytes +2025-06-06 11:06:14,988 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:14,988 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1033 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:15,023 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1034 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27669 bytes +2025-06-06 11:06:15,023 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:15,024 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1034 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:15,078 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1035 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27732 bytes +2025-06-06 11:06:15,078 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:15,078 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1035 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:15,110 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1036 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27775 bytes +2025-06-06 11:06:15,111 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:15,111 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1036 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:15,154 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1037 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27829 bytes +2025-06-06 11:06:15,154 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:15,155 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1037 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:15,217 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1038 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27863 bytes +2025-06-06 11:06:15,217 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:15,217 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1038 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:15,241 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1039 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27595 bytes +2025-06-06 11:06:15,241 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:15,241 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1039 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:15,280 - video.core - INFO - ๐Ÿ“น Frame #1040 from producer producer_1749200719303: size=27710 bytes, resolution=640x480 +2025-06-06 11:06:15,280 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1040 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27710 bytes +2025-06-06 11:06:15,280 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:15,280 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1040 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:15,328 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1041 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27808 bytes +2025-06-06 11:06:15,328 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:15,328 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1041 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:15,376 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1042 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27876 bytes +2025-06-06 11:06:15,376 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:15,376 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1042 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:15,414 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1043 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27693 bytes +2025-06-06 11:06:15,414 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:15,414 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1043 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:15,459 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1044 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27638 bytes +2025-06-06 11:06:15,459 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:15,459 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1044 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:15,500 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1045 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27695 bytes +2025-06-06 11:06:15,500 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:15,500 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1045 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:15,547 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1046 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27633 bytes +2025-06-06 11:06:15,547 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:15,547 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1046 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:15,592 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1047 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27618 bytes +2025-06-06 11:06:15,592 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:15,592 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1047 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:15,635 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1048 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27612 bytes +2025-06-06 11:06:15,635 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:15,635 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1048 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:15,673 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1049 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27481 bytes +2025-06-06 11:06:15,673 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:15,673 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1049 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:15,721 - video.core - INFO - ๐Ÿ“น Frame #1050 from producer producer_1749200719303: size=27332 bytes, resolution=640x480 +2025-06-06 11:06:15,721 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1050 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27332 bytes +2025-06-06 11:06:15,721 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:15,721 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1050 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:15,721 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1050 frames processed, 22.4 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:15,721 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1050 frames, 18.0 FPS, 3.97 Mbps throughput, 27496 bytes avg frame size +2025-06-06 11:06:15,721 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 1050 frames processed, FPS: 23.1, Throughput: 5.07 Mbps, Avg frame size: 27496 bytes +2025-06-06 11:06:15,760 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1051 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27376 bytes +2025-06-06 11:06:15,761 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:15,761 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1051 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:15,804 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1052 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27603 bytes +2025-06-06 11:06:15,804 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:15,805 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1052 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:15,847 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1053 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27692 bytes +2025-06-06 11:06:15,847 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:15,847 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1053 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:15,885 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1054 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27662 bytes +2025-06-06 11:06:15,885 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:15,885 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1054 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:15,936 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1055 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27802 bytes +2025-06-06 11:06:15,937 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:15,937 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1055 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:15,976 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1056 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27736 bytes +2025-06-06 11:06:15,976 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:15,976 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1056 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:16,025 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1057 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27874 bytes +2025-06-06 11:06:16,025 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:16,025 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1057 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:16,068 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1058 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27976 bytes +2025-06-06 11:06:16,069 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:16,069 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1058 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:16,111 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1059 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28020 bytes +2025-06-06 11:06:16,111 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:16,111 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1059 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:16,153 - video.core - INFO - ๐Ÿ“น Frame #1060 from producer producer_1749200719303: size=28141 bytes, resolution=640x480 +2025-06-06 11:06:16,153 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1060 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28141 bytes +2025-06-06 11:06:16,153 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:16,153 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1060 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:16,200 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1061 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28222 bytes +2025-06-06 11:06:16,200 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:16,200 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1061 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:16,248 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1062 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28239 bytes +2025-06-06 11:06:16,249 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:16,249 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1062 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:16,290 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1063 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28261 bytes +2025-06-06 11:06:16,291 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:16,291 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1063 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:16,328 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1064 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28329 bytes +2025-06-06 11:06:16,328 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:16,328 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1064 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:16,370 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1065 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28418 bytes +2025-06-06 11:06:16,371 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:16,371 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1065 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:16,421 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1066 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28469 bytes +2025-06-06 11:06:16,421 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:16,421 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1066 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:16,461 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1067 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28581 bytes +2025-06-06 11:06:16,461 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:16,461 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1067 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:16,506 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1068 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28553 bytes +2025-06-06 11:06:16,506 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:16,506 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1068 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:16,551 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1069 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28584 bytes +2025-06-06 11:06:16,551 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:16,551 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1069 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:16,598 - video.core - INFO - ๐Ÿ“น Frame #1070 from producer producer_1749200719303: size=28541 bytes, resolution=640x480 +2025-06-06 11:06:16,598 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1070 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28541 bytes +2025-06-06 11:06:16,598 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:16,599 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1070 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:16,641 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1071 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28600 bytes +2025-06-06 11:06:16,641 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:16,641 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1071 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:16,705 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1072 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28556 bytes +2025-06-06 11:06:16,705 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:16,705 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1072 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:16,906 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1073 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28602 bytes +2025-06-06 11:06:16,906 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:16,906 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1073 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:16,908 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1074 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28603 bytes +2025-06-06 11:06:16,908 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:16,908 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1074 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:16,909 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1075 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28611 bytes +2025-06-06 11:06:16,909 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:16,909 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1075 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:16,911 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1076 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28595 bytes +2025-06-06 11:06:16,911 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:16,911 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1076 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:16,912 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1077 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28590 bytes +2025-06-06 11:06:16,912 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:16,912 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1077 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:16,923 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1078 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28619 bytes +2025-06-06 11:06:16,923 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:16,923 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1078 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:16,974 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1079 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28501 bytes +2025-06-06 11:06:16,974 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:16,974 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1079 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:17,009 - video.core - INFO - ๐Ÿ“น Frame #1080 from producer producer_1749200719303: size=28597 bytes, resolution=640x480 +2025-06-06 11:06:17,009 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1080 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28597 bytes +2025-06-06 11:06:17,009 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:17,009 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1080 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:17,009 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1080 frames processed, 22.4 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:17,009 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1080 frames, 18.1 FPS, 3.99 Mbps throughput, 27517 bytes avg frame size +2025-06-06 11:06:17,009 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 1080 frames processed, FPS: 23.1, Throughput: 5.08 Mbps, Avg frame size: 27517 bytes +2025-06-06 11:06:17,056 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1081 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28646 bytes +2025-06-06 11:06:17,056 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:17,056 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1081 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:17,101 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1082 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28426 bytes +2025-06-06 11:06:17,101 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:17,101 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1082 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:17,146 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1083 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28346 bytes +2025-06-06 11:06:17,146 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:17,146 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1083 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:17,190 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1084 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28370 bytes +2025-06-06 11:06:17,190 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:17,190 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1084 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:17,232 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1085 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28415 bytes +2025-06-06 11:06:17,233 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:17,233 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1085 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:17,275 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1086 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28476 bytes +2025-06-06 11:06:17,275 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:17,275 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1086 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:17,315 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1087 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28560 bytes +2025-06-06 11:06:17,315 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:17,315 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1087 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:17,360 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1088 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28517 bytes +2025-06-06 11:06:17,361 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:17,361 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1088 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:17,398 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1089 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28622 bytes +2025-06-06 11:06:17,398 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:17,398 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1089 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:17,447 - video.core - INFO - ๐Ÿ“น Frame #1090 from producer producer_1749200719303: size=28639 bytes, resolution=640x480 +2025-06-06 11:06:17,447 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1090 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28639 bytes +2025-06-06 11:06:17,447 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:17,447 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1090 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:17,492 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1091 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28659 bytes +2025-06-06 11:06:17,492 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:17,492 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1091 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:17,533 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1092 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28636 bytes +2025-06-06 11:06:17,533 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:17,533 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1092 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:17,580 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1093 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28645 bytes +2025-06-06 11:06:17,580 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:17,580 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1093 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:17,625 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1094 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29158 bytes +2025-06-06 11:06:17,625 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:17,625 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1094 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:17,669 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1095 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28991 bytes +2025-06-06 11:06:17,669 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:17,669 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1095 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:17,708 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1096 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28953 bytes +2025-06-06 11:06:17,708 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:17,708 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1096 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:17,755 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1097 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29121 bytes +2025-06-06 11:06:17,755 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:17,755 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1097 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:17,796 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1098 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29063 bytes +2025-06-06 11:06:17,796 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:17,797 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1098 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:17,837 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1099 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29047 bytes +2025-06-06 11:06:17,837 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:17,837 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1099 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:17,876 - video.core - INFO - ๐Ÿ“น Frame #1100 from producer producer_1749200719303: size=29276 bytes, resolution=640x480 +2025-06-06 11:06:17,876 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1100 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29276 bytes +2025-06-06 11:06:17,876 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:17,876 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1100 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:17,924 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1101 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29099 bytes +2025-06-06 11:06:17,924 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:17,924 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1101 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:17,969 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1102 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28995 bytes +2025-06-06 11:06:17,969 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:17,969 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1102 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:18,014 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1103 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28910 bytes +2025-06-06 11:06:18,015 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:18,015 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1103 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:18,057 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1104 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28707 bytes +2025-06-06 11:06:18,057 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:18,057 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1104 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:18,104 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1105 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28693 bytes +2025-06-06 11:06:18,104 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:18,104 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1105 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:18,147 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1106 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28652 bytes +2025-06-06 11:06:18,147 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:18,147 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1106 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:18,191 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1107 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28294 bytes +2025-06-06 11:06:18,191 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:18,191 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1107 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:18,233 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1108 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28286 bytes +2025-06-06 11:06:18,233 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:18,233 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1108 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:18,273 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1109 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28398 bytes +2025-06-06 11:06:18,273 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:18,273 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1109 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:18,316 - video.core - INFO - ๐Ÿ“น Frame #1110 from producer producer_1749200719303: size=28439 bytes, resolution=640x480 +2025-06-06 11:06:18,316 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1110 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28439 bytes +2025-06-06 11:06:18,316 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:18,316 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1110 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:18,316 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1110 frames processed, 22.4 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:18,316 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1110 frames, 18.2 FPS, 4.02 Mbps throughput, 27549 bytes avg frame size +2025-06-06 11:06:18,316 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 1110 frames processed, FPS: 23.1, Throughput: 5.08 Mbps, Avg frame size: 27549 bytes +2025-06-06 11:06:18,359 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1111 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28303 bytes +2025-06-06 11:06:18,359 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:18,359 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1111 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:18,402 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1112 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28378 bytes +2025-06-06 11:06:18,402 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:18,402 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1112 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:18,443 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1113 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28361 bytes +2025-06-06 11:06:18,444 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:18,444 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1113 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:18,488 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1114 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28428 bytes +2025-06-06 11:06:18,489 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:18,489 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1114 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:18,529 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1115 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28433 bytes +2025-06-06 11:06:18,530 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:18,530 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1115 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:18,573 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1116 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28476 bytes +2025-06-06 11:06:18,573 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:18,573 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1116 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:18,616 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1117 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28408 bytes +2025-06-06 11:06:18,616 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:18,616 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1117 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:18,663 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1118 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28347 bytes +2025-06-06 11:06:18,663 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:18,663 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1118 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:18,705 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1119 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28235 bytes +2025-06-06 11:06:18,705 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:18,705 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1119 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:18,749 - video.core - INFO - ๐Ÿ“น Frame #1120 from producer producer_1749200719303: size=28244 bytes, resolution=640x480 +2025-06-06 11:06:18,749 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1120 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28244 bytes +2025-06-06 11:06:18,749 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:18,749 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1120 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:18,791 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1121 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28090 bytes +2025-06-06 11:06:18,791 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:18,791 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1121 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:18,830 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1122 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28223 bytes +2025-06-06 11:06:18,830 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:18,830 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1122 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:18,872 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1123 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28277 bytes +2025-06-06 11:06:18,872 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:18,872 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1123 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:18,916 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1124 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28232 bytes +2025-06-06 11:06:18,916 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:18,916 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1124 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:18,956 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1125 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28281 bytes +2025-06-06 11:06:18,957 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:18,957 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1125 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:19,006 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1126 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28333 bytes +2025-06-06 11:06:19,007 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:19,007 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1126 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:19,050 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1127 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28398 bytes +2025-06-06 11:06:19,050 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:19,050 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1127 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:19,095 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1128 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28404 bytes +2025-06-06 11:06:19,095 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:19,095 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1128 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:19,142 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1129 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28461 bytes +2025-06-06 11:06:19,142 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:19,142 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1129 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:19,189 - video.core - INFO - ๐Ÿ“น Frame #1130 from producer producer_1749200719303: size=28440 bytes, resolution=640x480 +2025-06-06 11:06:19,189 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1130 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28440 bytes +2025-06-06 11:06:19,189 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:19,189 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1130 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:19,227 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1131 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28473 bytes +2025-06-06 11:06:19,227 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:19,227 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1131 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:19,272 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1132 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28280 bytes +2025-06-06 11:06:19,272 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:19,272 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1132 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:19,312 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1133 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28271 bytes +2025-06-06 11:06:19,313 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:19,313 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1133 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:19,354 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1134 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28376 bytes +2025-06-06 11:06:19,355 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:19,355 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1134 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:19,393 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1135 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28222 bytes +2025-06-06 11:06:19,393 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:19,393 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1135 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:19,434 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1136 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28256 bytes +2025-06-06 11:06:19,434 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:19,434 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1136 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:19,479 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1137 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28263 bytes +2025-06-06 11:06:19,480 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:19,480 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1137 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:19,525 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1138 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28119 bytes +2025-06-06 11:06:19,525 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:19,525 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1138 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:19,568 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1139 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28178 bytes +2025-06-06 11:06:19,568 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:19,568 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1139 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:19,608 - video.core - INFO - ๐Ÿ“น Frame #1140 from producer producer_1749200719303: size=28232 bytes, resolution=640x480 +2025-06-06 11:06:19,608 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1140 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28232 bytes +2025-06-06 11:06:19,608 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:19,608 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1140 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:19,608 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1140 frames processed, 22.4 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:19,608 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1140 frames, 18.3 FPS, 4.05 Mbps throughput, 27569 bytes avg frame size +2025-06-06 11:06:19,608 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 1140 frames processed, FPS: 23.1, Throughput: 5.09 Mbps, Avg frame size: 27569 bytes +2025-06-06 11:06:19,658 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1141 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28229 bytes +2025-06-06 11:06:19,658 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:19,658 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1141 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:19,690 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1142 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28373 bytes +2025-06-06 11:06:19,690 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:19,690 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1142 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:19,739 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1143 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28388 bytes +2025-06-06 11:06:19,739 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:19,739 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1143 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:19,780 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1144 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28486 bytes +2025-06-06 11:06:19,780 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:19,780 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1144 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:19,824 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1145 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28560 bytes +2025-06-06 11:06:19,825 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:19,825 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1145 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:19,864 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1146 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28557 bytes +2025-06-06 11:06:19,864 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:19,864 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1146 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:19,907 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1147 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28608 bytes +2025-06-06 11:06:19,907 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:19,907 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1147 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:19,953 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1148 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28630 bytes +2025-06-06 11:06:19,953 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:19,953 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1148 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:19,996 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1149 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28642 bytes +2025-06-06 11:06:19,996 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:19,996 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1149 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:20,038 - video.core - INFO - ๐Ÿ“น Frame #1150 from producer producer_1749200719303: size=28698 bytes, resolution=640x480 +2025-06-06 11:06:20,038 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1150 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28698 bytes +2025-06-06 11:06:20,038 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:20,038 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1150 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:20,082 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1151 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28514 bytes +2025-06-06 11:06:20,082 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:20,082 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1151 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:20,126 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1152 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28299 bytes +2025-06-06 11:06:20,127 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:20,127 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1152 to 1 consumers in 1.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:20,167 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1153 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28445 bytes +2025-06-06 11:06:20,167 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:20,167 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1153 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:20,213 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1154 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28482 bytes +2025-06-06 11:06:20,213 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:20,213 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1154 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:20,256 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1155 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28491 bytes +2025-06-06 11:06:20,256 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:20,256 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1155 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:20,299 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1156 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28355 bytes +2025-06-06 11:06:20,299 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:20,299 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1156 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:20,340 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1157 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28423 bytes +2025-06-06 11:06:20,340 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:20,340 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1157 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:20,387 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1158 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28518 bytes +2025-06-06 11:06:20,387 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:20,387 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1158 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:20,430 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1159 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28426 bytes +2025-06-06 11:06:20,431 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:20,431 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1159 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:20,480 - video.core - INFO - ๐Ÿ“น Frame #1160 from producer producer_1749200719303: size=28353 bytes, resolution=640x480 +2025-06-06 11:06:20,480 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1160 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28353 bytes +2025-06-06 11:06:20,480 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:20,480 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1160 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:20,518 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1161 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28559 bytes +2025-06-06 11:06:20,518 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:20,518 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1161 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:20,564 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1162 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28507 bytes +2025-06-06 11:06:20,565 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:20,565 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1162 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:20,608 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1163 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28507 bytes +2025-06-06 11:06:20,608 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:20,608 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1163 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:20,645 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1164 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28528 bytes +2025-06-06 11:06:20,645 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:20,645 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1164 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:20,689 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1165 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28529 bytes +2025-06-06 11:06:20,689 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:20,690 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1165 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:20,731 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1166 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28570 bytes +2025-06-06 11:06:20,731 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:20,731 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1166 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:20,781 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1167 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28614 bytes +2025-06-06 11:06:20,781 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:20,781 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1167 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:20,831 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1168 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28584 bytes +2025-06-06 11:06:20,831 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:20,831 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1168 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:20,861 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1169 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28651 bytes +2025-06-06 11:06:20,861 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:20,861 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1169 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:20,906 - video.core - INFO - ๐Ÿ“น Frame #1170 from producer producer_1749200719303: size=28534 bytes, resolution=640x480 +2025-06-06 11:06:20,906 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1170 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28534 bytes +2025-06-06 11:06:20,906 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:20,906 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1170 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:20,906 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1170 frames processed, 22.5 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:20,906 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1170 frames, 18.4 FPS, 4.07 Mbps throughput, 27593 bytes avg frame size +2025-06-06 11:06:20,906 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 1170 frames processed, FPS: 23.1, Throughput: 5.09 Mbps, Avg frame size: 27593 bytes +2025-06-06 11:06:20,948 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1171 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28445 bytes +2025-06-06 11:06:20,948 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:20,948 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1171 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:20,998 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1172 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28584 bytes +2025-06-06 11:06:20,998 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:20,998 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1172 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:21,040 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1173 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28595 bytes +2025-06-06 11:06:21,040 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:21,040 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1173 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:21,083 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1174 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28545 bytes +2025-06-06 11:06:21,083 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:21,083 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1174 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:21,123 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1175 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28457 bytes +2025-06-06 11:06:21,124 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:21,124 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1175 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:21,162 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1176 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28440 bytes +2025-06-06 11:06:21,162 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:21,163 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1176 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:21,211 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1177 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28390 bytes +2025-06-06 11:06:21,211 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:21,211 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1177 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:21,255 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1178 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28476 bytes +2025-06-06 11:06:21,255 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:21,255 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1178 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:21,299 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1179 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28494 bytes +2025-06-06 11:06:21,299 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:21,299 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1179 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:21,342 - video.core - INFO - ๐Ÿ“น Frame #1180 from producer producer_1749200719303: size=28602 bytes, resolution=640x480 +2025-06-06 11:06:21,342 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1180 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28602 bytes +2025-06-06 11:06:21,342 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:21,342 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1180 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:21,387 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1181 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28568 bytes +2025-06-06 11:06:21,387 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:21,387 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1181 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:21,429 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1182 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28431 bytes +2025-06-06 11:06:21,429 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:21,429 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1182 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:21,477 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1183 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28511 bytes +2025-06-06 11:06:21,477 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:21,477 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1183 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:21,510 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1184 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28419 bytes +2025-06-06 11:06:21,510 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:21,510 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1184 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:21,556 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1185 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28257 bytes +2025-06-06 11:06:21,556 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:21,556 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1185 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:21,599 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1186 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28214 bytes +2025-06-06 11:06:21,599 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:21,599 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1186 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:21,640 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1187 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28300 bytes +2025-06-06 11:06:21,641 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:21,641 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1187 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:21,686 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1188 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28310 bytes +2025-06-06 11:06:21,686 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:21,686 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1188 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:21,726 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1189 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28407 bytes +2025-06-06 11:06:21,726 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:21,726 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1189 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:21,774 - video.core - INFO - ๐Ÿ“น Frame #1190 from producer producer_1749200719303: size=28393 bytes, resolution=640x480 +2025-06-06 11:06:21,774 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1190 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28393 bytes +2025-06-06 11:06:21,774 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:21,774 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1190 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:21,818 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1191 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28404 bytes +2025-06-06 11:06:21,818 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:21,818 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1191 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:21,857 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1192 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28474 bytes +2025-06-06 11:06:21,857 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:21,857 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1192 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:21,899 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1193 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28272 bytes +2025-06-06 11:06:21,899 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:21,899 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1193 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:21,945 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1194 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28386 bytes +2025-06-06 11:06:21,946 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:21,946 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1194 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:21,989 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1195 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28411 bytes +2025-06-06 11:06:21,990 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:21,990 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1195 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:22,035 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1196 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28401 bytes +2025-06-06 11:06:22,035 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:22,035 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1196 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:22,081 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1197 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28160 bytes +2025-06-06 11:06:22,081 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:22,081 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1197 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:22,117 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1198 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28086 bytes +2025-06-06 11:06:22,117 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:22,117 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1198 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:22,163 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1199 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28129 bytes +2025-06-06 11:06:22,163 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:22,163 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1199 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:22,207 - video.core - INFO - ๐Ÿ“น Frame #1200 from producer producer_1749200719303: size=27983 bytes, resolution=640x480 +2025-06-06 11:06:22,207 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1200 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27983 bytes +2025-06-06 11:06:22,207 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:22,207 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1200 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:22,207 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1200 frames processed, 22.5 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:22,207 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1200 frames, 18.5 FPS, 4.10 Mbps throughput, 27613 bytes avg frame size +2025-06-06 11:06:22,207 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 1200 frames processed, FPS: 23.1, Throughput: 5.10 Mbps, Avg frame size: 27613 bytes +2025-06-06 11:06:22,250 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1201 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27985 bytes +2025-06-06 11:06:22,250 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:22,250 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1201 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:22,293 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1202 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28174 bytes +2025-06-06 11:06:22,293 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:22,293 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1202 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:22,330 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1203 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28317 bytes +2025-06-06 11:06:22,330 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:22,330 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1203 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:22,373 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1204 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28329 bytes +2025-06-06 11:06:22,373 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:22,373 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1204 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:22,422 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1205 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28307 bytes +2025-06-06 11:06:22,422 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:22,422 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1205 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:22,465 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1206 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28338 bytes +2025-06-06 11:06:22,466 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:22,466 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1206 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:22,509 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1207 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28247 bytes +2025-06-06 11:06:22,509 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:22,509 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1207 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:22,551 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1208 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28261 bytes +2025-06-06 11:06:22,551 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:22,551 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1208 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:22,595 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1209 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28248 bytes +2025-06-06 11:06:22,596 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:22,596 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1209 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:22,641 - video.core - INFO - ๐Ÿ“น Frame #1210 from producer producer_1749200719303: size=28306 bytes, resolution=640x480 +2025-06-06 11:06:22,641 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1210 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28306 bytes +2025-06-06 11:06:22,641 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:22,641 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1210 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:22,683 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1211 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28326 bytes +2025-06-06 11:06:22,683 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:22,683 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1211 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:22,724 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1212 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28296 bytes +2025-06-06 11:06:22,724 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:22,724 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1212 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:22,769 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1213 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28361 bytes +2025-06-06 11:06:22,769 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:22,769 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1213 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:22,813 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1214 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28265 bytes +2025-06-06 11:06:22,813 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:22,813 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1214 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:22,855 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1215 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28113 bytes +2025-06-06 11:06:22,855 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:22,855 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1215 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:22,894 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1216 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28259 bytes +2025-06-06 11:06:22,894 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:22,894 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1216 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:22,938 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1217 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28167 bytes +2025-06-06 11:06:22,938 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:22,938 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1217 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:22,987 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1218 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28157 bytes +2025-06-06 11:06:22,987 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:22,987 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1218 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:23,030 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1219 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28114 bytes +2025-06-06 11:06:23,031 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:23,031 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1219 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:23,075 - video.core - INFO - ๐Ÿ“น Frame #1220 from producer producer_1749200719303: size=28111 bytes, resolution=640x480 +2025-06-06 11:06:23,075 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1220 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28111 bytes +2025-06-06 11:06:23,075 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:23,075 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1220 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:23,115 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1221 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28295 bytes +2025-06-06 11:06:23,115 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:23,115 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1221 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:23,160 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1222 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28412 bytes +2025-06-06 11:06:23,160 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:23,160 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1222 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:23,203 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1223 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28444 bytes +2025-06-06 11:06:23,203 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:23,203 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1223 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:23,248 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1224 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28450 bytes +2025-06-06 11:06:23,248 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:23,248 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1224 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:23,292 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1225 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28477 bytes +2025-06-06 11:06:23,292 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:23,293 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1225 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:23,333 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1226 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28501 bytes +2025-06-06 11:06:23,333 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:23,333 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1226 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:23,377 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1227 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28338 bytes +2025-06-06 11:06:23,377 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:23,377 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1227 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:23,420 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1228 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28421 bytes +2025-06-06 11:06:23,420 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:23,420 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1228 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:23,458 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1229 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28558 bytes +2025-06-06 11:06:23,458 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:23,458 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1229 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:23,501 - video.core - INFO - ๐Ÿ“น Frame #1230 from producer producer_1749200719303: size=28536 bytes, resolution=640x480 +2025-06-06 11:06:23,501 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1230 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28536 bytes +2025-06-06 11:06:23,501 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:23,501 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1230 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:23,501 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1230 frames processed, 22.5 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:23,501 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1230 frames, 18.6 FPS, 4.12 Mbps throughput, 27630 bytes avg frame size +2025-06-06 11:06:23,501 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 1230 frames processed, FPS: 23.1, Throughput: 5.10 Mbps, Avg frame size: 27630 bytes +2025-06-06 11:06:23,546 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1231 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28502 bytes +2025-06-06 11:06:23,547 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:23,547 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1231 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:23,590 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1232 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28329 bytes +2025-06-06 11:06:23,591 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:23,591 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1232 to 1 consumers in 0.9ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:23,750 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1233 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28401 bytes +2025-06-06 11:06:23,750 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:23,750 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1233 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:23,753 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1234 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28483 bytes +2025-06-06 11:06:23,753 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:23,753 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1234 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:23,756 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1235 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28503 bytes +2025-06-06 11:06:23,756 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:23,756 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1235 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:23,763 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1236 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28404 bytes +2025-06-06 11:06:23,763 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:23,763 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1236 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:23,800 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1237 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28306 bytes +2025-06-06 11:06:23,801 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:23,801 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1237 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:23,883 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1238 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28390 bytes +2025-06-06 11:06:23,883 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:23,883 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1238 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:23,895 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1239 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28413 bytes +2025-06-06 11:06:23,896 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:23,896 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1239 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:23,932 - video.core - INFO - ๐Ÿ“น Frame #1240 from producer producer_1749200719303: size=28507 bytes, resolution=640x480 +2025-06-06 11:06:23,932 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1240 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28507 bytes +2025-06-06 11:06:23,932 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:23,932 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1240 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:23,973 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1241 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28501 bytes +2025-06-06 11:06:23,973 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:23,973 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1241 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:24,021 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1242 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28557 bytes +2025-06-06 11:06:24,021 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:24,021 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1242 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:24,065 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1243 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28503 bytes +2025-06-06 11:06:24,065 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:24,065 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1243 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:24,109 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1244 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28568 bytes +2025-06-06 11:06:24,109 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:24,109 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1244 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:24,149 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1245 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28599 bytes +2025-06-06 11:06:24,149 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:24,149 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1245 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:24,190 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1246 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28621 bytes +2025-06-06 11:06:24,190 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:24,190 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1246 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:24,238 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1247 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28572 bytes +2025-06-06 11:06:24,239 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:24,239 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1247 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:24,281 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1248 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28559 bytes +2025-06-06 11:06:24,281 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:24,282 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1248 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:24,321 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1249 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28641 bytes +2025-06-06 11:06:24,321 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:24,321 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1249 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:24,381 - video.core - INFO - ๐Ÿ“น Frame #1250 from producer producer_1749200719303: size=28624 bytes, resolution=640x480 +2025-06-06 11:06:24,382 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1250 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28624 bytes +2025-06-06 11:06:24,382 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:24,382 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1250 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:24,408 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1251 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28672 bytes +2025-06-06 11:06:24,408 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:24,408 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1251 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:24,456 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1252 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28550 bytes +2025-06-06 11:06:24,457 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:24,457 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1252 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:24,509 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1253 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28524 bytes +2025-06-06 11:06:24,509 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:24,509 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1253 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:24,539 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1254 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28605 bytes +2025-06-06 11:06:24,539 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:24,539 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1254 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:24,581 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1255 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28629 bytes +2025-06-06 11:06:24,581 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:24,581 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1255 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:24,624 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1256 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28445 bytes +2025-06-06 11:06:24,624 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:24,624 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1256 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:24,669 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1257 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28269 bytes +2025-06-06 11:06:24,669 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:24,669 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1257 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:24,711 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1258 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28169 bytes +2025-06-06 11:06:24,711 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:24,711 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1258 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:24,752 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1259 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28213 bytes +2025-06-06 11:06:24,752 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:24,753 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1259 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:24,800 - video.core - INFO - ๐Ÿ“น Frame #1260 from producer producer_1749200719303: size=28189 bytes, resolution=640x480 +2025-06-06 11:06:24,800 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1260 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28189 bytes +2025-06-06 11:06:24,800 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:24,801 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1260 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:24,801 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1260 frames processed, 22.5 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:24,801 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1260 frames, 18.7 FPS, 4.14 Mbps throughput, 27650 bytes avg frame size +2025-06-06 11:06:24,801 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 1260 frames processed, FPS: 23.1, Throughput: 5.10 Mbps, Avg frame size: 27650 bytes +2025-06-06 11:06:24,842 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1261 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28015 bytes +2025-06-06 11:06:24,842 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:24,842 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1261 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:24,886 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1262 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27941 bytes +2025-06-06 11:06:24,887 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:24,887 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1262 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:24,928 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1263 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27884 bytes +2025-06-06 11:06:24,928 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:24,928 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1263 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:24,976 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1264 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27858 bytes +2025-06-06 11:06:24,976 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:24,976 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1264 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:25,024 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1265 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28083 bytes +2025-06-06 11:06:25,024 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:25,024 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1265 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:25,058 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1266 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28190 bytes +2025-06-06 11:06:25,058 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:25,058 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1266 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:25,105 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1267 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28286 bytes +2025-06-06 11:06:25,105 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:25,105 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1267 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:25,145 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1268 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28187 bytes +2025-06-06 11:06:25,145 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:25,145 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1268 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:25,188 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1269 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27897 bytes +2025-06-06 11:06:25,188 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:25,188 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1269 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:25,231 - video.core - INFO - ๐Ÿ“น Frame #1270 from producer producer_1749200719303: size=28000 bytes, resolution=640x480 +2025-06-06 11:06:25,231 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1270 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28000 bytes +2025-06-06 11:06:25,231 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:25,231 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1270 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:25,275 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1271 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27979 bytes +2025-06-06 11:06:25,275 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:25,275 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1271 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:25,325 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1272 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28070 bytes +2025-06-06 11:06:25,325 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:25,325 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1272 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:25,354 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1273 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27983 bytes +2025-06-06 11:06:25,354 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:25,354 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1273 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:25,403 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1274 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27851 bytes +2025-06-06 11:06:25,403 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:25,403 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1274 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:25,450 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1275 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27843 bytes +2025-06-06 11:06:25,450 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:25,450 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1275 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:25,488 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1276 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27989 bytes +2025-06-06 11:06:25,488 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:25,488 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1276 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:25,535 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1277 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28068 bytes +2025-06-06 11:06:25,535 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:25,535 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1277 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:25,580 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1278 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28146 bytes +2025-06-06 11:06:25,580 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:25,580 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1278 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:25,618 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1279 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28121 bytes +2025-06-06 11:06:25,618 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:25,618 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1279 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:25,664 - video.core - INFO - ๐Ÿ“น Frame #1280 from producer producer_1749200719303: size=28105 bytes, resolution=640x480 +2025-06-06 11:06:25,664 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1280 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28105 bytes +2025-06-06 11:06:25,665 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:25,665 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1280 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:25,706 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1281 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28091 bytes +2025-06-06 11:06:25,706 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:25,706 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1281 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:25,748 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1282 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28000 bytes +2025-06-06 11:06:25,748 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:25,748 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1282 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:25,796 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1283 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27864 bytes +2025-06-06 11:06:25,796 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:25,796 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1283 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:25,834 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1284 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27801 bytes +2025-06-06 11:06:25,834 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:25,834 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1284 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:25,879 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1285 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27735 bytes +2025-06-06 11:06:25,880 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:25,880 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1285 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:25,921 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1286 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27952 bytes +2025-06-06 11:06:25,921 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:25,921 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1286 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:25,970 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1287 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27790 bytes +2025-06-06 11:06:25,970 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:25,970 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1287 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:26,013 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1288 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27803 bytes +2025-06-06 11:06:26,013 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:26,013 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1288 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:26,053 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1289 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27896 bytes +2025-06-06 11:06:26,054 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:26,054 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1289 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:26,099 - video.core - INFO - ๐Ÿ“น Frame #1290 from producer producer_1749200719303: size=27956 bytes, resolution=640x480 +2025-06-06 11:06:26,099 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1290 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27956 bytes +2025-06-06 11:06:26,099 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:26,099 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1290 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:26,099 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1290 frames processed, 22.5 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:26,099 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1290 frames, 18.8 FPS, 4.16 Mbps throughput, 27658 bytes avg frame size +2025-06-06 11:06:26,099 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 1290 frames processed, FPS: 23.1, Throughput: 5.11 Mbps, Avg frame size: 27658 bytes +2025-06-06 11:06:26,138 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1291 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27941 bytes +2025-06-06 11:06:26,138 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:26,138 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1291 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:26,186 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1292 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28037 bytes +2025-06-06 11:06:26,186 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:26,186 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1292 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:26,230 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1293 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27908 bytes +2025-06-06 11:06:26,230 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:26,230 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1293 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:26,272 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1294 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27979 bytes +2025-06-06 11:06:26,272 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:26,272 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1294 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:26,313 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1295 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27895 bytes +2025-06-06 11:06:26,313 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:26,313 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1295 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:26,351 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1296 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27761 bytes +2025-06-06 11:06:26,352 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:26,352 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1296 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:26,399 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1297 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27893 bytes +2025-06-06 11:06:26,399 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:26,399 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1297 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:26,449 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1298 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27843 bytes +2025-06-06 11:06:26,449 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:26,449 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1298 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:26,487 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1299 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28011 bytes +2025-06-06 11:06:26,487 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:26,487 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1299 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:26,531 - video.core - INFO - ๐Ÿ“น Frame #1300 from producer producer_1749200719303: size=28092 bytes, resolution=640x480 +2025-06-06 11:06:26,531 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1300 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28092 bytes +2025-06-06 11:06:26,531 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:26,531 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1300 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:26,576 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1301 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28014 bytes +2025-06-06 11:06:26,576 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:26,577 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1301 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:26,656 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1302 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28018 bytes +2025-06-06 11:06:26,656 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:26,656 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1302 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:26,680 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1303 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27739 bytes +2025-06-06 11:06:26,680 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:26,680 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1303 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:26,704 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1304 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27730 bytes +2025-06-06 11:06:26,704 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:26,704 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1304 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:26,844 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1305 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27801 bytes +2025-06-06 11:06:26,845 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:26,845 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1305 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:26,853 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1306 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27901 bytes +2025-06-06 11:06:26,855 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:26,855 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1306 to 1 consumers in 1.7ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:26,857 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1307 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28026 bytes +2025-06-06 11:06:26,857 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:26,857 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1307 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:26,875 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1308 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28064 bytes +2025-06-06 11:06:26,875 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:26,875 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1308 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:26,924 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1309 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28110 bytes +2025-06-06 11:06:26,924 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:26,924 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1309 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:26,959 - video.core - INFO - ๐Ÿ“น Frame #1310 from producer producer_1749200719303: size=28166 bytes, resolution=640x480 +2025-06-06 11:06:26,959 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1310 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28166 bytes +2025-06-06 11:06:26,959 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:26,959 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1310 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:27,001 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1311 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28236 bytes +2025-06-06 11:06:27,001 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:27,001 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1311 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:27,058 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1312 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28076 bytes +2025-06-06 11:06:27,058 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:27,058 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1312 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:27,123 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1313 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28113 bytes +2025-06-06 11:06:27,124 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:27,124 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1313 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:27,130 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1314 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28208 bytes +2025-06-06 11:06:27,130 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:27,130 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1314 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:27,176 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1315 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28297 bytes +2025-06-06 11:06:27,177 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:27,177 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1315 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:27,226 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1316 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28059 bytes +2025-06-06 11:06:27,226 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:27,226 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1316 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:27,266 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1317 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28196 bytes +2025-06-06 11:06:27,266 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:27,266 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1317 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:27,333 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1318 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28264 bytes +2025-06-06 11:06:27,334 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:27,334 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1318 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:27,348 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1319 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28235 bytes +2025-06-06 11:06:27,348 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:27,348 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1319 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:27,397 - video.core - INFO - ๐Ÿ“น Frame #1320 from producer producer_1749200719303: size=28167 bytes, resolution=640x480 +2025-06-06 11:06:27,397 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1320 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28167 bytes +2025-06-06 11:06:27,397 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:27,397 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1320 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:27,397 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1320 frames processed, 22.5 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:27,397 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1320 frames, 18.9 FPS, 4.18 Mbps throughput, 27666 bytes avg frame size +2025-06-06 11:06:27,397 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 1320 frames processed, FPS: 23.1, Throughput: 5.11 Mbps, Avg frame size: 27666 bytes +2025-06-06 11:06:27,450 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1321 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28204 bytes +2025-06-06 11:06:27,450 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:27,450 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1321 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:27,486 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1322 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28330 bytes +2025-06-06 11:06:27,487 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:27,487 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1322 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:27,529 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1323 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28322 bytes +2025-06-06 11:06:27,529 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:27,529 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1323 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:27,584 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1324 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28187 bytes +2025-06-06 11:06:27,584 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:27,585 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1324 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:27,613 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1325 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28124 bytes +2025-06-06 11:06:27,613 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:27,613 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1325 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:27,662 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1326 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28194 bytes +2025-06-06 11:06:27,663 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:27,663 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1326 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:27,696 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1327 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28315 bytes +2025-06-06 11:06:27,696 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:27,696 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1327 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:27,741 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1328 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28329 bytes +2025-06-06 11:06:27,741 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:27,741 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1328 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:27,783 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1329 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28187 bytes +2025-06-06 11:06:27,784 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:27,784 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1329 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:27,824 - video.core - INFO - ๐Ÿ“น Frame #1330 from producer producer_1749200719303: size=28137 bytes, resolution=640x480 +2025-06-06 11:06:27,824 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1330 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28137 bytes +2025-06-06 11:06:27,825 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:27,825 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1330 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:27,868 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1331 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28176 bytes +2025-06-06 11:06:27,869 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:27,869 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1331 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:27,912 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1332 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27971 bytes +2025-06-06 11:06:27,912 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:27,913 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1332 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:27,957 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1333 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27941 bytes +2025-06-06 11:06:27,957 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:27,957 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1333 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:28,005 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1334 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28015 bytes +2025-06-06 11:06:28,005 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:28,005 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1334 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:28,048 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1335 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27948 bytes +2025-06-06 11:06:28,048 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:28,048 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1335 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:28,089 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1336 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27799 bytes +2025-06-06 11:06:28,089 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:28,089 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1336 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:28,132 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1337 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27793 bytes +2025-06-06 11:06:28,133 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:28,133 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1337 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:28,177 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1338 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27815 bytes +2025-06-06 11:06:28,177 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:28,177 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1338 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:28,227 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1339 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27794 bytes +2025-06-06 11:06:28,228 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:28,228 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1339 to 1 consumers in 0.8ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:28,258 - video.core - INFO - ๐Ÿ“น Frame #1340 from producer producer_1749200719303: size=27445 bytes, resolution=640x480 +2025-06-06 11:06:28,258 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1340 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27445 bytes +2025-06-06 11:06:28,258 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:28,258 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1340 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:28,358 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1341 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27470 bytes +2025-06-06 11:06:28,358 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:28,359 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1341 to 1 consumers in 1.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:28,372 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1342 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27616 bytes +2025-06-06 11:06:28,372 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:28,372 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1342 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:28,522 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1343 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27689 bytes +2025-06-06 11:06:28,522 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:28,522 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1343 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:28,525 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1344 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27739 bytes +2025-06-06 11:06:28,525 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:28,525 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1344 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:28,526 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1345 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27852 bytes +2025-06-06 11:06:28,526 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:28,526 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1345 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:28,527 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1346 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27915 bytes +2025-06-06 11:06:28,527 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:28,527 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1346 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:28,565 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1347 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27889 bytes +2025-06-06 11:06:28,566 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:28,566 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1347 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:28,600 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1348 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27955 bytes +2025-06-06 11:06:28,600 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:28,600 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1348 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:28,645 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1349 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27862 bytes +2025-06-06 11:06:28,645 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:28,645 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1349 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:28,687 - video.core - INFO - ๐Ÿ“น Frame #1350 from producer producer_1749200719303: size=27756 bytes, resolution=640x480 +2025-06-06 11:06:28,687 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1350 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27756 bytes +2025-06-06 11:06:28,687 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:28,687 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1350 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:28,687 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1350 frames processed, 22.6 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:28,687 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1350 frames, 19.0 FPS, 4.20 Mbps throughput, 27673 bytes avg frame size +2025-06-06 11:06:28,687 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 1350 frames processed, FPS: 23.1, Throughput: 5.11 Mbps, Avg frame size: 27673 bytes +2025-06-06 11:06:28,730 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1351 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27635 bytes +2025-06-06 11:06:28,730 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:28,730 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1351 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:28,773 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1352 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27719 bytes +2025-06-06 11:06:28,773 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:28,773 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1352 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:28,822 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1353 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27783 bytes +2025-06-06 11:06:28,822 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:28,822 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1353 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:28,863 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1354 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27704 bytes +2025-06-06 11:06:28,863 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:28,863 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1354 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:28,906 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1355 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27629 bytes +2025-06-06 11:06:28,907 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:28,907 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1355 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:28,948 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1356 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27629 bytes +2025-06-06 11:06:28,948 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:28,948 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1356 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:28,997 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1357 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27528 bytes +2025-06-06 11:06:28,997 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:28,997 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1357 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:29,039 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1358 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27717 bytes +2025-06-06 11:06:29,040 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:29,040 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1358 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:29,083 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1359 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27832 bytes +2025-06-06 11:06:29,083 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:29,083 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1359 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:29,133 - video.core - INFO - ๐Ÿ“น Frame #1360 from producer producer_1749200719303: size=27835 bytes, resolution=640x480 +2025-06-06 11:06:29,133 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1360 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27835 bytes +2025-06-06 11:06:29,133 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:29,133 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1360 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:29,175 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1361 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27994 bytes +2025-06-06 11:06:29,175 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:29,175 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1361 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:29,217 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1362 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27795 bytes +2025-06-06 11:06:29,218 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:29,218 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1362 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:29,260 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1363 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27790 bytes +2025-06-06 11:06:29,260 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:29,260 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1363 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:29,302 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1364 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27726 bytes +2025-06-06 11:06:29,302 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:29,302 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1364 to 1 consumers in 0.7ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:29,343 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1365 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27827 bytes +2025-06-06 11:06:29,343 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:29,343 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1365 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:29,383 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1366 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27883 bytes +2025-06-06 11:06:29,383 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:29,383 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1366 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:29,430 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1367 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27986 bytes +2025-06-06 11:06:29,430 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:29,431 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1367 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:29,471 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1368 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28024 bytes +2025-06-06 11:06:29,472 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:29,472 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1368 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:29,512 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1369 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28208 bytes +2025-06-06 11:06:29,512 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:29,512 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1369 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:29,556 - video.core - INFO - ๐Ÿ“น Frame #1370 from producer producer_1749200719303: size=28149 bytes, resolution=640x480 +2025-06-06 11:06:29,556 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1370 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28149 bytes +2025-06-06 11:06:29,556 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:29,556 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1370 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:29,599 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1371 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28110 bytes +2025-06-06 11:06:29,600 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:29,600 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1371 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:29,646 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1372 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28130 bytes +2025-06-06 11:06:29,646 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:29,646 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1372 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:29,688 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1373 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28097 bytes +2025-06-06 11:06:29,688 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:29,688 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1373 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:29,731 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1374 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27939 bytes +2025-06-06 11:06:29,731 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:29,731 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1374 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:29,771 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1375 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27877 bytes +2025-06-06 11:06:29,771 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:29,771 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1375 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:29,817 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1376 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27762 bytes +2025-06-06 11:06:29,817 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:29,817 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1376 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:29,858 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1377 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27712 bytes +2025-06-06 11:06:29,858 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:29,858 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1377 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:29,899 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1378 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27801 bytes +2025-06-06 11:06:29,899 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:29,899 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1378 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:29,942 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1379 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27790 bytes +2025-06-06 11:06:29,942 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:29,942 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1379 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:29,995 - video.core - INFO - ๐Ÿ“น Frame #1380 from producer producer_1749200719303: size=27767 bytes, resolution=640x480 +2025-06-06 11:06:29,995 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1380 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27767 bytes +2025-06-06 11:06:29,995 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:29,995 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1380 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:29,995 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1380 frames processed, 22.6 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:29,995 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1380 frames, 19.0 FPS, 4.21 Mbps throughput, 27676 bytes avg frame size +2025-06-06 11:06:29,995 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 1380 frames processed, FPS: 23.1, Throughput: 5.11 Mbps, Avg frame size: 27676 bytes +2025-06-06 11:06:30,030 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1381 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27755 bytes +2025-06-06 11:06:30,030 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:30,030 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1381 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:30,073 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1382 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27901 bytes +2025-06-06 11:06:30,073 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:30,073 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1382 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:30,116 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1383 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28012 bytes +2025-06-06 11:06:30,116 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:30,116 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1383 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:30,159 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1384 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28082 bytes +2025-06-06 11:06:30,160 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:30,160 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1384 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:30,201 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1385 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28186 bytes +2025-06-06 11:06:30,202 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:30,202 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1385 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:30,250 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1386 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28023 bytes +2025-06-06 11:06:30,251 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:30,251 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1386 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:30,286 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1387 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27800 bytes +2025-06-06 11:06:30,286 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:30,286 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1387 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:30,338 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1388 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27792 bytes +2025-06-06 11:06:30,338 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:30,338 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1388 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:30,381 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1389 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27513 bytes +2025-06-06 11:06:30,381 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:30,381 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1389 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:30,424 - video.core - INFO - ๐Ÿ“น Frame #1390 from producer producer_1749200719303: size=27561 bytes, resolution=640x480 +2025-06-06 11:06:30,424 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1390 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27561 bytes +2025-06-06 11:06:30,425 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:30,425 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1390 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:30,479 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1391 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27525 bytes +2025-06-06 11:06:30,479 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:30,479 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1391 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:30,506 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1392 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27778 bytes +2025-06-06 11:06:30,506 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:30,506 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1392 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:30,555 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1393 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27534 bytes +2025-06-06 11:06:30,555 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:30,555 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1393 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:30,600 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1394 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27424 bytes +2025-06-06 11:06:30,600 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:30,600 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1394 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:30,642 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1395 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27633 bytes +2025-06-06 11:06:30,642 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:30,642 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1395 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:30,682 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1396 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27727 bytes +2025-06-06 11:06:30,682 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:30,682 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1396 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:30,723 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1397 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27842 bytes +2025-06-06 11:06:30,723 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:30,723 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1397 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:30,769 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1398 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27707 bytes +2025-06-06 11:06:30,769 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:30,769 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1398 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:30,823 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1399 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27737 bytes +2025-06-06 11:06:30,823 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:30,824 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1399 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:30,850 - video.core - INFO - ๐Ÿ“น Frame #1400 from producer producer_1749200719303: size=27814 bytes, resolution=640x480 +2025-06-06 11:06:30,850 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1400 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27814 bytes +2025-06-06 11:06:30,850 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:30,850 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1400 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:30,898 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1401 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27796 bytes +2025-06-06 11:06:30,898 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:30,898 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1401 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:30,941 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1402 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27804 bytes +2025-06-06 11:06:30,941 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:30,941 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1402 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:30,981 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1403 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27786 bytes +2025-06-06 11:06:30,981 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:30,981 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1403 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:31,030 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1404 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27735 bytes +2025-06-06 11:06:31,030 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:31,030 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1404 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:31,071 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1405 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27641 bytes +2025-06-06 11:06:31,072 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:31,072 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1405 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:31,117 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1406 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27752 bytes +2025-06-06 11:06:31,117 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:31,117 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1406 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:31,162 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1407 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27876 bytes +2025-06-06 11:06:31,162 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:31,163 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1407 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:31,208 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1408 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27794 bytes +2025-06-06 11:06:31,208 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:31,208 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1408 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:31,251 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1409 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27676 bytes +2025-06-06 11:06:31,252 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:31,252 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1409 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:31,296 - video.core - INFO - ๐Ÿ“น Frame #1410 from producer producer_1749200719303: size=27645 bytes, resolution=640x480 +2025-06-06 11:06:31,296 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1410 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27645 bytes +2025-06-06 11:06:31,296 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:31,296 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1410 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:31,296 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1410 frames processed, 22.6 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:31,296 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1410 frames, 19.1 FPS, 4.23 Mbps throughput, 27678 bytes avg frame size +2025-06-06 11:06:31,296 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 1410 frames processed, FPS: 23.1, Throughput: 5.11 Mbps, Avg frame size: 27678 bytes +2025-06-06 11:06:31,339 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1411 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27738 bytes +2025-06-06 11:06:31,340 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:31,340 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1411 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:31,379 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1412 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27825 bytes +2025-06-06 11:06:31,379 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:31,379 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1412 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:31,419 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1413 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27794 bytes +2025-06-06 11:06:31,420 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:31,420 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1413 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:31,470 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1414 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27704 bytes +2025-06-06 11:06:31,470 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:31,470 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1414 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:31,500 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1415 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27585 bytes +2025-06-06 11:06:31,500 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:31,500 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1415 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:31,550 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1416 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27505 bytes +2025-06-06 11:06:31,550 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:31,550 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1416 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:31,596 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1417 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27527 bytes +2025-06-06 11:06:31,596 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:31,596 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1417 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:31,640 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1418 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27690 bytes +2025-06-06 11:06:31,641 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:31,641 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1418 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:31,688 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1419 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27629 bytes +2025-06-06 11:06:31,688 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:31,688 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1419 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:31,733 - video.core - INFO - ๐Ÿ“น Frame #1420 from producer producer_1749200719303: size=27561 bytes, resolution=640x480 +2025-06-06 11:06:31,733 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1420 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27561 bytes +2025-06-06 11:06:31,733 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:31,733 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1420 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:31,776 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1421 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27624 bytes +2025-06-06 11:06:31,777 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:31,777 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1421 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:31,807 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1422 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27598 bytes +2025-06-06 11:06:31,807 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:31,807 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1422 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:31,850 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1423 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27636 bytes +2025-06-06 11:06:31,850 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:31,850 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1423 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:31,892 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1424 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27591 bytes +2025-06-06 11:06:31,892 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:31,892 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1424 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:31,933 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1425 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27644 bytes +2025-06-06 11:06:31,933 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:31,933 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1425 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:31,980 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1426 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27678 bytes +2025-06-06 11:06:31,980 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:31,980 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1426 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:32,028 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1427 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27640 bytes +2025-06-06 11:06:32,028 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:32,028 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1427 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:32,073 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1428 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27763 bytes +2025-06-06 11:06:32,073 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:32,073 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1428 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:32,116 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1429 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27801 bytes +2025-06-06 11:06:32,116 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:32,116 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1429 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:32,159 - video.core - INFO - ๐Ÿ“น Frame #1430 from producer producer_1749200719303: size=27859 bytes, resolution=640x480 +2025-06-06 11:06:32,159 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1430 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27859 bytes +2025-06-06 11:06:32,159 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:32,159 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1430 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:32,208 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1431 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27882 bytes +2025-06-06 11:06:32,209 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:32,209 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1431 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:32,249 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1432 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27882 bytes +2025-06-06 11:06:32,249 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:32,249 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1432 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:32,292 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1433 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27992 bytes +2025-06-06 11:06:32,293 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:32,293 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1433 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:32,337 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1434 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28051 bytes +2025-06-06 11:06:32,337 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:32,337 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1434 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:32,372 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1435 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28108 bytes +2025-06-06 11:06:32,372 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:32,372 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1435 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:32,419 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1436 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28078 bytes +2025-06-06 11:06:32,419 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:32,419 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1436 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:32,460 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1437 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27988 bytes +2025-06-06 11:06:32,460 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:32,460 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1437 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:32,506 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1438 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28172 bytes +2025-06-06 11:06:32,506 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:32,506 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1438 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:32,549 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1439 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28220 bytes +2025-06-06 11:06:32,550 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:32,550 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1439 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:32,592 - video.core - INFO - ๐Ÿ“น Frame #1440 from producer producer_1749200719303: size=28174 bytes, resolution=640x480 +2025-06-06 11:06:32,593 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1440 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28174 bytes +2025-06-06 11:06:32,593 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:32,593 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1440 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:32,593 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1440 frames processed, 22.6 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:32,593 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1440 frames, 19.2 FPS, 4.25 Mbps throughput, 27681 bytes avg frame size +2025-06-06 11:06:32,593 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 1440 frames processed, FPS: 23.1, Throughput: 5.11 Mbps, Avg frame size: 27681 bytes +2025-06-06 11:06:32,639 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1441 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28203 bytes +2025-06-06 11:06:32,639 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:32,639 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1441 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:32,673 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1442 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28297 bytes +2025-06-06 11:06:32,673 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:32,673 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1442 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:32,722 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1443 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28176 bytes +2025-06-06 11:06:32,722 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:32,722 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1443 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:32,770 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1444 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28266 bytes +2025-06-06 11:06:32,770 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:32,770 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1444 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:32,809 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1445 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28345 bytes +2025-06-06 11:06:32,809 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:32,809 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1445 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:32,849 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1446 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28437 bytes +2025-06-06 11:06:32,849 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:32,849 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1446 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:32,891 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1447 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28538 bytes +2025-06-06 11:06:32,891 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:32,891 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1447 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:32,931 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1448 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28553 bytes +2025-06-06 11:06:32,931 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:32,931 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1448 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:32,972 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1449 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28601 bytes +2025-06-06 11:06:32,972 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:32,972 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1449 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:33,022 - video.core - INFO - ๐Ÿ“น Frame #1450 from producer producer_1749200719303: size=28513 bytes, resolution=640x480 +2025-06-06 11:06:33,022 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1450 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28513 bytes +2025-06-06 11:06:33,022 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:33,022 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1450 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:33,064 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1451 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28389 bytes +2025-06-06 11:06:33,065 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:33,065 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1451 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:33,111 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1452 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28198 bytes +2025-06-06 11:06:33,112 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:33,112 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1452 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:33,154 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1453 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28146 bytes +2025-06-06 11:06:33,154 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:33,154 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1453 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:33,202 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1454 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28126 bytes +2025-06-06 11:06:33,202 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:33,203 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1454 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:33,243 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1455 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28005 bytes +2025-06-06 11:06:33,243 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:33,243 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1455 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:33,285 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1456 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28060 bytes +2025-06-06 11:06:33,285 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:33,285 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1456 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:33,327 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1457 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28152 bytes +2025-06-06 11:06:33,327 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:33,327 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1457 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:33,371 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1458 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28180 bytes +2025-06-06 11:06:33,372 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:33,372 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1458 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:33,419 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1459 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28067 bytes +2025-06-06 11:06:33,419 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:33,419 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1459 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:33,461 - video.core - INFO - ๐Ÿ“น Frame #1460 from producer producer_1749200719303: size=28072 bytes, resolution=640x480 +2025-06-06 11:06:33,461 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1460 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28072 bytes +2025-06-06 11:06:33,461 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:33,461 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1460 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:33,500 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1461 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28271 bytes +2025-06-06 11:06:33,500 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:33,501 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1461 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:33,543 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1462 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28177 bytes +2025-06-06 11:06:33,543 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:33,543 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1462 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:33,590 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1463 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28096 bytes +2025-06-06 11:06:33,590 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:33,590 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1463 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:33,632 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1464 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28085 bytes +2025-06-06 11:06:33,632 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:33,633 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1464 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:33,674 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1465 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28031 bytes +2025-06-06 11:06:33,674 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:33,674 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1465 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:33,717 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1466 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28058 bytes +2025-06-06 11:06:33,717 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:33,717 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1466 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:33,762 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1467 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28112 bytes +2025-06-06 11:06:33,762 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:33,762 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1467 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:33,800 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1468 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27930 bytes +2025-06-06 11:06:33,800 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:33,800 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1468 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:33,864 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1469 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28001 bytes +2025-06-06 11:06:33,865 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:33,865 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1469 to 1 consumers in 0.8ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:34,039 - video.core - INFO - ๐Ÿ“น Frame #1470 from producer producer_1749200719303: size=27924 bytes, resolution=640x480 +2025-06-06 11:06:34,051 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1470 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27924 bytes +2025-06-06 11:06:34,052 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:34,061 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1470 to 1 consumers in 7.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:34,061 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1470 frames processed, 22.5 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:34,061 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1470 frames, 19.2 FPS, 4.25 Mbps throughput, 27691 bytes avg frame size +2025-06-06 11:06:34,061 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 1470 frames processed, FPS: 23.0, Throughput: 5.10 Mbps, Avg frame size: 27691 bytes +2025-06-06 11:06:34,088 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1471 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27839 bytes +2025-06-06 11:06:34,088 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:34,088 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1471 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:34,093 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1472 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27833 bytes +2025-06-06 11:06:34,093 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:34,093 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1472 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:34,101 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1473 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27708 bytes +2025-06-06 11:06:34,101 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:34,101 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1473 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:34,102 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1474 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27684 bytes +2025-06-06 11:06:34,103 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:34,103 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1474 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:34,107 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1475 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27800 bytes +2025-06-06 11:06:34,108 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:34,108 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1475 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:34,165 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1476 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27843 bytes +2025-06-06 11:06:34,166 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:34,166 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1476 to 1 consumers in 1.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:34,182 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1477 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27689 bytes +2025-06-06 11:06:34,182 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:34,182 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1477 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:34,225 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1478 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27818 bytes +2025-06-06 11:06:34,225 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:34,225 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1478 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:34,277 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1479 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27728 bytes +2025-06-06 11:06:34,277 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:34,277 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1479 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:34,318 - video.core - INFO - ๐Ÿ“น Frame #1480 from producer producer_1749200719303: size=27720 bytes, resolution=640x480 +2025-06-06 11:06:34,318 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1480 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27720 bytes +2025-06-06 11:06:34,318 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:34,318 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1480 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:34,362 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1481 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27613 bytes +2025-06-06 11:06:34,362 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:34,362 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1481 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:34,408 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1482 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27657 bytes +2025-06-06 11:06:34,408 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:34,409 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1482 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:34,455 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1483 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27633 bytes +2025-06-06 11:06:34,455 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:34,455 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1483 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:34,496 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1484 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27699 bytes +2025-06-06 11:06:34,496 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:34,496 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1484 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:34,539 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1485 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27809 bytes +2025-06-06 11:06:34,539 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:34,539 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1485 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:34,585 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1486 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27957 bytes +2025-06-06 11:06:34,585 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:34,585 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1486 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:34,629 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1487 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27946 bytes +2025-06-06 11:06:34,630 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:34,630 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1487 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:34,673 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1488 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27888 bytes +2025-06-06 11:06:34,673 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:34,673 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1488 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:34,715 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1489 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27874 bytes +2025-06-06 11:06:34,715 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:34,715 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1489 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:34,756 - video.core - INFO - ๐Ÿ“น Frame #1490 from producer producer_1749200719303: size=27879 bytes, resolution=640x480 +2025-06-06 11:06:34,756 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1490 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27879 bytes +2025-06-06 11:06:34,756 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:34,756 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1490 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:34,803 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1491 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27698 bytes +2025-06-06 11:06:34,803 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:34,803 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1491 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:34,844 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1492 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27559 bytes +2025-06-06 11:06:34,844 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:34,844 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1492 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:34,886 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1493 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27463 bytes +2025-06-06 11:06:34,886 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:34,886 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1493 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:34,925 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1494 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27591 bytes +2025-06-06 11:06:34,925 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:34,925 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1494 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:34,965 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1495 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27341 bytes +2025-06-06 11:06:34,966 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:34,966 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1495 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:35,015 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1496 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27249 bytes +2025-06-06 11:06:35,015 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:35,015 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1496 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:35,054 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1497 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27296 bytes +2025-06-06 11:06:35,054 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:35,054 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1497 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:35,100 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1498 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27209 bytes +2025-06-06 11:06:35,100 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:35,100 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1498 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:35,146 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1499 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27198 bytes +2025-06-06 11:06:35,146 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:35,146 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1499 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:35,191 - video.core - INFO - ๐Ÿ“น Frame #1500 from producer producer_1749200719303: size=27226 bytes, resolution=640x480 +2025-06-06 11:06:35,192 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1500 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27226 bytes +2025-06-06 11:06:35,192 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:35,192 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1500 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:35,192 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1500 frames processed, 22.6 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:35,192 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1500 frames, 19.3 FPS, 4.28 Mbps throughput, 27690 bytes avg frame size +2025-06-06 11:06:35,192 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 1500 frames processed, FPS: 23.1, Throughput: 5.11 Mbps, Avg frame size: 27690 bytes +2025-06-06 11:06:35,233 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1501 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27266 bytes +2025-06-06 11:06:35,233 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:35,233 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1501 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:35,276 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1502 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27520 bytes +2025-06-06 11:06:35,276 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:35,276 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1502 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:35,322 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1503 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27718 bytes +2025-06-06 11:06:35,322 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:35,322 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1503 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:35,366 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1504 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27664 bytes +2025-06-06 11:06:35,366 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:35,366 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1504 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:35,409 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1505 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27659 bytes +2025-06-06 11:06:35,410 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:35,410 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1505 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:35,453 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1506 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27788 bytes +2025-06-06 11:06:35,453 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:35,453 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1506 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:35,491 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1507 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27840 bytes +2025-06-06 11:06:35,491 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:35,491 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1507 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:35,530 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1508 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27912 bytes +2025-06-06 11:06:35,531 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:35,531 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1508 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:35,572 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1509 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28045 bytes +2025-06-06 11:06:35,572 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:35,572 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1509 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:35,623 - video.core - INFO - ๐Ÿ“น Frame #1510 from producer producer_1749200719303: size=27953 bytes, resolution=640x480 +2025-06-06 11:06:35,623 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1510 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27953 bytes +2025-06-06 11:06:35,623 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:35,623 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1510 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:35,666 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1511 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27868 bytes +2025-06-06 11:06:35,666 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:35,666 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1511 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:35,711 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1512 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27846 bytes +2025-06-06 11:06:35,711 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:35,711 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1512 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:35,760 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1513 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27902 bytes +2025-06-06 11:06:35,760 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:35,760 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1513 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:35,799 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1514 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27960 bytes +2025-06-06 11:06:35,800 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:35,800 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1514 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:35,845 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1515 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27899 bytes +2025-06-06 11:06:35,845 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:35,845 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1515 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:35,893 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1516 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27682 bytes +2025-06-06 11:06:35,893 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:35,893 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1516 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:35,922 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1517 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27627 bytes +2025-06-06 11:06:35,922 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:35,922 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1517 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:35,957 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1518 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27826 bytes +2025-06-06 11:06:35,957 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:35,957 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1518 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:36,007 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1519 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27802 bytes +2025-06-06 11:06:36,007 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:36,008 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1519 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:36,056 - video.core - INFO - ๐Ÿ“น Frame #1520 from producer producer_1749200719303: size=27738 bytes, resolution=640x480 +2025-06-06 11:06:36,056 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1520 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27738 bytes +2025-06-06 11:06:36,056 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:36,056 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1520 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:36,096 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1521 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27855 bytes +2025-06-06 11:06:36,096 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:36,096 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1521 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:36,143 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1522 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28052 bytes +2025-06-06 11:06:36,143 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:36,143 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1522 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:36,178 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1523 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28076 bytes +2025-06-06 11:06:36,178 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:36,178 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1523 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:36,218 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1524 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28051 bytes +2025-06-06 11:06:36,218 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:36,218 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1524 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:36,261 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1525 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28071 bytes +2025-06-06 11:06:36,261 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:36,261 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1525 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:36,311 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1526 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28079 bytes +2025-06-06 11:06:36,311 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:36,311 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1526 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:36,359 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1527 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28195 bytes +2025-06-06 11:06:36,359 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:36,359 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1527 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:36,400 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1528 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28169 bytes +2025-06-06 11:06:36,400 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:36,400 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1528 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:36,444 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1529 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28121 bytes +2025-06-06 11:06:36,444 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:36,444 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1529 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:36,488 - video.core - INFO - ๐Ÿ“น Frame #1530 from producer producer_1749200719303: size=28003 bytes, resolution=640x480 +2025-06-06 11:06:36,488 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1530 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28003 bytes +2025-06-06 11:06:36,488 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:36,488 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1530 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:36,488 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1530 frames processed, 22.6 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:36,488 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1530 frames, 19.4 FPS, 4.29 Mbps throughput, 27694 bytes avg frame size +2025-06-06 11:06:36,488 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 1530 frames processed, FPS: 23.1, Throughput: 5.11 Mbps, Avg frame size: 27694 bytes +2025-06-06 11:06:36,534 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1531 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28023 bytes +2025-06-06 11:06:36,534 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:36,534 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1531 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:36,576 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1532 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28072 bytes +2025-06-06 11:06:36,577 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:36,577 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1532 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:36,619 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1533 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27992 bytes +2025-06-06 11:06:36,620 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:36,620 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1533 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:36,664 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1534 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28036 bytes +2025-06-06 11:06:36,664 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:36,664 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1534 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:36,706 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1535 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28156 bytes +2025-06-06 11:06:36,707 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:36,707 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1535 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:36,747 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1536 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28091 bytes +2025-06-06 11:06:36,747 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:36,748 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1536 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:36,793 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1537 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28052 bytes +2025-06-06 11:06:36,793 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:36,793 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1537 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:36,831 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1538 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28069 bytes +2025-06-06 11:06:36,831 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:36,831 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1538 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:36,877 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1539 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28010 bytes +2025-06-06 11:06:36,877 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:36,877 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1539 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:36,916 - video.core - INFO - ๐Ÿ“น Frame #1540 from producer producer_1749200719303: size=28132 bytes, resolution=640x480 +2025-06-06 11:06:36,916 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1540 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28132 bytes +2025-06-06 11:06:36,916 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:36,916 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1540 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:36,953 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1541 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28196 bytes +2025-06-06 11:06:36,954 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:36,954 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1541 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:37,000 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1542 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28212 bytes +2025-06-06 11:06:37,000 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:37,000 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1542 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:37,048 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1543 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28216 bytes +2025-06-06 11:06:37,049 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:37,049 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1543 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:37,092 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1544 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28232 bytes +2025-06-06 11:06:37,093 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:37,093 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1544 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:37,138 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1545 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28339 bytes +2025-06-06 11:06:37,139 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:37,139 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1545 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:37,183 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1546 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28386 bytes +2025-06-06 11:06:37,183 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:37,184 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1546 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:37,225 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1547 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28356 bytes +2025-06-06 11:06:37,225 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:37,225 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1547 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:37,267 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1548 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28246 bytes +2025-06-06 11:06:37,267 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:37,267 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1548 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:37,310 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1549 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28234 bytes +2025-06-06 11:06:37,311 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:37,311 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1549 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:37,350 - video.core - INFO - ๐Ÿ“น Frame #1550 from producer producer_1749200719303: size=28069 bytes, resolution=640x480 +2025-06-06 11:06:37,350 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1550 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28069 bytes +2025-06-06 11:06:37,350 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:37,350 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1550 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:37,400 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1551 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28283 bytes +2025-06-06 11:06:37,400 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:37,400 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1551 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:37,443 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1552 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28086 bytes +2025-06-06 11:06:37,443 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:37,444 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1552 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:37,485 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1553 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28184 bytes +2025-06-06 11:06:37,485 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:37,485 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1553 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:37,527 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1554 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28190 bytes +2025-06-06 11:06:37,528 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:37,528 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1554 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:37,571 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1555 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28255 bytes +2025-06-06 11:06:37,571 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:37,571 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1555 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:37,614 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1556 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28273 bytes +2025-06-06 11:06:37,614 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:37,614 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1556 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:37,653 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1557 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28049 bytes +2025-06-06 11:06:37,654 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:37,654 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1557 to 1 consumers in 0.7ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:37,699 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1558 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28002 bytes +2025-06-06 11:06:37,700 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:37,700 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1558 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:37,746 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1559 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27734 bytes +2025-06-06 11:06:37,747 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:37,747 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1559 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:37,786 - video.core - INFO - ๐Ÿ“น Frame #1560 from producer producer_1749200719303: size=27244 bytes, resolution=640x480 +2025-06-06 11:06:37,786 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1560 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27244 bytes +2025-06-06 11:06:37,786 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:37,786 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1560 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:37,787 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1560 frames processed, 22.6 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:37,787 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1560 frames, 19.4 FPS, 4.30 Mbps throughput, 27702 bytes avg frame size +2025-06-06 11:06:37,787 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 1560 frames processed, FPS: 23.1, Throughput: 5.12 Mbps, Avg frame size: 27702 bytes +2025-06-06 11:06:37,832 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1561 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27345 bytes +2025-06-06 11:06:37,832 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:37,832 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1561 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:37,876 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1562 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27511 bytes +2025-06-06 11:06:37,876 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:37,876 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1562 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:37,912 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1563 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27395 bytes +2025-06-06 11:06:37,912 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:37,912 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1563 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:37,949 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1564 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27480 bytes +2025-06-06 11:06:37,949 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:37,949 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1564 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:37,991 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1565 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27467 bytes +2025-06-06 11:06:37,991 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:37,991 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1565 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:38,038 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1566 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27520 bytes +2025-06-06 11:06:38,038 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:38,038 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1566 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:38,080 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1567 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27488 bytes +2025-06-06 11:06:38,080 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:38,080 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1567 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:38,123 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1568 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27534 bytes +2025-06-06 11:06:38,123 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:38,123 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1568 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:38,167 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1569 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27720 bytes +2025-06-06 11:06:38,167 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:38,167 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1569 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:38,207 - video.core - INFO - ๐Ÿ“น Frame #1570 from producer producer_1749200719303: size=27827 bytes, resolution=640x480 +2025-06-06 11:06:38,207 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1570 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27827 bytes +2025-06-06 11:06:38,207 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:38,207 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1570 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:38,252 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1571 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27746 bytes +2025-06-06 11:06:38,253 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:38,253 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1571 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:38,294 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1572 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27864 bytes +2025-06-06 11:06:38,294 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:38,294 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1572 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:38,338 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1573 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27877 bytes +2025-06-06 11:06:38,338 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:38,338 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1573 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:38,382 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1574 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28026 bytes +2025-06-06 11:06:38,382 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:38,382 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1574 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:38,430 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1575 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27972 bytes +2025-06-06 11:06:38,430 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:38,430 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1575 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:38,470 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1576 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27872 bytes +2025-06-06 11:06:38,470 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:38,470 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1576 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:38,514 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1577 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27901 bytes +2025-06-06 11:06:38,514 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:38,514 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1577 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:38,557 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1578 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27919 bytes +2025-06-06 11:06:38,557 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:38,557 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1578 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:38,601 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1579 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28064 bytes +2025-06-06 11:06:38,601 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:38,601 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1579 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:38,645 - video.core - INFO - ๐Ÿ“น Frame #1580 from producer producer_1749200719303: size=28013 bytes, resolution=640x480 +2025-06-06 11:06:38,645 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1580 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28013 bytes +2025-06-06 11:06:38,645 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:38,645 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1580 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:38,690 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1581 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27967 bytes +2025-06-06 11:06:38,691 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:38,691 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1581 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:38,729 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1582 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27894 bytes +2025-06-06 11:06:38,729 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:38,729 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1582 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:38,772 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1583 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27941 bytes +2025-06-06 11:06:38,772 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:38,772 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1583 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:38,815 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1584 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27995 bytes +2025-06-06 11:06:38,815 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:38,815 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1584 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:38,860 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1585 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28060 bytes +2025-06-06 11:06:38,860 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:38,860 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1585 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:38,901 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1586 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28107 bytes +2025-06-06 11:06:38,901 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:38,901 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1586 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:38,941 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1587 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28100 bytes +2025-06-06 11:06:38,941 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:38,941 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1587 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:38,984 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1588 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28109 bytes +2025-06-06 11:06:38,984 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:38,984 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1588 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:39,036 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1589 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28035 bytes +2025-06-06 11:06:39,036 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:39,036 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1589 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:39,077 - video.core - INFO - ๐Ÿ“น Frame #1590 from producer producer_1749200719303: size=28010 bytes, resolution=640x480 +2025-06-06 11:06:39,077 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1590 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28010 bytes +2025-06-06 11:06:39,077 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:39,077 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1590 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:39,077 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1590 frames processed, 22.6 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:39,077 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1590 frames, 19.5 FPS, 4.32 Mbps throughput, 27704 bytes avg frame size +2025-06-06 11:06:39,077 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 1590 frames processed, FPS: 23.1, Throughput: 5.12 Mbps, Avg frame size: 27704 bytes +2025-06-06 11:06:39,122 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1591 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28048 bytes +2025-06-06 11:06:39,122 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:39,122 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1591 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:39,169 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1592 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27928 bytes +2025-06-06 11:06:39,170 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:39,170 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1592 to 1 consumers in 1.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:39,218 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1593 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27960 bytes +2025-06-06 11:06:39,219 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:39,219 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1593 to 1 consumers in 0.8ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:39,257 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1594 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27936 bytes +2025-06-06 11:06:39,257 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:39,257 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1594 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:39,302 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1595 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27932 bytes +2025-06-06 11:06:39,302 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:39,302 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1595 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:39,346 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1596 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27977 bytes +2025-06-06 11:06:39,346 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:39,346 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1596 to 1 consumers in 0.7ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:39,389 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1597 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27847 bytes +2025-06-06 11:06:39,389 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:39,389 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1597 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:39,435 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1598 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27804 bytes +2025-06-06 11:06:39,435 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:39,435 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1598 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:39,474 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1599 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27720 bytes +2025-06-06 11:06:39,474 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:39,474 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1599 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:39,515 - video.core - INFO - ๐Ÿ“น Frame #1600 from producer producer_1749200719303: size=27729 bytes, resolution=640x480 +2025-06-06 11:06:39,516 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1600 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27729 bytes +2025-06-06 11:06:39,516 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:39,516 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1600 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:39,558 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1601 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27852 bytes +2025-06-06 11:06:39,558 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:39,558 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1601 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:39,601 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1602 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27718 bytes +2025-06-06 11:06:39,601 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:39,601 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1602 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:39,646 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1603 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27669 bytes +2025-06-06 11:06:39,646 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:39,646 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1603 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:39,690 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1604 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27701 bytes +2025-06-06 11:06:39,690 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:39,690 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1604 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:39,736 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1605 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27661 bytes +2025-06-06 11:06:39,736 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:39,737 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1605 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:39,779 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1606 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27653 bytes +2025-06-06 11:06:39,779 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:39,779 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1606 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:39,823 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1607 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27689 bytes +2025-06-06 11:06:39,823 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:39,823 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1607 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:39,866 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1608 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27603 bytes +2025-06-06 11:06:39,867 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:39,867 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1608 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:39,912 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1609 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27428 bytes +2025-06-06 11:06:39,913 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:39,913 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1609 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:39,942 - video.core - INFO - ๐Ÿ“น Frame #1610 from producer producer_1749200719303: size=27506 bytes, resolution=640x480 +2025-06-06 11:06:39,942 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1610 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27506 bytes +2025-06-06 11:06:39,942 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:39,942 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1610 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:39,980 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1611 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27525 bytes +2025-06-06 11:06:39,980 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:39,980 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1611 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:40,031 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1612 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27630 bytes +2025-06-06 11:06:40,032 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:40,032 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1612 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:40,074 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1613 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27630 bytes +2025-06-06 11:06:40,074 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:40,074 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1613 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:40,120 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1614 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27647 bytes +2025-06-06 11:06:40,121 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:40,121 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1614 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:40,162 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1615 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27755 bytes +2025-06-06 11:06:40,162 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:40,162 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1615 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:40,201 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1616 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27729 bytes +2025-06-06 11:06:40,202 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:40,202 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1616 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:40,248 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1617 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27814 bytes +2025-06-06 11:06:40,248 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:40,248 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1617 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:40,289 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1618 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27816 bytes +2025-06-06 11:06:40,289 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:40,289 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1618 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:40,338 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1619 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27809 bytes +2025-06-06 11:06:40,338 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:40,338 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1619 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:40,371 - video.core - INFO - ๐Ÿ“น Frame #1620 from producer producer_1749200719303: size=27697 bytes, resolution=640x480 +2025-06-06 11:06:40,371 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1620 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27697 bytes +2025-06-06 11:06:40,371 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:40,371 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1620 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:40,372 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1620 frames processed, 22.6 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:40,372 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1620 frames, 19.5 FPS, 4.33 Mbps throughput, 27705 bytes avg frame size +2025-06-06 11:06:40,372 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 1620 frames processed, FPS: 23.1, Throughput: 5.12 Mbps, Avg frame size: 27705 bytes +2025-06-06 11:06:40,414 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1621 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27635 bytes +2025-06-06 11:06:40,414 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:40,414 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1621 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:40,459 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1622 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27644 bytes +2025-06-06 11:06:40,459 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:40,459 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1622 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:40,500 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1623 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27531 bytes +2025-06-06 11:06:40,500 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:40,500 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1623 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:40,545 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1624 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27513 bytes +2025-06-06 11:06:40,545 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:40,545 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1624 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:40,590 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1625 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27606 bytes +2025-06-06 11:06:40,590 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:40,590 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1625 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:40,638 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1626 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27735 bytes +2025-06-06 11:06:40,638 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:40,638 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1626 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:40,681 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1627 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27669 bytes +2025-06-06 11:06:40,681 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:40,681 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1627 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:40,727 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1628 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27710 bytes +2025-06-06 11:06:40,727 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:40,727 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1628 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:40,772 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1629 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27840 bytes +2025-06-06 11:06:40,772 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:40,772 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1629 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:40,815 - video.core - INFO - ๐Ÿ“น Frame #1630 from producer producer_1749200719303: size=27859 bytes, resolution=640x480 +2025-06-06 11:06:40,815 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1630 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27859 bytes +2025-06-06 11:06:40,815 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:40,815 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1630 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:40,857 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1631 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27904 bytes +2025-06-06 11:06:40,858 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:40,858 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1631 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:40,901 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1632 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27798 bytes +2025-06-06 11:06:40,902 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:40,902 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1632 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:40,940 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1633 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27775 bytes +2025-06-06 11:06:40,940 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:40,940 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1633 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:40,975 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1634 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27832 bytes +2025-06-06 11:06:40,975 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:40,975 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1634 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:41,017 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1635 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27823 bytes +2025-06-06 11:06:41,017 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:41,017 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1635 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:41,072 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1636 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27922 bytes +2025-06-06 11:06:41,072 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:41,072 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1636 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:41,109 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1637 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27971 bytes +2025-06-06 11:06:41,109 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:41,109 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1637 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:41,156 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1638 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28015 bytes +2025-06-06 11:06:41,157 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:41,157 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1638 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:41,195 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1639 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28048 bytes +2025-06-06 11:06:41,195 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:41,195 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1639 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:41,240 - video.core - INFO - ๐Ÿ“น Frame #1640 from producer producer_1749200719303: size=28050 bytes, resolution=640x480 +2025-06-06 11:06:41,240 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1640 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28050 bytes +2025-06-06 11:06:41,240 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:41,240 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1640 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:41,282 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1641 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27825 bytes +2025-06-06 11:06:41,282 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:41,282 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1641 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:41,324 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1642 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27876 bytes +2025-06-06 11:06:41,324 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:41,324 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1642 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:41,370 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1643 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27955 bytes +2025-06-06 11:06:41,370 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:41,370 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1643 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:41,413 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1644 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27936 bytes +2025-06-06 11:06:41,413 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:41,413 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1644 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:41,457 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1645 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27971 bytes +2025-06-06 11:06:41,457 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:41,457 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1645 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:41,503 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1646 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28020 bytes +2025-06-06 11:06:41,503 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:41,503 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1646 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:41,545 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1647 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28079 bytes +2025-06-06 11:06:41,546 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:41,546 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1647 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:41,590 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1648 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28102 bytes +2025-06-06 11:06:41,590 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:41,590 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1648 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:41,632 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1649 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28052 bytes +2025-06-06 11:06:41,632 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:41,632 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1649 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:41,679 - video.core - INFO - ๐Ÿ“น Frame #1650 from producer producer_1749200719303: size=28119 bytes, resolution=640x480 +2025-06-06 11:06:41,679 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1650 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28119 bytes +2025-06-06 11:06:41,679 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:41,679 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1650 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:41,679 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1650 frames processed, 22.6 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:41,679 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1650 frames, 19.6 FPS, 4.34 Mbps throughput, 27708 bytes avg frame size +2025-06-06 11:06:41,679 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 1650 frames processed, FPS: 23.1, Throughput: 5.12 Mbps, Avg frame size: 27708 bytes +2025-06-06 11:06:41,719 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1651 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28137 bytes +2025-06-06 11:06:41,720 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:41,720 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1651 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:41,767 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1652 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28202 bytes +2025-06-06 11:06:41,767 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:41,767 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1652 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:41,809 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1653 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28161 bytes +2025-06-06 11:06:41,809 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:41,809 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1653 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:41,850 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1654 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28202 bytes +2025-06-06 11:06:41,850 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:41,850 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1654 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:41,894 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1655 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28652 bytes +2025-06-06 11:06:41,894 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:41,894 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1655 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:41,931 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1656 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28414 bytes +2025-06-06 11:06:41,931 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:41,931 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1656 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:41,971 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1657 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28305 bytes +2025-06-06 11:06:41,972 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:41,972 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1657 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:42,013 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1658 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28236 bytes +2025-06-06 11:06:42,013 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:42,013 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1658 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:42,059 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1659 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28203 bytes +2025-06-06 11:06:42,060 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:42,060 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1659 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:42,110 - video.core - INFO - ๐Ÿ“น Frame #1660 from producer producer_1749200719303: size=27946 bytes, resolution=640x480 +2025-06-06 11:06:42,110 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1660 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27946 bytes +2025-06-06 11:06:42,110 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:42,110 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1660 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:42,144 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1661 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27895 bytes +2025-06-06 11:06:42,144 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:42,144 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1661 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:42,189 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1662 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27876 bytes +2025-06-06 11:06:42,189 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:42,189 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1662 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:42,229 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1663 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27853 bytes +2025-06-06 11:06:42,229 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:42,229 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1663 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:42,277 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1664 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27841 bytes +2025-06-06 11:06:42,277 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:42,277 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1664 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:42,321 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1665 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27634 bytes +2025-06-06 11:06:42,321 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:42,321 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1665 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:42,366 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1666 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27701 bytes +2025-06-06 11:06:42,366 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:42,366 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1666 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:42,410 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1667 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27772 bytes +2025-06-06 11:06:42,411 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:42,411 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1667 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:42,447 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1668 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27809 bytes +2025-06-06 11:06:42,448 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:42,448 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1668 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:42,493 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1669 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27884 bytes +2025-06-06 11:06:42,493 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:42,493 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1669 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:42,538 - video.core - INFO - ๐Ÿ“น Frame #1670 from producer producer_1749200719303: size=27795 bytes, resolution=640x480 +2025-06-06 11:06:42,538 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1670 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27795 bytes +2025-06-06 11:06:42,538 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:42,538 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1670 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:42,580 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1671 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27703 bytes +2025-06-06 11:06:42,580 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:42,580 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1671 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:42,625 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1672 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27871 bytes +2025-06-06 11:06:42,625 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:42,625 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1672 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:42,669 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1673 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27714 bytes +2025-06-06 11:06:42,670 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:42,670 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1673 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:42,714 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1674 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27745 bytes +2025-06-06 11:06:42,714 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:42,714 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1674 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:42,756 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1675 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27793 bytes +2025-06-06 11:06:42,757 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:42,757 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1675 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:42,801 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1676 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27819 bytes +2025-06-06 11:06:42,802 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:42,802 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1676 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:42,846 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1677 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27821 bytes +2025-06-06 11:06:42,846 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:42,846 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1677 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:42,887 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1678 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27931 bytes +2025-06-06 11:06:42,887 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:42,887 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1678 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:42,922 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1679 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27932 bytes +2025-06-06 11:06:42,922 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:42,922 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1679 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:42,959 - video.core - INFO - ๐Ÿ“น Frame #1680 from producer producer_1749200719303: size=27905 bytes, resolution=640x480 +2025-06-06 11:06:42,959 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1680 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27905 bytes +2025-06-06 11:06:42,959 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:42,959 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1680 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:42,960 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1680 frames processed, 22.7 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:42,960 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1680 frames, 19.7 FPS, 4.36 Mbps throughput, 27712 bytes avg frame size +2025-06-06 11:06:42,960 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 1680 frames processed, FPS: 23.1, Throughput: 5.12 Mbps, Avg frame size: 27712 bytes +2025-06-06 11:06:43,003 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1681 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27860 bytes +2025-06-06 11:06:43,003 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:43,004 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1681 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:43,047 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1682 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27886 bytes +2025-06-06 11:06:43,047 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:43,047 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1682 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:43,091 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1683 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27826 bytes +2025-06-06 11:06:43,091 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:43,091 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1683 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:43,139 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1684 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27791 bytes +2025-06-06 11:06:43,139 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:43,139 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1684 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:43,184 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1685 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27792 bytes +2025-06-06 11:06:43,184 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:43,184 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1685 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:43,226 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1686 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27821 bytes +2025-06-06 11:06:43,226 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:43,226 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1686 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:43,272 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1687 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27901 bytes +2025-06-06 11:06:43,272 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:43,272 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1687 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:43,319 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1688 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27857 bytes +2025-06-06 11:06:43,320 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:43,320 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1688 to 1 consumers in 1.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:43,360 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1689 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27757 bytes +2025-06-06 11:06:43,360 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:43,360 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1689 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:43,404 - video.core - INFO - ๐Ÿ“น Frame #1690 from producer producer_1749200719303: size=27727 bytes, resolution=640x480 +2025-06-06 11:06:43,404 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1690 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27727 bytes +2025-06-06 11:06:43,404 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:43,404 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1690 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:43,445 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1691 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27785 bytes +2025-06-06 11:06:43,445 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:43,445 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1691 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:43,491 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1692 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27981 bytes +2025-06-06 11:06:43,492 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:43,492 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1692 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:43,538 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1693 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28007 bytes +2025-06-06 11:06:43,538 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:43,539 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1693 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:43,580 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1694 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27968 bytes +2025-06-06 11:06:43,580 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:43,580 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1694 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:43,621 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1695 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28118 bytes +2025-06-06 11:06:43,621 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:43,621 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1695 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:43,666 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1696 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27895 bytes +2025-06-06 11:06:43,667 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:43,667 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1696 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:43,715 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1697 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27869 bytes +2025-06-06 11:06:43,715 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:43,715 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1697 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:43,761 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1698 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27778 bytes +2025-06-06 11:06:43,761 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:43,761 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1698 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:43,801 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1699 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27847 bytes +2025-06-06 11:06:43,801 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:43,801 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1699 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:43,844 - video.core - INFO - ๐Ÿ“น Frame #1700 from producer producer_1749200719303: size=27884 bytes, resolution=640x480 +2025-06-06 11:06:43,845 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1700 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27884 bytes +2025-06-06 11:06:43,845 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:43,845 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1700 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:43,890 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1701 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27704 bytes +2025-06-06 11:06:43,890 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:43,890 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1701 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:43,927 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1702 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27739 bytes +2025-06-06 11:06:43,927 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:43,927 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1702 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:43,966 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1703 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27737 bytes +2025-06-06 11:06:43,966 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:43,966 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1703 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:44,005 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1704 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27881 bytes +2025-06-06 11:06:44,005 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:44,005 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1704 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:44,057 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1705 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27825 bytes +2025-06-06 11:06:44,057 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:44,057 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1705 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:44,095 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1706 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27943 bytes +2025-06-06 11:06:44,096 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:44,096 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1706 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:44,137 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1707 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27951 bytes +2025-06-06 11:06:44,137 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:44,137 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1707 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:44,180 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1708 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28038 bytes +2025-06-06 11:06:44,180 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:44,180 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1708 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:44,224 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1709 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28182 bytes +2025-06-06 11:06:44,225 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:44,225 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1709 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:44,267 - video.core - INFO - ๐Ÿ“น Frame #1710 from producer producer_1749200719303: size=28227 bytes, resolution=640x480 +2025-06-06 11:06:44,267 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1710 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28227 bytes +2025-06-06 11:06:44,267 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:44,267 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1710 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:44,267 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1710 frames processed, 22.7 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:44,267 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1710 frames, 19.7 FPS, 4.37 Mbps throughput, 27715 bytes avg frame size +2025-06-06 11:06:44,267 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 1710 frames processed, FPS: 23.1, Throughput: 5.12 Mbps, Avg frame size: 27715 bytes +2025-06-06 11:06:44,311 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1711 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28196 bytes +2025-06-06 11:06:44,311 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:44,311 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1711 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:44,354 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1712 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28143 bytes +2025-06-06 11:06:44,354 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:44,354 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1712 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:44,397 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1713 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28219 bytes +2025-06-06 11:06:44,397 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:44,397 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1713 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:44,441 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1714 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28244 bytes +2025-06-06 11:06:44,441 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:44,441 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1714 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:44,480 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1715 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28291 bytes +2025-06-06 11:06:44,480 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:44,480 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1715 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:44,523 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1716 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28218 bytes +2025-06-06 11:06:44,523 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:44,523 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1716 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:44,569 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1717 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28210 bytes +2025-06-06 11:06:44,569 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:44,569 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1717 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:44,616 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1718 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28402 bytes +2025-06-06 11:06:44,616 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:44,616 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1718 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:44,657 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1719 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28443 bytes +2025-06-06 11:06:44,657 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:44,657 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1719 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:44,699 - video.core - INFO - ๐Ÿ“น Frame #1720 from producer producer_1749200719303: size=28328 bytes, resolution=640x480 +2025-06-06 11:06:44,700 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1720 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28328 bytes +2025-06-06 11:06:44,700 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:44,700 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1720 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:44,742 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1721 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28366 bytes +2025-06-06 11:06:44,742 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:44,742 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1721 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:44,789 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1722 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28229 bytes +2025-06-06 11:06:44,789 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:44,789 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1722 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:44,831 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1723 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27710 bytes +2025-06-06 11:06:44,831 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:44,831 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1723 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:44,872 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1724 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27834 bytes +2025-06-06 11:06:44,872 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:44,872 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1724 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:44,916 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1725 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27700 bytes +2025-06-06 11:06:44,916 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:44,916 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1725 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:44,954 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1726 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27677 bytes +2025-06-06 11:06:44,954 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:44,954 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1726 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:44,997 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1727 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27860 bytes +2025-06-06 11:06:44,997 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:44,997 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1727 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:45,046 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1728 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27990 bytes +2025-06-06 11:06:45,046 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:45,046 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1728 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:45,090 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1729 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28116 bytes +2025-06-06 11:06:45,091 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:45,091 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1729 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:45,136 - video.core - INFO - ๐Ÿ“น Frame #1730 from producer producer_1749200719303: size=28185 bytes, resolution=640x480 +2025-06-06 11:06:45,136 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1730 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28185 bytes +2025-06-06 11:06:45,136 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:45,136 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1730 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:45,180 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1731 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28223 bytes +2025-06-06 11:06:45,180 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:45,180 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1731 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:45,222 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1732 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28319 bytes +2025-06-06 11:06:45,222 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:45,222 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1732 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:45,264 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1733 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28282 bytes +2025-06-06 11:06:45,264 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:45,264 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1733 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:45,311 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1734 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28034 bytes +2025-06-06 11:06:45,311 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:45,311 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1734 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:45,346 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1735 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27971 bytes +2025-06-06 11:06:45,346 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:45,346 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1735 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:45,404 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1736 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27985 bytes +2025-06-06 11:06:45,404 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:45,404 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1736 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:45,432 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1737 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27907 bytes +2025-06-06 11:06:45,432 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:45,432 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1737 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:45,478 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1738 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27738 bytes +2025-06-06 11:06:45,478 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:45,478 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1738 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:45,521 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1739 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27848 bytes +2025-06-06 11:06:45,521 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:45,521 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1739 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:45,563 - video.core - INFO - ๐Ÿ“น Frame #1740 from producer producer_1749200719303: size=27969 bytes, resolution=640x480 +2025-06-06 11:06:45,563 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1740 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27969 bytes +2025-06-06 11:06:45,563 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:45,563 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1740 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:45,563 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1740 frames processed, 22.7 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:45,563 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1740 frames, 19.8 FPS, 4.38 Mbps throughput, 27722 bytes avg frame size +2025-06-06 11:06:45,563 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 1740 frames processed, FPS: 23.1, Throughput: 5.12 Mbps, Avg frame size: 27722 bytes +2025-06-06 11:06:45,609 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1741 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28039 bytes +2025-06-06 11:06:45,609 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:45,609 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1741 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:45,649 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1742 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28030 bytes +2025-06-06 11:06:45,649 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:45,649 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1742 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:45,690 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1743 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28120 bytes +2025-06-06 11:06:45,690 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:45,690 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1743 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:45,740 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1744 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28072 bytes +2025-06-06 11:06:45,740 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:45,740 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1744 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:45,798 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1745 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28150 bytes +2025-06-06 11:06:45,798 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:45,799 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1745 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:45,817 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1746 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28156 bytes +2025-06-06 11:06:45,817 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:45,817 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1746 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:45,864 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1747 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28258 bytes +2025-06-06 11:06:45,864 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:45,864 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1747 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:45,909 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1748 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28423 bytes +2025-06-06 11:06:45,909 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:45,909 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1748 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:45,951 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1749 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28409 bytes +2025-06-06 11:06:45,951 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:45,951 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1749 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:45,993 - video.core - INFO - ๐Ÿ“น Frame #1750 from producer producer_1749200719303: size=28254 bytes, resolution=640x480 +2025-06-06 11:06:45,993 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1750 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28254 bytes +2025-06-06 11:06:45,993 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:45,993 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1750 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:46,036 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1751 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28214 bytes +2025-06-06 11:06:46,037 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:46,037 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1751 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:46,076 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1752 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28248 bytes +2025-06-06 11:06:46,076 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:46,076 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1752 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:46,128 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1753 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28189 bytes +2025-06-06 11:06:46,128 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:46,128 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1753 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:46,175 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1754 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28122 bytes +2025-06-06 11:06:46,175 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:46,176 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1754 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:46,215 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1755 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28088 bytes +2025-06-06 11:06:46,215 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:46,215 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1755 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:46,257 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1756 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28001 bytes +2025-06-06 11:06:46,257 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:46,257 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1756 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:46,301 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1757 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28110 bytes +2025-06-06 11:06:46,302 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:46,302 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1757 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:46,342 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1758 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28122 bytes +2025-06-06 11:06:46,342 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:46,342 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1758 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:46,383 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1759 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28198 bytes +2025-06-06 11:06:46,383 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:46,383 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1759 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:46,425 - video.core - INFO - ๐Ÿ“น Frame #1760 from producer producer_1749200719303: size=27969 bytes, resolution=640x480 +2025-06-06 11:06:46,426 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1760 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27969 bytes +2025-06-06 11:06:46,426 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:46,426 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1760 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:46,471 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1761 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27950 bytes +2025-06-06 11:06:46,471 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:46,471 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1761 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:46,512 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1762 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28143 bytes +2025-06-06 11:06:46,512 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:46,512 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1762 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:46,559 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1763 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28167 bytes +2025-06-06 11:06:46,559 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:46,559 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1763 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:46,599 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1764 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28042 bytes +2025-06-06 11:06:46,600 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:46,600 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1764 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:46,647 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1765 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28130 bytes +2025-06-06 11:06:46,647 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:46,647 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1765 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:46,690 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1766 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28282 bytes +2025-06-06 11:06:46,690 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:46,690 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1766 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:46,732 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1767 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28318 bytes +2025-06-06 11:06:46,733 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:46,733 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1767 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:46,775 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1768 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28412 bytes +2025-06-06 11:06:46,775 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:46,775 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1768 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:46,822 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1769 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28447 bytes +2025-06-06 11:06:46,822 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:46,822 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1769 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:46,867 - video.core - INFO - ๐Ÿ“น Frame #1770 from producer producer_1749200719303: size=28284 bytes, resolution=640x480 +2025-06-06 11:06:46,867 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1770 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28284 bytes +2025-06-06 11:06:46,867 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:46,867 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1770 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:46,867 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1770 frames processed, 22.7 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:46,867 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1770 frames, 19.8 FPS, 4.39 Mbps throughput, 27729 bytes avg frame size +2025-06-06 11:06:46,867 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 1770 frames processed, FPS: 23.1, Throughput: 5.12 Mbps, Avg frame size: 27729 bytes +2025-06-06 11:06:46,909 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1771 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28293 bytes +2025-06-06 11:06:46,909 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:46,909 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1771 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:46,948 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1772 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28171 bytes +2025-06-06 11:06:46,948 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:46,948 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1772 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:46,987 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1773 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27907 bytes +2025-06-06 11:06:46,987 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:46,987 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1773 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:47,034 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1774 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27866 bytes +2025-06-06 11:06:47,034 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:47,034 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1774 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:47,077 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1775 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27917 bytes +2025-06-06 11:06:47,078 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:47,078 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1775 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:47,122 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1776 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28142 bytes +2025-06-06 11:06:47,122 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:47,122 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1776 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:47,167 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1777 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28060 bytes +2025-06-06 11:06:47,167 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:47,167 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1777 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:47,209 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1778 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28102 bytes +2025-06-06 11:06:47,209 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:47,209 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1778 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:47,255 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1779 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28178 bytes +2025-06-06 11:06:47,255 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:47,255 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1779 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:47,297 - video.core - INFO - ๐Ÿ“น Frame #1780 from producer producer_1749200719303: size=28312 bytes, resolution=640x480 +2025-06-06 11:06:47,297 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1780 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28312 bytes +2025-06-06 11:06:47,297 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:47,297 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1780 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:47,344 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1781 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28350 bytes +2025-06-06 11:06:47,344 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:47,344 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1781 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:47,387 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1782 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28515 bytes +2025-06-06 11:06:47,387 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:47,387 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1782 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:47,422 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1783 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28549 bytes +2025-06-06 11:06:47,422 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:47,422 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1783 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:47,467 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1784 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28599 bytes +2025-06-06 11:06:47,467 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:47,467 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1784 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:47,512 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1785 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28680 bytes +2025-06-06 11:06:47,512 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:47,512 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1785 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:47,555 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1786 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28695 bytes +2025-06-06 11:06:47,555 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:47,555 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1786 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:47,608 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1787 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28714 bytes +2025-06-06 11:06:47,608 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:47,608 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1787 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:47,651 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1788 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28804 bytes +2025-06-06 11:06:47,652 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:47,652 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1788 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:47,685 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1789 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28560 bytes +2025-06-06 11:06:47,685 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:47,685 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1789 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:47,730 - video.core - INFO - ๐Ÿ“น Frame #1790 from producer producer_1749200719303: size=28475 bytes, resolution=640x480 +2025-06-06 11:06:47,731 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1790 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28475 bytes +2025-06-06 11:06:47,731 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:47,731 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1790 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:47,777 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1791 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28547 bytes +2025-06-06 11:06:47,777 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:47,777 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1791 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:47,818 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1792 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28559 bytes +2025-06-06 11:06:47,818 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:47,818 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1792 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:47,863 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1793 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28483 bytes +2025-06-06 11:06:47,864 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:47,864 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1793 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:47,908 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1794 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28636 bytes +2025-06-06 11:06:47,908 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:47,908 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1794 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:47,945 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1795 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28568 bytes +2025-06-06 11:06:47,945 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:47,945 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1795 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:47,984 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1796 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28510 bytes +2025-06-06 11:06:47,984 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:47,984 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1796 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:48,029 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1797 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28628 bytes +2025-06-06 11:06:48,029 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:48,029 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1797 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:48,071 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1798 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28777 bytes +2025-06-06 11:06:48,071 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:48,071 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1798 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:48,116 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1799 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28708 bytes +2025-06-06 11:06:48,116 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:48,116 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1799 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:48,160 - video.core - INFO - ๐Ÿ“น Frame #1800 from producer producer_1749200719303: size=28682 bytes, resolution=640x480 +2025-06-06 11:06:48,160 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1800 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28682 bytes +2025-06-06 11:06:48,160 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:48,160 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1800 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:48,160 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1800 frames processed, 22.7 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:48,160 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1800 frames, 19.8 FPS, 4.41 Mbps throughput, 27741 bytes avg frame size +2025-06-06 11:06:48,160 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 1800 frames processed, FPS: 23.1, Throughput: 5.12 Mbps, Avg frame size: 27741 bytes +2025-06-06 11:06:48,202 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1801 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28606 bytes +2025-06-06 11:06:48,202 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:48,202 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1801 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:48,251 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1802 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28575 bytes +2025-06-06 11:06:48,251 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:48,251 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1802 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:48,288 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1803 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28600 bytes +2025-06-06 11:06:48,288 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:48,289 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1803 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:48,338 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1804 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28554 bytes +2025-06-06 11:06:48,338 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:48,338 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1804 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:48,381 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1805 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28588 bytes +2025-06-06 11:06:48,381 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:48,381 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1805 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:48,428 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1806 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28508 bytes +2025-06-06 11:06:48,428 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:48,428 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1806 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:48,473 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1807 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28576 bytes +2025-06-06 11:06:48,473 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:48,473 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1807 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:48,518 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1808 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28642 bytes +2025-06-06 11:06:48,518 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:48,518 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1808 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:48,556 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1809 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28658 bytes +2025-06-06 11:06:48,556 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:48,556 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1809 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:48,610 - video.core - INFO - ๐Ÿ“น Frame #1810 from producer producer_1749200719303: size=28640 bytes, resolution=640x480 +2025-06-06 11:06:48,610 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1810 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28640 bytes +2025-06-06 11:06:48,610 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:48,610 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1810 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:48,631 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1811 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28718 bytes +2025-06-06 11:06:48,632 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:48,632 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1811 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:48,675 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1812 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28820 bytes +2025-06-06 11:06:48,675 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:48,675 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1812 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:48,725 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1813 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28838 bytes +2025-06-06 11:06:48,725 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:48,725 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1813 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:48,770 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1814 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28857 bytes +2025-06-06 11:06:48,771 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:48,771 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1814 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:48,812 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1815 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28878 bytes +2025-06-06 11:06:48,813 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:48,813 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1815 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:48,863 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1816 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28888 bytes +2025-06-06 11:06:48,863 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:48,863 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1816 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:48,901 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1817 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29172 bytes +2025-06-06 11:06:48,902 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:48,902 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1817 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:48,938 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1818 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28993 bytes +2025-06-06 11:06:48,938 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:48,938 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1818 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:48,977 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1819 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29000 bytes +2025-06-06 11:06:48,977 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:48,977 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1819 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:49,021 - video.core - INFO - ๐Ÿ“น Frame #1820 from producer producer_1749200719303: size=28847 bytes, resolution=640x480 +2025-06-06 11:06:49,021 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1820 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28847 bytes +2025-06-06 11:06:49,021 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:49,021 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1820 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:49,074 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1821 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28815 bytes +2025-06-06 11:06:49,074 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:49,075 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1821 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:49,118 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1822 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28730 bytes +2025-06-06 11:06:49,118 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:49,118 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1822 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:49,159 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1823 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28680 bytes +2025-06-06 11:06:49,159 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:49,159 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1823 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:49,202 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1824 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28457 bytes +2025-06-06 11:06:49,203 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:49,203 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1824 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:49,243 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1825 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28465 bytes +2025-06-06 11:06:49,244 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:49,244 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1825 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:49,344 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1826 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28495 bytes +2025-06-06 11:06:49,344 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:49,344 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1826 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:49,345 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1827 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28536 bytes +2025-06-06 11:06:49,345 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:49,345 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1827 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:49,442 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1828 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28611 bytes +2025-06-06 11:06:49,442 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:49,442 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1828 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:49,443 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1829 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28467 bytes +2025-06-06 11:06:49,443 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:49,443 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1829 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:49,456 - video.core - INFO - ๐Ÿ“น Frame #1830 from producer producer_1749200719303: size=28528 bytes, resolution=640x480 +2025-06-06 11:06:49,456 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1830 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28528 bytes +2025-06-06 11:06:49,456 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:49,456 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1830 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:49,456 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1830 frames processed, 22.7 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:49,456 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1830 frames, 19.9 FPS, 4.42 Mbps throughput, 27757 bytes avg frame size +2025-06-06 11:06:49,456 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 1830 frames processed, FPS: 23.1, Throughput: 5.13 Mbps, Avg frame size: 27757 bytes +2025-06-06 11:06:49,500 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1831 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28321 bytes +2025-06-06 11:06:49,501 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:49,501 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1831 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:49,545 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1832 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28095 bytes +2025-06-06 11:06:49,545 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:49,545 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1832 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:49,585 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1833 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28172 bytes +2025-06-06 11:06:49,585 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:49,585 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1833 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:49,627 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1834 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28324 bytes +2025-06-06 11:06:49,627 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:49,627 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1834 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:49,670 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1835 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28531 bytes +2025-06-06 11:06:49,671 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:49,671 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1835 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:49,713 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1836 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28305 bytes +2025-06-06 11:06:49,713 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:49,713 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1836 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:49,755 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1837 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28235 bytes +2025-06-06 11:06:49,755 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:49,755 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1837 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:49,799 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1838 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28428 bytes +2025-06-06 11:06:49,799 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:49,799 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1838 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:49,842 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1839 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28404 bytes +2025-06-06 11:06:49,842 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:49,842 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1839 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:49,883 - video.core - INFO - ๐Ÿ“น Frame #1840 from producer producer_1749200719303: size=28342 bytes, resolution=640x480 +2025-06-06 11:06:49,884 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1840 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28342 bytes +2025-06-06 11:06:49,884 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:49,884 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1840 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:49,928 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1841 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28436 bytes +2025-06-06 11:06:49,929 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:49,929 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1841 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:49,973 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1842 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28553 bytes +2025-06-06 11:06:49,973 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:49,973 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1842 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:50,012 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1843 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28618 bytes +2025-06-06 11:06:50,012 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:50,012 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1843 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:50,058 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1844 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28597 bytes +2025-06-06 11:06:50,059 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:50,059 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1844 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:50,100 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1845 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28594 bytes +2025-06-06 11:06:50,101 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:50,101 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1845 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:50,144 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1846 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28567 bytes +2025-06-06 11:06:50,145 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:50,145 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1846 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:50,188 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1847 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28572 bytes +2025-06-06 11:06:50,188 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:50,188 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1847 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:50,230 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1848 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28381 bytes +2025-06-06 11:06:50,230 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:50,230 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1848 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:50,274 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1849 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28379 bytes +2025-06-06 11:06:50,274 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:50,274 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1849 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:50,316 - video.core - INFO - ๐Ÿ“น Frame #1850 from producer producer_1749200719303: size=28304 bytes, resolution=640x480 +2025-06-06 11:06:50,316 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1850 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28304 bytes +2025-06-06 11:06:50,316 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:50,316 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1850 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:50,362 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1851 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28190 bytes +2025-06-06 11:06:50,362 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:50,362 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1851 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:50,404 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1852 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28185 bytes +2025-06-06 11:06:50,404 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:50,404 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1852 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:50,445 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1853 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28208 bytes +2025-06-06 11:06:50,445 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:50,445 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1853 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:50,493 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1854 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28237 bytes +2025-06-06 11:06:50,493 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:50,493 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1854 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:50,538 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1855 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28279 bytes +2025-06-06 11:06:50,538 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:50,538 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1855 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:50,582 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1856 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28446 bytes +2025-06-06 11:06:50,582 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:50,582 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1856 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:50,626 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1857 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28408 bytes +2025-06-06 11:06:50,626 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:50,626 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1857 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:50,674 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1858 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28418 bytes +2025-06-06 11:06:50,674 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:50,674 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1858 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:50,709 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1859 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28483 bytes +2025-06-06 11:06:50,709 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:50,709 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1859 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:50,754 - video.core - INFO - ๐Ÿ“น Frame #1860 from producer producer_1749200719303: size=28394 bytes, resolution=640x480 +2025-06-06 11:06:50,754 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1860 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28394 bytes +2025-06-06 11:06:50,755 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:50,755 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1860 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:50,755 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1860 frames processed, 22.7 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:50,755 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1860 frames, 19.9 FPS, 4.43 Mbps throughput, 27767 bytes avg frame size +2025-06-06 11:06:50,755 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 1860 frames processed, FPS: 23.1, Throughput: 5.13 Mbps, Avg frame size: 27767 bytes +2025-06-06 11:06:50,799 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1861 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28445 bytes +2025-06-06 11:06:50,799 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:50,799 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1861 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:50,841 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1862 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28519 bytes +2025-06-06 11:06:50,841 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:50,841 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1862 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:50,881 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1863 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28573 bytes +2025-06-06 11:06:50,881 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:50,881 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1863 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:50,926 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1864 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28589 bytes +2025-06-06 11:06:50,926 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:50,926 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1864 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:50,969 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1865 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28340 bytes +2025-06-06 11:06:50,970 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:50,970 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1865 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:51,011 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1866 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28337 bytes +2025-06-06 11:06:51,011 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:51,011 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1866 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:51,057 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1867 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28444 bytes +2025-06-06 11:06:51,057 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:51,057 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1867 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:51,102 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1868 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28548 bytes +2025-06-06 11:06:51,103 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:51,103 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1868 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:51,144 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1869 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28461 bytes +2025-06-06 11:06:51,144 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:51,145 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1869 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:51,188 - video.core - INFO - ๐Ÿ“น Frame #1870 from producer producer_1749200719303: size=28497 bytes, resolution=640x480 +2025-06-06 11:06:51,188 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1870 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28497 bytes +2025-06-06 11:06:51,188 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:51,188 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1870 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:51,229 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1871 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28543 bytes +2025-06-06 11:06:51,229 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:51,229 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1871 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:51,270 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1872 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28526 bytes +2025-06-06 11:06:51,270 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:51,270 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1872 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:51,316 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1873 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28571 bytes +2025-06-06 11:06:51,316 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:51,316 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1873 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:51,360 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1874 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28540 bytes +2025-06-06 11:06:51,360 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:51,360 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1874 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:51,407 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1875 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28603 bytes +2025-06-06 11:06:51,407 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:51,407 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1875 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:51,446 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1876 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28542 bytes +2025-06-06 11:06:51,446 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:51,446 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1876 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:51,488 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1877 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28654 bytes +2025-06-06 11:06:51,488 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:51,488 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1877 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:51,530 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1878 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28842 bytes +2025-06-06 11:06:51,530 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:51,530 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1878 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:51,573 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1879 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28783 bytes +2025-06-06 11:06:51,573 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:51,573 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1879 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:51,617 - video.core - INFO - ๐Ÿ“น Frame #1880 from producer producer_1749200719303: size=28744 bytes, resolution=640x480 +2025-06-06 11:06:51,618 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1880 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28744 bytes +2025-06-06 11:06:51,618 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:51,618 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1880 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:51,661 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1881 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28581 bytes +2025-06-06 11:06:51,661 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:51,661 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1881 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:51,709 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1882 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28608 bytes +2025-06-06 11:06:51,710 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:51,710 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1882 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:51,749 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1883 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28649 bytes +2025-06-06 11:06:51,750 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:51,750 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1883 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:51,791 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1884 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28478 bytes +2025-06-06 11:06:51,791 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:51,791 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1884 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:51,838 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1885 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28468 bytes +2025-06-06 11:06:51,838 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:51,838 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1885 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:51,880 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1886 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28533 bytes +2025-06-06 11:06:51,880 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:51,880 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1886 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:51,925 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1887 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28571 bytes +2025-06-06 11:06:51,925 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:51,925 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1887 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:51,963 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1888 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28415 bytes +2025-06-06 11:06:51,964 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:51,964 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1888 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:52,005 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1889 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28441 bytes +2025-06-06 11:06:52,005 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:52,005 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1889 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:52,047 - video.core - INFO - ๐Ÿ“น Frame #1890 from producer producer_1749200719303: size=28474 bytes, resolution=640x480 +2025-06-06 11:06:52,048 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1890 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28474 bytes +2025-06-06 11:06:52,048 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:52,048 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1890 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:52,048 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1890 frames processed, 22.7 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:52,048 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1890 frames, 20.0 FPS, 4.44 Mbps throughput, 27779 bytes avg frame size +2025-06-06 11:06:52,048 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 1890 frames processed, FPS: 23.1, Throughput: 5.13 Mbps, Avg frame size: 27779 bytes +2025-06-06 11:06:52,095 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1891 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28366 bytes +2025-06-06 11:06:52,095 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:52,095 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1891 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:52,138 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1892 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28258 bytes +2025-06-06 11:06:52,138 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:52,138 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1892 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:52,180 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1893 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28209 bytes +2025-06-06 11:06:52,181 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:52,181 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1893 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:52,224 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1894 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28384 bytes +2025-06-06 11:06:52,224 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:52,224 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1894 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:52,271 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1895 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28350 bytes +2025-06-06 11:06:52,271 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:52,271 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1895 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:52,312 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1896 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28099 bytes +2025-06-06 11:06:52,312 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:52,312 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1896 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:52,350 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1897 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28105 bytes +2025-06-06 11:06:52,350 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:52,350 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1897 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:52,397 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1898 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28079 bytes +2025-06-06 11:06:52,397 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:52,397 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1898 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:52,444 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1899 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28046 bytes +2025-06-06 11:06:52,444 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:52,444 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1899 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:52,490 - video.core - INFO - ๐Ÿ“น Frame #1900 from producer producer_1749200719303: size=28048 bytes, resolution=640x480 +2025-06-06 11:06:52,490 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1900 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28048 bytes +2025-06-06 11:06:52,490 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:52,490 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1900 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:52,533 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1901 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28223 bytes +2025-06-06 11:06:52,533 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:52,533 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1901 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:52,573 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1902 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28259 bytes +2025-06-06 11:06:52,573 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:52,573 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1902 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:52,618 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1903 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28173 bytes +2025-06-06 11:06:52,618 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:52,618 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1903 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:52,660 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1904 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28333 bytes +2025-06-06 11:06:52,660 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:52,660 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1904 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:52,700 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1905 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28347 bytes +2025-06-06 11:06:52,700 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:52,700 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1905 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:52,752 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1906 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28428 bytes +2025-06-06 11:06:52,753 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:52,753 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1906 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:52,787 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1907 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28481 bytes +2025-06-06 11:06:52,787 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:52,787 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1907 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:52,827 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1908 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28567 bytes +2025-06-06 11:06:52,827 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:52,827 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1908 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:52,874 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1909 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28555 bytes +2025-06-06 11:06:52,874 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:52,874 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1909 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:52,909 - video.core - INFO - ๐Ÿ“น Frame #1910 from producer producer_1749200719303: size=28374 bytes, resolution=640x480 +2025-06-06 11:06:52,909 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1910 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28374 bytes +2025-06-06 11:06:52,909 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:52,909 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1910 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:52,954 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1911 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28231 bytes +2025-06-06 11:06:52,954 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:52,954 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1911 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:52,999 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1912 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28112 bytes +2025-06-06 11:06:52,999 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:52,999 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1912 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:53,043 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1913 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28034 bytes +2025-06-06 11:06:53,043 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:53,043 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1913 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:53,089 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1914 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28063 bytes +2025-06-06 11:06:53,089 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:53,089 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1914 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:53,137 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1915 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28225 bytes +2025-06-06 11:06:53,137 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:53,137 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1915 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:53,178 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1916 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28343 bytes +2025-06-06 11:06:53,178 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:53,178 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1916 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:53,219 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1917 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28344 bytes +2025-06-06 11:06:53,220 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:53,220 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1917 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:53,264 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1918 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28261 bytes +2025-06-06 11:06:53,265 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:53,265 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1918 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:53,308 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1919 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28249 bytes +2025-06-06 11:06:53,308 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:53,308 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1919 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:53,355 - video.core - INFO - ๐Ÿ“น Frame #1920 from producer producer_1749200719303: size=28293 bytes, resolution=640x480 +2025-06-06 11:06:53,356 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1920 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28293 bytes +2025-06-06 11:06:53,356 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:53,356 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1920 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:53,356 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1920 frames processed, 22.7 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:53,356 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1920 frames, 20.0 FPS, 4.45 Mbps throughput, 27787 bytes avg frame size +2025-06-06 11:06:53,356 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 1920 frames processed, FPS: 23.1, Throughput: 5.13 Mbps, Avg frame size: 27787 bytes +2025-06-06 11:06:53,389 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1921 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28237 bytes +2025-06-06 11:06:53,389 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:53,389 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1921 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:53,437 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1922 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28318 bytes +2025-06-06 11:06:53,437 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:53,438 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1922 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:53,483 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1923 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28377 bytes +2025-06-06 11:06:53,484 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:53,484 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1923 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:53,527 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1924 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28339 bytes +2025-06-06 11:06:53,527 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:53,527 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1924 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:53,567 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1925 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28244 bytes +2025-06-06 11:06:53,567 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:53,567 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1925 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:53,611 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1926 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28351 bytes +2025-06-06 11:06:53,612 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:53,612 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1926 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:53,655 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1927 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28405 bytes +2025-06-06 11:06:53,655 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:53,655 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1927 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:53,700 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1928 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28469 bytes +2025-06-06 11:06:53,700 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:53,700 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1928 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:53,747 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1929 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28568 bytes +2025-06-06 11:06:53,747 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:53,747 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1929 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:53,785 - video.core - INFO - ๐Ÿ“น Frame #1930 from producer producer_1749200719303: size=28612 bytes, resolution=640x480 +2025-06-06 11:06:53,786 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1930 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28612 bytes +2025-06-06 11:06:53,786 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:53,786 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1930 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:53,828 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1931 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28703 bytes +2025-06-06 11:06:53,829 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:53,829 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1931 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:53,875 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1932 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28799 bytes +2025-06-06 11:06:53,875 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:53,875 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1932 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:53,917 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1933 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28827 bytes +2025-06-06 11:06:53,918 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:53,918 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1933 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:53,959 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1934 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28849 bytes +2025-06-06 11:06:53,959 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:53,959 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1934 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:53,997 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1935 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28833 bytes +2025-06-06 11:06:53,997 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:53,997 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1935 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:54,038 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1936 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28781 bytes +2025-06-06 11:06:54,038 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:54,038 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1936 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:54,090 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1937 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28804 bytes +2025-06-06 11:06:54,090 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:54,090 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1937 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:54,130 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1938 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28754 bytes +2025-06-06 11:06:54,130 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:54,130 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1938 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:54,174 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1939 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28785 bytes +2025-06-06 11:06:54,174 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:54,174 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1939 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:54,217 - video.core - INFO - ๐Ÿ“น Frame #1940 from producer producer_1749200719303: size=28786 bytes, resolution=640x480 +2025-06-06 11:06:54,217 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1940 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28786 bytes +2025-06-06 11:06:54,217 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:54,217 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1940 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:54,261 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1941 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28799 bytes +2025-06-06 11:06:54,262 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:54,262 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1941 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:54,301 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1942 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28866 bytes +2025-06-06 11:06:54,302 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:54,302 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1942 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:54,343 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1943 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28692 bytes +2025-06-06 11:06:54,343 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:54,343 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1943 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:54,389 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1944 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28629 bytes +2025-06-06 11:06:54,389 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:54,389 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1944 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:54,435 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1945 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28673 bytes +2025-06-06 11:06:54,435 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:54,435 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1945 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:54,476 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1946 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28697 bytes +2025-06-06 11:06:54,476 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:54,476 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1946 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:54,521 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1947 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28731 bytes +2025-06-06 11:06:54,521 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:54,521 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1947 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:54,565 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1948 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28749 bytes +2025-06-06 11:06:54,565 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:54,565 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1948 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:54,609 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1949 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28812 bytes +2025-06-06 11:06:54,609 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:54,609 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1949 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:54,651 - video.core - INFO - ๐Ÿ“น Frame #1950 from producer producer_1749200719303: size=28770 bytes, resolution=640x480 +2025-06-06 11:06:54,651 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1950 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28770 bytes +2025-06-06 11:06:54,651 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:54,651 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1950 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:54,651 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1950 frames processed, 22.7 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:54,651 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1950 frames, 20.1 FPS, 4.46 Mbps throughput, 27800 bytes avg frame size +2025-06-06 11:06:54,651 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 1950 frames processed, FPS: 23.1, Throughput: 5.14 Mbps, Avg frame size: 27800 bytes +2025-06-06 11:06:54,691 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1951 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28769 bytes +2025-06-06 11:06:54,691 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:54,691 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1951 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:54,731 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1952 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28618 bytes +2025-06-06 11:06:54,731 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:54,731 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1952 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:54,807 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1953 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28174 bytes +2025-06-06 11:06:54,807 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:54,807 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1953 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:54,883 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1954 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27885 bytes +2025-06-06 11:06:54,883 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:54,883 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1954 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:54,889 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1955 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27789 bytes +2025-06-06 11:06:54,889 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:54,890 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1955 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:54,922 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1956 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27835 bytes +2025-06-06 11:06:54,922 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:54,922 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1956 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:54,951 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1957 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28039 bytes +2025-06-06 11:06:54,952 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:54,952 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1957 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:54,992 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1958 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28060 bytes +2025-06-06 11:06:54,992 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:54,993 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1958 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:55,031 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1959 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28254 bytes +2025-06-06 11:06:55,031 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:55,031 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1959 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:55,083 - video.core - INFO - ๐Ÿ“น Frame #1960 from producer producer_1749200719303: size=28305 bytes, resolution=640x480 +2025-06-06 11:06:55,083 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1960 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28305 bytes +2025-06-06 11:06:55,083 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:55,083 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1960 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:55,124 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1961 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28397 bytes +2025-06-06 11:06:55,124 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:55,124 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1961 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:55,169 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1962 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28446 bytes +2025-06-06 11:06:55,169 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:55,169 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1962 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:55,215 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1963 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28503 bytes +2025-06-06 11:06:55,215 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:55,215 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1963 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:55,257 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1964 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28612 bytes +2025-06-06 11:06:55,257 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:55,257 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1964 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:55,301 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1965 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28700 bytes +2025-06-06 11:06:55,301 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:55,301 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1965 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:55,345 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1966 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28796 bytes +2025-06-06 11:06:55,345 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:55,345 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1966 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:55,390 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1967 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28735 bytes +2025-06-06 11:06:55,390 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:55,390 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1967 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:55,435 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1968 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28850 bytes +2025-06-06 11:06:55,435 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:55,435 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1968 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:55,475 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1969 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28883 bytes +2025-06-06 11:06:55,475 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:55,475 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1969 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:55,512 - video.core - INFO - ๐Ÿ“น Frame #1970 from producer producer_1749200719303: size=28691 bytes, resolution=640x480 +2025-06-06 11:06:55,512 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1970 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28691 bytes +2025-06-06 11:06:55,512 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:55,512 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1970 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:55,558 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1971 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28617 bytes +2025-06-06 11:06:55,558 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:55,558 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1971 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:55,601 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1972 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28452 bytes +2025-06-06 11:06:55,602 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:55,602 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1972 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:55,646 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1973 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28407 bytes +2025-06-06 11:06:55,646 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:55,646 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1973 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:55,689 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1974 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28543 bytes +2025-06-06 11:06:55,690 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:55,690 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1974 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:55,732 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1975 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28525 bytes +2025-06-06 11:06:55,732 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:55,732 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1975 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:55,774 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1976 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28578 bytes +2025-06-06 11:06:55,774 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:55,774 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1976 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:55,822 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1977 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28506 bytes +2025-06-06 11:06:55,822 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:55,822 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1977 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:55,865 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1978 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28473 bytes +2025-06-06 11:06:55,866 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:55,866 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1978 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:55,909 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1979 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28527 bytes +2025-06-06 11:06:55,910 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:55,910 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1979 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:55,953 - video.core - INFO - ๐Ÿ“น Frame #1980 from producer producer_1749200719303: size=28380 bytes, resolution=640x480 +2025-06-06 11:06:55,954 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1980 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28380 bytes +2025-06-06 11:06:55,954 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:55,954 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1980 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:55,954 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1980 frames processed, 22.7 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:55,954 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1980 frames, 20.1 FPS, 4.47 Mbps throughput, 27810 bytes avg frame size +2025-06-06 11:06:55,954 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 1980 frames processed, FPS: 23.1, Throughput: 5.14 Mbps, Avg frame size: 27810 bytes +2025-06-06 11:06:55,990 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1981 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28450 bytes +2025-06-06 11:06:55,990 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:55,990 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1981 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:56,029 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1982 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28351 bytes +2025-06-06 11:06:56,029 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:56,029 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1982 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:56,075 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1983 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28339 bytes +2025-06-06 11:06:56,075 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:56,075 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1983 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:56,115 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1984 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28383 bytes +2025-06-06 11:06:56,115 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:56,115 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1984 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:56,159 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1985 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28353 bytes +2025-06-06 11:06:56,160 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:56,160 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1985 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:56,201 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1986 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28289 bytes +2025-06-06 11:06:56,201 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:56,201 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1986 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:56,246 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1987 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28296 bytes +2025-06-06 11:06:56,246 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:56,246 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1987 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:56,286 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1988 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28367 bytes +2025-06-06 11:06:56,286 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:56,286 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1988 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:56,330 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1989 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28253 bytes +2025-06-06 11:06:56,330 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:56,330 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1989 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:56,375 - video.core - INFO - ๐Ÿ“น Frame #1990 from producer producer_1749200719303: size=28263 bytes, resolution=640x480 +2025-06-06 11:06:56,375 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1990 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28263 bytes +2025-06-06 11:06:56,375 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:56,375 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1990 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:56,417 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1991 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28323 bytes +2025-06-06 11:06:56,418 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:56,418 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1991 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:56,462 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1992 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28192 bytes +2025-06-06 11:06:56,462 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:56,462 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1992 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:56,499 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1993 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28107 bytes +2025-06-06 11:06:56,499 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:56,499 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1993 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:56,546 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1994 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28382 bytes +2025-06-06 11:06:56,546 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:56,546 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1994 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:56,596 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1995 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28499 bytes +2025-06-06 11:06:56,596 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:56,597 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1995 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:56,638 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1996 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28442 bytes +2025-06-06 11:06:56,638 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:56,638 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1996 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:56,685 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1997 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28456 bytes +2025-06-06 11:06:56,685 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:56,685 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1997 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:56,725 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1998 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28445 bytes +2025-06-06 11:06:56,726 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:56,726 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1998 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:56,774 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1999 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28046 bytes +2025-06-06 11:06:56,775 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:56,775 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1999 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:56,817 - video.core - INFO - ๐Ÿ“น Frame #2000 from producer producer_1749200719303: size=27999 bytes, resolution=640x480 +2025-06-06 11:06:56,817 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2000 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27999 bytes +2025-06-06 11:06:56,817 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:56,818 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2000 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:56,863 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2001 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27986 bytes +2025-06-06 11:06:56,863 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:56,864 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2001 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:56,913 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2002 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27973 bytes +2025-06-06 11:06:56,913 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:56,913 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2002 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:56,938 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2003 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27885 bytes +2025-06-06 11:06:56,938 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:56,938 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2003 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:56,983 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2004 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27994 bytes +2025-06-06 11:06:56,983 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:56,983 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2004 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:57,028 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2005 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28089 bytes +2025-06-06 11:06:57,029 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:57,029 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2005 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:57,067 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2006 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27949 bytes +2025-06-06 11:06:57,067 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:57,067 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2006 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:57,109 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2007 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27875 bytes +2025-06-06 11:06:57,109 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:57,109 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2007 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:57,153 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2008 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28074 bytes +2025-06-06 11:06:57,154 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:57,154 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2008 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:57,196 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2009 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27984 bytes +2025-06-06 11:06:57,197 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:57,197 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2009 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:57,235 - video.core - INFO - ๐ŸงŠ WebRTC consumer_1749200721100 ICE state: closed +2025-06-06 11:06:57,235 - video.core - INFO - ๐Ÿ”— WebRTC consumer_1749200721100 connection state: closed +2025-06-06 11:06:57,236 - video.core - INFO - ๐ŸŽฅ Consumer consumer_1749200721100 left video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:06:57,237 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Cleaned up WebRTC connection for consumer_1749200721100 +2025-06-06 11:06:57,239 - video.core - INFO - ๐Ÿ“น Frame #2010 from producer producer_1749200719303: size=28045 bytes, resolution=640x480 +2025-06-06 11:06:57,239 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2010 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28045 bytes +2025-06-06 11:06:57,239 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2010 to 0 consumers in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:57,239 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 2010 frames processed, 22.7 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:57,239 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 2010 frames, 20.1 FPS, 4.48 Mbps throughput, 27815 bytes avg frame size +2025-06-06 11:06:57,239 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 2010 frames processed, FPS: 23.1, Throughput: 5.14 Mbps, Avg frame size: 27815 bytes +2025-06-06 11:06:57,280 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2011 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28102 bytes +2025-06-06 11:06:57,280 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2011 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:57,330 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2012 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28169 bytes +2025-06-06 11:06:57,330 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2012 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:57,374 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2013 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28123 bytes +2025-06-06 11:06:57,374 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2013 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:57,420 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2014 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28207 bytes +2025-06-06 11:06:57,421 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2014 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:57,461 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2015 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28260 bytes +2025-06-06 11:06:57,461 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2015 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:57,503 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2016 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28274 bytes +2025-06-06 11:06:57,503 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2016 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:57,552 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2017 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28135 bytes +2025-06-06 11:06:57,552 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2017 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:57,594 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2018 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28300 bytes +2025-06-06 11:06:57,594 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2018 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:57,640 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2019 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28325 bytes +2025-06-06 11:06:57,640 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2019 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:57,688 - video.core - INFO - ๐Ÿ“น Frame #2020 from producer producer_1749200719303: size=28426 bytes, resolution=640x480 +2025-06-06 11:06:57,688 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2020 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28426 bytes +2025-06-06 11:06:57,688 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2020 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:57,734 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2021 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28457 bytes +2025-06-06 11:06:57,734 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2021 to 0 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:57,779 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2022 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28329 bytes +2025-06-06 11:06:57,780 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2022 to 0 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:57,821 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2023 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28263 bytes +2025-06-06 11:06:57,822 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2023 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:57,860 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2024 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28219 bytes +2025-06-06 11:06:57,860 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2024 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:57,910 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2025 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28307 bytes +2025-06-06 11:06:57,911 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2025 to 0 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:57,957 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2026 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28417 bytes +2025-06-06 11:06:57,957 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2026 to 0 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:57,987 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2027 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28555 bytes +2025-06-06 11:06:57,987 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2027 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:58,022 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2028 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28559 bytes +2025-06-06 11:06:58,022 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2028 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:58,088 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2029 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28590 bytes +2025-06-06 11:06:58,101 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2029 to 0 consumers in 18.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:58,208 - video.core - INFO - ๐Ÿ“น Frame #2030 from producer producer_1749200719303: size=28559 bytes, resolution=640x480 +2025-06-06 11:06:58,210 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2030 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28559 bytes +2025-06-06 11:06:58,211 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2030 to 0 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:58,213 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2031 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28575 bytes +2025-06-06 11:06:58,213 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2031 to 0 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:58,215 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2032 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28600 bytes +2025-06-06 11:06:58,217 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2032 to 0 consumers in 2.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:58,257 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2033 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28697 bytes +2025-06-06 11:06:58,257 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2033 to 0 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:58,274 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2034 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28597 bytes +2025-06-06 11:06:58,274 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2034 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:58,324 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2035 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28670 bytes +2025-06-06 11:06:58,324 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2035 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:58,370 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2036 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28686 bytes +2025-06-06 11:06:58,370 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2036 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:58,413 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2037 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28630 bytes +2025-06-06 11:06:58,413 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2037 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:58,453 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2038 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28701 bytes +2025-06-06 11:06:58,453 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2038 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:58,494 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2039 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28674 bytes +2025-06-06 11:06:58,494 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2039 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:58,538 - video.core - INFO - ๐Ÿ“น Frame #2040 from producer producer_1749200719303: size=28619 bytes, resolution=640x480 +2025-06-06 11:06:58,539 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2040 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28619 bytes +2025-06-06 11:06:58,539 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2040 to 0 consumers in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:58,539 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 2040 frames processed, 22.7 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:58,539 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 2040 frames, 20.2 FPS, 4.49 Mbps throughput, 27825 bytes avg frame size +2025-06-06 11:06:58,539 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 2040 frames processed, FPS: 23.1, Throughput: 5.14 Mbps, Avg frame size: 27825 bytes +2025-06-06 11:06:58,580 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2041 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28631 bytes +2025-06-06 11:06:58,580 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2041 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:58,623 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2042 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28640 bytes +2025-06-06 11:06:58,623 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2042 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:58,666 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2043 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28709 bytes +2025-06-06 11:06:58,666 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2043 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:58,708 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2044 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28793 bytes +2025-06-06 11:06:58,708 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2044 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:58,753 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2045 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28824 bytes +2025-06-06 11:06:58,754 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2045 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:58,795 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2046 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28883 bytes +2025-06-06 11:06:58,796 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2046 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:58,845 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2047 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28874 bytes +2025-06-06 11:06:58,845 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2047 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:58,886 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2048 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28961 bytes +2025-06-06 11:06:58,886 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2048 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:58,927 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2049 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29144 bytes +2025-06-06 11:06:58,927 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2049 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:58,977 - video.core - INFO - ๐Ÿ“น Frame #2050 from producer producer_1749200719303: size=29195 bytes, resolution=640x480 +2025-06-06 11:06:58,977 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2050 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29195 bytes +2025-06-06 11:06:58,977 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2050 to 0 consumers in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:59,008 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2051 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29245 bytes +2025-06-06 11:06:59,008 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2051 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:59,055 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2052 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29236 bytes +2025-06-06 11:06:59,056 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2052 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:59,102 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2053 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29335 bytes +2025-06-06 11:06:59,102 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2053 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:59,139 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2054 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29422 bytes +2025-06-06 11:06:59,140 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2054 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:59,186 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2055 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29558 bytes +2025-06-06 11:06:59,186 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2055 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:59,234 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2056 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29772 bytes +2025-06-06 11:06:59,234 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2056 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:59,273 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2057 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29849 bytes +2025-06-06 11:06:59,273 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2057 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:59,318 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2058 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29908 bytes +2025-06-06 11:06:59,319 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2058 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:59,363 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2059 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29832 bytes +2025-06-06 11:06:59,363 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2059 to 0 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:59,402 - video.core - INFO - ๐Ÿ“น Frame #2060 from producer producer_1749200719303: size=29491 bytes, resolution=640x480 +2025-06-06 11:06:59,402 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2060 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29491 bytes +2025-06-06 11:06:59,402 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2060 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:59,445 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2061 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29093 bytes +2025-06-06 11:06:59,445 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2061 to 0 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:59,488 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2062 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28564 bytes +2025-06-06 11:06:59,489 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2062 to 0 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:59,532 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2063 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28623 bytes +2025-06-06 11:06:59,532 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2063 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:59,574 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2064 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28799 bytes +2025-06-06 11:06:59,574 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2064 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:59,618 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2065 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28695 bytes +2025-06-06 11:06:59,618 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2065 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:59,674 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2066 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28830 bytes +2025-06-06 11:06:59,674 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2066 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:59,705 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2067 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28817 bytes +2025-06-06 11:06:59,705 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2067 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:59,754 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2068 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28778 bytes +2025-06-06 11:06:59,754 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2068 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:59,795 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2069 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28788 bytes +2025-06-06 11:06:59,796 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2069 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:59,840 - video.core - INFO - ๐Ÿ“น Frame #2070 from producer producer_1749200719303: size=28736 bytes, resolution=640x480 +2025-06-06 11:06:59,841 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2070 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28736 bytes +2025-06-06 11:06:59,841 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2070 to 0 consumers in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:59,841 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 2070 frames processed, 22.7 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:59,841 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 2070 frames, 20.2 FPS, 4.50 Mbps throughput, 27843 bytes avg frame size +2025-06-06 11:06:59,841 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 2070 frames processed, FPS: 23.1, Throughput: 5.14 Mbps, Avg frame size: 27843 bytes +2025-06-06 11:06:59,884 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2071 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28621 bytes +2025-06-06 11:06:59,884 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2071 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:59,922 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2072 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28745 bytes +2025-06-06 11:06:59,923 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2072 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:06:59,970 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2073 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28781 bytes +2025-06-06 11:06:59,970 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2073 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:00,009 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2074 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28335 bytes +2025-06-06 11:07:00,010 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2074 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:00,051 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2075 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28489 bytes +2025-06-06 11:07:00,052 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2075 to 0 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:00,095 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2076 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28429 bytes +2025-06-06 11:07:00,095 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2076 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:00,140 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2077 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28460 bytes +2025-06-06 11:07:00,140 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2077 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:00,184 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2078 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28392 bytes +2025-06-06 11:07:00,184 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2078 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:00,225 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2079 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28408 bytes +2025-06-06 11:07:00,225 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2079 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:00,271 - video.core - INFO - ๐Ÿ“น Frame #2080 from producer producer_1749200719303: size=28573 bytes, resolution=640x480 +2025-06-06 11:07:00,271 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2080 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28573 bytes +2025-06-06 11:07:00,271 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2080 to 0 consumers in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:00,310 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2081 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28761 bytes +2025-06-06 11:07:00,310 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2081 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:00,356 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2082 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28872 bytes +2025-06-06 11:07:00,356 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2082 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:00,401 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2083 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28878 bytes +2025-06-06 11:07:00,401 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2083 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:00,439 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2084 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28665 bytes +2025-06-06 11:07:00,439 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2084 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:00,483 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2085 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28791 bytes +2025-06-06 11:07:00,483 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2085 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:00,528 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2086 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28875 bytes +2025-06-06 11:07:00,528 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2086 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:00,576 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2087 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28835 bytes +2025-06-06 11:07:00,576 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2087 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:00,618 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2088 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28793 bytes +2025-06-06 11:07:00,618 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2088 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:00,660 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2089 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28827 bytes +2025-06-06 11:07:00,660 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2089 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:00,706 - video.core - INFO - ๐Ÿ“น Frame #2090 from producer producer_1749200719303: size=28515 bytes, resolution=640x480 +2025-06-06 11:07:00,706 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2090 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28515 bytes +2025-06-06 11:07:00,706 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2090 to 0 consumers in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:00,744 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2091 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28510 bytes +2025-06-06 11:07:00,744 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2091 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:00,791 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2092 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28641 bytes +2025-06-06 11:07:00,791 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2092 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:00,832 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2093 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28680 bytes +2025-06-06 11:07:00,832 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2093 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:00,875 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2094 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28670 bytes +2025-06-06 11:07:00,875 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2094 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:00,922 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2095 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28761 bytes +2025-06-06 11:07:00,922 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2095 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:00,965 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2096 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28942 bytes +2025-06-06 11:07:00,966 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2096 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:01,003 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2097 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28824 bytes +2025-06-06 11:07:01,003 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2097 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:01,043 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2098 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28914 bytes +2025-06-06 11:07:01,044 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2098 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:01,095 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2099 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28997 bytes +2025-06-06 11:07:01,095 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2099 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:01,140 - video.core - INFO - ๐Ÿ“น Frame #2100 from producer producer_1749200719303: size=29060 bytes, resolution=640x480 +2025-06-06 11:07:01,141 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2100 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29060 bytes +2025-06-06 11:07:01,141 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2100 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:01,141 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 2100 frames processed, 22.7 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:01,141 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 2100 frames, 20.3 FPS, 4.51 Mbps throughput, 27855 bytes avg frame size +2025-06-06 11:07:01,141 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 2100 frames processed, FPS: 23.1, Throughput: 5.15 Mbps, Avg frame size: 27855 bytes +2025-06-06 11:07:01,175 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2101 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29166 bytes +2025-06-06 11:07:01,175 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2101 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:01,220 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2102 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29285 bytes +2025-06-06 11:07:01,220 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2102 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:01,267 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2103 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29286 bytes +2025-06-06 11:07:01,267 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2103 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:01,309 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2104 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29303 bytes +2025-06-06 11:07:01,309 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2104 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:01,358 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2105 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29331 bytes +2025-06-06 11:07:01,358 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2105 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:01,404 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2106 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29348 bytes +2025-06-06 11:07:01,404 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2106 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:01,445 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2107 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29451 bytes +2025-06-06 11:07:01,445 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2107 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:01,487 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2108 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29494 bytes +2025-06-06 11:07:01,487 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2108 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:01,540 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2109 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29361 bytes +2025-06-06 11:07:01,540 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2109 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:01,578 - video.core - INFO - ๐Ÿ“น Frame #2110 from producer producer_1749200719303: size=29380 bytes, resolution=640x480 +2025-06-06 11:07:01,579 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2110 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29380 bytes +2025-06-06 11:07:01,579 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2110 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:01,615 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2111 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29386 bytes +2025-06-06 11:07:01,616 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2111 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:01,663 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2112 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29350 bytes +2025-06-06 11:07:01,663 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2112 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:01,707 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2113 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29360 bytes +2025-06-06 11:07:01,707 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2113 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:01,751 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2114 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29449 bytes +2025-06-06 11:07:01,751 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2114 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:01,795 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2115 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29344 bytes +2025-06-06 11:07:01,795 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2115 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:01,836 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2116 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29413 bytes +2025-06-06 11:07:01,836 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2116 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:01,883 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2117 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29425 bytes +2025-06-06 11:07:01,883 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2117 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:01,922 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2118 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29427 bytes +2025-06-06 11:07:01,922 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2118 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:01,966 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2119 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29386 bytes +2025-06-06 11:07:01,966 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2119 to 0 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:02,000 - video.core - INFO - ๐Ÿ“น Frame #2120 from producer producer_1749200719303: size=29288 bytes, resolution=640x480 +2025-06-06 11:07:02,000 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2120 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29288 bytes +2025-06-06 11:07:02,000 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2120 to 0 consumers in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:02,039 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2121 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29295 bytes +2025-06-06 11:07:02,039 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2121 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:02,087 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2122 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29396 bytes +2025-06-06 11:07:02,087 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2122 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:02,134 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2123 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29405 bytes +2025-06-06 11:07:02,134 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2123 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:02,175 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2124 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29419 bytes +2025-06-06 11:07:02,175 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2124 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:02,223 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2125 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29511 bytes +2025-06-06 11:07:02,223 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2125 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:02,269 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2126 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29500 bytes +2025-06-06 11:07:02,269 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2126 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:02,343 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2127 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29561 bytes +2025-06-06 11:07:02,343 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2127 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:02,372 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2128 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29464 bytes +2025-06-06 11:07:02,387 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2128 to 0 consumers in 15.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:02,420 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2129 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29440 bytes +2025-06-06 11:07:02,420 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2129 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:02,456 - video.core - INFO - ๐Ÿ“น Frame #2130 from producer producer_1749200719303: size=29454 bytes, resolution=640x480 +2025-06-06 11:07:02,456 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2130 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29454 bytes +2025-06-06 11:07:02,456 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2130 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:02,456 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 2130 frames processed, 22.7 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:02,456 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 2130 frames, 20.3 FPS, 4.52 Mbps throughput, 27876 bytes avg frame size +2025-06-06 11:07:02,456 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 2130 frames processed, FPS: 23.1, Throughput: 5.15 Mbps, Avg frame size: 27876 bytes +2025-06-06 11:07:02,472 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2131 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29519 bytes +2025-06-06 11:07:02,472 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2131 to 0 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:02,518 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2132 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29409 bytes +2025-06-06 11:07:02,518 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2132 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:02,568 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2133 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29498 bytes +2025-06-06 11:07:02,568 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2133 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:02,606 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2134 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29489 bytes +2025-06-06 11:07:02,606 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2134 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:02,659 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2135 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29549 bytes +2025-06-06 11:07:02,659 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2135 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:02,706 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2136 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29505 bytes +2025-06-06 11:07:02,706 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2136 to 0 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:02,746 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2137 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29346 bytes +2025-06-06 11:07:02,746 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2137 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:02,788 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2138 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29377 bytes +2025-06-06 11:07:02,788 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2138 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:02,820 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2139 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29362 bytes +2025-06-06 11:07:02,820 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2139 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:02,863 - video.core - INFO - ๐Ÿ“น Frame #2140 from producer producer_1749200719303: size=29221 bytes, resolution=640x480 +2025-06-06 11:07:02,863 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2140 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29221 bytes +2025-06-06 11:07:02,863 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2140 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:02,909 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2141 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29141 bytes +2025-06-06 11:07:02,909 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2141 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:02,957 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2142 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28988 bytes +2025-06-06 11:07:02,957 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2142 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:02,991 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2143 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28970 bytes +2025-06-06 11:07:02,991 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2143 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:03,036 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2144 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28773 bytes +2025-06-06 11:07:03,036 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2144 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:03,087 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2145 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28893 bytes +2025-06-06 11:07:03,087 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2145 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:03,128 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2146 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28852 bytes +2025-06-06 11:07:03,128 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2146 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:03,170 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2147 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28836 bytes +2025-06-06 11:07:03,170 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2147 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:03,209 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2148 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28636 bytes +2025-06-06 11:07:03,209 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2148 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:03,252 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2149 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28679 bytes +2025-06-06 11:07:03,252 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2149 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:03,306 - video.core - INFO - ๐Ÿ“น Frame #2150 from producer producer_1749200719303: size=28782 bytes, resolution=640x480 +2025-06-06 11:07:03,306 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2150 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28782 bytes +2025-06-06 11:07:03,306 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2150 to 0 consumers in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:03,343 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2151 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28699 bytes +2025-06-06 11:07:03,343 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2151 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:03,385 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2152 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28722 bytes +2025-06-06 11:07:03,385 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2152 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:03,427 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2153 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28811 bytes +2025-06-06 11:07:03,427 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2153 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:03,473 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2154 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28838 bytes +2025-06-06 11:07:03,473 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2154 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:03,514 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2155 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28707 bytes +2025-06-06 11:07:03,514 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2155 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:03,558 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2156 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28633 bytes +2025-06-06 11:07:03,558 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2156 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:03,605 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2157 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28512 bytes +2025-06-06 11:07:03,605 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2157 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:03,649 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2158 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28411 bytes +2025-06-06 11:07:03,650 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2158 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:03,692 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2159 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28357 bytes +2025-06-06 11:07:03,692 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2159 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:03,741 - video.core - INFO - ๐Ÿ“น Frame #2160 from producer producer_1749200719303: size=28806 bytes, resolution=640x480 +2025-06-06 11:07:03,741 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2160 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28806 bytes +2025-06-06 11:07:03,741 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2160 to 0 consumers in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:03,741 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 2160 frames processed, 22.8 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:03,741 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 2160 frames, 20.3 FPS, 4.54 Mbps throughput, 27892 bytes avg frame size +2025-06-06 11:07:03,741 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 2160 frames processed, FPS: 23.1, Throughput: 5.15 Mbps, Avg frame size: 27892 bytes +2025-06-06 11:07:03,782 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2161 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28320 bytes +2025-06-06 11:07:03,782 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2161 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:03,828 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2162 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27546 bytes +2025-06-06 11:07:03,828 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2162 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:03,874 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2163 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27085 bytes +2025-06-06 11:07:03,874 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2163 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:03,914 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2164 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27750 bytes +2025-06-06 11:07:03,915 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2164 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:03,957 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2165 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27814 bytes +2025-06-06 11:07:03,957 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2165 to 0 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:03,996 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2166 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27536 bytes +2025-06-06 11:07:03,996 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2166 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:04,032 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2167 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27633 bytes +2025-06-06 11:07:04,032 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2167 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:04,073 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2168 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27911 bytes +2025-06-06 11:07:04,073 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2168 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:04,124 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2169 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28165 bytes +2025-06-06 11:07:04,124 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2169 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:04,172 - video.core - INFO - ๐Ÿ“น Frame #2170 from producer producer_1749200719303: size=28076 bytes, resolution=640x480 +2025-06-06 11:07:04,172 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2170 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28076 bytes +2025-06-06 11:07:04,172 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2170 to 0 consumers in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:04,211 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2171 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27795 bytes +2025-06-06 11:07:04,211 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2171 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:04,249 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2172 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27736 bytes +2025-06-06 11:07:04,249 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2172 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:04,290 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2173 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27710 bytes +2025-06-06 11:07:04,290 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2173 to 0 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:04,337 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2174 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27427 bytes +2025-06-06 11:07:04,337 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2174 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:04,384 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2175 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27523 bytes +2025-06-06 11:07:04,384 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2175 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:04,424 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2176 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27397 bytes +2025-06-06 11:07:04,424 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2176 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:04,469 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2177 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27517 bytes +2025-06-06 11:07:04,469 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2177 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:04,520 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2178 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27654 bytes +2025-06-06 11:07:04,521 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2178 to 0 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:04,566 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2179 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27784 bytes +2025-06-06 11:07:04,566 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2179 to 0 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:04,618 - video.core - INFO - ๐Ÿ“น Frame #2180 from producer producer_1749200719303: size=27791 bytes, resolution=640x480 +2025-06-06 11:07:04,618 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2180 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27791 bytes +2025-06-06 11:07:04,618 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2180 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:04,640 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2181 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27845 bytes +2025-06-06 11:07:04,641 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2181 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:04,687 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2182 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27885 bytes +2025-06-06 11:07:04,687 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2182 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:04,732 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2183 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27741 bytes +2025-06-06 11:07:04,732 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2183 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:04,781 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2184 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27901 bytes +2025-06-06 11:07:04,781 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2184 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:04,819 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2185 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27910 bytes +2025-06-06 11:07:04,819 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2185 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:04,859 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2186 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27908 bytes +2025-06-06 11:07:04,859 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2186 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:04,906 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2187 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27932 bytes +2025-06-06 11:07:04,906 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2187 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:04,943 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2188 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28022 bytes +2025-06-06 11:07:04,943 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2188 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:04,985 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2189 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28072 bytes +2025-06-06 11:07:04,985 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2189 to 0 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:05,025 - video.core - INFO - ๐Ÿ“น Frame #2190 from producer producer_1749200719303: size=28123 bytes, resolution=640x480 +2025-06-06 11:07:05,025 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2190 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28123 bytes +2025-06-06 11:07:05,025 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2190 to 0 consumers in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:05,025 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 2190 frames processed, 22.8 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:05,025 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 2190 frames, 20.4 FPS, 4.54 Mbps throughput, 27890 bytes avg frame size +2025-06-06 11:07:05,025 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 2190 frames processed, FPS: 23.1, Throughput: 5.15 Mbps, Avg frame size: 27890 bytes +2025-06-06 11:07:05,068 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2191 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28196 bytes +2025-06-06 11:07:05,068 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2191 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:05,119 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2192 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28268 bytes +2025-06-06 11:07:05,119 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2192 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:05,164 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2193 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28229 bytes +2025-06-06 11:07:05,164 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2193 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:05,206 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2194 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28231 bytes +2025-06-06 11:07:05,206 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2194 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:05,251 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2195 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28296 bytes +2025-06-06 11:07:05,251 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2195 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:05,285 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2196 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28347 bytes +2025-06-06 11:07:05,286 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2196 to 0 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:05,329 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2197 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28291 bytes +2025-06-06 11:07:05,329 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2197 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:05,373 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2198 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28368 bytes +2025-06-06 11:07:05,373 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2198 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:05,419 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2199 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28255 bytes +2025-06-06 11:07:05,419 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2199 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:05,460 - video.core - INFO - ๐Ÿ“น Frame #2200 from producer producer_1749200719303: size=28307 bytes, resolution=640x480 +2025-06-06 11:07:05,460 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2200 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28307 bytes +2025-06-06 11:07:05,460 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2200 to 0 consumers in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:05,503 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2201 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28465 bytes +2025-06-06 11:07:05,503 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2201 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:05,544 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2202 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28485 bytes +2025-06-06 11:07:05,544 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2202 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:05,587 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2203 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28408 bytes +2025-06-06 11:07:05,587 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2203 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:05,629 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2204 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28490 bytes +2025-06-06 11:07:05,630 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2204 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:05,675 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2205 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28441 bytes +2025-06-06 11:07:05,676 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2205 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:05,720 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2206 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28212 bytes +2025-06-06 11:07:05,720 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2206 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:05,763 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2207 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28246 bytes +2025-06-06 11:07:05,763 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2207 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:05,806 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2208 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28320 bytes +2025-06-06 11:07:05,806 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2208 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:05,846 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2209 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28396 bytes +2025-06-06 11:07:05,847 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2209 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:05,892 - video.core - INFO - ๐Ÿ“น Frame #2210 from producer producer_1749200719303: size=28461 bytes, resolution=640x480 +2025-06-06 11:07:05,892 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2210 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28461 bytes +2025-06-06 11:07:05,892 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2210 to 0 consumers in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:05,938 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2211 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28430 bytes +2025-06-06 11:07:05,938 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2211 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:05,978 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2212 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28426 bytes +2025-06-06 11:07:05,978 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2212 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:06,020 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2213 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28435 bytes +2025-06-06 11:07:06,020 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2213 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:06,062 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2214 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28395 bytes +2025-06-06 11:07:06,062 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2214 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:06,113 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2215 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28443 bytes +2025-06-06 11:07:06,113 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2215 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:06,158 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2216 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28463 bytes +2025-06-06 11:07:06,158 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2216 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:06,198 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2217 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28569 bytes +2025-06-06 11:07:06,198 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2217 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:06,243 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2218 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28701 bytes +2025-06-06 11:07:06,244 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2218 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:06,282 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2219 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28651 bytes +2025-06-06 11:07:06,282 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2219 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:06,322 - video.core - INFO - ๐Ÿ“น Frame #2220 from producer producer_1749200719303: size=28526 bytes, resolution=640x480 +2025-06-06 11:07:06,322 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2220 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28526 bytes +2025-06-06 11:07:06,322 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2220 to 0 consumers in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:06,322 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 2220 frames processed, 22.8 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:06,322 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 2220 frames, 20.4 FPS, 4.55 Mbps throughput, 27897 bytes avg frame size +2025-06-06 11:07:06,322 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 2220 frames processed, FPS: 23.1, Throughput: 5.15 Mbps, Avg frame size: 27897 bytes +2025-06-06 11:07:06,498 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2221 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28524 bytes +2025-06-06 11:07:06,498 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2221 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:06,499 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2222 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28459 bytes +2025-06-06 11:07:06,499 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2222 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:06,501 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2223 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28499 bytes +2025-06-06 11:07:06,501 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2223 to 0 consumers in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:06,507 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2224 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28532 bytes +2025-06-06 11:07:06,507 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2224 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:06,569 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2225 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28576 bytes +2025-06-06 11:07:06,569 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2225 to 0 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:06,582 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2226 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28531 bytes +2025-06-06 11:07:06,582 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2226 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:06,623 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2227 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28566 bytes +2025-06-06 11:07:06,623 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2227 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:06,674 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2228 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28582 bytes +2025-06-06 11:07:06,674 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2228 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:06,718 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2229 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28564 bytes +2025-06-06 11:07:06,718 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2229 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:06,759 - video.core - INFO - ๐Ÿ“น Frame #2230 from producer producer_1749200719303: size=28607 bytes, resolution=640x480 +2025-06-06 11:07:06,760 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2230 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28607 bytes +2025-06-06 11:07:06,760 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2230 to 0 consumers in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:06,804 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2231 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28615 bytes +2025-06-06 11:07:06,804 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2231 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:06,845 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2232 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28360 bytes +2025-06-06 11:07:06,845 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2232 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:06,892 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2233 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28282 bytes +2025-06-06 11:07:06,892 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2233 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:06,929 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2234 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28138 bytes +2025-06-06 11:07:06,930 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2234 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:06,975 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2235 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28141 bytes +2025-06-06 11:07:06,976 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2235 to 0 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:07,014 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2236 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28198 bytes +2025-06-06 11:07:07,014 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2236 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:07,058 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2237 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28363 bytes +2025-06-06 11:07:07,058 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2237 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:07,099 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2238 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28405 bytes +2025-06-06 11:07:07,099 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2238 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:07,175 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2239 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28394 bytes +2025-06-06 11:07:07,175 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2239 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:07,189 - video.core - INFO - ๐Ÿ“น Frame #2240 from producer producer_1749200719303: size=28452 bytes, resolution=640x480 +2025-06-06 11:07:07,189 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2240 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28452 bytes +2025-06-06 11:07:07,189 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2240 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:07,245 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2241 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28602 bytes +2025-06-06 11:07:07,245 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2241 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:07,273 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2242 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28631 bytes +2025-06-06 11:07:07,289 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2242 to 0 consumers in 12.9ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:07,415 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2243 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28697 bytes +2025-06-06 11:07:07,416 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2243 to 0 consumers in 0.8ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:07,460 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2244 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28703 bytes +2025-06-06 11:07:07,460 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2244 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:07,462 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2245 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28707 bytes +2025-06-06 11:07:07,463 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2245 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:07,472 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2246 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28446 bytes +2025-06-06 11:07:07,472 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2246 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:07,503 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2247 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27945 bytes +2025-06-06 11:07:07,504 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2247 to 0 consumers in 0.7ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:07,545 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2248 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27890 bytes +2025-06-06 11:07:07,546 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2248 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:07,587 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2249 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27887 bytes +2025-06-06 11:07:07,587 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2249 to 0 consumers in 0.7ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:07,621 - video.core - INFO - ๐Ÿ“น Frame #2250 from producer producer_1749200719303: size=27865 bytes, resolution=640x480 +2025-06-06 11:07:07,621 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2250 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27865 bytes +2025-06-06 11:07:07,621 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2250 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:07,621 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 2250 frames processed, 22.8 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:07,621 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 2250 frames, 20.4 FPS, 4.56 Mbps throughput, 27904 bytes avg frame size +2025-06-06 11:07:07,622 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 2250 frames processed, FPS: 23.1, Throughput: 5.16 Mbps, Avg frame size: 27904 bytes +2025-06-06 11:07:07,665 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2251 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27858 bytes +2025-06-06 11:07:07,665 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2251 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:07,704 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2252 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27818 bytes +2025-06-06 11:07:07,704 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2252 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:07,754 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2253 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27607 bytes +2025-06-06 11:07:07,755 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2253 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:07,796 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2254 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27612 bytes +2025-06-06 11:07:07,796 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2254 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:07,846 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2255 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27707 bytes +2025-06-06 11:07:07,846 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2255 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:07,882 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2256 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27942 bytes +2025-06-06 11:07:07,882 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2256 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:07,931 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2257 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27691 bytes +2025-06-06 11:07:07,931 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2257 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:07,968 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2258 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27746 bytes +2025-06-06 11:07:07,968 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2258 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:08,009 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2259 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27879 bytes +2025-06-06 11:07:08,009 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2259 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:08,051 - video.core - INFO - ๐Ÿ“น Frame #2260 from producer producer_1749200719303: size=27962 bytes, resolution=640x480 +2025-06-06 11:07:08,051 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2260 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27962 bytes +2025-06-06 11:07:08,051 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2260 to 0 consumers in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:08,097 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2261 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27934 bytes +2025-06-06 11:07:08,097 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2261 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:08,140 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2262 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27796 bytes +2025-06-06 11:07:08,140 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2262 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:08,186 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2263 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27891 bytes +2025-06-06 11:07:08,186 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2263 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:08,226 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2264 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28132 bytes +2025-06-06 11:07:08,226 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2264 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:08,272 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2265 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28033 bytes +2025-06-06 11:07:08,272 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2265 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:08,318 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2266 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28011 bytes +2025-06-06 11:07:08,318 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2266 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:08,358 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2267 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28058 bytes +2025-06-06 11:07:08,358 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2267 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:08,407 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2268 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27985 bytes +2025-06-06 11:07:08,407 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2268 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:08,451 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2269 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28247 bytes +2025-06-06 11:07:08,451 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2269 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:08,488 - video.core - INFO - ๐Ÿ“น Frame #2270 from producer producer_1749200719303: size=28461 bytes, resolution=640x480 +2025-06-06 11:07:08,488 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2270 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28461 bytes +2025-06-06 11:07:08,488 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2270 to 0 consumers in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:08,537 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2271 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28456 bytes +2025-06-06 11:07:08,537 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2271 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:08,583 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2272 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28637 bytes +2025-06-06 11:07:08,583 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2272 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:08,621 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2273 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28644 bytes +2025-06-06 11:07:08,621 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2273 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:08,665 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2274 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28585 bytes +2025-06-06 11:07:08,665 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2274 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:08,707 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2275 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28517 bytes +2025-06-06 11:07:08,708 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2275 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:08,744 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2276 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28599 bytes +2025-06-06 11:07:08,744 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2276 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:08,800 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2277 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28729 bytes +2025-06-06 11:07:08,800 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2277 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:08,843 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2278 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28827 bytes +2025-06-06 11:07:08,843 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2278 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:08,891 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2279 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28756 bytes +2025-06-06 11:07:08,891 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2279 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:08,934 - video.core - INFO - ๐Ÿ“น Frame #2280 from producer producer_1749200719303: size=28658 bytes, resolution=640x480 +2025-06-06 11:07:08,934 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2280 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28658 bytes +2025-06-06 11:07:08,934 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2280 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:08,934 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 2280 frames processed, 22.8 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:08,934 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 2280 frames, 20.5 FPS, 4.57 Mbps throughput, 27907 bytes avg frame size +2025-06-06 11:07:08,934 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 2280 frames processed, FPS: 23.1, Throughput: 5.16 Mbps, Avg frame size: 27907 bytes +2025-06-06 11:07:08,979 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2281 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28653 bytes +2025-06-06 11:07:08,979 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2281 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:09,009 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2282 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28683 bytes +2025-06-06 11:07:09,009 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2282 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:09,045 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2283 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28812 bytes +2025-06-06 11:07:09,045 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2283 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:09,089 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2284 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28839 bytes +2025-06-06 11:07:09,090 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2284 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:09,144 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2285 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28794 bytes +2025-06-06 11:07:09,144 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2285 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:09,178 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2286 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28521 bytes +2025-06-06 11:07:09,178 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2286 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:09,221 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2287 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28111 bytes +2025-06-06 11:07:09,221 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2287 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:09,270 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2288 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27883 bytes +2025-06-06 11:07:09,271 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2288 to 0 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:09,316 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2289 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27199 bytes +2025-06-06 11:07:09,316 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2289 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:09,356 - video.core - INFO - ๐Ÿ“น Frame #2290 from producer producer_1749200719303: size=26531 bytes, resolution=640x480 +2025-06-06 11:07:09,356 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2290 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26531 bytes +2025-06-06 11:07:09,356 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2290 to 0 consumers in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:09,399 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2291 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26843 bytes +2025-06-06 11:07:09,400 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2291 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:09,453 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2292 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26883 bytes +2025-06-06 11:07:09,453 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2292 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:09,489 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2293 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27125 bytes +2025-06-06 11:07:09,489 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2293 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:09,529 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2294 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27145 bytes +2025-06-06 11:07:09,529 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2294 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:09,577 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2295 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26988 bytes +2025-06-06 11:07:09,578 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2295 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:09,620 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2296 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27008 bytes +2025-06-06 11:07:09,620 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2296 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:09,654 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2297 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26957 bytes +2025-06-06 11:07:09,654 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2297 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:09,702 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2298 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26750 bytes +2025-06-06 11:07:09,703 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2298 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:09,754 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2299 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27029 bytes +2025-06-06 11:07:09,754 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2299 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:09,797 - video.core - INFO - ๐Ÿ“น Frame #2300 from producer producer_1749200719303: size=26977 bytes, resolution=640x480 +2025-06-06 11:07:09,797 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2300 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26977 bytes +2025-06-06 11:07:09,797 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2300 to 0 consumers in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:09,839 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2301 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26678 bytes +2025-06-06 11:07:09,839 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2301 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:09,879 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2302 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26658 bytes +2025-06-06 11:07:09,879 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2302 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:09,936 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2303 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26999 bytes +2025-06-06 11:07:09,936 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2303 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:09,974 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2304 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27072 bytes +2025-06-06 11:07:09,974 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2304 to 0 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:10,019 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2305 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27149 bytes +2025-06-06 11:07:10,019 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2305 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:10,047 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2306 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27375 bytes +2025-06-06 11:07:10,047 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2306 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:10,086 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2307 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27340 bytes +2025-06-06 11:07:10,086 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2307 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:10,140 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2308 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27389 bytes +2025-06-06 11:07:10,140 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2308 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:10,183 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2309 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27176 bytes +2025-06-06 11:07:10,183 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2309 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:10,226 - video.core - INFO - ๐Ÿ“น Frame #2310 from producer producer_1749200719303: size=27308 bytes, resolution=640x480 +2025-06-06 11:07:10,226 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2310 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27308 bytes +2025-06-06 11:07:10,226 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2310 to 0 consumers in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:10,226 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 2310 frames processed, 22.8 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:10,226 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 2310 frames, 20.5 FPS, 4.57 Mbps throughput, 27901 bytes avg frame size +2025-06-06 11:07:10,227 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 2310 frames processed, FPS: 23.1, Throughput: 5.15 Mbps, Avg frame size: 27901 bytes +2025-06-06 11:07:10,274 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2311 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27466 bytes +2025-06-06 11:07:10,275 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2311 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:10,328 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2312 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28068 bytes +2025-06-06 11:07:10,328 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2312 to 0 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:10,364 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2313 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28495 bytes +2025-06-06 11:07:10,364 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2313 to 0 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:10,410 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2314 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28462 bytes +2025-06-06 11:07:10,410 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2314 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:10,446 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2315 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28423 bytes +2025-06-06 11:07:10,446 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2315 to 0 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:10,495 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2316 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28453 bytes +2025-06-06 11:07:10,495 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2316 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:10,522 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2317 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28318 bytes +2025-06-06 11:07:10,522 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2317 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:10,571 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2318 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28382 bytes +2025-06-06 11:07:10,571 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2318 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:10,608 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2319 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28433 bytes +2025-06-06 11:07:10,608 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2319 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:10,659 - video.core - INFO - ๐Ÿ“น Frame #2320 from producer producer_1749200719303: size=28203 bytes, resolution=640x480 +2025-06-06 11:07:10,659 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2320 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28203 bytes +2025-06-06 11:07:10,659 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2320 to 0 consumers in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:10,709 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2321 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27961 bytes +2025-06-06 11:07:10,709 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2321 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:10,747 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2322 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27882 bytes +2025-06-06 11:07:10,748 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2322 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:10,792 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2323 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28028 bytes +2025-06-06 11:07:10,793 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2323 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:10,841 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2324 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28140 bytes +2025-06-06 11:07:10,841 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2324 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:10,890 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2325 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27914 bytes +2025-06-06 11:07:10,890 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2325 to 0 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:10,931 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2326 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27710 bytes +2025-06-06 11:07:10,931 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2326 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:10,965 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2327 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27765 bytes +2025-06-06 11:07:10,965 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2327 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:11,017 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2328 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27633 bytes +2025-06-06 11:07:11,017 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2328 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:11,042 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2329 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27654 bytes +2025-06-06 11:07:11,042 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2329 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:11,084 - video.core - INFO - ๐Ÿ“น Frame #2330 from producer producer_1749200719303: size=27742 bytes, resolution=640x480 +2025-06-06 11:07:11,084 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2330 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27742 bytes +2025-06-06 11:07:11,084 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2330 to 0 consumers in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:11,135 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2331 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27632 bytes +2025-06-06 11:07:11,135 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2331 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:11,177 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2332 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27623 bytes +2025-06-06 11:07:11,177 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2332 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:11,218 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2333 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27695 bytes +2025-06-06 11:07:11,219 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2333 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:11,260 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2334 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27642 bytes +2025-06-06 11:07:11,260 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2334 to 0 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:11,312 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2335 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27505 bytes +2025-06-06 11:07:11,312 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2335 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:11,357 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2336 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27593 bytes +2025-06-06 11:07:11,358 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2336 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:11,398 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2337 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27637 bytes +2025-06-06 11:07:11,399 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2337 to 0 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:11,448 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2338 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27695 bytes +2025-06-06 11:07:11,449 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2338 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:11,490 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2339 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27790 bytes +2025-06-06 11:07:11,490 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2339 to 0 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:11,531 - video.core - INFO - ๐Ÿ“น Frame #2340 from producer producer_1749200719303: size=27692 bytes, resolution=640x480 +2025-06-06 11:07:11,531 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2340 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27692 bytes +2025-06-06 11:07:11,532 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2340 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:11,532 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 2340 frames processed, 22.8 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:11,532 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 2340 frames, 20.5 FPS, 4.58 Mbps throughput, 27901 bytes avg frame size +2025-06-06 11:07:11,532 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 2340 frames processed, FPS: 23.1, Throughput: 5.15 Mbps, Avg frame size: 27901 bytes +2025-06-06 11:07:11,583 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2341 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27677 bytes +2025-06-06 11:07:11,583 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2341 to 0 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:11,622 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2342 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27674 bytes +2025-06-06 11:07:11,622 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2342 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:11,658 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2343 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27499 bytes +2025-06-06 11:07:11,658 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2343 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:11,692 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2344 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27517 bytes +2025-06-06 11:07:11,692 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2344 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:11,728 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2345 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27559 bytes +2025-06-06 11:07:11,728 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2345 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:11,791 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2346 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27610 bytes +2025-06-06 11:07:11,791 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2346 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:11,822 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2347 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27627 bytes +2025-06-06 11:07:11,822 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2347 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:11,873 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2348 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27621 bytes +2025-06-06 11:07:11,873 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2348 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:11,918 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2349 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27682 bytes +2025-06-06 11:07:11,918 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2349 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:11,967 - video.core - INFO - ๐Ÿ“น Frame #2350 from producer producer_1749200719303: size=27740 bytes, resolution=640x480 +2025-06-06 11:07:11,967 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2350 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27740 bytes +2025-06-06 11:07:11,967 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2350 to 0 consumers in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:12,001 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2351 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27807 bytes +2025-06-06 11:07:12,001 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2351 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:12,047 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2352 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27883 bytes +2025-06-06 11:07:12,048 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2352 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:12,074 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2353 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27918 bytes +2025-06-06 11:07:12,074 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2353 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:12,119 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2354 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27940 bytes +2025-06-06 11:07:12,119 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2354 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:12,172 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2355 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27935 bytes +2025-06-06 11:07:12,172 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2355 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:12,218 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2356 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27843 bytes +2025-06-06 11:07:12,218 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2356 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:12,251 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2357 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27933 bytes +2025-06-06 11:07:12,252 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2357 to 0 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:12,298 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2358 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27829 bytes +2025-06-06 11:07:12,298 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2358 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:12,342 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2359 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27800 bytes +2025-06-06 11:07:12,342 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2359 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:12,388 - video.core - INFO - ๐Ÿ“น Frame #2360 from producer producer_1749200719303: size=27764 bytes, resolution=640x480 +2025-06-06 11:07:12,388 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2360 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27764 bytes +2025-06-06 11:07:12,388 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2360 to 0 consumers in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:12,427 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2361 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27531 bytes +2025-06-06 11:07:12,427 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2361 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:12,470 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2362 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27398 bytes +2025-06-06 11:07:12,470 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2362 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:12,512 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2363 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27522 bytes +2025-06-06 11:07:12,512 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2363 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:12,557 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2364 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27650 bytes +2025-06-06 11:07:12,557 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2364 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:12,603 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2365 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27735 bytes +2025-06-06 11:07:12,603 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2365 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:12,641 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2366 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27811 bytes +2025-06-06 11:07:12,641 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2366 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:12,690 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2367 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27829 bytes +2025-06-06 11:07:12,690 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2367 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:12,733 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2368 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27798 bytes +2025-06-06 11:07:12,733 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2368 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:12,776 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2369 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27666 bytes +2025-06-06 11:07:12,776 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2369 to 0 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:12,823 - video.core - INFO - ๐Ÿ“น Frame #2370 from producer producer_1749200719303: size=27701 bytes, resolution=640x480 +2025-06-06 11:07:12,823 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2370 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27701 bytes +2025-06-06 11:07:12,823 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2370 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:12,823 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 2370 frames processed, 22.8 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:12,823 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 2370 frames, 20.5 FPS, 4.59 Mbps throughput, 27899 bytes avg frame size +2025-06-06 11:07:12,823 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 2370 frames processed, FPS: 23.1, Throughput: 5.15 Mbps, Avg frame size: 27899 bytes +2025-06-06 11:07:12,864 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2371 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27435 bytes +2025-06-06 11:07:12,864 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2371 to 0 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:12,914 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2372 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27383 bytes +2025-06-06 11:07:12,914 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2372 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:12,961 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2373 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27427 bytes +2025-06-06 11:07:12,961 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2373 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:13,001 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2374 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27519 bytes +2025-06-06 11:07:13,002 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2374 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:13,028 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2375 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27645 bytes +2025-06-06 11:07:13,028 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2375 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:13,069 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2376 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27866 bytes +2025-06-06 11:07:13,069 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2376 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:13,118 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2377 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27952 bytes +2025-06-06 11:07:13,118 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2377 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:13,162 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2378 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28003 bytes +2025-06-06 11:07:13,162 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2378 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:13,205 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2379 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27981 bytes +2025-06-06 11:07:13,205 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2379 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:13,252 - video.core - INFO - ๐Ÿ“น Frame #2380 from producer producer_1749200719303: size=28020 bytes, resolution=640x480 +2025-06-06 11:07:13,252 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2380 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28020 bytes +2025-06-06 11:07:13,252 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2380 to 0 consumers in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:13,294 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2381 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28115 bytes +2025-06-06 11:07:13,294 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2381 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:13,346 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2382 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28147 bytes +2025-06-06 11:07:13,346 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2382 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:13,386 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2383 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28220 bytes +2025-06-06 11:07:13,386 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2383 to 0 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:13,431 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2384 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28251 bytes +2025-06-06 11:07:13,431 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2384 to 0 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:13,473 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2385 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28265 bytes +2025-06-06 11:07:13,473 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2385 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:13,512 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2386 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28384 bytes +2025-06-06 11:07:13,512 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2386 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:13,557 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2387 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28256 bytes +2025-06-06 11:07:13,557 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2387 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:13,594 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2388 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28291 bytes +2025-06-06 11:07:13,595 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2388 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:13,637 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2389 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28322 bytes +2025-06-06 11:07:13,637 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2389 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:13,682 - video.core - INFO - ๐Ÿ“น Frame #2390 from producer producer_1749200719303: size=28309 bytes, resolution=640x480 +2025-06-06 11:07:13,682 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2390 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28309 bytes +2025-06-06 11:07:13,682 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2390 to 0 consumers in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:13,729 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2391 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28170 bytes +2025-06-06 11:07:13,729 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2391 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:13,765 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2392 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27986 bytes +2025-06-06 11:07:13,765 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2392 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:13,805 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2393 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27849 bytes +2025-06-06 11:07:13,805 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2393 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:13,858 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2394 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27717 bytes +2025-06-06 11:07:13,858 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2394 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:13,897 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2395 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27676 bytes +2025-06-06 11:07:13,897 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2395 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:13,947 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2396 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27741 bytes +2025-06-06 11:07:13,948 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2396 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:13,997 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2397 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27607 bytes +2025-06-06 11:07:13,997 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2397 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:14,026 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2398 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27619 bytes +2025-06-06 11:07:14,026 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2398 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:14,063 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2399 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27695 bytes +2025-06-06 11:07:14,064 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2399 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:14,121 - video.core - INFO - ๐Ÿ“น Frame #2400 from producer producer_1749200719303: size=27732 bytes, resolution=640x480 +2025-06-06 11:07:14,121 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2400 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27732 bytes +2025-06-06 11:07:14,121 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2400 to 0 consumers in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:14,121 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 2400 frames processed, 22.8 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:14,121 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 2400 frames, 20.6 FPS, 4.59 Mbps throughput, 27899 bytes avg frame size +2025-06-06 11:07:14,121 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 2400 frames processed, FPS: 23.1, Throughput: 5.15 Mbps, Avg frame size: 27899 bytes +2025-06-06 11:07:14,159 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2401 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27716 bytes +2025-06-06 11:07:14,159 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2401 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:14,207 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2402 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27899 bytes +2025-06-06 11:07:14,207 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2402 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:14,248 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2403 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27864 bytes +2025-06-06 11:07:14,248 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2403 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:14,290 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2404 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27767 bytes +2025-06-06 11:07:14,290 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2404 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:14,344 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2405 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27805 bytes +2025-06-06 11:07:14,344 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2405 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:14,383 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2406 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27800 bytes +2025-06-06 11:07:14,383 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2406 to 0 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:14,430 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2407 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27671 bytes +2025-06-06 11:07:14,430 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2407 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:14,469 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2408 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27669 bytes +2025-06-06 11:07:14,469 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2408 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:14,511 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2409 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27619 bytes +2025-06-06 11:07:14,511 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2409 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:14,555 - video.core - INFO - ๐Ÿ“น Frame #2410 from producer producer_1749200719303: size=27566 bytes, resolution=640x480 +2025-06-06 11:07:14,556 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2410 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27566 bytes +2025-06-06 11:07:14,556 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2410 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:14,601 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2411 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27594 bytes +2025-06-06 11:07:14,601 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2411 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:14,639 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2412 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27570 bytes +2025-06-06 11:07:14,640 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2412 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:14,680 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2413 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27530 bytes +2025-06-06 11:07:14,680 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2413 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:14,730 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2414 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27477 bytes +2025-06-06 11:07:14,730 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2414 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:14,775 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2415 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27414 bytes +2025-06-06 11:07:14,775 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2415 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:14,809 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2416 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27337 bytes +2025-06-06 11:07:14,809 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2416 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:14,860 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2417 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27350 bytes +2025-06-06 11:07:14,860 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2417 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:14,906 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2418 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27434 bytes +2025-06-06 11:07:14,906 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2418 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:14,945 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2419 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27502 bytes +2025-06-06 11:07:14,945 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2419 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:14,985 - video.core - INFO - ๐Ÿ“น Frame #2420 from producer producer_1749200719303: size=27638 bytes, resolution=640x480 +2025-06-06 11:07:14,985 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2420 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27638 bytes +2025-06-06 11:07:14,985 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2420 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:15,029 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2421 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27717 bytes +2025-06-06 11:07:15,029 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2421 to 0 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:15,061 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2422 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27635 bytes +2025-06-06 11:07:15,065 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2422 to 0 consumers in 3.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:15,103 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2423 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27669 bytes +2025-06-06 11:07:15,103 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2423 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:15,157 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2424 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27551 bytes +2025-06-06 11:07:15,157 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2424 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:15,198 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2425 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27543 bytes +2025-06-06 11:07:15,198 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2425 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:15,249 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2426 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27553 bytes +2025-06-06 11:07:15,249 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2426 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:15,289 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2427 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27591 bytes +2025-06-06 11:07:15,289 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2427 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:15,334 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2428 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27527 bytes +2025-06-06 11:07:15,334 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2428 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:15,375 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2429 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27644 bytes +2025-06-06 11:07:15,375 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2429 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:15,425 - video.core - INFO - ๐Ÿ“น Frame #2430 from producer producer_1749200719303: size=27707 bytes, resolution=640x480 +2025-06-06 11:07:15,425 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2430 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27707 bytes +2025-06-06 11:07:15,426 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2430 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:15,426 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 2430 frames processed, 22.8 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:15,426 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 2430 frames, 20.6 FPS, 4.60 Mbps throughput, 27896 bytes avg frame size +2025-06-06 11:07:15,426 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 2430 frames processed, FPS: 23.1, Throughput: 5.15 Mbps, Avg frame size: 27896 bytes +2025-06-06 11:07:15,467 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2431 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27602 bytes +2025-06-06 11:07:15,467 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2431 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:15,499 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2432 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27573 bytes +2025-06-06 11:07:15,499 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2432 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:15,541 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2433 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27591 bytes +2025-06-06 11:07:15,541 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2433 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:15,589 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2434 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27625 bytes +2025-06-06 11:07:15,590 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2434 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:15,628 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2435 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27798 bytes +2025-06-06 11:07:15,628 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2435 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:15,676 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2436 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27784 bytes +2025-06-06 11:07:15,676 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2436 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:15,723 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2437 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27774 bytes +2025-06-06 11:07:15,723 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2437 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:15,770 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2438 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27592 bytes +2025-06-06 11:07:15,770 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2438 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:15,815 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2439 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27658 bytes +2025-06-06 11:07:15,815 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2439 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:15,840 - video.core - INFO - ๐Ÿ“น Frame #2440 from producer producer_1749200719303: size=27768 bytes, resolution=640x480 +2025-06-06 11:07:15,840 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2440 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27768 bytes +2025-06-06 11:07:15,840 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2440 to 0 consumers in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:15,883 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2441 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27768 bytes +2025-06-06 11:07:15,883 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2441 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:15,934 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2442 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27795 bytes +2025-06-06 11:07:15,934 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2442 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:15,978 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2443 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27846 bytes +2025-06-06 11:07:15,979 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2443 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:16,022 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2444 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27928 bytes +2025-06-06 11:07:16,022 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2444 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:16,057 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2445 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27907 bytes +2025-06-06 11:07:16,057 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2445 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:16,099 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2446 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27870 bytes +2025-06-06 11:07:16,099 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2446 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:16,157 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2447 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27957 bytes +2025-06-06 11:07:16,157 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2447 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:16,196 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2448 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27964 bytes +2025-06-06 11:07:16,197 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2448 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:16,245 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2449 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27933 bytes +2025-06-06 11:07:16,245 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2449 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:16,285 - video.core - INFO - ๐Ÿ“น Frame #2450 from producer producer_1749200719303: size=27947 bytes, resolution=640x480 +2025-06-06 11:07:16,285 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2450 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27947 bytes +2025-06-06 11:07:16,285 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2450 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:16,341 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2451 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28071 bytes +2025-06-06 11:07:16,342 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2451 to 0 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:16,380 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2452 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28050 bytes +2025-06-06 11:07:16,380 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2452 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:16,422 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2453 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28064 bytes +2025-06-06 11:07:16,422 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2453 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:16,458 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2454 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28149 bytes +2025-06-06 11:07:16,458 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2454 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:16,634 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2455 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28130 bytes +2025-06-06 11:07:16,634 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2455 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:16,636 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2456 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28129 bytes +2025-06-06 11:07:16,636 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2456 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:16,637 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2457 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27981 bytes +2025-06-06 11:07:16,637 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2457 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:16,638 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2458 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28004 bytes +2025-06-06 11:07:16,639 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2458 to 0 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:16,659 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2459 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28087 bytes +2025-06-06 11:07:16,659 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2459 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:16,701 - video.core - INFO - ๐Ÿ“น Frame #2460 from producer producer_1749200719303: size=28106 bytes, resolution=640x480 +2025-06-06 11:07:16,701 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2460 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28106 bytes +2025-06-06 11:07:16,701 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2460 to 0 consumers in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:16,701 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 2460 frames processed, 22.8 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:16,701 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 2460 frames, 20.6 FPS, 4.60 Mbps throughput, 27895 bytes avg frame size +2025-06-06 11:07:16,701 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 2460 frames processed, FPS: 23.1, Throughput: 5.15 Mbps, Avg frame size: 27895 bytes +2025-06-06 11:07:16,753 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2461 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28174 bytes +2025-06-06 11:07:16,753 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2461 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:16,798 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2462 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28130 bytes +2025-06-06 11:07:16,798 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2462 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:16,842 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2463 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28144 bytes +2025-06-06 11:07:16,842 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2463 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:16,882 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2464 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28096 bytes +2025-06-06 11:07:16,882 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2464 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:16,923 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2465 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28178 bytes +2025-06-06 11:07:16,924 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2465 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:16,970 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2466 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28217 bytes +2025-06-06 11:07:16,970 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2466 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:17,012 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2467 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28202 bytes +2025-06-06 11:07:17,012 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2467 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:17,050 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2468 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28233 bytes +2025-06-06 11:07:17,050 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2468 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:17,092 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2469 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28283 bytes +2025-06-06 11:07:17,092 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2469 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:17,141 - video.core - INFO - ๐Ÿ“น Frame #2470 from producer producer_1749200719303: size=28154 bytes, resolution=640x480 +2025-06-06 11:07:17,142 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2470 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28154 bytes +2025-06-06 11:07:17,142 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2470 to 0 consumers in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:17,189 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2471 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28084 bytes +2025-06-06 11:07:17,189 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2471 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:17,226 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2472 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28072 bytes +2025-06-06 11:07:17,226 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2472 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:17,273 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2473 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28149 bytes +2025-06-06 11:07:17,273 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2473 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:17,312 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2474 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28102 bytes +2025-06-06 11:07:17,312 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2474 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:17,362 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2475 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28056 bytes +2025-06-06 11:07:17,362 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2475 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:17,405 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2476 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28093 bytes +2025-06-06 11:07:17,405 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2476 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:17,449 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2477 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28158 bytes +2025-06-06 11:07:17,449 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2477 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:17,492 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2478 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28117 bytes +2025-06-06 11:07:17,493 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2478 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:17,545 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2479 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27985 bytes +2025-06-06 11:07:17,545 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2479 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:17,582 - video.core - INFO - ๐Ÿ“น Frame #2480 from producer producer_1749200719303: size=28058 bytes, resolution=640x480 +2025-06-06 11:07:17,582 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2480 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28058 bytes +2025-06-06 11:07:17,582 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2480 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:17,626 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2481 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28056 bytes +2025-06-06 11:07:17,626 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2481 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:17,660 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2482 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28065 bytes +2025-06-06 11:07:17,660 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2482 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:17,706 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2483 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28071 bytes +2025-06-06 11:07:17,706 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2483 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:17,746 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2484 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28034 bytes +2025-06-06 11:07:17,746 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2484 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:17,794 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2485 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28014 bytes +2025-06-06 11:07:17,794 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2485 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:17,840 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2486 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28021 bytes +2025-06-06 11:07:17,840 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2486 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:17,876 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2487 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28056 bytes +2025-06-06 11:07:17,876 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2487 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:17,916 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2488 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27877 bytes +2025-06-06 11:07:17,916 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2488 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:17,960 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2489 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27602 bytes +2025-06-06 11:07:17,960 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2489 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:18,005 - video.core - INFO - ๐Ÿ“น Frame #2490 from producer producer_1749200719303: size=27505 bytes, resolution=640x480 +2025-06-06 11:07:18,005 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2490 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27505 bytes +2025-06-06 11:07:18,005 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2490 to 0 consumers in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:18,005 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 2490 frames processed, 22.8 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:18,005 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 2490 frames, 20.7 FPS, 4.61 Mbps throughput, 27897 bytes avg frame size +2025-06-06 11:07:18,005 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 2490 frames processed, FPS: 23.1, Throughput: 5.15 Mbps, Avg frame size: 27897 bytes +2025-06-06 11:07:18,046 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2491 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27462 bytes +2025-06-06 11:07:18,046 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2491 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:18,087 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2492 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27502 bytes +2025-06-06 11:07:18,087 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2492 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:18,134 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2493 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27507 bytes +2025-06-06 11:07:18,134 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2493 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:18,177 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2494 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27528 bytes +2025-06-06 11:07:18,177 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2494 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:18,223 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2495 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27467 bytes +2025-06-06 11:07:18,223 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2495 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:18,266 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2496 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27433 bytes +2025-06-06 11:07:18,266 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2496 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:18,314 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2497 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27474 bytes +2025-06-06 11:07:18,314 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2497 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:18,360 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2498 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27499 bytes +2025-06-06 11:07:18,360 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2498 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:18,395 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2499 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27489 bytes +2025-06-06 11:07:18,395 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2499 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:18,439 - video.core - INFO - ๐Ÿ“น Frame #2500 from producer producer_1749200719303: size=27731 bytes, resolution=640x480 +2025-06-06 11:07:18,439 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2500 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27731 bytes +2025-06-06 11:07:18,440 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2500 to 0 consumers in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:18,482 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2501 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27612 bytes +2025-06-06 11:07:18,482 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2501 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:18,525 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2502 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27566 bytes +2025-06-06 11:07:18,525 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2502 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:18,571 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2503 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27527 bytes +2025-06-06 11:07:18,571 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2503 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:18,615 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2504 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27443 bytes +2025-06-06 11:07:18,615 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2504 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:18,655 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2505 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27350 bytes +2025-06-06 11:07:18,655 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2505 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:18,701 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2506 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27524 bytes +2025-06-06 11:07:18,701 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2506 to 0 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:18,743 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2507 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27549 bytes +2025-06-06 11:07:18,743 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2507 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:18,787 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2508 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27374 bytes +2025-06-06 11:07:18,787 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2508 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:18,827 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2509 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27511 bytes +2025-06-06 11:07:18,827 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2509 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:18,872 - video.core - INFO - ๐Ÿ“น Frame #2510 from producer producer_1749200719303: size=27542 bytes, resolution=640x480 +2025-06-06 11:07:18,872 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2510 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27542 bytes +2025-06-06 11:07:18,872 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2510 to 0 consumers in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:18,915 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2511 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27620 bytes +2025-06-06 11:07:18,915 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2511 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:18,958 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2512 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27648 bytes +2025-06-06 11:07:18,958 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2512 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:18,999 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2513 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27606 bytes +2025-06-06 11:07:18,999 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2513 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:19,043 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2514 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27658 bytes +2025-06-06 11:07:19,043 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2514 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:19,084 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2515 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27566 bytes +2025-06-06 11:07:19,084 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2515 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:19,130 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2516 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27369 bytes +2025-06-06 11:07:19,130 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2516 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:19,178 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2517 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27353 bytes +2025-06-06 11:07:19,178 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2517 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:19,226 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2518 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27383 bytes +2025-06-06 11:07:19,226 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2518 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:19,268 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2519 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27399 bytes +2025-06-06 11:07:19,268 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2519 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:19,312 - video.core - INFO - ๐Ÿ“น Frame #2520 from producer producer_1749200719303: size=27246 bytes, resolution=640x480 +2025-06-06 11:07:19,312 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2520 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27246 bytes +2025-06-06 11:07:19,312 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2520 to 0 consumers in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:19,312 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 2520 frames processed, 22.8 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:19,312 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 2520 frames, 20.7 FPS, 4.62 Mbps throughput, 27893 bytes avg frame size +2025-06-06 11:07:19,312 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 2520 frames processed, FPS: 23.1, Throughput: 5.15 Mbps, Avg frame size: 27893 bytes +2025-06-06 11:07:19,353 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2521 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27325 bytes +2025-06-06 11:07:19,353 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2521 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:19,395 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2522 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27455 bytes +2025-06-06 11:07:19,395 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2522 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:19,433 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2523 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27498 bytes +2025-06-06 11:07:19,433 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2523 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:19,479 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2524 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27472 bytes +2025-06-06 11:07:19,479 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2524 to 0 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:19,526 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2525 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27570 bytes +2025-06-06 11:07:19,527 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2525 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:19,564 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2526 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27488 bytes +2025-06-06 11:07:19,564 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2526 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:19,602 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2527 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27506 bytes +2025-06-06 11:07:19,602 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2527 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:19,651 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2528 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27403 bytes +2025-06-06 11:07:19,651 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2528 to 0 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:19,691 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2529 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27127 bytes +2025-06-06 11:07:19,691 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2529 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:19,733 - video.core - INFO - ๐Ÿ“น Frame #2530 from producer producer_1749200719303: size=27236 bytes, resolution=640x480 +2025-06-06 11:07:19,733 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2530 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27236 bytes +2025-06-06 11:07:19,733 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2530 to 0 consumers in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:19,777 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2531 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27019 bytes +2025-06-06 11:07:19,777 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2531 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:19,820 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2532 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26701 bytes +2025-06-06 11:07:19,820 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2532 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:19,863 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2533 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27120 bytes +2025-06-06 11:07:19,863 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2533 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:19,912 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2534 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27463 bytes +2025-06-06 11:07:19,914 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2534 to 0 consumers in 1.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:19,960 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2535 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27448 bytes +2025-06-06 11:07:19,960 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2535 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:20,045 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2536 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27545 bytes +2025-06-06 11:07:20,050 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2536 to 0 consumers in 4.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:20,059 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2537 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27506 bytes +2025-06-06 11:07:20,060 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2537 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:20,097 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2538 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27282 bytes +2025-06-06 11:07:20,097 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2538 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:20,120 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2539 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27380 bytes +2025-06-06 11:07:20,120 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2539 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:20,182 - video.core - INFO - ๐Ÿ“น Frame #2540 from producer producer_1749200719303: size=27521 bytes, resolution=640x480 +2025-06-06 11:07:20,182 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2540 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27521 bytes +2025-06-06 11:07:20,182 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2540 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:20,236 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2541 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27433 bytes +2025-06-06 11:07:20,238 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2541 to 0 consumers in 2.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:20,333 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2542 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27453 bytes +2025-06-06 11:07:20,334 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2542 to 0 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:20,338 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2543 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27687 bytes +2025-06-06 11:07:20,338 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2543 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:20,339 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2544 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27804 bytes +2025-06-06 11:07:20,339 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2544 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:20,381 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2545 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27875 bytes +2025-06-06 11:07:20,382 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2545 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:20,445 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2546 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28022 bytes +2025-06-06 11:07:20,445 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2546 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:20,472 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2547 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28217 bytes +2025-06-06 11:07:20,472 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2547 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:20,516 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2548 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28089 bytes +2025-06-06 11:07:20,516 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2548 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:20,551 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2549 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27986 bytes +2025-06-06 11:07:20,551 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2549 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:20,595 - video.core - INFO - ๐Ÿ“น Frame #2550 from producer producer_1749200719303: size=27855 bytes, resolution=640x480 +2025-06-06 11:07:20,595 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2550 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27855 bytes +2025-06-06 11:07:20,595 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2550 to 0 consumers in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:20,595 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 2550 frames processed, 22.8 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:20,595 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 2550 frames, 20.7 FPS, 4.62 Mbps throughput, 27888 bytes avg frame size +2025-06-06 11:07:20,595 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200719303 stats: 2550 frames processed, FPS: 23.1, Throughput: 5.15 Mbps, Avg frame size: 27888 bytes +2025-06-06 11:07:20,637 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2551 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27940 bytes +2025-06-06 11:07:20,637 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2551 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:20,682 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2552 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28061 bytes +2025-06-06 11:07:20,682 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2552 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:20,727 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2553 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28081 bytes +2025-06-06 11:07:20,727 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2553 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:20,768 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2554 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28159 bytes +2025-06-06 11:07:20,768 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2554 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:20,813 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2555 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28006 bytes +2025-06-06 11:07:20,813 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2555 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:20,859 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2556 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27995 bytes +2025-06-06 11:07:20,859 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2556 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:20,906 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2557 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28056 bytes +2025-06-06 11:07:20,906 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2557 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:20,941 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2558 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27971 bytes +2025-06-06 11:07:20,942 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2558 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:20,989 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2559 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27905 bytes +2025-06-06 11:07:20,990 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2559 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:21,039 - video.core - INFO - ๐Ÿ“น Frame #2560 from producer producer_1749200719303: size=27936 bytes, resolution=640x480 +2025-06-06 11:07:21,039 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2560 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27936 bytes +2025-06-06 11:07:21,039 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2560 to 0 consumers in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:21,077 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2561 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27958 bytes +2025-06-06 11:07:21,077 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2561 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:21,116 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2562 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27911 bytes +2025-06-06 11:07:21,116 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2562 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:21,170 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2563 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27974 bytes +2025-06-06 11:07:21,170 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2563 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:21,205 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2564 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27970 bytes +2025-06-06 11:07:21,205 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2564 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:21,250 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2565 from producer producer_1749200719303 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28082 bytes +2025-06-06 11:07:21,250 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2565 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:21,261 - video.core - INFO - ๐ŸŽฅ Producer producer_1749200719303 left video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:07:21,262 - video.core - INFO - ๐ŸงŠ WebRTC producer_1749200719303 ICE state: closed +2025-06-06 11:07:21,262 - video.core - INFO - ๐Ÿ”— WebRTC producer_1749200719303 connection state: closed +2025-06-06 11:07:21,263 - video.core - ERROR - โŒ Error processing video track producer_1749200719303 after 2565 frames +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/video/core.py", line 272, in _process_incoming_video + frame = await track.recv() + ^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/aiortc/rtcrtpreceiver.py", line 209, in recv + raise MediaStreamError +aiortc.mediastreams.MediaStreamError +2025-06-06 11:07:21,265 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Cleaned up WebRTC connection for producer_1749200719303 +2025-06-06 11:07:22,920 - video.core - INFO - ๐ŸŽฅ VideoCore initialized with dual communication strategies +2025-06-06 11:07:22,940 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-06 11:07:23,222 - video.core - INFO - ๐ŸŽฅ VideoCore initialized with dual communication strategies +2025-06-06 11:07:23,303 - watchfiles.main - INFO - 1 change detected +2025-06-06 11:07:35,389 - video.core - INFO - ๐Ÿ”— P2P Strategy initialized for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:07:35,390 - video.core - INFO - ๐ŸŽฅ Created video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b with p2p strategy +2025-06-06 11:07:38,226 - video.core - INFO - ๐ŸŽฅ Producer producer_1749200857529 joined video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:07:38,226 - video.core - INFO - ๐Ÿ”— P2P: Producer producer_1749200857529 setup for P2P strategy +2025-06-06 11:07:40,600 - video.core - INFO - ๐ŸŽฅ Stream started by producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:07:41,270 - video.core - INFO - ๐ŸŽฅ Consumer consumer_1749200857591 joined video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:07:41,270 - video.core - INFO - ๐Ÿ”— P2P: Consumer consumer_1749200857591 setup for P2P strategy +2025-06-06 11:07:41,276 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749200857529 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:07:41,277 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 11:07:41,277 - video.core - INFO - ๐Ÿ”— P2P Strategy: offer from producer_1749200857529 (role: producer) +2025-06-06 11:07:41,277 - video.core - INFO - ๐Ÿ”„ P2P: Forwarding offer from producer producer_1749200857529 to consumer consumer_1749200857591 +2025-06-06 11:07:41,280 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749200857529 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:07:41,280 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 11:07:41,280 - video.core - INFO - ๐Ÿ”— P2P Strategy: ice from producer_1749200857529 (role: producer) +2025-06-06 11:07:41,301 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749200857529 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:07:41,301 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 11:07:41,301 - video.core - INFO - ๐Ÿ”— P2P Strategy: ice from producer_1749200857529 (role: producer) +2025-06-06 11:07:41,307 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749200857591 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:07:41,307 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 11:07:41,307 - video.core - INFO - ๐Ÿ”— P2P Strategy: answer from consumer_1749200857591 (role: consumer) +2025-06-06 11:07:41,307 - video.core - INFO - ๐Ÿ”„ P2P: Forwarding answer from consumer consumer_1749200857591 to producer producer_1749200857529 +2025-06-06 11:07:41,312 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749200857591 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:07:41,312 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 11:07:41,312 - video.core - INFO - ๐Ÿ”— P2P Strategy: ice from consumer_1749200857591 (role: consumer) +2025-06-06 11:07:44,791 - video.core - INFO - ๐Ÿ”— P2P: Cleaned up participant producer_1749200857529 +2025-06-06 11:07:44,792 - video.core - INFO - ๐Ÿ”— P2P: Cleaned up participant consumer_1749200857591 +2025-06-06 11:07:44,792 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay Strategy initialized for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:07:44,792 - video.core - INFO - ๐Ÿš€ Server is now ready to relay video frames for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:07:44,803 - video.core - INFO - WebRTC connection producer_1749200857529 initialized +2025-06-06 11:07:44,804 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Created WebRTC connection for producer_1749200857529 +2025-06-06 11:07:44,804 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: producer producer_1749200857529 setup for server relay +2025-06-06 11:07:44,804 - video.core - INFO - WebRTC connection consumer_1749200857591 initialized +2025-06-06 11:07:44,805 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Created WebRTC connection for consumer_1749200857591 +2025-06-06 11:07:44,805 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: consumer consumer_1749200857591 setup for server relay +2025-06-06 11:07:44,806 - video.core - INFO - ๐Ÿ”„ Room 32fd74a9-26a0-4a29-89bf-6f020eccf65b strategy switched: p2p -> server (User requested via UI) +2025-06-06 11:07:45,166 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749200857591 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:07:45,167 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 11:07:45,167 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: offer from consumer_1749200857591 (role: consumer) +2025-06-06 11:07:45,167 - video.core - INFO - ๐Ÿค Processing WebRTC offer from consumer consumer_1749200857591 +2025-06-06 11:07:45,167 - video.core - INFO - ๐Ÿ”ง Processing SDP offer from consumer_1749200857591 (length: 6127 chars) +2025-06-06 11:07:45,231 - video.core - INFO - VideoFrameTrack created with recovery policy: freeze_last_frame +2025-06-06 11:07:45,250 - video.core - INFO - ๐Ÿ–ฅ๏ธ WebRTC consumer_1749200857591 set as CONSUMER (explicit role) - video track added +2025-06-06 11:07:45,301 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749200857591 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:07:45,301 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 11:07:45,301 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: ice from consumer_1749200857591 (role: consumer) +2025-06-06 11:07:45,309 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749200857591 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:07:45,310 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 11:07:45,310 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: ice from consumer_1749200857591 (role: consumer) +2025-06-06 11:07:45,311 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749200857591 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:07:45,311 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 11:07:45,311 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: ice from consumer_1749200857591 (role: consumer) +2025-06-06 11:07:45,349 - video.core - INFO - โœ… Generated WebRTC answer for consumer_1749200857591 (length: 1975 chars) +2025-06-06 11:07:45,350 - video.core - INFO - โœ… Generated WebRTC answer for consumer_1749200857591 (length: 1975 chars) +2025-06-06 11:07:45,360 - video.core - INFO - ๐ŸงŠ WebRTC consumer_1749200857591 ICE state: checking +2025-06-06 11:07:45,360 - video.core - INFO - ๐Ÿ”— WebRTC consumer_1749200857591 connection state: connecting +2025-06-06 11:07:45,369 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 59913) -> ('192.168.1.83', 59930)) State.FROZEN -> State.WAITING +2025-06-06 11:07:45,397 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 59913) -> ('82.66.87.218', 59930)) State.FROZEN -> State.WAITING +2025-06-06 11:07:45,398 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 59913) -> ('192.168.1.83', 59930)) State.WAITING -> State.IN_PROGRESS +2025-06-06 11:07:45,406 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 59913) -> ('192.168.1.83', 59930)) State.IN_PROGRESS -> State.SUCCEEDED +2025-06-06 11:07:45,408 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 59913) -> ('82.66.87.218', 59930)) State.WAITING -> State.FAILED +2025-06-06 11:07:45,409 - aioice.ice - INFO - Connection(0) ICE completed +2025-06-06 11:07:45,425 - video.core - INFO - ๐ŸงŠ WebRTC consumer_1749200857591 ICE state: completed +2025-06-06 11:07:45,433 - video.core - INFO - ๐Ÿ”— WebRTC consumer_1749200857591 connection state: connected +2025-06-06 11:07:45,433 - video.core - INFO - ๐Ÿ“บ Consumer consumer_1749200857591 WebRTC connection established - ready to send frames +2025-06-06 11:07:45,538 - aiortc.rtcrtpsender - WARNING - RTCRtpsender(video) Traceback (most recent call last): + File "/Users/julienblanchon/.local/share/uv/python/cpython-3.12.0-macos-aarch64-none/lib/python3.12/asyncio/tasks.py", line 510, in wait_for + return await fut + ^^^^^^^^^ + File "/Users/julienblanchon/.local/share/uv/python/cpython-3.12.0-macos-aarch64-none/lib/python3.12/asyncio/queues.py", line 158, in get + await getter +asyncio.exceptions.CancelledError + +The above exception was the direct cause of the following exception: + +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/video/core.py", line 69, in recv + frame_data = await asyncio.wait_for(self.frame_queue.get(), timeout=0.1) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/.local/share/uv/python/cpython-3.12.0-macos-aarch64-none/lib/python3.12/asyncio/tasks.py", line 509, in wait_for + async with timeouts.timeout(timeout): + File "/Users/julienblanchon/.local/share/uv/python/cpython-3.12.0-macos-aarch64-none/lib/python3.12/asyncio/timeouts.py", line 111, in __aexit__ + raise TimeoutError from exc_val +TimeoutError + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/aiortc/rtcrtpsender.py", line 367, in _run_rtp + enc_frame = await self._next_encoded_frame(codec) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/aiortc/rtcrtpsender.py", line 294, in _next_encoded_frame + data = await self.__track.recv() + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/video/core.py", line 100, in recv + frame = self._create_recovery_frame(current_time) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/video/core.py", line 136, in _create_recovery_frame + recovery_frame = self._apply_recovery_policy(policy) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/video/core.py", line 148, in _apply_recovery_policy + recovery_frame = apply_recovery_policy( + ^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/video/utils.py", line 178, in apply_recovery_policy + if policy == RecoveryPolicy.BLACK_FRAME: + ^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: type object 'RecoveryPolicy' has no attribute 'BLACK_FRAME' + +2025-06-06 11:07:46,184 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749200857529 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:07:46,185 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 11:07:46,185 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: offer from producer_1749200857529 (role: producer) +2025-06-06 11:07:46,185 - video.core - INFO - ๐Ÿค Processing WebRTC offer from producer producer_1749200857529 +2025-06-06 11:07:46,185 - video.core - INFO - ๐Ÿ”ง Processing SDP offer from producer_1749200857529 (length: 4741 chars) +2025-06-06 11:07:46,190 - video.core - INFO - WebRTC producer_1749200857529 received track: video +2025-06-06 11:07:46,190 - video.core - INFO - WebRTC producer_1749200857529 is now a PRODUCER +2025-06-06 11:07:46,191 - video.core - INFO - ๐Ÿ–ฅ๏ธ WebRTC producer_1749200857529 set as PRODUCER (explicit role) +2025-06-06 11:07:46,191 - video.core - INFO - ๐Ÿ“น Starting video frame processing for producer producer_1749200857529 +2025-06-06 11:07:46,193 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749200857529 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:07:46,193 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 11:07:46,193 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: ice from producer_1749200857529 (role: producer) +2025-06-06 11:07:46,211 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749200857529 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:07:46,211 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 11:07:46,211 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: ice from producer_1749200857529 (role: producer) +2025-06-06 11:07:46,225 - video.core - INFO - โœ… Generated WebRTC answer for producer_1749200857529 (length: 1971 chars) +2025-06-06 11:07:46,225 - video.core - INFO - โœ… Generated WebRTC answer for producer_1749200857529 (length: 1971 chars) +2025-06-06 11:07:46,225 - video.core - INFO - ๐ŸงŠ WebRTC producer_1749200857529 ICE state: checking +2025-06-06 11:07:46,225 - video.core - INFO - ๐Ÿ”— WebRTC producer_1749200857529 connection state: connecting +2025-06-06 11:07:46,225 - aioice.ice - INFO - Connection(1) Check CandidatePair(('192.168.1.83', 55732) -> ('192.168.1.83', 58502)) State.FROZEN -> State.WAITING +2025-06-06 11:07:46,226 - aioice.ice - INFO - Connection(1) Check CandidatePair(('192.168.1.83', 55732) -> ('82.66.87.218', 58502)) State.FROZEN -> State.WAITING +2025-06-06 11:07:46,226 - aioice.ice - INFO - Connection(1) Check CandidatePair(('192.168.1.83', 55732) -> ('192.168.1.83', 58502)) State.WAITING -> State.IN_PROGRESS +2025-06-06 11:07:46,227 - aioice.ice - INFO - Connection(1) Check CandidatePair(('192.168.1.83', 55732) -> ('192.168.1.83', 58502)) State.IN_PROGRESS -> State.SUCCEEDED +2025-06-06 11:07:46,228 - aioice.ice - INFO - Connection(1) Check CandidatePair(('192.168.1.83', 55732) -> ('82.66.87.218', 58502)) State.WAITING -> State.FAILED +2025-06-06 11:07:46,228 - aioice.ice - INFO - Connection(1) ICE completed +2025-06-06 11:07:46,246 - video.core - INFO - ๐ŸงŠ WebRTC producer_1749200857529 ICE state: completed +2025-06-06 11:07:46,250 - video.core - INFO - ๐Ÿ”— WebRTC producer_1749200857529 connection state: connected +2025-06-06 11:07:46,251 - video.core - INFO - ๐ŸŽฌ Producer producer_1749200857529 WebRTC connection established - ready to receive frames +2025-06-06 11:07:46,318 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 22257 bytes +2025-06-06 11:07:46,318 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:46,318 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:46,354 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 22975 bytes +2025-06-06 11:07:46,354 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:46,354 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:46,405 - video.core - INFO - ๐Ÿ“ฅ Server received frame #3 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 23470 bytes +2025-06-06 11:07:46,406 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:46,406 - video.core - INFO - ๐Ÿ“ค Server relayed frame #3 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:46,450 - video.core - INFO - ๐Ÿ“ฅ Server received frame #4 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 23570 bytes +2025-06-06 11:07:46,451 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:46,451 - video.core - INFO - ๐Ÿ“ค Server relayed frame #4 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:46,494 - video.core - INFO - ๐Ÿ“ฅ Server received frame #5 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 23762 bytes +2025-06-06 11:07:46,494 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:46,494 - video.core - INFO - ๐Ÿ“ค Server relayed frame #5 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:46,539 - video.core - INFO - ๐Ÿ“ฅ Server received frame #6 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 23888 bytes +2025-06-06 11:07:46,539 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:46,539 - video.core - INFO - ๐Ÿ“ค Server relayed frame #6 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:46,588 - video.core - INFO - ๐Ÿ“ฅ Server received frame #7 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 24067 bytes +2025-06-06 11:07:46,590 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 1.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:46,592 - video.core - INFO - ๐Ÿ“ค Server relayed frame #7 to 1 consumers in 3.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:46,630 - video.core - INFO - ๐Ÿ“ฅ Server received frame #8 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 24138 bytes +2025-06-06 11:07:46,630 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:46,630 - video.core - INFO - ๐Ÿ“ค Server relayed frame #8 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:46,660 - video.core - INFO - ๐Ÿ“ฅ Server received frame #9 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 24203 bytes +2025-06-06 11:07:46,660 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:46,660 - video.core - INFO - ๐Ÿ“ค Server relayed frame #9 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:46,698 - video.core - INFO - ๐Ÿ“น Frame #10 from producer producer_1749200857529: size=24284 bytes, resolution=640x480 +2025-06-06 11:07:46,698 - video.core - INFO - ๐Ÿ“ฅ Server received frame #10 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 24284 bytes +2025-06-06 11:07:46,698 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:46,698 - video.core - INFO - ๐Ÿ“ค Server relayed frame #10 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:46,741 - video.core - INFO - ๐Ÿ“ฅ Server received frame #11 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 24414 bytes +2025-06-06 11:07:46,741 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:46,741 - video.core - INFO - ๐Ÿ“ค Server relayed frame #11 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:46,788 - video.core - INFO - ๐Ÿ“ฅ Server received frame #12 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 24556 bytes +2025-06-06 11:07:46,788 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:46,789 - video.core - INFO - ๐Ÿ“ค Server relayed frame #12 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:46,832 - video.core - INFO - ๐Ÿ“ฅ Server received frame #13 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 24708 bytes +2025-06-06 11:07:46,832 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:46,832 - video.core - INFO - ๐Ÿ“ค Server relayed frame #13 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:46,872 - video.core - INFO - ๐Ÿ“ฅ Server received frame #14 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 24858 bytes +2025-06-06 11:07:46,872 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:46,872 - video.core - INFO - ๐Ÿ“ค Server relayed frame #14 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:46,918 - video.core - INFO - ๐Ÿ“ฅ Server received frame #15 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 25055 bytes +2025-06-06 11:07:46,918 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:46,918 - video.core - INFO - ๐Ÿ“ค Server relayed frame #15 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:46,965 - video.core - INFO - ๐Ÿ“ฅ Server received frame #16 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 25286 bytes +2025-06-06 11:07:46,965 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:46,965 - video.core - INFO - ๐Ÿ“ค Server relayed frame #16 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:47,005 - video.core - INFO - ๐Ÿ“ฅ Server received frame #17 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 25435 bytes +2025-06-06 11:07:47,006 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:47,006 - video.core - INFO - ๐Ÿ“ค Server relayed frame #17 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:47,046 - video.core - INFO - ๐Ÿ“ฅ Server received frame #18 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 25460 bytes +2025-06-06 11:07:47,046 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:47,046 - video.core - INFO - ๐Ÿ“ค Server relayed frame #18 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:47,103 - video.core - INFO - ๐Ÿ“ฅ Server received frame #19 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 25561 bytes +2025-06-06 11:07:47,103 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:47,105 - video.core - INFO - ๐Ÿ“ค Server relayed frame #19 to 1 consumers in 1.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:47,140 - video.core - INFO - ๐Ÿ“น Frame #20 from producer producer_1749200857529: size=25876 bytes, resolution=640x480 +2025-06-06 11:07:47,141 - video.core - INFO - ๐Ÿ“ฅ Server received frame #20 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 25876 bytes +2025-06-06 11:07:47,141 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:47,141 - video.core - INFO - ๐Ÿ“ค Server relayed frame #20 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:47,183 - video.core - INFO - ๐Ÿ“ฅ Server received frame #21 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 25841 bytes +2025-06-06 11:07:47,183 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:47,183 - video.core - INFO - ๐Ÿ“ค Server relayed frame #21 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:47,218 - video.core - INFO - ๐Ÿ“ฅ Server received frame #22 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 25642 bytes +2025-06-06 11:07:47,218 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:47,219 - video.core - INFO - ๐Ÿ“ค Server relayed frame #22 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:47,264 - video.core - INFO - ๐Ÿ“ฅ Server received frame #23 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 25652 bytes +2025-06-06 11:07:47,264 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:47,264 - video.core - INFO - ๐Ÿ“ค Server relayed frame #23 to 1 consumers in 0.7ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:47,300 - video.core - INFO - ๐Ÿ“ฅ Server received frame #24 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 25774 bytes +2025-06-06 11:07:47,300 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:47,300 - video.core - INFO - ๐Ÿ“ค Server relayed frame #24 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:47,344 - video.core - INFO - ๐Ÿ“ฅ Server received frame #25 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26498 bytes +2025-06-06 11:07:47,344 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:47,344 - video.core - INFO - ๐Ÿ“ค Server relayed frame #25 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:47,388 - video.core - INFO - ๐Ÿ“ฅ Server received frame #26 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26537 bytes +2025-06-06 11:07:47,388 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:47,388 - video.core - INFO - ๐Ÿ“ค Server relayed frame #26 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:47,438 - video.core - INFO - ๐Ÿ“ฅ Server received frame #27 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26564 bytes +2025-06-06 11:07:47,438 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:47,438 - video.core - INFO - ๐Ÿ“ค Server relayed frame #27 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:47,479 - video.core - INFO - ๐Ÿ“ฅ Server received frame #28 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26770 bytes +2025-06-06 11:07:47,479 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:47,479 - video.core - INFO - ๐Ÿ“ค Server relayed frame #28 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:47,526 - video.core - INFO - ๐Ÿ“ฅ Server received frame #29 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26861 bytes +2025-06-06 11:07:47,527 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:47,527 - video.core - INFO - ๐Ÿ“ค Server relayed frame #29 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:47,572 - video.core - INFO - ๐Ÿ“น Frame #30 from producer producer_1749200857529: size=27001 bytes, resolution=640x480 +2025-06-06 11:07:47,573 - video.core - INFO - ๐Ÿ“ฅ Server received frame #30 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27001 bytes +2025-06-06 11:07:47,573 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:47,573 - video.core - INFO - ๐Ÿ“ค Server relayed frame #30 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:47,573 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 30 frames processed, 10.8 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:47,573 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 30 frames, 2.5 FPS, 0.49 Mbps throughput, 25032 bytes avg frame size +2025-06-06 11:07:47,573 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 30 frames processed, FPS: 21.7, Throughput: 4.35 Mbps, Avg frame size: 25032 bytes +2025-06-06 11:07:47,611 - video.core - INFO - ๐Ÿ“ฅ Server received frame #31 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27194 bytes +2025-06-06 11:07:47,611 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:47,611 - video.core - INFO - ๐Ÿ“ค Server relayed frame #31 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:47,658 - video.core - INFO - ๐Ÿ“ฅ Server received frame #32 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27231 bytes +2025-06-06 11:07:47,658 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:47,658 - video.core - INFO - ๐Ÿ“ค Server relayed frame #32 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:47,708 - video.core - INFO - ๐Ÿ“ฅ Server received frame #33 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27359 bytes +2025-06-06 11:07:47,708 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:47,708 - video.core - INFO - ๐Ÿ“ค Server relayed frame #33 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:47,752 - video.core - INFO - ๐Ÿ“ฅ Server received frame #34 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27528 bytes +2025-06-06 11:07:47,752 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:47,752 - video.core - INFO - ๐Ÿ“ค Server relayed frame #34 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:47,805 - video.core - INFO - ๐Ÿ“ฅ Server received frame #35 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27546 bytes +2025-06-06 11:07:47,805 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:47,805 - video.core - INFO - ๐Ÿ“ค Server relayed frame #35 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:47,824 - video.core - INFO - ๐Ÿ“ฅ Server received frame #36 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27588 bytes +2025-06-06 11:07:47,824 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:47,824 - video.core - INFO - ๐Ÿ“ค Server relayed frame #36 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:47,877 - video.core - INFO - ๐Ÿ“ฅ Server received frame #37 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27724 bytes +2025-06-06 11:07:47,877 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:47,877 - video.core - INFO - ๐Ÿ“ค Server relayed frame #37 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:47,919 - video.core - INFO - ๐Ÿ“ฅ Server received frame #38 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27792 bytes +2025-06-06 11:07:47,919 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:47,919 - video.core - INFO - ๐Ÿ“ค Server relayed frame #38 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:47,971 - video.core - INFO - ๐Ÿ“ฅ Server received frame #39 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27810 bytes +2025-06-06 11:07:47,971 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:47,971 - video.core - INFO - ๐Ÿ“ค Server relayed frame #39 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:47,999 - video.core - INFO - ๐Ÿ“น Frame #40 from producer producer_1749200857529: size=27744 bytes, resolution=640x480 +2025-06-06 11:07:48,000 - video.core - INFO - ๐Ÿ“ฅ Server received frame #40 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27744 bytes +2025-06-06 11:07:48,000 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:48,000 - video.core - INFO - ๐Ÿ“ค Server relayed frame #40 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:48,047 - video.core - INFO - ๐Ÿ“ฅ Server received frame #41 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27602 bytes +2025-06-06 11:07:48,047 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:48,047 - video.core - INFO - ๐Ÿ“ค Server relayed frame #41 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:48,094 - video.core - INFO - ๐Ÿ“ฅ Server received frame #42 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27413 bytes +2025-06-06 11:07:48,095 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:48,095 - video.core - INFO - ๐Ÿ“ค Server relayed frame #42 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:48,142 - video.core - INFO - ๐Ÿ“ฅ Server received frame #43 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27326 bytes +2025-06-06 11:07:48,142 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:48,142 - video.core - INFO - ๐Ÿ“ค Server relayed frame #43 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:48,174 - video.core - INFO - ๐Ÿ“ฅ Server received frame #44 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27311 bytes +2025-06-06 11:07:48,174 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:48,174 - video.core - INFO - ๐Ÿ“ค Server relayed frame #44 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:48,212 - video.core - INFO - ๐Ÿ“ฅ Server received frame #45 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27370 bytes +2025-06-06 11:07:48,212 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:48,212 - video.core - INFO - ๐Ÿ“ค Server relayed frame #45 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:48,255 - video.core - INFO - ๐Ÿ“ฅ Server received frame #46 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27515 bytes +2025-06-06 11:07:48,256 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:48,256 - video.core - INFO - ๐Ÿ“ค Server relayed frame #46 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:48,298 - video.core - INFO - ๐Ÿ“ฅ Server received frame #47 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27484 bytes +2025-06-06 11:07:48,298 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:48,298 - video.core - INFO - ๐Ÿ“ค Server relayed frame #47 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:48,340 - video.core - INFO - ๐Ÿ“ฅ Server received frame #48 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27522 bytes +2025-06-06 11:07:48,340 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:48,341 - video.core - INFO - ๐Ÿ“ค Server relayed frame #48 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:48,385 - video.core - INFO - ๐Ÿ“ฅ Server received frame #49 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27531 bytes +2025-06-06 11:07:48,385 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:48,385 - video.core - INFO - ๐Ÿ“ค Server relayed frame #49 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:48,429 - video.core - INFO - ๐Ÿ“น Frame #50 from producer producer_1749200857529: size=27532 bytes, resolution=640x480 +2025-06-06 11:07:48,429 - video.core - INFO - ๐Ÿ“ฅ Server received frame #50 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27532 bytes +2025-06-06 11:07:48,429 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:48,429 - video.core - INFO - ๐Ÿ“ค Server relayed frame #50 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:48,476 - video.core - INFO - ๐Ÿ“ฅ Server received frame #51 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27643 bytes +2025-06-06 11:07:48,477 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:48,477 - video.core - INFO - ๐Ÿ“ค Server relayed frame #51 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:48,520 - video.core - INFO - ๐Ÿ“ฅ Server received frame #52 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27772 bytes +2025-06-06 11:07:48,520 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:48,520 - video.core - INFO - ๐Ÿ“ค Server relayed frame #52 to 1 consumers in 0.8ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:48,562 - video.core - INFO - ๐Ÿ“ฅ Server received frame #53 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27824 bytes +2025-06-06 11:07:48,563 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:48,563 - video.core - INFO - ๐Ÿ“ค Server relayed frame #53 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:48,609 - video.core - INFO - ๐Ÿ“ฅ Server received frame #54 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27963 bytes +2025-06-06 11:07:48,610 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:48,610 - video.core - INFO - ๐Ÿ“ค Server relayed frame #54 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:48,647 - video.core - INFO - ๐Ÿ“ฅ Server received frame #55 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27969 bytes +2025-06-06 11:07:48,647 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:48,647 - video.core - INFO - ๐Ÿ“ค Server relayed frame #55 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:48,692 - video.core - INFO - ๐Ÿ“ฅ Server received frame #56 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28108 bytes +2025-06-06 11:07:48,692 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:48,693 - video.core - INFO - ๐Ÿ“ค Server relayed frame #56 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:48,735 - video.core - INFO - ๐Ÿ“ฅ Server received frame #57 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28092 bytes +2025-06-06 11:07:48,736 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:48,736 - video.core - INFO - ๐Ÿ“ค Server relayed frame #57 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:48,779 - video.core - INFO - ๐Ÿ“ฅ Server received frame #58 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28112 bytes +2025-06-06 11:07:48,779 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:48,779 - video.core - INFO - ๐Ÿ“ค Server relayed frame #58 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:48,824 - video.core - INFO - ๐Ÿ“ฅ Server received frame #59 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28196 bytes +2025-06-06 11:07:48,825 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:48,825 - video.core - INFO - ๐Ÿ“ค Server relayed frame #59 to 1 consumers in 1.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:48,867 - video.core - INFO - ๐Ÿ“น Frame #60 from producer producer_1749200857529: size=28095 bytes, resolution=640x480 +2025-06-06 11:07:48,867 - video.core - INFO - ๐Ÿ“ฅ Server received frame #60 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28095 bytes +2025-06-06 11:07:48,867 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:48,867 - video.core - INFO - ๐Ÿ“ค Server relayed frame #60 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:48,867 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 60 frames processed, 14.7 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:48,867 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 60 frames, 4.5 FPS, 0.94 Mbps throughput, 26347 bytes avg frame size +2025-06-06 11:07:48,867 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 60 frames processed, FPS: 22.4, Throughput: 4.73 Mbps, Avg frame size: 26347 bytes +2025-06-06 11:07:48,907 - video.core - INFO - ๐Ÿ“ฅ Server received frame #61 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28061 bytes +2025-06-06 11:07:48,908 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:48,908 - video.core - INFO - ๐Ÿ“ค Server relayed frame #61 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:48,948 - video.core - INFO - ๐Ÿ“ฅ Server received frame #62 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27916 bytes +2025-06-06 11:07:48,948 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:48,948 - video.core - INFO - ๐Ÿ“ค Server relayed frame #62 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:48,989 - video.core - INFO - ๐Ÿ“ฅ Server received frame #63 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27751 bytes +2025-06-06 11:07:48,989 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:48,989 - video.core - INFO - ๐Ÿ“ค Server relayed frame #63 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:49,032 - video.core - INFO - ๐Ÿ“ฅ Server received frame #64 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27693 bytes +2025-06-06 11:07:49,033 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:49,033 - video.core - INFO - ๐Ÿ“ค Server relayed frame #64 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:49,076 - video.core - INFO - ๐Ÿ“ฅ Server received frame #65 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27618 bytes +2025-06-06 11:07:49,076 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:49,076 - video.core - INFO - ๐Ÿ“ค Server relayed frame #65 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:49,124 - video.core - INFO - ๐Ÿ“ฅ Server received frame #66 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27553 bytes +2025-06-06 11:07:49,124 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:49,124 - video.core - INFO - ๐Ÿ“ค Server relayed frame #66 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:49,164 - video.core - INFO - ๐Ÿ“ฅ Server received frame #67 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27556 bytes +2025-06-06 11:07:49,164 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:49,164 - video.core - INFO - ๐Ÿ“ค Server relayed frame #67 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:49,206 - video.core - INFO - ๐Ÿ“ฅ Server received frame #68 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27491 bytes +2025-06-06 11:07:49,206 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:49,206 - video.core - INFO - ๐Ÿ“ค Server relayed frame #68 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:49,248 - video.core - INFO - ๐Ÿ“ฅ Server received frame #69 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27456 bytes +2025-06-06 11:07:49,248 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:49,248 - video.core - INFO - ๐Ÿ“ค Server relayed frame #69 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:49,291 - video.core - INFO - ๐Ÿ“น Frame #70 from producer producer_1749200857529: size=27450 bytes, resolution=640x480 +2025-06-06 11:07:49,291 - video.core - INFO - ๐Ÿ“ฅ Server received frame #70 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27450 bytes +2025-06-06 11:07:49,291 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:49,291 - video.core - INFO - ๐Ÿ“ค Server relayed frame #70 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:49,338 - video.core - INFO - ๐Ÿ“ฅ Server received frame #71 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27443 bytes +2025-06-06 11:07:49,339 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:49,339 - video.core - INFO - ๐Ÿ“ค Server relayed frame #71 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:49,377 - video.core - INFO - ๐Ÿ“ฅ Server received frame #72 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27440 bytes +2025-06-06 11:07:49,377 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:49,377 - video.core - INFO - ๐Ÿ“ค Server relayed frame #72 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:49,421 - video.core - INFO - ๐Ÿ“ฅ Server received frame #73 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27412 bytes +2025-06-06 11:07:49,421 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:49,421 - video.core - INFO - ๐Ÿ“ค Server relayed frame #73 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:49,465 - video.core - INFO - ๐Ÿ“ฅ Server received frame #74 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27195 bytes +2025-06-06 11:07:49,465 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:49,465 - video.core - INFO - ๐Ÿ“ค Server relayed frame #74 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:49,507 - video.core - INFO - ๐Ÿ“ฅ Server received frame #75 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27200 bytes +2025-06-06 11:07:49,508 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:49,508 - video.core - INFO - ๐Ÿ“ค Server relayed frame #75 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:49,552 - video.core - INFO - ๐Ÿ“ฅ Server received frame #76 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27341 bytes +2025-06-06 11:07:49,553 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:49,553 - video.core - INFO - ๐Ÿ“ค Server relayed frame #76 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:49,595 - video.core - INFO - ๐Ÿ“ฅ Server received frame #77 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27455 bytes +2025-06-06 11:07:49,595 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:49,595 - video.core - INFO - ๐Ÿ“ค Server relayed frame #77 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:49,641 - video.core - INFO - ๐Ÿ“ฅ Server received frame #78 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27400 bytes +2025-06-06 11:07:49,641 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:49,641 - video.core - INFO - ๐Ÿ“ค Server relayed frame #78 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:49,687 - video.core - INFO - ๐Ÿ“ฅ Server received frame #79 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27439 bytes +2025-06-06 11:07:49,687 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:49,688 - video.core - INFO - ๐Ÿ“ค Server relayed frame #79 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:49,725 - video.core - INFO - ๐Ÿ“น Frame #80 from producer producer_1749200857529: size=27457 bytes, resolution=640x480 +2025-06-06 11:07:49,725 - video.core - INFO - ๐Ÿ“ฅ Server received frame #80 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27457 bytes +2025-06-06 11:07:49,725 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:49,725 - video.core - INFO - ๐Ÿ“ค Server relayed frame #80 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:49,774 - video.core - INFO - ๐Ÿ“ฅ Server received frame #81 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27456 bytes +2025-06-06 11:07:49,774 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:49,774 - video.core - INFO - ๐Ÿ“ค Server relayed frame #81 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:49,816 - video.core - INFO - ๐Ÿ“ฅ Server received frame #82 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27316 bytes +2025-06-06 11:07:49,816 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:49,816 - video.core - INFO - ๐Ÿ“ค Server relayed frame #82 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:49,855 - video.core - INFO - ๐Ÿ“ฅ Server received frame #83 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27285 bytes +2025-06-06 11:07:49,856 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:49,856 - video.core - INFO - ๐Ÿ“ค Server relayed frame #83 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:49,898 - video.core - INFO - ๐Ÿ“ฅ Server received frame #84 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27331 bytes +2025-06-06 11:07:49,898 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:49,898 - video.core - INFO - ๐Ÿ“ค Server relayed frame #84 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:49,939 - video.core - INFO - ๐Ÿ“ฅ Server received frame #85 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27289 bytes +2025-06-06 11:07:49,939 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:49,939 - video.core - INFO - ๐Ÿ“ค Server relayed frame #85 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:49,985 - video.core - INFO - ๐Ÿ“ฅ Server received frame #86 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27162 bytes +2025-06-06 11:07:49,986 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:49,986 - video.core - INFO - ๐Ÿ“ค Server relayed frame #86 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:50,048 - video.core - INFO - ๐Ÿ“ฅ Server received frame #87 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26866 bytes +2025-06-06 11:07:50,048 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:50,048 - video.core - INFO - ๐Ÿ“ค Server relayed frame #87 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:50,072 - video.core - INFO - ๐Ÿ“ฅ Server received frame #88 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26770 bytes +2025-06-06 11:07:50,072 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:50,072 - video.core - INFO - ๐Ÿ“ค Server relayed frame #88 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:50,111 - video.core - INFO - ๐Ÿ“ฅ Server received frame #89 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26776 bytes +2025-06-06 11:07:50,111 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:50,111 - video.core - INFO - ๐Ÿ“ค Server relayed frame #89 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:50,157 - video.core - INFO - ๐Ÿ“น Frame #90 from producer producer_1749200857529: size=26749 bytes, resolution=640x480 +2025-06-06 11:07:50,157 - video.core - INFO - ๐Ÿ“ฅ Server received frame #90 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26749 bytes +2025-06-06 11:07:50,157 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:50,157 - video.core - INFO - ๐Ÿ“ค Server relayed frame #90 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:50,157 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 90 frames processed, 16.8 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:50,158 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 90 frames, 6.1 FPS, 1.30 Mbps throughput, 26690 bytes avg frame size +2025-06-06 11:07:50,158 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 90 frames processed, FPS: 22.7, Throughput: 4.85 Mbps, Avg frame size: 26690 bytes +2025-06-06 11:07:50,199 - video.core - INFO - ๐Ÿ“ฅ Server received frame #91 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26791 bytes +2025-06-06 11:07:50,199 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:50,199 - video.core - INFO - ๐Ÿ“ค Server relayed frame #91 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:50,244 - video.core - INFO - ๐Ÿ“ฅ Server received frame #92 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26860 bytes +2025-06-06 11:07:50,244 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:50,244 - video.core - INFO - ๐Ÿ“ค Server relayed frame #92 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:50,290 - video.core - INFO - ๐Ÿ“ฅ Server received frame #93 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26981 bytes +2025-06-06 11:07:50,291 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:50,291 - video.core - INFO - ๐Ÿ“ค Server relayed frame #93 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:50,331 - video.core - INFO - ๐Ÿ“ฅ Server received frame #94 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26953 bytes +2025-06-06 11:07:50,332 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:50,332 - video.core - INFO - ๐Ÿ“ค Server relayed frame #94 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:50,374 - video.core - INFO - ๐Ÿ“ฅ Server received frame #95 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27013 bytes +2025-06-06 11:07:50,374 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:50,374 - video.core - INFO - ๐Ÿ“ค Server relayed frame #95 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:50,423 - video.core - INFO - ๐Ÿ“ฅ Server received frame #96 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27142 bytes +2025-06-06 11:07:50,423 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:50,424 - video.core - INFO - ๐Ÿ“ค Server relayed frame #96 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:50,464 - video.core - INFO - ๐Ÿ“ฅ Server received frame #97 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27171 bytes +2025-06-06 11:07:50,464 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:50,464 - video.core - INFO - ๐Ÿ“ค Server relayed frame #97 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:50,506 - video.core - INFO - ๐Ÿ“ฅ Server received frame #98 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27218 bytes +2025-06-06 11:07:50,506 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:50,506 - video.core - INFO - ๐Ÿ“ค Server relayed frame #98 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:50,610 - video.core - INFO - ๐Ÿ“ฅ Server received frame #99 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27177 bytes +2025-06-06 11:07:50,610 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:50,610 - video.core - INFO - ๐Ÿ“ค Server relayed frame #99 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:50,617 - video.core - INFO - ๐Ÿ“น Frame #100 from producer producer_1749200857529: size=27230 bytes, resolution=640x480 +2025-06-06 11:07:50,617 - video.core - INFO - ๐Ÿ“ฅ Server received frame #100 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27230 bytes +2025-06-06 11:07:50,617 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:50,617 - video.core - INFO - ๐Ÿ“ค Server relayed frame #100 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:50,672 - video.core - INFO - ๐Ÿ“ฅ Server received frame #101 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27257 bytes +2025-06-06 11:07:50,672 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:50,672 - video.core - INFO - ๐Ÿ“ค Server relayed frame #101 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:50,713 - video.core - INFO - ๐Ÿ“ฅ Server received frame #102 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27341 bytes +2025-06-06 11:07:50,714 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:50,714 - video.core - INFO - ๐Ÿ“ค Server relayed frame #102 to 1 consumers in 0.8ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:50,734 - video.core - INFO - ๐Ÿ“ฅ Server received frame #103 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27410 bytes +2025-06-06 11:07:50,738 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:50,739 - video.core - INFO - ๐Ÿ“ค Server relayed frame #103 to 1 consumers in 5.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:50,839 - video.core - INFO - ๐Ÿ“ฅ Server received frame #104 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27472 bytes +2025-06-06 11:07:50,839 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:50,839 - video.core - INFO - ๐Ÿ“ค Server relayed frame #104 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:50,851 - video.core - INFO - ๐Ÿ“ฅ Server received frame #105 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27573 bytes +2025-06-06 11:07:50,851 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:50,851 - video.core - INFO - ๐Ÿ“ค Server relayed frame #105 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:50,854 - video.core - INFO - ๐Ÿ“ฅ Server received frame #106 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27647 bytes +2025-06-06 11:07:50,854 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:50,854 - video.core - INFO - ๐Ÿ“ค Server relayed frame #106 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:50,906 - video.core - INFO - ๐Ÿ“ฅ Server received frame #107 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27675 bytes +2025-06-06 11:07:50,906 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:50,906 - video.core - INFO - ๐Ÿ“ค Server relayed frame #107 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:50,935 - video.core - INFO - ๐Ÿ“ฅ Server received frame #108 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27714 bytes +2025-06-06 11:07:50,936 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:50,936 - video.core - INFO - ๐Ÿ“ค Server relayed frame #108 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:50,983 - video.core - INFO - ๐Ÿ“ฅ Server received frame #109 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27755 bytes +2025-06-06 11:07:50,983 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:50,983 - video.core - INFO - ๐Ÿ“ค Server relayed frame #109 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:51,027 - video.core - INFO - ๐Ÿ“น Frame #110 from producer producer_1749200857529: size=27852 bytes, resolution=640x480 +2025-06-06 11:07:51,027 - video.core - INFO - ๐Ÿ“ฅ Server received frame #110 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27852 bytes +2025-06-06 11:07:51,027 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:51,027 - video.core - INFO - ๐Ÿ“ค Server relayed frame #110 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:51,072 - video.core - INFO - ๐Ÿ“ฅ Server received frame #111 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27793 bytes +2025-06-06 11:07:51,072 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:51,072 - video.core - INFO - ๐Ÿ“ค Server relayed frame #111 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:51,115 - video.core - INFO - ๐Ÿ“ฅ Server received frame #112 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27906 bytes +2025-06-06 11:07:51,115 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:51,115 - video.core - INFO - ๐Ÿ“ค Server relayed frame #112 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:51,157 - video.core - INFO - ๐Ÿ“ฅ Server received frame #113 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27882 bytes +2025-06-06 11:07:51,157 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:51,157 - video.core - INFO - ๐Ÿ“ค Server relayed frame #113 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:51,198 - video.core - INFO - ๐Ÿ“ฅ Server received frame #114 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27911 bytes +2025-06-06 11:07:51,198 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:51,199 - video.core - INFO - ๐Ÿ“ค Server relayed frame #114 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:51,248 - video.core - INFO - ๐Ÿ“ฅ Server received frame #115 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27902 bytes +2025-06-06 11:07:51,248 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:51,248 - video.core - INFO - ๐Ÿ“ค Server relayed frame #115 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:51,291 - video.core - INFO - ๐Ÿ“ฅ Server received frame #116 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27958 bytes +2025-06-06 11:07:51,291 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:51,292 - video.core - INFO - ๐Ÿ“ค Server relayed frame #116 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:51,328 - video.core - INFO - ๐Ÿ“ฅ Server received frame #117 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28067 bytes +2025-06-06 11:07:51,329 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:51,329 - video.core - INFO - ๐Ÿ“ค Server relayed frame #117 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:51,380 - video.core - INFO - ๐Ÿ“ฅ Server received frame #118 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28173 bytes +2025-06-06 11:07:51,381 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:51,381 - video.core - INFO - ๐Ÿ“ค Server relayed frame #118 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:51,436 - video.core - INFO - ๐Ÿ“ฅ Server received frame #119 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28211 bytes +2025-06-06 11:07:51,438 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:51,439 - video.core - INFO - ๐Ÿ“ค Server relayed frame #119 to 1 consumers in 3.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:51,468 - video.core - INFO - ๐Ÿ“น Frame #120 from producer producer_1749200857529: size=28389 bytes, resolution=640x480 +2025-06-06 11:07:51,469 - video.core - INFO - ๐Ÿ“ฅ Server received frame #120 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28389 bytes +2025-06-06 11:07:51,470 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:51,470 - video.core - INFO - ๐Ÿ“ค Server relayed frame #120 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:51,470 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 120 frames processed, 18.0 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:51,470 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 120 frames, 7.5 FPS, 1.61 Mbps throughput, 26905 bytes avg frame size +2025-06-06 11:07:51,470 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 120 frames processed, FPS: 22.7, Throughput: 4.90 Mbps, Avg frame size: 26905 bytes +2025-06-06 11:07:51,508 - video.core - INFO - ๐Ÿ“ฅ Server received frame #121 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28467 bytes +2025-06-06 11:07:51,508 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:51,508 - video.core - INFO - ๐Ÿ“ค Server relayed frame #121 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:51,544 - video.core - INFO - ๐Ÿ“ฅ Server received frame #122 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28466 bytes +2025-06-06 11:07:51,544 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:51,544 - video.core - INFO - ๐Ÿ“ค Server relayed frame #122 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:51,583 - video.core - INFO - ๐Ÿ“ฅ Server received frame #123 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28508 bytes +2025-06-06 11:07:51,583 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:51,583 - video.core - INFO - ๐Ÿ“ค Server relayed frame #123 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:51,630 - video.core - INFO - ๐Ÿ“ฅ Server received frame #124 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28616 bytes +2025-06-06 11:07:51,630 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:51,630 - video.core - INFO - ๐Ÿ“ค Server relayed frame #124 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:51,673 - video.core - INFO - ๐Ÿ“ฅ Server received frame #125 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28737 bytes +2025-06-06 11:07:51,673 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:51,673 - video.core - INFO - ๐Ÿ“ค Server relayed frame #125 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:51,721 - video.core - INFO - ๐Ÿ“ฅ Server received frame #126 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28564 bytes +2025-06-06 11:07:51,721 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:51,721 - video.core - INFO - ๐Ÿ“ค Server relayed frame #126 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:51,761 - video.core - INFO - ๐Ÿ“ฅ Server received frame #127 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28496 bytes +2025-06-06 11:07:51,761 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:51,761 - video.core - INFO - ๐Ÿ“ค Server relayed frame #127 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:51,805 - video.core - INFO - ๐Ÿ“ฅ Server received frame #128 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28398 bytes +2025-06-06 11:07:51,805 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:51,805 - video.core - INFO - ๐Ÿ“ค Server relayed frame #128 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:51,848 - video.core - INFO - ๐Ÿ“ฅ Server received frame #129 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28414 bytes +2025-06-06 11:07:51,848 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:51,849 - video.core - INFO - ๐Ÿ“ค Server relayed frame #129 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:51,892 - video.core - INFO - ๐Ÿ“น Frame #130 from producer producer_1749200857529: size=28355 bytes, resolution=640x480 +2025-06-06 11:07:51,892 - video.core - INFO - ๐Ÿ“ฅ Server received frame #130 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28355 bytes +2025-06-06 11:07:51,892 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:51,892 - video.core - INFO - ๐Ÿ“ค Server relayed frame #130 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:51,948 - video.core - INFO - ๐Ÿ“ฅ Server received frame #131 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28392 bytes +2025-06-06 11:07:51,948 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:51,948 - video.core - INFO - ๐Ÿ“ค Server relayed frame #131 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:51,975 - video.core - INFO - ๐Ÿ“ฅ Server received frame #132 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28432 bytes +2025-06-06 11:07:51,975 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:51,975 - video.core - INFO - ๐Ÿ“ค Server relayed frame #132 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:52,019 - video.core - INFO - ๐Ÿ“ฅ Server received frame #133 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28442 bytes +2025-06-06 11:07:52,019 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:52,019 - video.core - INFO - ๐Ÿ“ค Server relayed frame #133 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:52,061 - video.core - INFO - ๐Ÿ“ฅ Server received frame #134 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28408 bytes +2025-06-06 11:07:52,061 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:52,061 - video.core - INFO - ๐Ÿ“ค Server relayed frame #134 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:52,107 - video.core - INFO - ๐Ÿ“ฅ Server received frame #135 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28524 bytes +2025-06-06 11:07:52,107 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:52,107 - video.core - INFO - ๐Ÿ“ค Server relayed frame #135 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:52,149 - video.core - INFO - ๐Ÿ“ฅ Server received frame #136 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28349 bytes +2025-06-06 11:07:52,149 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:52,149 - video.core - INFO - ๐Ÿ“ค Server relayed frame #136 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:52,193 - video.core - INFO - ๐Ÿ“ฅ Server received frame #137 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28305 bytes +2025-06-06 11:07:52,195 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 1.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:52,195 - video.core - INFO - ๐Ÿ“ค Server relayed frame #137 to 1 consumers in 1.9ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:52,234 - video.core - INFO - ๐Ÿ“ฅ Server received frame #138 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28282 bytes +2025-06-06 11:07:52,234 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:52,234 - video.core - INFO - ๐Ÿ“ค Server relayed frame #138 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:52,278 - video.core - INFO - ๐Ÿ“ฅ Server received frame #139 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28375 bytes +2025-06-06 11:07:52,278 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:52,278 - video.core - INFO - ๐Ÿ“ค Server relayed frame #139 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:52,326 - video.core - INFO - ๐Ÿ“น Frame #140 from producer producer_1749200857529: size=28374 bytes, resolution=640x480 +2025-06-06 11:07:52,327 - video.core - INFO - ๐Ÿ“ฅ Server received frame #140 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28374 bytes +2025-06-06 11:07:52,327 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:52,327 - video.core - INFO - ๐Ÿ“ค Server relayed frame #140 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:52,366 - video.core - INFO - ๐Ÿ“ฅ Server received frame #141 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28442 bytes +2025-06-06 11:07:52,367 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:52,367 - video.core - INFO - ๐Ÿ“ค Server relayed frame #141 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:52,413 - video.core - INFO - ๐Ÿ“ฅ Server received frame #142 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28466 bytes +2025-06-06 11:07:52,413 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:52,413 - video.core - INFO - ๐Ÿ“ค Server relayed frame #142 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:52,458 - video.core - INFO - ๐Ÿ“ฅ Server received frame #143 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28479 bytes +2025-06-06 11:07:52,458 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:52,458 - video.core - INFO - ๐Ÿ“ค Server relayed frame #143 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:52,499 - video.core - INFO - ๐Ÿ“ฅ Server received frame #144 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28419 bytes +2025-06-06 11:07:52,500 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:52,500 - video.core - INFO - ๐Ÿ“ค Server relayed frame #144 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:52,541 - video.core - INFO - ๐Ÿ“ฅ Server received frame #145 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28378 bytes +2025-06-06 11:07:52,542 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:52,542 - video.core - INFO - ๐Ÿ“ค Server relayed frame #145 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:52,583 - video.core - INFO - ๐Ÿ“ฅ Server received frame #146 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28207 bytes +2025-06-06 11:07:52,583 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:52,583 - video.core - INFO - ๐Ÿ“ค Server relayed frame #146 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:52,627 - video.core - INFO - ๐Ÿ“ฅ Server received frame #147 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28213 bytes +2025-06-06 11:07:52,627 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:52,627 - video.core - INFO - ๐Ÿ“ค Server relayed frame #147 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:52,674 - video.core - INFO - ๐Ÿ“ฅ Server received frame #148 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28294 bytes +2025-06-06 11:07:52,674 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:52,674 - video.core - INFO - ๐Ÿ“ค Server relayed frame #148 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:52,723 - video.core - INFO - ๐Ÿ“ฅ Server received frame #149 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28340 bytes +2025-06-06 11:07:52,723 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:52,723 - video.core - INFO - ๐Ÿ“ค Server relayed frame #149 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:52,766 - video.core - INFO - ๐Ÿ“น Frame #150 from producer producer_1749200857529: size=28385 bytes, resolution=640x480 +2025-06-06 11:07:52,766 - video.core - INFO - ๐Ÿ“ฅ Server received frame #150 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28385 bytes +2025-06-06 11:07:52,766 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:52,766 - video.core - INFO - ๐Ÿ“ค Server relayed frame #150 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:52,766 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 150 frames processed, 18.8 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:52,767 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 150 frames, 8.6 FPS, 1.88 Mbps throughput, 27207 bytes avg frame size +2025-06-06 11:07:52,767 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 150 frames processed, FPS: 22.8, Throughput: 4.97 Mbps, Avg frame size: 27207 bytes +2025-06-06 11:07:52,808 - video.core - INFO - ๐Ÿ“ฅ Server received frame #151 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28421 bytes +2025-06-06 11:07:52,808 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:52,808 - video.core - INFO - ๐Ÿ“ค Server relayed frame #151 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:52,849 - video.core - INFO - ๐Ÿ“ฅ Server received frame #152 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28470 bytes +2025-06-06 11:07:52,850 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:52,850 - video.core - INFO - ๐Ÿ“ค Server relayed frame #152 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:52,894 - video.core - INFO - ๐Ÿ“ฅ Server received frame #153 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28348 bytes +2025-06-06 11:07:52,894 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:52,894 - video.core - INFO - ๐Ÿ“ค Server relayed frame #153 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:52,938 - video.core - INFO - ๐Ÿ“ฅ Server received frame #154 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28310 bytes +2025-06-06 11:07:52,939 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:52,939 - video.core - INFO - ๐Ÿ“ค Server relayed frame #154 to 1 consumers in 1.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:52,983 - video.core - INFO - ๐Ÿ“ฅ Server received frame #155 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28399 bytes +2025-06-06 11:07:52,984 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:52,984 - video.core - INFO - ๐Ÿ“ค Server relayed frame #155 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:53,024 - video.core - INFO - ๐Ÿ“ฅ Server received frame #156 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28337 bytes +2025-06-06 11:07:53,024 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:53,024 - video.core - INFO - ๐Ÿ“ค Server relayed frame #156 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:53,064 - video.core - INFO - ๐Ÿ“ฅ Server received frame #157 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28315 bytes +2025-06-06 11:07:53,064 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:53,064 - video.core - INFO - ๐Ÿ“ค Server relayed frame #157 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:53,107 - video.core - INFO - ๐Ÿ“ฅ Server received frame #158 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28358 bytes +2025-06-06 11:07:53,108 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:53,108 - video.core - INFO - ๐Ÿ“ค Server relayed frame #158 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:53,158 - video.core - INFO - ๐Ÿ“ฅ Server received frame #159 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28384 bytes +2025-06-06 11:07:53,158 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:53,158 - video.core - INFO - ๐Ÿ“ค Server relayed frame #159 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:53,194 - video.core - INFO - ๐Ÿ“น Frame #160 from producer producer_1749200857529: size=28380 bytes, resolution=640x480 +2025-06-06 11:07:53,194 - video.core - INFO - ๐Ÿ“ฅ Server received frame #160 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28380 bytes +2025-06-06 11:07:53,194 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:53,194 - video.core - INFO - ๐Ÿ“ค Server relayed frame #160 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:53,241 - video.core - INFO - ๐Ÿ“ฅ Server received frame #161 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28373 bytes +2025-06-06 11:07:53,241 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:53,241 - video.core - INFO - ๐Ÿ“ค Server relayed frame #161 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:53,272 - video.core - INFO - ๐Ÿ“ฅ Server received frame #162 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28325 bytes +2025-06-06 11:07:53,272 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:53,272 - video.core - INFO - ๐Ÿ“ค Server relayed frame #162 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:53,316 - video.core - INFO - ๐Ÿ“ฅ Server received frame #163 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28370 bytes +2025-06-06 11:07:53,316 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:53,316 - video.core - INFO - ๐Ÿ“ค Server relayed frame #163 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:53,362 - video.core - INFO - ๐Ÿ“ฅ Server received frame #164 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28392 bytes +2025-06-06 11:07:53,362 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:53,362 - video.core - INFO - ๐Ÿ“ค Server relayed frame #164 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:53,406 - video.core - INFO - ๐Ÿ“ฅ Server received frame #165 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28396 bytes +2025-06-06 11:07:53,406 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:53,406 - video.core - INFO - ๐Ÿ“ค Server relayed frame #165 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:53,445 - video.core - INFO - ๐Ÿ“ฅ Server received frame #166 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28436 bytes +2025-06-06 11:07:53,446 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:53,446 - video.core - INFO - ๐Ÿ“ค Server relayed frame #166 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:53,492 - video.core - INFO - ๐Ÿ“ฅ Server received frame #167 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28443 bytes +2025-06-06 11:07:53,493 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:53,493 - video.core - INFO - ๐Ÿ“ค Server relayed frame #167 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:53,531 - video.core - INFO - ๐Ÿ“ฅ Server received frame #168 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28445 bytes +2025-06-06 11:07:53,532 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:53,532 - video.core - INFO - ๐Ÿ“ค Server relayed frame #168 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:53,577 - video.core - INFO - ๐Ÿ“ฅ Server received frame #169 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28502 bytes +2025-06-06 11:07:53,577 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:53,577 - video.core - INFO - ๐Ÿ“ค Server relayed frame #169 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:53,623 - video.core - INFO - ๐Ÿ“น Frame #170 from producer producer_1749200857529: size=28539 bytes, resolution=640x480 +2025-06-06 11:07:53,623 - video.core - INFO - ๐Ÿ“ฅ Server received frame #170 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28539 bytes +2025-06-06 11:07:53,623 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:53,623 - video.core - INFO - ๐Ÿ“ค Server relayed frame #170 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:53,667 - video.core - INFO - ๐Ÿ“ฅ Server received frame #171 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28523 bytes +2025-06-06 11:07:53,668 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:53,668 - video.core - INFO - ๐Ÿ“ค Server relayed frame #171 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:53,712 - video.core - INFO - ๐Ÿ“ฅ Server received frame #172 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28519 bytes +2025-06-06 11:07:53,712 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:53,712 - video.core - INFO - ๐Ÿ“ค Server relayed frame #172 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:53,752 - video.core - INFO - ๐Ÿ“ฅ Server received frame #173 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28543 bytes +2025-06-06 11:07:53,752 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:53,752 - video.core - INFO - ๐Ÿ“ค Server relayed frame #173 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:53,799 - video.core - INFO - ๐Ÿ“ฅ Server received frame #174 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28583 bytes +2025-06-06 11:07:53,799 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:53,799 - video.core - INFO - ๐Ÿ“ค Server relayed frame #174 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:53,840 - video.core - INFO - ๐Ÿ“ฅ Server received frame #175 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28520 bytes +2025-06-06 11:07:53,841 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:53,841 - video.core - INFO - ๐Ÿ“ค Server relayed frame #175 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:53,887 - video.core - INFO - ๐Ÿ“ฅ Server received frame #176 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28566 bytes +2025-06-06 11:07:53,887 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:53,887 - video.core - INFO - ๐Ÿ“ค Server relayed frame #176 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:53,930 - video.core - INFO - ๐Ÿ“ฅ Server received frame #177 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28601 bytes +2025-06-06 11:07:53,930 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:53,930 - video.core - INFO - ๐Ÿ“ค Server relayed frame #177 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:53,973 - video.core - INFO - ๐Ÿ“ฅ Server received frame #178 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28633 bytes +2025-06-06 11:07:53,973 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:53,973 - video.core - INFO - ๐Ÿ“ค Server relayed frame #178 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:54,016 - video.core - INFO - ๐Ÿ“ฅ Server received frame #179 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28647 bytes +2025-06-06 11:07:54,016 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:54,016 - video.core - INFO - ๐Ÿ“ค Server relayed frame #179 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:54,066 - video.core - INFO - ๐Ÿ“น Frame #180 from producer producer_1749200857529: size=28299 bytes, resolution=640x480 +2025-06-06 11:07:54,066 - video.core - INFO - ๐Ÿ“ฅ Server received frame #180 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28299 bytes +2025-06-06 11:07:54,066 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:54,066 - video.core - INFO - ๐Ÿ“ค Server relayed frame #180 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:54,066 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 180 frames processed, 19.4 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:54,066 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 180 frames, 9.6 FPS, 2.11 Mbps throughput, 27413 bytes avg frame size +2025-06-06 11:07:54,067 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 180 frames processed, FPS: 22.9, Throughput: 5.01 Mbps, Avg frame size: 27413 bytes +2025-06-06 11:07:54,108 - video.core - INFO - ๐Ÿ“ฅ Server received frame #181 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28184 bytes +2025-06-06 11:07:54,108 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:54,108 - video.core - INFO - ๐Ÿ“ค Server relayed frame #181 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:54,140 - video.core - INFO - ๐Ÿ“ฅ Server received frame #182 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28094 bytes +2025-06-06 11:07:54,141 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:54,141 - video.core - INFO - ๐Ÿ“ค Server relayed frame #182 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:54,189 - video.core - INFO - ๐Ÿ“ฅ Server received frame #183 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28104 bytes +2025-06-06 11:07:54,189 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:54,189 - video.core - INFO - ๐Ÿ“ค Server relayed frame #183 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:54,225 - video.core - INFO - ๐Ÿ“ฅ Server received frame #184 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28106 bytes +2025-06-06 11:07:54,225 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:54,225 - video.core - INFO - ๐Ÿ“ค Server relayed frame #184 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:54,265 - video.core - INFO - ๐Ÿ“ฅ Server received frame #185 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28058 bytes +2025-06-06 11:07:54,265 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:54,265 - video.core - INFO - ๐Ÿ“ค Server relayed frame #185 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:54,307 - video.core - INFO - ๐Ÿ“ฅ Server received frame #186 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28032 bytes +2025-06-06 11:07:54,307 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:54,307 - video.core - INFO - ๐Ÿ“ค Server relayed frame #186 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:54,353 - video.core - INFO - ๐Ÿ“ฅ Server received frame #187 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28072 bytes +2025-06-06 11:07:54,353 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:54,353 - video.core - INFO - ๐Ÿ“ค Server relayed frame #187 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:54,395 - video.core - INFO - ๐Ÿ“ฅ Server received frame #188 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28148 bytes +2025-06-06 11:07:54,395 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:54,395 - video.core - INFO - ๐Ÿ“ค Server relayed frame #188 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:54,438 - video.core - INFO - ๐Ÿ“ฅ Server received frame #189 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28192 bytes +2025-06-06 11:07:54,438 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:54,438 - video.core - INFO - ๐Ÿ“ค Server relayed frame #189 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:54,483 - video.core - INFO - ๐Ÿ“น Frame #190 from producer producer_1749200857529: size=28229 bytes, resolution=640x480 +2025-06-06 11:07:54,484 - video.core - INFO - ๐Ÿ“ฅ Server received frame #190 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28229 bytes +2025-06-06 11:07:54,484 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:54,484 - video.core - INFO - ๐Ÿ“ค Server relayed frame #190 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:54,527 - video.core - INFO - ๐Ÿ“ฅ Server received frame #191 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28131 bytes +2025-06-06 11:07:54,527 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:54,527 - video.core - INFO - ๐Ÿ“ค Server relayed frame #191 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:54,570 - video.core - INFO - ๐Ÿ“ฅ Server received frame #192 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28130 bytes +2025-06-06 11:07:54,570 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:54,570 - video.core - INFO - ๐Ÿ“ค Server relayed frame #192 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:54,617 - video.core - INFO - ๐Ÿ“ฅ Server received frame #193 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28037 bytes +2025-06-06 11:07:54,618 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:54,618 - video.core - INFO - ๐Ÿ“ค Server relayed frame #193 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:54,661 - video.core - INFO - ๐Ÿ“ฅ Server received frame #194 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27994 bytes +2025-06-06 11:07:54,662 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:54,662 - video.core - INFO - ๐Ÿ“ค Server relayed frame #194 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:54,704 - video.core - INFO - ๐Ÿ“ฅ Server received frame #195 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28013 bytes +2025-06-06 11:07:54,705 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:54,705 - video.core - INFO - ๐Ÿ“ค Server relayed frame #195 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:54,748 - video.core - INFO - ๐Ÿ“ฅ Server received frame #196 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28021 bytes +2025-06-06 11:07:54,749 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:54,749 - video.core - INFO - ๐Ÿ“ค Server relayed frame #196 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:54,793 - video.core - INFO - ๐Ÿ“ฅ Server received frame #197 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27943 bytes +2025-06-06 11:07:54,794 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:54,794 - video.core - INFO - ๐Ÿ“ค Server relayed frame #197 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:54,833 - video.core - INFO - ๐Ÿ“ฅ Server received frame #198 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27895 bytes +2025-06-06 11:07:54,833 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:54,833 - video.core - INFO - ๐Ÿ“ค Server relayed frame #198 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:54,880 - video.core - INFO - ๐Ÿ“ฅ Server received frame #199 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28004 bytes +2025-06-06 11:07:54,880 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:54,880 - video.core - INFO - ๐Ÿ“ค Server relayed frame #199 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:54,926 - video.core - INFO - ๐Ÿ“น Frame #200 from producer producer_1749200857529: size=27996 bytes, resolution=640x480 +2025-06-06 11:07:54,926 - video.core - INFO - ๐Ÿ“ฅ Server received frame #200 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27996 bytes +2025-06-06 11:07:54,926 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:54,926 - video.core - INFO - ๐Ÿ“ค Server relayed frame #200 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:54,973 - video.core - INFO - ๐Ÿ“ฅ Server received frame #201 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27982 bytes +2025-06-06 11:07:54,973 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:54,973 - video.core - INFO - ๐Ÿ“ค Server relayed frame #201 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:55,019 - video.core - INFO - ๐Ÿ“ฅ Server received frame #202 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28014 bytes +2025-06-06 11:07:55,020 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:55,020 - video.core - INFO - ๐Ÿ“ค Server relayed frame #202 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:55,067 - video.core - INFO - ๐Ÿ“ฅ Server received frame #203 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27922 bytes +2025-06-06 11:07:55,067 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:55,067 - video.core - INFO - ๐Ÿ“ค Server relayed frame #203 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:55,100 - video.core - INFO - ๐Ÿ“ฅ Server received frame #204 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27646 bytes +2025-06-06 11:07:55,101 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:55,101 - video.core - INFO - ๐Ÿ“ค Server relayed frame #204 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:55,147 - video.core - INFO - ๐Ÿ“ฅ Server received frame #205 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27652 bytes +2025-06-06 11:07:55,147 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:55,147 - video.core - INFO - ๐Ÿ“ค Server relayed frame #205 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:55,185 - video.core - INFO - ๐Ÿ“ฅ Server received frame #206 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27640 bytes +2025-06-06 11:07:55,185 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:55,185 - video.core - INFO - ๐Ÿ“ค Server relayed frame #206 to 1 consumers in 0.7ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:55,223 - video.core - INFO - ๐Ÿ“ฅ Server received frame #207 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27760 bytes +2025-06-06 11:07:55,223 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:55,223 - video.core - INFO - ๐Ÿ“ค Server relayed frame #207 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:55,270 - video.core - INFO - ๐Ÿ“ฅ Server received frame #208 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27838 bytes +2025-06-06 11:07:55,270 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:55,271 - video.core - INFO - ๐Ÿ“ค Server relayed frame #208 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:55,303 - video.core - INFO - ๐Ÿ“ฅ Server received frame #209 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27818 bytes +2025-06-06 11:07:55,303 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:55,303 - video.core - INFO - ๐Ÿ“ค Server relayed frame #209 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:55,350 - video.core - INFO - ๐Ÿ“น Frame #210 from producer producer_1749200857529: size=27927 bytes, resolution=640x480 +2025-06-06 11:07:55,350 - video.core - INFO - ๐Ÿ“ฅ Server received frame #210 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27927 bytes +2025-06-06 11:07:55,350 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:55,350 - video.core - INFO - ๐Ÿ“ค Server relayed frame #210 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:55,350 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 210 frames processed, 19.9 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:55,351 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 210 frames, 10.5 FPS, 2.31 Mbps throughput, 27495 bytes avg frame size +2025-06-06 11:07:55,351 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 210 frames processed, FPS: 22.9, Throughput: 5.04 Mbps, Avg frame size: 27495 bytes +2025-06-06 11:07:55,392 - video.core - INFO - ๐Ÿ“ฅ Server received frame #211 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27939 bytes +2025-06-06 11:07:55,392 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:55,392 - video.core - INFO - ๐Ÿ“ค Server relayed frame #211 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:55,436 - video.core - INFO - ๐Ÿ“ฅ Server received frame #212 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27883 bytes +2025-06-06 11:07:55,436 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:55,436 - video.core - INFO - ๐Ÿ“ค Server relayed frame #212 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:55,482 - video.core - INFO - ๐Ÿ“ฅ Server received frame #213 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27949 bytes +2025-06-06 11:07:55,482 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:55,482 - video.core - INFO - ๐Ÿ“ค Server relayed frame #213 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:55,531 - video.core - INFO - ๐Ÿ“ฅ Server received frame #214 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27837 bytes +2025-06-06 11:07:55,531 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:55,531 - video.core - INFO - ๐Ÿ“ค Server relayed frame #214 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:55,564 - video.core - INFO - ๐Ÿ“ฅ Server received frame #215 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27750 bytes +2025-06-06 11:07:55,565 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:55,565 - video.core - INFO - ๐Ÿ“ค Server relayed frame #215 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:55,606 - video.core - INFO - ๐Ÿ“ฅ Server received frame #216 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27805 bytes +2025-06-06 11:07:55,606 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:55,606 - video.core - INFO - ๐Ÿ“ค Server relayed frame #216 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:55,652 - video.core - INFO - ๐Ÿ“ฅ Server received frame #217 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27817 bytes +2025-06-06 11:07:55,652 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:55,652 - video.core - INFO - ๐Ÿ“ค Server relayed frame #217 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:55,695 - video.core - INFO - ๐Ÿ“ฅ Server received frame #218 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27798 bytes +2025-06-06 11:07:55,695 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:55,695 - video.core - INFO - ๐Ÿ“ค Server relayed frame #218 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:55,737 - video.core - INFO - ๐Ÿ“ฅ Server received frame #219 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27902 bytes +2025-06-06 11:07:55,737 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:55,737 - video.core - INFO - ๐Ÿ“ค Server relayed frame #219 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:55,780 - video.core - INFO - ๐Ÿ“น Frame #220 from producer producer_1749200857529: size=27975 bytes, resolution=640x480 +2025-06-06 11:07:55,781 - video.core - INFO - ๐Ÿ“ฅ Server received frame #220 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27975 bytes +2025-06-06 11:07:55,781 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:55,781 - video.core - INFO - ๐Ÿ“ค Server relayed frame #220 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:55,827 - video.core - INFO - ๐Ÿ“ฅ Server received frame #221 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28017 bytes +2025-06-06 11:07:55,827 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:55,828 - video.core - INFO - ๐Ÿ“ค Server relayed frame #221 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:55,869 - video.core - INFO - ๐Ÿ“ฅ Server received frame #222 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28035 bytes +2025-06-06 11:07:55,870 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:55,870 - video.core - INFO - ๐Ÿ“ค Server relayed frame #222 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:55,921 - video.core - INFO - ๐Ÿ“ฅ Server received frame #223 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28105 bytes +2025-06-06 11:07:55,921 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:55,921 - video.core - INFO - ๐Ÿ“ค Server relayed frame #223 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:55,965 - video.core - INFO - ๐Ÿ“ฅ Server received frame #224 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28105 bytes +2025-06-06 11:07:55,965 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:55,965 - video.core - INFO - ๐Ÿ“ค Server relayed frame #224 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:56,008 - video.core - INFO - ๐Ÿ“ฅ Server received frame #225 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28095 bytes +2025-06-06 11:07:56,008 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:56,008 - video.core - INFO - ๐Ÿ“ค Server relayed frame #225 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:56,052 - video.core - INFO - ๐Ÿ“ฅ Server received frame #226 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28033 bytes +2025-06-06 11:07:56,052 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:56,052 - video.core - INFO - ๐Ÿ“ค Server relayed frame #226 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:56,093 - video.core - INFO - ๐Ÿ“ฅ Server received frame #227 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28120 bytes +2025-06-06 11:07:56,093 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:56,093 - video.core - INFO - ๐Ÿ“ค Server relayed frame #227 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:56,135 - video.core - INFO - ๐Ÿ“ฅ Server received frame #228 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28188 bytes +2025-06-06 11:07:56,136 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:56,136 - video.core - INFO - ๐Ÿ“ค Server relayed frame #228 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:56,175 - video.core - INFO - ๐Ÿ“ฅ Server received frame #229 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28204 bytes +2025-06-06 11:07:56,175 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:56,175 - video.core - INFO - ๐Ÿ“ค Server relayed frame #229 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:56,214 - video.core - INFO - ๐Ÿ“น Frame #230 from producer producer_1749200857529: size=28259 bytes, resolution=640x480 +2025-06-06 11:07:56,214 - video.core - INFO - ๐Ÿ“ฅ Server received frame #230 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28259 bytes +2025-06-06 11:07:56,214 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:56,214 - video.core - INFO - ๐Ÿ“ค Server relayed frame #230 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:56,257 - video.core - INFO - ๐Ÿ“ฅ Server received frame #231 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28311 bytes +2025-06-06 11:07:56,257 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:56,257 - video.core - INFO - ๐Ÿ“ค Server relayed frame #231 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:56,299 - video.core - INFO - ๐Ÿ“ฅ Server received frame #232 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28308 bytes +2025-06-06 11:07:56,299 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:56,299 - video.core - INFO - ๐Ÿ“ค Server relayed frame #232 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:56,346 - video.core - INFO - ๐Ÿ“ฅ Server received frame #233 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28149 bytes +2025-06-06 11:07:56,346 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:56,346 - video.core - INFO - ๐Ÿ“ค Server relayed frame #233 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:56,389 - video.core - INFO - ๐Ÿ“ฅ Server received frame #234 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28110 bytes +2025-06-06 11:07:56,389 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:56,389 - video.core - INFO - ๐Ÿ“ค Server relayed frame #234 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:56,427 - video.core - INFO - ๐Ÿ“ฅ Server received frame #235 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28028 bytes +2025-06-06 11:07:56,427 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:56,427 - video.core - INFO - ๐Ÿ“ค Server relayed frame #235 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:56,472 - video.core - INFO - ๐Ÿ“ฅ Server received frame #236 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28038 bytes +2025-06-06 11:07:56,473 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:56,473 - video.core - INFO - ๐Ÿ“ค Server relayed frame #236 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:56,528 - video.core - INFO - ๐Ÿ“ฅ Server received frame #237 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28171 bytes +2025-06-06 11:07:56,528 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:56,528 - video.core - INFO - ๐Ÿ“ค Server relayed frame #237 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:56,568 - video.core - INFO - ๐Ÿ“ฅ Server received frame #238 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28130 bytes +2025-06-06 11:07:56,569 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:56,569 - video.core - INFO - ๐Ÿ“ค Server relayed frame #238 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:56,613 - video.core - INFO - ๐Ÿ“ฅ Server received frame #239 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28133 bytes +2025-06-06 11:07:56,614 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:56,614 - video.core - INFO - ๐Ÿ“ค Server relayed frame #239 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:56,651 - video.core - INFO - ๐Ÿ“น Frame #240 from producer producer_1749200857529: size=28121 bytes, resolution=640x480 +2025-06-06 11:07:56,652 - video.core - INFO - ๐Ÿ“ฅ Server received frame #240 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28121 bytes +2025-06-06 11:07:56,652 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:56,652 - video.core - INFO - ๐Ÿ“ค Server relayed frame #240 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:56,652 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 240 frames processed, 20.2 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:56,652 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 240 frames, 11.3 FPS, 2.49 Mbps throughput, 27564 bytes avg frame size +2025-06-06 11:07:56,652 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 240 frames processed, FPS: 23.0, Throughput: 5.06 Mbps, Avg frame size: 27564 bytes +2025-06-06 11:07:56,695 - video.core - INFO - ๐Ÿ“ฅ Server received frame #241 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27978 bytes +2025-06-06 11:07:56,696 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:56,696 - video.core - INFO - ๐Ÿ“ค Server relayed frame #241 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:56,736 - video.core - INFO - ๐Ÿ“ฅ Server received frame #242 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27873 bytes +2025-06-06 11:07:56,736 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:56,736 - video.core - INFO - ๐Ÿ“ค Server relayed frame #242 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:56,776 - video.core - INFO - ๐Ÿ“ฅ Server received frame #243 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27631 bytes +2025-06-06 11:07:56,776 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:56,776 - video.core - INFO - ๐Ÿ“ค Server relayed frame #243 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:56,821 - video.core - INFO - ๐Ÿ“ฅ Server received frame #244 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27650 bytes +2025-06-06 11:07:56,821 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:56,821 - video.core - INFO - ๐Ÿ“ค Server relayed frame #244 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:56,863 - video.core - INFO - ๐Ÿ“ฅ Server received frame #245 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27596 bytes +2025-06-06 11:07:56,863 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:56,863 - video.core - INFO - ๐Ÿ“ค Server relayed frame #245 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:56,906 - video.core - INFO - ๐Ÿ“ฅ Server received frame #246 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27589 bytes +2025-06-06 11:07:56,906 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:56,906 - video.core - INFO - ๐Ÿ“ค Server relayed frame #246 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:56,951 - video.core - INFO - ๐Ÿ“ฅ Server received frame #247 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27586 bytes +2025-06-06 11:07:56,951 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:56,951 - video.core - INFO - ๐Ÿ“ค Server relayed frame #247 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:56,993 - video.core - INFO - ๐Ÿ“ฅ Server received frame #248 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27222 bytes +2025-06-06 11:07:56,993 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:56,993 - video.core - INFO - ๐Ÿ“ค Server relayed frame #248 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:57,039 - video.core - INFO - ๐Ÿ“ฅ Server received frame #249 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26846 bytes +2025-06-06 11:07:57,039 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:57,039 - video.core - INFO - ๐Ÿ“ค Server relayed frame #249 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:57,099 - video.core - INFO - ๐Ÿ“น Frame #250 from producer producer_1749200857529: size=26786 bytes, resolution=640x480 +2025-06-06 11:07:57,099 - video.core - INFO - ๐Ÿ“ฅ Server received frame #250 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26786 bytes +2025-06-06 11:07:57,099 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:57,099 - video.core - INFO - ๐Ÿ“ค Server relayed frame #250 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:57,128 - video.core - INFO - ๐Ÿ“ฅ Server received frame #251 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26964 bytes +2025-06-06 11:07:57,128 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:57,128 - video.core - INFO - ๐Ÿ“ค Server relayed frame #251 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:57,173 - video.core - INFO - ๐Ÿ“ฅ Server received frame #252 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27181 bytes +2025-06-06 11:07:57,176 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 1.7ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:57,177 - video.core - INFO - ๐Ÿ“ค Server relayed frame #252 to 1 consumers in 4.8ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:57,218 - video.core - INFO - ๐Ÿ“ฅ Server received frame #253 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27395 bytes +2025-06-06 11:07:57,218 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:57,218 - video.core - INFO - ๐Ÿ“ค Server relayed frame #253 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:57,267 - video.core - INFO - ๐Ÿ“ฅ Server received frame #254 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27498 bytes +2025-06-06 11:07:57,267 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:57,267 - video.core - INFO - ๐Ÿ“ค Server relayed frame #254 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:57,297 - video.core - INFO - ๐Ÿ“ฅ Server received frame #255 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27544 bytes +2025-06-06 11:07:57,298 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:57,298 - video.core - INFO - ๐Ÿ“ค Server relayed frame #255 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:57,342 - video.core - INFO - ๐Ÿ“ฅ Server received frame #256 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27692 bytes +2025-06-06 11:07:57,343 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:57,343 - video.core - INFO - ๐Ÿ“ค Server relayed frame #256 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:57,381 - video.core - INFO - ๐Ÿ“ฅ Server received frame #257 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27813 bytes +2025-06-06 11:07:57,381 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:57,381 - video.core - INFO - ๐Ÿ“ค Server relayed frame #257 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:57,422 - video.core - INFO - ๐Ÿ“ฅ Server received frame #258 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27824 bytes +2025-06-06 11:07:57,423 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:57,423 - video.core - INFO - ๐Ÿ“ค Server relayed frame #258 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:57,466 - video.core - INFO - ๐Ÿ“ฅ Server received frame #259 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27655 bytes +2025-06-06 11:07:57,466 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:57,466 - video.core - INFO - ๐Ÿ“ค Server relayed frame #259 to 1 consumers in 0.7ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:57,508 - video.core - INFO - ๐Ÿ“น Frame #260 from producer producer_1749200857529: size=27712 bytes, resolution=640x480 +2025-06-06 11:07:57,508 - video.core - INFO - ๐Ÿ“ฅ Server received frame #260 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27712 bytes +2025-06-06 11:07:57,508 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:57,508 - video.core - INFO - ๐Ÿ“ค Server relayed frame #260 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:57,581 - video.core - INFO - ๐Ÿ“ฅ Server received frame #261 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27583 bytes +2025-06-06 11:07:57,582 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:57,582 - video.core - INFO - ๐Ÿ“ค Server relayed frame #261 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:57,596 - video.core - INFO - ๐Ÿ“ฅ Server received frame #262 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27702 bytes +2025-06-06 11:07:57,597 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:57,597 - video.core - INFO - ๐Ÿ“ค Server relayed frame #262 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:57,642 - video.core - INFO - ๐Ÿ“ฅ Server received frame #263 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27460 bytes +2025-06-06 11:07:57,643 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:57,643 - video.core - INFO - ๐Ÿ“ค Server relayed frame #263 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:57,682 - video.core - INFO - ๐Ÿ“ฅ Server received frame #264 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27559 bytes +2025-06-06 11:07:57,682 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:57,682 - video.core - INFO - ๐Ÿ“ค Server relayed frame #264 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:57,725 - video.core - INFO - ๐Ÿ“ฅ Server received frame #265 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27519 bytes +2025-06-06 11:07:57,725 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:57,726 - video.core - INFO - ๐Ÿ“ค Server relayed frame #265 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:57,768 - video.core - INFO - ๐Ÿ“ฅ Server received frame #266 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27600 bytes +2025-06-06 11:07:57,769 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:57,769 - video.core - INFO - ๐Ÿ“ค Server relayed frame #266 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:57,811 - video.core - INFO - ๐Ÿ“ฅ Server received frame #267 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27492 bytes +2025-06-06 11:07:57,811 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:57,811 - video.core - INFO - ๐Ÿ“ค Server relayed frame #267 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:57,856 - video.core - INFO - ๐Ÿ“ฅ Server received frame #268 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27490 bytes +2025-06-06 11:07:57,857 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:57,857 - video.core - INFO - ๐Ÿ“ค Server relayed frame #268 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:57,900 - video.core - INFO - ๐Ÿ“ฅ Server received frame #269 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27540 bytes +2025-06-06 11:07:57,900 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:57,900 - video.core - INFO - ๐Ÿ“ค Server relayed frame #269 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:57,946 - video.core - INFO - ๐Ÿ“น Frame #270 from producer producer_1749200857529: size=27639 bytes, resolution=640x480 +2025-06-06 11:07:57,946 - video.core - INFO - ๐Ÿ“ฅ Server received frame #270 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27639 bytes +2025-06-06 11:07:57,946 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:57,946 - video.core - INFO - ๐Ÿ“ค Server relayed frame #270 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:57,946 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 270 frames processed, 20.5 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:57,946 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 270 frames, 12.0 FPS, 2.64 Mbps throughput, 27559 bytes avg frame size +2025-06-06 11:07:57,946 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 270 frames processed, FPS: 23.0, Throughput: 5.07 Mbps, Avg frame size: 27559 bytes +2025-06-06 11:07:57,987 - video.core - INFO - ๐Ÿ“ฅ Server received frame #271 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27695 bytes +2025-06-06 11:07:57,988 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:57,988 - video.core - INFO - ๐Ÿ“ค Server relayed frame #271 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:58,032 - video.core - INFO - ๐Ÿ“ฅ Server received frame #272 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27641 bytes +2025-06-06 11:07:58,033 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:58,033 - video.core - INFO - ๐Ÿ“ค Server relayed frame #272 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:58,073 - video.core - INFO - ๐Ÿ“ฅ Server received frame #273 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27593 bytes +2025-06-06 11:07:58,073 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:58,073 - video.core - INFO - ๐Ÿ“ค Server relayed frame #273 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:58,116 - video.core - INFO - ๐Ÿ“ฅ Server received frame #274 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27368 bytes +2025-06-06 11:07:58,117 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:58,117 - video.core - INFO - ๐Ÿ“ค Server relayed frame #274 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:58,161 - video.core - INFO - ๐Ÿ“ฅ Server received frame #275 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27008 bytes +2025-06-06 11:07:58,161 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:58,161 - video.core - INFO - ๐Ÿ“ค Server relayed frame #275 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:58,205 - video.core - INFO - ๐Ÿ“ฅ Server received frame #276 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27048 bytes +2025-06-06 11:07:58,205 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:58,205 - video.core - INFO - ๐Ÿ“ค Server relayed frame #276 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:58,249 - video.core - INFO - ๐Ÿ“ฅ Server received frame #277 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27182 bytes +2025-06-06 11:07:58,249 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:58,249 - video.core - INFO - ๐Ÿ“ค Server relayed frame #277 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:58,288 - video.core - INFO - ๐Ÿ“ฅ Server received frame #278 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27131 bytes +2025-06-06 11:07:58,289 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:58,289 - video.core - INFO - ๐Ÿ“ค Server relayed frame #278 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:58,336 - video.core - INFO - ๐Ÿ“ฅ Server received frame #279 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27209 bytes +2025-06-06 11:07:58,336 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:58,336 - video.core - INFO - ๐Ÿ“ค Server relayed frame #279 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:58,381 - video.core - INFO - ๐Ÿ“น Frame #280 from producer producer_1749200857529: size=27247 bytes, resolution=640x480 +2025-06-06 11:07:58,381 - video.core - INFO - ๐Ÿ“ฅ Server received frame #280 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27247 bytes +2025-06-06 11:07:58,381 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:58,381 - video.core - INFO - ๐Ÿ“ค Server relayed frame #280 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:58,426 - video.core - INFO - ๐Ÿ“ฅ Server received frame #281 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27361 bytes +2025-06-06 11:07:58,426 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:58,426 - video.core - INFO - ๐Ÿ“ค Server relayed frame #281 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:58,466 - video.core - INFO - ๐Ÿ“ฅ Server received frame #282 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27337 bytes +2025-06-06 11:07:58,466 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:58,466 - video.core - INFO - ๐Ÿ“ค Server relayed frame #282 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:58,511 - video.core - INFO - ๐Ÿ“ฅ Server received frame #283 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27369 bytes +2025-06-06 11:07:58,512 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:58,512 - video.core - INFO - ๐Ÿ“ค Server relayed frame #283 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:58,555 - video.core - INFO - ๐Ÿ“ฅ Server received frame #284 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27428 bytes +2025-06-06 11:07:58,555 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:58,555 - video.core - INFO - ๐Ÿ“ค Server relayed frame #284 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:58,599 - video.core - INFO - ๐Ÿ“ฅ Server received frame #285 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27370 bytes +2025-06-06 11:07:58,599 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:58,599 - video.core - INFO - ๐Ÿ“ค Server relayed frame #285 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:58,649 - video.core - INFO - ๐Ÿ“ฅ Server received frame #286 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26979 bytes +2025-06-06 11:07:58,649 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:58,649 - video.core - INFO - ๐Ÿ“ค Server relayed frame #286 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:58,686 - video.core - INFO - ๐Ÿ“ฅ Server received frame #287 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26991 bytes +2025-06-06 11:07:58,687 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:58,687 - video.core - INFO - ๐Ÿ“ค Server relayed frame #287 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:58,745 - video.core - INFO - ๐Ÿ“ฅ Server received frame #288 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26770 bytes +2025-06-06 11:07:58,745 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:58,745 - video.core - INFO - ๐Ÿ“ค Server relayed frame #288 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:58,768 - video.core - INFO - ๐Ÿ“ฅ Server received frame #289 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26912 bytes +2025-06-06 11:07:58,768 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:58,768 - video.core - INFO - ๐Ÿ“ค Server relayed frame #289 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:58,816 - video.core - INFO - ๐Ÿ“น Frame #290 from producer producer_1749200857529: size=27059 bytes, resolution=640x480 +2025-06-06 11:07:58,816 - video.core - INFO - ๐Ÿ“ฅ Server received frame #290 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27059 bytes +2025-06-06 11:07:58,816 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:58,817 - video.core - INFO - ๐Ÿ“ค Server relayed frame #290 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:58,860 - video.core - INFO - ๐Ÿ“ฅ Server received frame #291 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27087 bytes +2025-06-06 11:07:58,860 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:58,860 - video.core - INFO - ๐Ÿ“ค Server relayed frame #291 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:58,901 - video.core - INFO - ๐Ÿ“ฅ Server received frame #292 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27090 bytes +2025-06-06 11:07:58,901 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:58,901 - video.core - INFO - ๐Ÿ“ค Server relayed frame #292 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:58,943 - video.core - INFO - ๐Ÿ“ฅ Server received frame #293 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27111 bytes +2025-06-06 11:07:58,943 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:58,943 - video.core - INFO - ๐Ÿ“ค Server relayed frame #293 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:58,986 - video.core - INFO - ๐Ÿ“ฅ Server received frame #294 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27118 bytes +2025-06-06 11:07:58,986 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:58,986 - video.core - INFO - ๐Ÿ“ค Server relayed frame #294 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:59,030 - video.core - INFO - ๐Ÿ“ฅ Server received frame #295 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27182 bytes +2025-06-06 11:07:59,030 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:59,030 - video.core - INFO - ๐Ÿ“ค Server relayed frame #295 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:59,072 - video.core - INFO - ๐Ÿ“ฅ Server received frame #296 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27101 bytes +2025-06-06 11:07:59,072 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:59,072 - video.core - INFO - ๐Ÿ“ค Server relayed frame #296 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:59,116 - video.core - INFO - ๐Ÿ“ฅ Server received frame #297 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27245 bytes +2025-06-06 11:07:59,116 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:59,116 - video.core - INFO - ๐Ÿ“ค Server relayed frame #297 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:59,161 - video.core - INFO - ๐Ÿ“ฅ Server received frame #298 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27320 bytes +2025-06-06 11:07:59,162 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:59,162 - video.core - INFO - ๐Ÿ“ค Server relayed frame #298 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:59,202 - video.core - INFO - ๐Ÿ“ฅ Server received frame #299 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27229 bytes +2025-06-06 11:07:59,202 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:59,202 - video.core - INFO - ๐Ÿ“ค Server relayed frame #299 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:59,243 - video.core - INFO - ๐Ÿ“น Frame #300 from producer producer_1749200857529: size=27230 bytes, resolution=640x480 +2025-06-06 11:07:59,244 - video.core - INFO - ๐Ÿ“ฅ Server received frame #300 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27230 bytes +2025-06-06 11:07:59,244 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:59,244 - video.core - INFO - ๐Ÿ“ค Server relayed frame #300 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:59,244 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 300 frames processed, 20.8 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:59,244 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 300 frames, 12.6 FPS, 2.77 Mbps throughput, 27524 bytes avg frame size +2025-06-06 11:07:59,244 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 300 frames processed, FPS: 23.0, Throughput: 5.06 Mbps, Avg frame size: 27524 bytes +2025-06-06 11:07:59,283 - video.core - INFO - ๐Ÿ“ฅ Server received frame #301 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27326 bytes +2025-06-06 11:07:59,283 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:59,283 - video.core - INFO - ๐Ÿ“ค Server relayed frame #301 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:59,328 - video.core - INFO - ๐Ÿ“ฅ Server received frame #302 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27314 bytes +2025-06-06 11:07:59,328 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:59,328 - video.core - INFO - ๐Ÿ“ค Server relayed frame #302 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:59,374 - video.core - INFO - ๐Ÿ“ฅ Server received frame #303 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27288 bytes +2025-06-06 11:07:59,375 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:59,375 - video.core - INFO - ๐Ÿ“ค Server relayed frame #303 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:59,414 - video.core - INFO - ๐Ÿ“ฅ Server received frame #304 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27147 bytes +2025-06-06 11:07:59,414 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:59,414 - video.core - INFO - ๐Ÿ“ค Server relayed frame #304 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:59,460 - video.core - INFO - ๐Ÿ“ฅ Server received frame #305 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26960 bytes +2025-06-06 11:07:59,460 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:59,460 - video.core - INFO - ๐Ÿ“ค Server relayed frame #305 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:59,502 - video.core - INFO - ๐Ÿ“ฅ Server received frame #306 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27075 bytes +2025-06-06 11:07:59,502 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:59,502 - video.core - INFO - ๐Ÿ“ค Server relayed frame #306 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:59,552 - video.core - INFO - ๐Ÿ“ฅ Server received frame #307 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27071 bytes +2025-06-06 11:07:59,552 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:59,552 - video.core - INFO - ๐Ÿ“ค Server relayed frame #307 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:59,596 - video.core - INFO - ๐Ÿ“ฅ Server received frame #308 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26871 bytes +2025-06-06 11:07:59,596 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:59,596 - video.core - INFO - ๐Ÿ“ค Server relayed frame #308 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:59,639 - video.core - INFO - ๐Ÿ“ฅ Server received frame #309 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26950 bytes +2025-06-06 11:07:59,639 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:59,639 - video.core - INFO - ๐Ÿ“ค Server relayed frame #309 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:59,675 - video.core - INFO - ๐Ÿ“น Frame #310 from producer producer_1749200857529: size=26829 bytes, resolution=640x480 +2025-06-06 11:07:59,675 - video.core - INFO - ๐Ÿ“ฅ Server received frame #310 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26829 bytes +2025-06-06 11:07:59,675 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:59,675 - video.core - INFO - ๐Ÿ“ค Server relayed frame #310 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:59,721 - video.core - INFO - ๐Ÿ“ฅ Server received frame #311 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26774 bytes +2025-06-06 11:07:59,721 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:59,721 - video.core - INFO - ๐Ÿ“ค Server relayed frame #311 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:59,760 - video.core - INFO - ๐Ÿ“ฅ Server received frame #312 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26542 bytes +2025-06-06 11:07:59,760 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:59,760 - video.core - INFO - ๐Ÿ“ค Server relayed frame #312 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:59,803 - video.core - INFO - ๐Ÿ“ฅ Server received frame #313 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26418 bytes +2025-06-06 11:07:59,803 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:59,803 - video.core - INFO - ๐Ÿ“ค Server relayed frame #313 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:59,845 - video.core - INFO - ๐Ÿ“ฅ Server received frame #314 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26351 bytes +2025-06-06 11:07:59,845 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:59,846 - video.core - INFO - ๐Ÿ“ค Server relayed frame #314 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:59,891 - video.core - INFO - ๐Ÿ“ฅ Server received frame #315 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26748 bytes +2025-06-06 11:07:59,891 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:59,891 - video.core - INFO - ๐Ÿ“ค Server relayed frame #315 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:59,933 - video.core - INFO - ๐Ÿ“ฅ Server received frame #316 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26930 bytes +2025-06-06 11:07:59,933 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:59,933 - video.core - INFO - ๐Ÿ“ค Server relayed frame #316 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:59,978 - video.core - INFO - ๐Ÿ“ฅ Server received frame #317 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26792 bytes +2025-06-06 11:07:59,979 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:07:59,979 - video.core - INFO - ๐Ÿ“ค Server relayed frame #317 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:00,021 - video.core - INFO - ๐Ÿ“ฅ Server received frame #318 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26756 bytes +2025-06-06 11:08:00,022 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:00,022 - video.core - INFO - ๐Ÿ“ค Server relayed frame #318 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:00,064 - video.core - INFO - ๐Ÿ“ฅ Server received frame #319 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26947 bytes +2025-06-06 11:08:00,065 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:00,065 - video.core - INFO - ๐Ÿ“ค Server relayed frame #319 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:00,113 - video.core - INFO - ๐Ÿ“น Frame #320 from producer producer_1749200857529: size=27011 bytes, resolution=640x480 +2025-06-06 11:08:00,113 - video.core - INFO - ๐Ÿ“ฅ Server received frame #320 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27011 bytes +2025-06-06 11:08:00,114 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:00,114 - video.core - INFO - ๐Ÿ“ค Server relayed frame #320 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:00,157 - video.core - INFO - ๐Ÿ“ฅ Server received frame #321 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27113 bytes +2025-06-06 11:08:00,158 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:00,158 - video.core - INFO - ๐Ÿ“ค Server relayed frame #321 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:00,201 - video.core - INFO - ๐Ÿ“ฅ Server received frame #322 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26901 bytes +2025-06-06 11:08:00,201 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:00,201 - video.core - INFO - ๐Ÿ“ค Server relayed frame #322 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:00,239 - video.core - INFO - ๐Ÿ“ฅ Server received frame #323 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26984 bytes +2025-06-06 11:08:00,239 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:00,239 - video.core - INFO - ๐Ÿ“ค Server relayed frame #323 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:00,280 - video.core - INFO - ๐Ÿ“ฅ Server received frame #324 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26972 bytes +2025-06-06 11:08:00,280 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:00,280 - video.core - INFO - ๐Ÿ“ค Server relayed frame #324 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:00,325 - video.core - INFO - ๐Ÿ“ฅ Server received frame #325 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26943 bytes +2025-06-06 11:08:00,325 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:00,325 - video.core - INFO - ๐Ÿ“ค Server relayed frame #325 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:00,366 - video.core - INFO - ๐Ÿ“ฅ Server received frame #326 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26986 bytes +2025-06-06 11:08:00,366 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:00,366 - video.core - INFO - ๐Ÿ“ค Server relayed frame #326 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:00,411 - video.core - INFO - ๐Ÿ“ฅ Server received frame #327 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27120 bytes +2025-06-06 11:08:00,411 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:00,411 - video.core - INFO - ๐Ÿ“ค Server relayed frame #327 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:00,456 - video.core - INFO - ๐Ÿ“ฅ Server received frame #328 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27375 bytes +2025-06-06 11:08:00,456 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:00,456 - video.core - INFO - ๐Ÿ“ค Server relayed frame #328 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:00,499 - video.core - INFO - ๐Ÿ“ฅ Server received frame #329 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27429 bytes +2025-06-06 11:08:00,499 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:00,499 - video.core - INFO - ๐Ÿ“ค Server relayed frame #329 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:00,538 - video.core - INFO - ๐Ÿ“น Frame #330 from producer producer_1749200857529: size=27415 bytes, resolution=640x480 +2025-06-06 11:08:00,538 - video.core - INFO - ๐Ÿ“ฅ Server received frame #330 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27415 bytes +2025-06-06 11:08:00,538 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:00,538 - video.core - INFO - ๐Ÿ“ค Server relayed frame #330 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:00,538 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 330 frames processed, 21.0 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:00,538 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 330 frames, 13.1 FPS, 2.88 Mbps throughput, 27475 bytes avg frame size +2025-06-06 11:08:00,538 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 330 frames processed, FPS: 23.0, Throughput: 5.06 Mbps, Avg frame size: 27475 bytes +2025-06-06 11:08:00,588 - video.core - INFO - ๐Ÿ“ฅ Server received frame #331 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27555 bytes +2025-06-06 11:08:00,588 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:00,588 - video.core - INFO - ๐Ÿ“ค Server relayed frame #331 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:00,626 - video.core - INFO - ๐Ÿ“ฅ Server received frame #332 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27596 bytes +2025-06-06 11:08:00,626 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:00,626 - video.core - INFO - ๐Ÿ“ค Server relayed frame #332 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:00,671 - video.core - INFO - ๐Ÿ“ฅ Server received frame #333 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27567 bytes +2025-06-06 11:08:00,671 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:00,671 - video.core - INFO - ๐Ÿ“ค Server relayed frame #333 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:00,722 - video.core - INFO - ๐Ÿ“ฅ Server received frame #334 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27577 bytes +2025-06-06 11:08:00,722 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:00,722 - video.core - INFO - ๐Ÿ“ค Server relayed frame #334 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:00,758 - video.core - INFO - ๐Ÿ“ฅ Server received frame #335 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27618 bytes +2025-06-06 11:08:00,759 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:00,759 - video.core - INFO - ๐Ÿ“ค Server relayed frame #335 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:00,802 - video.core - INFO - ๐Ÿ“ฅ Server received frame #336 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27771 bytes +2025-06-06 11:08:00,803 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:00,803 - video.core - INFO - ๐Ÿ“ค Server relayed frame #336 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:00,856 - video.core - INFO - ๐Ÿ“ฅ Server received frame #337 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27759 bytes +2025-06-06 11:08:00,857 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:00,857 - video.core - INFO - ๐Ÿ“ค Server relayed frame #337 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:00,903 - video.core - INFO - ๐Ÿ“ฅ Server received frame #338 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27765 bytes +2025-06-06 11:08:00,905 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 1.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:00,905 - video.core - INFO - ๐Ÿ“ค Server relayed frame #338 to 1 consumers in 2.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:00,936 - video.core - INFO - ๐Ÿ“ฅ Server received frame #339 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27730 bytes +2025-06-06 11:08:00,937 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:00,937 - video.core - INFO - ๐Ÿ“ค Server relayed frame #339 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:00,979 - video.core - INFO - ๐Ÿ“น Frame #340 from producer producer_1749200857529: size=27680 bytes, resolution=640x480 +2025-06-06 11:08:00,979 - video.core - INFO - ๐Ÿ“ฅ Server received frame #340 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27680 bytes +2025-06-06 11:08:00,979 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:00,979 - video.core - INFO - ๐Ÿ“ค Server relayed frame #340 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:01,023 - video.core - INFO - ๐Ÿ“ฅ Server received frame #341 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27763 bytes +2025-06-06 11:08:01,023 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:01,023 - video.core - INFO - ๐Ÿ“ค Server relayed frame #341 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:01,062 - video.core - INFO - ๐Ÿ“ฅ Server received frame #342 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27858 bytes +2025-06-06 11:08:01,062 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:01,062 - video.core - INFO - ๐Ÿ“ค Server relayed frame #342 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:01,108 - video.core - INFO - ๐Ÿ“ฅ Server received frame #343 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27722 bytes +2025-06-06 11:08:01,108 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:01,108 - video.core - INFO - ๐Ÿ“ค Server relayed frame #343 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:01,152 - video.core - INFO - ๐Ÿ“ฅ Server received frame #344 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27638 bytes +2025-06-06 11:08:01,152 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:01,153 - video.core - INFO - ๐Ÿ“ค Server relayed frame #344 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:01,196 - video.core - INFO - ๐Ÿ“ฅ Server received frame #345 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27625 bytes +2025-06-06 11:08:01,197 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:01,197 - video.core - INFO - ๐Ÿ“ค Server relayed frame #345 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:01,233 - video.core - INFO - ๐Ÿ“ฅ Server received frame #346 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27657 bytes +2025-06-06 11:08:01,234 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:01,234 - video.core - INFO - ๐Ÿ“ค Server relayed frame #346 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:01,275 - video.core - INFO - ๐Ÿ“ฅ Server received frame #347 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27626 bytes +2025-06-06 11:08:01,276 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:01,276 - video.core - INFO - ๐Ÿ“ค Server relayed frame #347 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:01,319 - video.core - INFO - ๐Ÿ“ฅ Server received frame #348 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27635 bytes +2025-06-06 11:08:01,320 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:01,320 - video.core - INFO - ๐Ÿ“ค Server relayed frame #348 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:01,364 - video.core - INFO - ๐Ÿ“ฅ Server received frame #349 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27739 bytes +2025-06-06 11:08:01,364 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:01,364 - video.core - INFO - ๐Ÿ“ค Server relayed frame #349 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:01,404 - video.core - INFO - ๐Ÿ“น Frame #350 from producer producer_1749200857529: size=27605 bytes, resolution=640x480 +2025-06-06 11:08:01,404 - video.core - INFO - ๐Ÿ“ฅ Server received frame #350 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27605 bytes +2025-06-06 11:08:01,405 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:01,405 - video.core - INFO - ๐Ÿ“ค Server relayed frame #350 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:01,451 - video.core - INFO - ๐Ÿ“ฅ Server received frame #351 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27782 bytes +2025-06-06 11:08:01,451 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:01,451 - video.core - INFO - ๐Ÿ“ค Server relayed frame #351 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:01,492 - video.core - INFO - ๐Ÿ“ฅ Server received frame #352 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27803 bytes +2025-06-06 11:08:01,492 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:01,492 - video.core - INFO - ๐Ÿ“ค Server relayed frame #352 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:01,532 - video.core - INFO - ๐Ÿ“ฅ Server received frame #353 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27768 bytes +2025-06-06 11:08:01,532 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:01,532 - video.core - INFO - ๐Ÿ“ค Server relayed frame #353 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:01,574 - video.core - INFO - ๐Ÿ“ฅ Server received frame #354 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27826 bytes +2025-06-06 11:08:01,574 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:01,574 - video.core - INFO - ๐Ÿ“ค Server relayed frame #354 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:01,620 - video.core - INFO - ๐Ÿ“ฅ Server received frame #355 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27938 bytes +2025-06-06 11:08:01,620 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:01,620 - video.core - INFO - ๐Ÿ“ค Server relayed frame #355 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:01,667 - video.core - INFO - ๐Ÿ“ฅ Server received frame #356 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27997 bytes +2025-06-06 11:08:01,667 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:01,667 - video.core - INFO - ๐Ÿ“ค Server relayed frame #356 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:01,708 - video.core - INFO - ๐Ÿ“ฅ Server received frame #357 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28124 bytes +2025-06-06 11:08:01,708 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:01,708 - video.core - INFO - ๐Ÿ“ค Server relayed frame #357 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:01,752 - video.core - INFO - ๐Ÿ“ฅ Server received frame #358 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28036 bytes +2025-06-06 11:08:01,753 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:01,753 - video.core - INFO - ๐Ÿ“ค Server relayed frame #358 to 1 consumers in 1.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:01,792 - video.core - INFO - ๐Ÿ“ฅ Server received frame #359 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28023 bytes +2025-06-06 11:08:01,792 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:01,792 - video.core - INFO - ๐Ÿ“ค Server relayed frame #359 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:01,839 - video.core - INFO - ๐Ÿ“น Frame #360 from producer producer_1749200857529: size=27986 bytes, resolution=640x480 +2025-06-06 11:08:01,839 - video.core - INFO - ๐Ÿ“ฅ Server received frame #360 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27986 bytes +2025-06-06 11:08:01,839 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:01,839 - video.core - INFO - ๐Ÿ“ค Server relayed frame #360 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:01,839 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 360 frames processed, 21.1 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:01,839 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 360 frames, 13.6 FPS, 2.99 Mbps throughput, 27498 bytes avg frame size +2025-06-06 11:08:01,839 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 360 frames processed, FPS: 23.0, Throughput: 5.06 Mbps, Avg frame size: 27498 bytes +2025-06-06 11:08:01,879 - video.core - INFO - ๐Ÿ“ฅ Server received frame #361 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27927 bytes +2025-06-06 11:08:01,879 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:01,879 - video.core - INFO - ๐Ÿ“ค Server relayed frame #361 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:01,923 - video.core - INFO - ๐Ÿ“ฅ Server received frame #362 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27855 bytes +2025-06-06 11:08:01,923 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:01,923 - video.core - INFO - ๐Ÿ“ค Server relayed frame #362 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:01,969 - video.core - INFO - ๐Ÿ“ฅ Server received frame #363 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27785 bytes +2025-06-06 11:08:01,970 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:01,970 - video.core - INFO - ๐Ÿ“ค Server relayed frame #363 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:02,012 - video.core - INFO - ๐Ÿ“ฅ Server received frame #364 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27684 bytes +2025-06-06 11:08:02,012 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:02,012 - video.core - INFO - ๐Ÿ“ค Server relayed frame #364 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:02,056 - video.core - INFO - ๐Ÿ“ฅ Server received frame #365 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27349 bytes +2025-06-06 11:08:02,056 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:02,056 - video.core - INFO - ๐Ÿ“ค Server relayed frame #365 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:02,100 - video.core - INFO - ๐Ÿ“ฅ Server received frame #366 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27148 bytes +2025-06-06 11:08:02,100 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:02,100 - video.core - INFO - ๐Ÿ“ค Server relayed frame #366 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:02,147 - video.core - INFO - ๐Ÿ“ฅ Server received frame #367 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27170 bytes +2025-06-06 11:08:02,148 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:02,148 - video.core - INFO - ๐Ÿ“ค Server relayed frame #367 to 1 consumers in 0.9ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:02,266 - video.core - INFO - ๐Ÿ“ฅ Server received frame #368 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27159 bytes +2025-06-06 11:08:02,267 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:02,267 - video.core - INFO - ๐Ÿ“ค Server relayed frame #368 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:02,278 - video.core - INFO - ๐Ÿ“ฅ Server received frame #369 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27228 bytes +2025-06-06 11:08:02,278 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:02,278 - video.core - INFO - ๐Ÿ“ค Server relayed frame #369 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:02,355 - video.core - INFO - ๐Ÿ“น Frame #370 from producer producer_1749200857529: size=27365 bytes, resolution=640x480 +2025-06-06 11:08:02,356 - video.core - INFO - ๐Ÿ“ฅ Server received frame #370 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27365 bytes +2025-06-06 11:08:02,357 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:02,357 - video.core - INFO - ๐Ÿ“ค Server relayed frame #370 to 1 consumers in 1.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:02,486 - video.core - INFO - ๐Ÿ“ฅ Server received frame #371 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27385 bytes +2025-06-06 11:08:02,486 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:02,487 - video.core - INFO - ๐Ÿ“ค Server relayed frame #371 to 1 consumers in 1.7ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:02,494 - video.core - INFO - ๐Ÿ“ฅ Server received frame #372 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27418 bytes +2025-06-06 11:08:02,494 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:02,494 - video.core - INFO - ๐Ÿ“ค Server relayed frame #372 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:02,502 - video.core - INFO - ๐Ÿ“ฅ Server received frame #373 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27469 bytes +2025-06-06 11:08:02,506 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:02,506 - video.core - INFO - ๐Ÿ“ค Server relayed frame #373 to 1 consumers in 4.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:02,509 - video.core - INFO - ๐Ÿ“ฅ Server received frame #374 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27648 bytes +2025-06-06 11:08:02,509 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:02,509 - video.core - INFO - ๐Ÿ“ค Server relayed frame #374 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:02,516 - video.core - INFO - ๐Ÿ“ฅ Server received frame #375 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27520 bytes +2025-06-06 11:08:02,516 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:02,516 - video.core - INFO - ๐Ÿ“ค Server relayed frame #375 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:02,526 - video.core - INFO - ๐Ÿ“ฅ Server received frame #376 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27407 bytes +2025-06-06 11:08:02,526 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:02,526 - video.core - INFO - ๐Ÿ“ค Server relayed frame #376 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:02,569 - video.core - INFO - ๐Ÿ“ฅ Server received frame #377 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27605 bytes +2025-06-06 11:08:02,570 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:02,570 - video.core - INFO - ๐Ÿ“ค Server relayed frame #377 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:02,613 - video.core - INFO - ๐Ÿ“ฅ Server received frame #378 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27659 bytes +2025-06-06 11:08:02,613 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:02,613 - video.core - INFO - ๐Ÿ“ค Server relayed frame #378 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:02,659 - video.core - INFO - ๐Ÿ“ฅ Server received frame #379 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27568 bytes +2025-06-06 11:08:02,659 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:02,659 - video.core - INFO - ๐Ÿ“ค Server relayed frame #379 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:02,704 - video.core - INFO - ๐Ÿ“น Frame #380 from producer producer_1749200857529: size=27528 bytes, resolution=640x480 +2025-06-06 11:08:02,704 - video.core - INFO - ๐Ÿ“ฅ Server received frame #380 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27528 bytes +2025-06-06 11:08:02,704 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:02,704 - video.core - INFO - ๐Ÿ“ค Server relayed frame #380 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:02,750 - video.core - INFO - ๐Ÿ“ฅ Server received frame #381 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27474 bytes +2025-06-06 11:08:02,750 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:02,750 - video.core - INFO - ๐Ÿ“ค Server relayed frame #381 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:02,796 - video.core - INFO - ๐Ÿ“ฅ Server received frame #382 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27420 bytes +2025-06-06 11:08:02,797 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:02,797 - video.core - INFO - ๐Ÿ“ค Server relayed frame #382 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:02,840 - video.core - INFO - ๐Ÿ“ฅ Server received frame #383 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27516 bytes +2025-06-06 11:08:02,840 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:02,840 - video.core - INFO - ๐Ÿ“ค Server relayed frame #383 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:02,879 - video.core - INFO - ๐Ÿ“ฅ Server received frame #384 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27599 bytes +2025-06-06 11:08:02,879 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:02,880 - video.core - INFO - ๐Ÿ“ค Server relayed frame #384 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:02,931 - video.core - INFO - ๐Ÿ“ฅ Server received frame #385 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27606 bytes +2025-06-06 11:08:02,931 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:02,931 - video.core - INFO - ๐Ÿ“ค Server relayed frame #385 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:02,975 - video.core - INFO - ๐Ÿ“ฅ Server received frame #386 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27666 bytes +2025-06-06 11:08:02,975 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:02,975 - video.core - INFO - ๐Ÿ“ค Server relayed frame #386 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:03,017 - video.core - INFO - ๐Ÿ“ฅ Server received frame #387 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27709 bytes +2025-06-06 11:08:03,018 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:03,018 - video.core - INFO - ๐Ÿ“ค Server relayed frame #387 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:03,062 - video.core - INFO - ๐Ÿ“ฅ Server received frame #388 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27720 bytes +2025-06-06 11:08:03,062 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:03,062 - video.core - INFO - ๐Ÿ“ค Server relayed frame #388 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:03,107 - video.core - INFO - ๐Ÿ“ฅ Server received frame #389 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27815 bytes +2025-06-06 11:08:03,108 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:03,108 - video.core - INFO - ๐Ÿ“ค Server relayed frame #389 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:03,151 - video.core - INFO - ๐Ÿ“น Frame #390 from producer producer_1749200857529: size=27812 bytes, resolution=640x480 +2025-06-06 11:08:03,151 - video.core - INFO - ๐Ÿ“ฅ Server received frame #390 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27812 bytes +2025-06-06 11:08:03,152 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:03,152 - video.core - INFO - ๐Ÿ“ค Server relayed frame #390 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:03,152 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 390 frames processed, 21.2 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:03,152 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 390 frames, 14.0 FPS, 3.09 Mbps throughput, 27501 bytes avg frame size +2025-06-06 11:08:03,152 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 390 frames processed, FPS: 23.0, Throughput: 5.06 Mbps, Avg frame size: 27501 bytes +2025-06-06 11:08:03,193 - video.core - INFO - ๐Ÿ“ฅ Server received frame #391 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27912 bytes +2025-06-06 11:08:03,193 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:03,193 - video.core - INFO - ๐Ÿ“ค Server relayed frame #391 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:03,240 - video.core - INFO - ๐Ÿ“ฅ Server received frame #392 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28023 bytes +2025-06-06 11:08:03,240 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:03,240 - video.core - INFO - ๐Ÿ“ค Server relayed frame #392 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:03,268 - video.core - INFO - ๐Ÿ“ฅ Server received frame #393 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28092 bytes +2025-06-06 11:08:03,268 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:03,268 - video.core - INFO - ๐Ÿ“ค Server relayed frame #393 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:03,309 - video.core - INFO - ๐Ÿ“ฅ Server received frame #394 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28142 bytes +2025-06-06 11:08:03,309 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:03,310 - video.core - INFO - ๐Ÿ“ค Server relayed frame #394 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:03,353 - video.core - INFO - ๐Ÿ“ฅ Server received frame #395 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28011 bytes +2025-06-06 11:08:03,353 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:03,353 - video.core - INFO - ๐Ÿ“ค Server relayed frame #395 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:03,403 - video.core - INFO - ๐Ÿ“ฅ Server received frame #396 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27806 bytes +2025-06-06 11:08:03,403 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:03,403 - video.core - INFO - ๐Ÿ“ค Server relayed frame #396 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:03,442 - video.core - INFO - ๐Ÿ“ฅ Server received frame #397 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27878 bytes +2025-06-06 11:08:03,442 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:03,442 - video.core - INFO - ๐Ÿ“ค Server relayed frame #397 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:03,490 - video.core - INFO - ๐Ÿ“ฅ Server received frame #398 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27978 bytes +2025-06-06 11:08:03,490 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:03,490 - video.core - INFO - ๐Ÿ“ค Server relayed frame #398 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:03,534 - video.core - INFO - ๐Ÿ“ฅ Server received frame #399 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28024 bytes +2025-06-06 11:08:03,534 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:03,534 - video.core - INFO - ๐Ÿ“ค Server relayed frame #399 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:03,575 - video.core - INFO - ๐Ÿ“น Frame #400 from producer producer_1749200857529: size=28071 bytes, resolution=640x480 +2025-06-06 11:08:03,576 - video.core - INFO - ๐Ÿ“ฅ Server received frame #400 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28071 bytes +2025-06-06 11:08:03,576 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:03,576 - video.core - INFO - ๐Ÿ“ค Server relayed frame #400 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:03,620 - video.core - INFO - ๐Ÿ“ฅ Server received frame #401 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28012 bytes +2025-06-06 11:08:03,620 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:03,620 - video.core - INFO - ๐Ÿ“ค Server relayed frame #401 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:03,667 - video.core - INFO - ๐Ÿ“ฅ Server received frame #402 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28009 bytes +2025-06-06 11:08:03,667 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:03,667 - video.core - INFO - ๐Ÿ“ค Server relayed frame #402 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:03,710 - video.core - INFO - ๐Ÿ“ฅ Server received frame #403 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28077 bytes +2025-06-06 11:08:03,711 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:03,711 - video.core - INFO - ๐Ÿ“ค Server relayed frame #403 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:03,756 - video.core - INFO - ๐Ÿ“ฅ Server received frame #404 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27983 bytes +2025-06-06 11:08:03,756 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:03,756 - video.core - INFO - ๐Ÿ“ค Server relayed frame #404 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:03,801 - video.core - INFO - ๐Ÿ“ฅ Server received frame #405 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28152 bytes +2025-06-06 11:08:03,803 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:03,804 - video.core - INFO - ๐Ÿ“ค Server relayed frame #405 to 1 consumers in 2.7ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:03,831 - video.core - INFO - ๐Ÿ“ฅ Server received frame #406 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28269 bytes +2025-06-06 11:08:03,832 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:03,832 - video.core - INFO - ๐Ÿ“ค Server relayed frame #406 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:03,871 - video.core - INFO - ๐Ÿ“ฅ Server received frame #407 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28264 bytes +2025-06-06 11:08:03,871 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:03,871 - video.core - INFO - ๐Ÿ“ค Server relayed frame #407 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:03,922 - video.core - INFO - ๐Ÿ“ฅ Server received frame #408 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28401 bytes +2025-06-06 11:08:03,922 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:03,922 - video.core - INFO - ๐Ÿ“ค Server relayed frame #408 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:03,963 - video.core - INFO - ๐Ÿ“ฅ Server received frame #409 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28408 bytes +2025-06-06 11:08:03,963 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:03,963 - video.core - INFO - ๐Ÿ“ค Server relayed frame #409 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:04,019 - video.core - INFO - ๐Ÿ“น Frame #410 from producer producer_1749200857529: size=28464 bytes, resolution=640x480 +2025-06-06 11:08:04,020 - video.core - INFO - ๐Ÿ“ฅ Server received frame #410 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28464 bytes +2025-06-06 11:08:04,020 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:04,020 - video.core - INFO - ๐Ÿ“ค Server relayed frame #410 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:04,061 - video.core - INFO - ๐Ÿ“ฅ Server received frame #411 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28548 bytes +2025-06-06 11:08:04,061 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:04,061 - video.core - INFO - ๐Ÿ“ค Server relayed frame #411 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:04,093 - video.core - INFO - ๐Ÿ“ฅ Server received frame #412 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28548 bytes +2025-06-06 11:08:04,094 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:04,094 - video.core - INFO - ๐Ÿ“ค Server relayed frame #412 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:04,138 - video.core - INFO - ๐Ÿ“ฅ Server received frame #413 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28688 bytes +2025-06-06 11:08:04,139 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:04,139 - video.core - INFO - ๐Ÿ“ค Server relayed frame #413 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:04,179 - video.core - INFO - ๐Ÿ“ฅ Server received frame #414 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28341 bytes +2025-06-06 11:08:04,179 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:04,180 - video.core - INFO - ๐Ÿ“ค Server relayed frame #414 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:04,220 - video.core - INFO - ๐Ÿ“ฅ Server received frame #415 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28027 bytes +2025-06-06 11:08:04,220 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:04,220 - video.core - INFO - ๐Ÿ“ค Server relayed frame #415 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:04,261 - video.core - INFO - ๐Ÿ“ฅ Server received frame #416 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27954 bytes +2025-06-06 11:08:04,261 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:04,261 - video.core - INFO - ๐Ÿ“ค Server relayed frame #416 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:04,302 - video.core - INFO - ๐Ÿ“ฅ Server received frame #417 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27974 bytes +2025-06-06 11:08:04,302 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:04,302 - video.core - INFO - ๐Ÿ“ค Server relayed frame #417 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:04,355 - video.core - INFO - ๐Ÿ“ฅ Server received frame #418 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27968 bytes +2025-06-06 11:08:04,356 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:04,356 - video.core - INFO - ๐Ÿ“ค Server relayed frame #418 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:04,396 - video.core - INFO - ๐Ÿ“ฅ Server received frame #419 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28026 bytes +2025-06-06 11:08:04,396 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:04,396 - video.core - INFO - ๐Ÿ“ค Server relayed frame #419 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:04,444 - video.core - INFO - ๐Ÿ“น Frame #420 from producer producer_1749200857529: size=28097 bytes, resolution=640x480 +2025-06-06 11:08:04,444 - video.core - INFO - ๐Ÿ“ฅ Server received frame #420 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28097 bytes +2025-06-06 11:08:04,444 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:04,444 - video.core - INFO - ๐Ÿ“ค Server relayed frame #420 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:04,444 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 420 frames processed, 21.4 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:04,444 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 420 frames, 14.5 FPS, 3.19 Mbps throughput, 27547 bytes avg frame size +2025-06-06 11:08:04,444 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 420 frames processed, FPS: 23.0, Throughput: 5.07 Mbps, Avg frame size: 27547 bytes +2025-06-06 11:08:04,487 - video.core - INFO - ๐Ÿ“ฅ Server received frame #421 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28095 bytes +2025-06-06 11:08:04,487 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:04,487 - video.core - INFO - ๐Ÿ“ค Server relayed frame #421 to 1 consumers in 0.7ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:04,534 - video.core - INFO - ๐Ÿ“ฅ Server received frame #422 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28067 bytes +2025-06-06 11:08:04,534 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:04,534 - video.core - INFO - ๐Ÿ“ค Server relayed frame #422 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:04,582 - video.core - INFO - ๐Ÿ“ฅ Server received frame #423 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28094 bytes +2025-06-06 11:08:04,582 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:04,582 - video.core - INFO - ๐Ÿ“ค Server relayed frame #423 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:04,620 - video.core - INFO - ๐Ÿ“ฅ Server received frame #424 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28151 bytes +2025-06-06 11:08:04,620 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:04,620 - video.core - INFO - ๐Ÿ“ค Server relayed frame #424 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:04,662 - video.core - INFO - ๐Ÿ“ฅ Server received frame #425 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28260 bytes +2025-06-06 11:08:04,662 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:04,662 - video.core - INFO - ๐Ÿ“ค Server relayed frame #425 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:04,705 - video.core - INFO - ๐Ÿ“ฅ Server received frame #426 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28275 bytes +2025-06-06 11:08:04,705 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:04,706 - video.core - INFO - ๐Ÿ“ค Server relayed frame #426 to 1 consumers in 1.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:04,748 - video.core - INFO - ๐Ÿ“ฅ Server received frame #427 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28397 bytes +2025-06-06 11:08:04,749 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:04,749 - video.core - INFO - ๐Ÿ“ค Server relayed frame #427 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:04,793 - video.core - INFO - ๐Ÿ“ฅ Server received frame #428 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28416 bytes +2025-06-06 11:08:04,794 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:04,794 - video.core - INFO - ๐Ÿ“ค Server relayed frame #428 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:04,844 - video.core - INFO - ๐Ÿ“ฅ Server received frame #429 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28436 bytes +2025-06-06 11:08:04,844 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:04,844 - video.core - INFO - ๐Ÿ“ค Server relayed frame #429 to 1 consumers in 0.8ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:04,888 - video.core - INFO - ๐Ÿ“น Frame #430 from producer producer_1749200857529: size=28346 bytes, resolution=640x480 +2025-06-06 11:08:04,888 - video.core - INFO - ๐Ÿ“ฅ Server received frame #430 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28346 bytes +2025-06-06 11:08:04,888 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:04,888 - video.core - INFO - ๐Ÿ“ค Server relayed frame #430 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:04,929 - video.core - INFO - ๐Ÿ“ฅ Server received frame #431 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28422 bytes +2025-06-06 11:08:04,929 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:04,929 - video.core - INFO - ๐Ÿ“ค Server relayed frame #431 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:04,971 - video.core - INFO - ๐Ÿ“ฅ Server received frame #432 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28443 bytes +2025-06-06 11:08:04,971 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:04,971 - video.core - INFO - ๐Ÿ“ค Server relayed frame #432 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:05,014 - video.core - INFO - ๐Ÿ“ฅ Server received frame #433 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28483 bytes +2025-06-06 11:08:05,014 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:05,015 - video.core - INFO - ๐Ÿ“ค Server relayed frame #433 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:05,059 - video.core - INFO - ๐Ÿ“ฅ Server received frame #434 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28531 bytes +2025-06-06 11:08:05,059 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:05,059 - video.core - INFO - ๐Ÿ“ค Server relayed frame #434 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:05,100 - video.core - INFO - ๐Ÿ“ฅ Server received frame #435 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28563 bytes +2025-06-06 11:08:05,101 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:05,101 - video.core - INFO - ๐Ÿ“ค Server relayed frame #435 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:05,147 - video.core - INFO - ๐Ÿ“ฅ Server received frame #436 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28584 bytes +2025-06-06 11:08:05,148 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:05,148 - video.core - INFO - ๐Ÿ“ค Server relayed frame #436 to 1 consumers in 0.7ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:05,190 - video.core - INFO - ๐Ÿ“ฅ Server received frame #437 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28602 bytes +2025-06-06 11:08:05,190 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:05,190 - video.core - INFO - ๐Ÿ“ค Server relayed frame #437 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:05,233 - video.core - INFO - ๐Ÿ“ฅ Server received frame #438 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28612 bytes +2025-06-06 11:08:05,233 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:05,234 - video.core - INFO - ๐Ÿ“ค Server relayed frame #438 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:05,262 - video.core - INFO - ๐Ÿ“ฅ Server received frame #439 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28531 bytes +2025-06-06 11:08:05,262 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:05,262 - video.core - INFO - ๐Ÿ“ค Server relayed frame #439 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:05,298 - video.core - INFO - ๐Ÿ“น Frame #440 from producer producer_1749200857529: size=28375 bytes, resolution=640x480 +2025-06-06 11:08:05,298 - video.core - INFO - ๐Ÿ“ฅ Server received frame #440 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28375 bytes +2025-06-06 11:08:05,298 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:05,298 - video.core - INFO - ๐Ÿ“ค Server relayed frame #440 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:05,346 - video.core - INFO - ๐Ÿ“ฅ Server received frame #441 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28289 bytes +2025-06-06 11:08:05,346 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:05,346 - video.core - INFO - ๐Ÿ“ค Server relayed frame #441 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:05,389 - video.core - INFO - ๐Ÿ“ฅ Server received frame #442 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28231 bytes +2025-06-06 11:08:05,389 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:05,389 - video.core - INFO - ๐Ÿ“ค Server relayed frame #442 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:05,439 - video.core - INFO - ๐Ÿ“ฅ Server received frame #443 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28140 bytes +2025-06-06 11:08:05,439 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:05,439 - video.core - INFO - ๐Ÿ“ค Server relayed frame #443 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:05,484 - video.core - INFO - ๐Ÿ“ฅ Server received frame #444 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28030 bytes +2025-06-06 11:08:05,484 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:05,484 - video.core - INFO - ๐Ÿ“ค Server relayed frame #444 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:05,517 - video.core - INFO - ๐Ÿ“ฅ Server received frame #445 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28091 bytes +2025-06-06 11:08:05,518 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:05,518 - video.core - INFO - ๐Ÿ“ค Server relayed frame #445 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:05,571 - video.core - INFO - ๐Ÿ“ฅ Server received frame #446 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28119 bytes +2025-06-06 11:08:05,571 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:05,571 - video.core - INFO - ๐Ÿ“ค Server relayed frame #446 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:05,610 - video.core - INFO - ๐Ÿ“ฅ Server received frame #447 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28048 bytes +2025-06-06 11:08:05,610 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:05,610 - video.core - INFO - ๐Ÿ“ค Server relayed frame #447 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:05,657 - video.core - INFO - ๐Ÿ“ฅ Server received frame #448 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28026 bytes +2025-06-06 11:08:05,657 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:05,657 - video.core - INFO - ๐Ÿ“ค Server relayed frame #448 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:05,695 - video.core - INFO - ๐Ÿ“ฅ Server received frame #449 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28094 bytes +2025-06-06 11:08:05,695 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:05,695 - video.core - INFO - ๐Ÿ“ค Server relayed frame #449 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:05,745 - video.core - INFO - ๐Ÿ“น Frame #450 from producer producer_1749200857529: size=27916 bytes, resolution=640x480 +2025-06-06 11:08:05,746 - video.core - INFO - ๐Ÿ“ฅ Server received frame #450 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27916 bytes +2025-06-06 11:08:05,746 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:05,746 - video.core - INFO - ๐Ÿ“ค Server relayed frame #450 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:05,746 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 450 frames processed, 21.5 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:05,746 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 450 frames, 14.8 FPS, 3.27 Mbps throughput, 27596 bytes avg frame size +2025-06-06 11:08:05,746 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 450 frames processed, FPS: 23.0, Throughput: 5.08 Mbps, Avg frame size: 27596 bytes +2025-06-06 11:08:05,782 - video.core - INFO - ๐Ÿ“ฅ Server received frame #451 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27689 bytes +2025-06-06 11:08:05,782 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:05,783 - video.core - INFO - ๐Ÿ“ค Server relayed frame #451 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:05,830 - video.core - INFO - ๐Ÿ“ฅ Server received frame #452 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27739 bytes +2025-06-06 11:08:05,831 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:05,831 - video.core - INFO - ๐Ÿ“ค Server relayed frame #452 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:05,877 - video.core - INFO - ๐Ÿ“ฅ Server received frame #453 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27695 bytes +2025-06-06 11:08:05,877 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:05,877 - video.core - INFO - ๐Ÿ“ค Server relayed frame #453 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:05,908 - video.core - INFO - ๐Ÿ“ฅ Server received frame #454 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27863 bytes +2025-06-06 11:08:05,908 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:05,908 - video.core - INFO - ๐Ÿ“ค Server relayed frame #454 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:05,946 - video.core - INFO - ๐Ÿ“ฅ Server received frame #455 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27899 bytes +2025-06-06 11:08:05,947 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:05,947 - video.core - INFO - ๐Ÿ“ค Server relayed frame #455 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:05,989 - video.core - INFO - ๐Ÿ“ฅ Server received frame #456 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28011 bytes +2025-06-06 11:08:05,989 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:05,989 - video.core - INFO - ๐Ÿ“ค Server relayed frame #456 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:06,033 - video.core - INFO - ๐Ÿ“ฅ Server received frame #457 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28041 bytes +2025-06-06 11:08:06,033 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:06,033 - video.core - INFO - ๐Ÿ“ค Server relayed frame #457 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:06,074 - video.core - INFO - ๐Ÿ“ฅ Server received frame #458 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27904 bytes +2025-06-06 11:08:06,074 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:06,074 - video.core - INFO - ๐Ÿ“ค Server relayed frame #458 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:06,119 - video.core - INFO - ๐Ÿ“ฅ Server received frame #459 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27873 bytes +2025-06-06 11:08:06,119 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:06,119 - video.core - INFO - ๐Ÿ“ค Server relayed frame #459 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:06,163 - video.core - INFO - ๐Ÿ“น Frame #460 from producer producer_1749200857529: size=27937 bytes, resolution=640x480 +2025-06-06 11:08:06,164 - video.core - INFO - ๐Ÿ“ฅ Server received frame #460 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27937 bytes +2025-06-06 11:08:06,164 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:06,164 - video.core - INFO - ๐Ÿ“ค Server relayed frame #460 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:06,208 - video.core - INFO - ๐Ÿ“ฅ Server received frame #461 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27958 bytes +2025-06-06 11:08:06,208 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:06,208 - video.core - INFO - ๐Ÿ“ค Server relayed frame #461 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:06,250 - video.core - INFO - ๐Ÿ“ฅ Server received frame #462 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27824 bytes +2025-06-06 11:08:06,250 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:06,250 - video.core - INFO - ๐Ÿ“ค Server relayed frame #462 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:06,291 - video.core - INFO - ๐Ÿ“ฅ Server received frame #463 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27732 bytes +2025-06-06 11:08:06,291 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:06,291 - video.core - INFO - ๐Ÿ“ค Server relayed frame #463 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:06,336 - video.core - INFO - ๐Ÿ“ฅ Server received frame #464 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27828 bytes +2025-06-06 11:08:06,336 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:06,336 - video.core - INFO - ๐Ÿ“ค Server relayed frame #464 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:06,381 - video.core - INFO - ๐Ÿ“ฅ Server received frame #465 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27867 bytes +2025-06-06 11:08:06,382 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:06,382 - video.core - INFO - ๐Ÿ“ค Server relayed frame #465 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:06,424 - video.core - INFO - ๐Ÿ“ฅ Server received frame #466 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27888 bytes +2025-06-06 11:08:06,424 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:06,424 - video.core - INFO - ๐Ÿ“ค Server relayed frame #466 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:06,483 - video.core - INFO - ๐Ÿ“ฅ Server received frame #467 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27949 bytes +2025-06-06 11:08:06,483 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:06,483 - video.core - INFO - ๐Ÿ“ค Server relayed frame #467 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:06,510 - video.core - INFO - ๐Ÿ“ฅ Server received frame #468 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27873 bytes +2025-06-06 11:08:06,511 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:06,511 - video.core - INFO - ๐Ÿ“ค Server relayed frame #468 to 1 consumers in 1.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:06,551 - video.core - INFO - ๐Ÿ“ฅ Server received frame #469 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27876 bytes +2025-06-06 11:08:06,551 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:06,551 - video.core - INFO - ๐Ÿ“ค Server relayed frame #469 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:06,596 - video.core - INFO - ๐Ÿ“น Frame #470 from producer producer_1749200857529: size=27616 bytes, resolution=640x480 +2025-06-06 11:08:06,596 - video.core - INFO - ๐Ÿ“ฅ Server received frame #470 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27616 bytes +2025-06-06 11:08:06,596 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:06,596 - video.core - INFO - ๐Ÿ“ค Server relayed frame #470 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:06,640 - video.core - INFO - ๐Ÿ“ฅ Server received frame #471 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27677 bytes +2025-06-06 11:08:06,640 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:06,640 - video.core - INFO - ๐Ÿ“ค Server relayed frame #471 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:06,696 - video.core - INFO - ๐Ÿ“ฅ Server received frame #472 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27716 bytes +2025-06-06 11:08:06,696 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:06,697 - video.core - INFO - ๐Ÿ“ค Server relayed frame #472 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:06,729 - video.core - INFO - ๐Ÿ“ฅ Server received frame #473 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27748 bytes +2025-06-06 11:08:06,730 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:06,730 - video.core - INFO - ๐Ÿ“ค Server relayed frame #473 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:06,772 - video.core - INFO - ๐Ÿ“ฅ Server received frame #474 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27686 bytes +2025-06-06 11:08:06,772 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:06,772 - video.core - INFO - ๐Ÿ“ค Server relayed frame #474 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:06,812 - video.core - INFO - ๐Ÿ“ฅ Server received frame #475 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27779 bytes +2025-06-06 11:08:06,812 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:06,812 - video.core - INFO - ๐Ÿ“ค Server relayed frame #475 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:06,861 - video.core - INFO - ๐Ÿ“ฅ Server received frame #476 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27786 bytes +2025-06-06 11:08:06,861 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:06,861 - video.core - INFO - ๐Ÿ“ค Server relayed frame #476 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:06,906 - video.core - INFO - ๐Ÿ“ฅ Server received frame #477 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27826 bytes +2025-06-06 11:08:06,907 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:06,907 - video.core - INFO - ๐Ÿ“ค Server relayed frame #477 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:06,946 - video.core - INFO - ๐Ÿ“ฅ Server received frame #478 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27742 bytes +2025-06-06 11:08:06,946 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:06,946 - video.core - INFO - ๐Ÿ“ค Server relayed frame #478 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:06,991 - video.core - INFO - ๐Ÿ“ฅ Server received frame #479 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27767 bytes +2025-06-06 11:08:06,991 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:06,991 - video.core - INFO - ๐Ÿ“ค Server relayed frame #479 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:07,036 - video.core - INFO - ๐Ÿ“น Frame #480 from producer producer_1749200857529: size=27841 bytes, resolution=640x480 +2025-06-06 11:08:07,036 - video.core - INFO - ๐Ÿ“ฅ Server received frame #480 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27841 bytes +2025-06-06 11:08:07,036 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:07,036 - video.core - INFO - ๐Ÿ“ค Server relayed frame #480 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:07,036 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 480 frames processed, 21.6 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:07,036 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 480 frames, 15.2 FPS, 3.35 Mbps throughput, 27610 bytes avg frame size +2025-06-06 11:08:07,036 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 480 frames processed, FPS: 23.0, Throughput: 5.09 Mbps, Avg frame size: 27610 bytes +2025-06-06 11:08:07,075 - video.core - INFO - ๐Ÿ“ฅ Server received frame #481 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27958 bytes +2025-06-06 11:08:07,076 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:07,076 - video.core - INFO - ๐Ÿ“ค Server relayed frame #481 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:07,118 - video.core - INFO - ๐Ÿ“ฅ Server received frame #482 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27929 bytes +2025-06-06 11:08:07,118 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:07,118 - video.core - INFO - ๐Ÿ“ค Server relayed frame #482 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:07,165 - video.core - INFO - ๐Ÿ“ฅ Server received frame #483 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27947 bytes +2025-06-06 11:08:07,165 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:07,165 - video.core - INFO - ๐Ÿ“ค Server relayed frame #483 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:07,206 - video.core - INFO - ๐Ÿ“ฅ Server received frame #484 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27488 bytes +2025-06-06 11:08:07,206 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:07,206 - video.core - INFO - ๐Ÿ“ค Server relayed frame #484 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:07,248 - video.core - INFO - ๐Ÿ“ฅ Server received frame #485 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27549 bytes +2025-06-06 11:08:07,248 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:07,248 - video.core - INFO - ๐Ÿ“ค Server relayed frame #485 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:07,288 - video.core - INFO - ๐Ÿ“ฅ Server received frame #486 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27594 bytes +2025-06-06 11:08:07,288 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:07,288 - video.core - INFO - ๐Ÿ“ค Server relayed frame #486 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:07,331 - video.core - INFO - ๐Ÿ“ฅ Server received frame #487 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27676 bytes +2025-06-06 11:08:07,331 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:07,331 - video.core - INFO - ๐Ÿ“ค Server relayed frame #487 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:07,374 - video.core - INFO - ๐Ÿ“ฅ Server received frame #488 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27634 bytes +2025-06-06 11:08:07,375 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:07,375 - video.core - INFO - ๐Ÿ“ค Server relayed frame #488 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:07,418 - video.core - INFO - ๐Ÿ“ฅ Server received frame #489 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27574 bytes +2025-06-06 11:08:07,418 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:07,418 - video.core - INFO - ๐Ÿ“ค Server relayed frame #489 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:07,468 - video.core - INFO - ๐Ÿ“น Frame #490 from producer producer_1749200857529: size=27489 bytes, resolution=640x480 +2025-06-06 11:08:07,469 - video.core - INFO - ๐Ÿ“ฅ Server received frame #490 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27489 bytes +2025-06-06 11:08:07,469 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:07,469 - video.core - INFO - ๐Ÿ“ค Server relayed frame #490 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:07,510 - video.core - INFO - ๐Ÿ“ฅ Server received frame #491 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27364 bytes +2025-06-06 11:08:07,510 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:07,510 - video.core - INFO - ๐Ÿ“ค Server relayed frame #491 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:07,555 - video.core - INFO - ๐Ÿ“ฅ Server received frame #492 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27278 bytes +2025-06-06 11:08:07,555 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:07,555 - video.core - INFO - ๐Ÿ“ค Server relayed frame #492 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:07,599 - video.core - INFO - ๐Ÿ“ฅ Server received frame #493 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27332 bytes +2025-06-06 11:08:07,600 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:07,600 - video.core - INFO - ๐Ÿ“ค Server relayed frame #493 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:07,648 - video.core - INFO - ๐Ÿ“ฅ Server received frame #494 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27410 bytes +2025-06-06 11:08:07,648 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:07,648 - video.core - INFO - ๐Ÿ“ค Server relayed frame #494 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:07,686 - video.core - INFO - ๐Ÿ“ฅ Server received frame #495 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27273 bytes +2025-06-06 11:08:07,686 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:07,686 - video.core - INFO - ๐Ÿ“ค Server relayed frame #495 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:07,729 - video.core - INFO - ๐Ÿ“ฅ Server received frame #496 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27279 bytes +2025-06-06 11:08:07,729 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:07,729 - video.core - INFO - ๐Ÿ“ค Server relayed frame #496 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:07,779 - video.core - INFO - ๐Ÿ“ฅ Server received frame #497 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27331 bytes +2025-06-06 11:08:07,779 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:07,779 - video.core - INFO - ๐Ÿ“ค Server relayed frame #497 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:07,908 - video.core - INFO - ๐Ÿ“ฅ Server received frame #498 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27209 bytes +2025-06-06 11:08:07,908 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:07,908 - video.core - INFO - ๐Ÿ“ค Server relayed frame #498 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:07,950 - video.core - INFO - ๐Ÿ“ฅ Server received frame #499 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27223 bytes +2025-06-06 11:08:07,987 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 28.9ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:07,987 - video.core - INFO - ๐Ÿ“ค Server relayed frame #499 to 1 consumers in 36.9ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:07,994 - video.core - INFO - ๐Ÿ“น Frame #500 from producer producer_1749200857529: size=27114 bytes, resolution=640x480 +2025-06-06 11:08:07,994 - video.core - INFO - ๐Ÿ“ฅ Server received frame #500 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27114 bytes +2025-06-06 11:08:07,994 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:07,994 - video.core - INFO - ๐Ÿ“ค Server relayed frame #500 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:07,998 - video.core - INFO - ๐Ÿ“ฅ Server received frame #501 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27299 bytes +2025-06-06 11:08:07,998 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:07,998 - video.core - INFO - ๐Ÿ“ค Server relayed frame #501 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:08,004 - video.core - INFO - ๐Ÿ“ฅ Server received frame #502 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27243 bytes +2025-06-06 11:08:08,004 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:08,004 - video.core - INFO - ๐Ÿ“ค Server relayed frame #502 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:08,054 - video.core - INFO - ๐Ÿ“ฅ Server received frame #503 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27245 bytes +2025-06-06 11:08:08,054 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:08,054 - video.core - INFO - ๐Ÿ“ค Server relayed frame #503 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:08,073 - video.core - INFO - ๐Ÿ“ฅ Server received frame #504 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27437 bytes +2025-06-06 11:08:08,073 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:08,073 - video.core - INFO - ๐Ÿ“ค Server relayed frame #504 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:08,112 - video.core - INFO - ๐Ÿ“ฅ Server received frame #505 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27586 bytes +2025-06-06 11:08:08,112 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:08,112 - video.core - INFO - ๐Ÿ“ค Server relayed frame #505 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:08,163 - video.core - INFO - ๐Ÿ“ฅ Server received frame #506 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27759 bytes +2025-06-06 11:08:08,164 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:08,164 - video.core - INFO - ๐Ÿ“ค Server relayed frame #506 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:08,199 - video.core - INFO - ๐Ÿ“ฅ Server received frame #507 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27959 bytes +2025-06-06 11:08:08,199 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:08,199 - video.core - INFO - ๐Ÿ“ค Server relayed frame #507 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:08,246 - video.core - INFO - ๐Ÿ“ฅ Server received frame #508 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28044 bytes +2025-06-06 11:08:08,246 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:08,246 - video.core - INFO - ๐Ÿ“ค Server relayed frame #508 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:08,279 - video.core - INFO - ๐Ÿ“ฅ Server received frame #509 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28202 bytes +2025-06-06 11:08:08,279 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:08,279 - video.core - INFO - ๐Ÿ“ค Server relayed frame #509 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:08,327 - video.core - INFO - ๐Ÿ“น Frame #510 from producer producer_1749200857529: size=28250 bytes, resolution=640x480 +2025-06-06 11:08:08,327 - video.core - INFO - ๐Ÿ“ฅ Server received frame #510 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28250 bytes +2025-06-06 11:08:08,327 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:08,327 - video.core - INFO - ๐Ÿ“ค Server relayed frame #510 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:08,328 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 510 frames processed, 21.7 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:08,328 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 510 frames, 15.5 FPS, 3.42 Mbps throughput, 27607 bytes avg frame size +2025-06-06 11:08:08,328 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 510 frames processed, FPS: 23.0, Throughput: 5.09 Mbps, Avg frame size: 27607 bytes +2025-06-06 11:08:08,372 - video.core - INFO - ๐Ÿ“ฅ Server received frame #511 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28190 bytes +2025-06-06 11:08:08,372 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:08,372 - video.core - INFO - ๐Ÿ“ค Server relayed frame #511 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:08,416 - video.core - INFO - ๐Ÿ“ฅ Server received frame #512 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27884 bytes +2025-06-06 11:08:08,416 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:08,416 - video.core - INFO - ๐Ÿ“ค Server relayed frame #512 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:08,462 - video.core - INFO - ๐Ÿ“ฅ Server received frame #513 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27882 bytes +2025-06-06 11:08:08,462 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:08,462 - video.core - INFO - ๐Ÿ“ค Server relayed frame #513 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:08,510 - video.core - INFO - ๐Ÿ“ฅ Server received frame #514 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27968 bytes +2025-06-06 11:08:08,510 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:08,511 - video.core - INFO - ๐Ÿ“ค Server relayed frame #514 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:08,557 - video.core - INFO - ๐Ÿ“ฅ Server received frame #515 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27891 bytes +2025-06-06 11:08:08,557 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:08,557 - video.core - INFO - ๐Ÿ“ค Server relayed frame #515 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:08,600 - video.core - INFO - ๐Ÿ“ฅ Server received frame #516 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27908 bytes +2025-06-06 11:08:08,600 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:08,600 - video.core - INFO - ๐Ÿ“ค Server relayed frame #516 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:08,644 - video.core - INFO - ๐Ÿ“ฅ Server received frame #517 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27789 bytes +2025-06-06 11:08:08,645 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:08,645 - video.core - INFO - ๐Ÿ“ค Server relayed frame #517 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:08,676 - video.core - INFO - ๐Ÿ“ฅ Server received frame #518 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27768 bytes +2025-06-06 11:08:08,677 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:08,677 - video.core - INFO - ๐Ÿ“ค Server relayed frame #518 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:08,730 - video.core - INFO - ๐Ÿ“ฅ Server received frame #519 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27892 bytes +2025-06-06 11:08:08,731 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:08,731 - video.core - INFO - ๐Ÿ“ค Server relayed frame #519 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:08,776 - video.core - INFO - ๐Ÿ“น Frame #520 from producer producer_1749200857529: size=28027 bytes, resolution=640x480 +2025-06-06 11:08:08,776 - video.core - INFO - ๐Ÿ“ฅ Server received frame #520 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28027 bytes +2025-06-06 11:08:08,776 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:08,776 - video.core - INFO - ๐Ÿ“ค Server relayed frame #520 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:08,822 - video.core - INFO - ๐Ÿ“ฅ Server received frame #521 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27988 bytes +2025-06-06 11:08:08,822 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:08,822 - video.core - INFO - ๐Ÿ“ค Server relayed frame #521 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:08,864 - video.core - INFO - ๐Ÿ“ฅ Server received frame #522 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27954 bytes +2025-06-06 11:08:08,864 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:08,864 - video.core - INFO - ๐Ÿ“ค Server relayed frame #522 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:08,902 - video.core - INFO - ๐Ÿ“ฅ Server received frame #523 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27958 bytes +2025-06-06 11:08:08,903 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:08,903 - video.core - INFO - ๐Ÿ“ค Server relayed frame #523 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:08,951 - video.core - INFO - ๐Ÿ“ฅ Server received frame #524 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27949 bytes +2025-06-06 11:08:08,951 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:08,951 - video.core - INFO - ๐Ÿ“ค Server relayed frame #524 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:08,987 - video.core - INFO - ๐Ÿ“ฅ Server received frame #525 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27824 bytes +2025-06-06 11:08:08,987 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:08,988 - video.core - INFO - ๐Ÿ“ค Server relayed frame #525 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:09,032 - video.core - INFO - ๐Ÿ“ฅ Server received frame #526 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27944 bytes +2025-06-06 11:08:09,032 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:09,032 - video.core - INFO - ๐Ÿ“ค Server relayed frame #526 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:09,077 - video.core - INFO - ๐Ÿ“ฅ Server received frame #527 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28050 bytes +2025-06-06 11:08:09,077 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:09,077 - video.core - INFO - ๐Ÿ“ค Server relayed frame #527 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:09,118 - video.core - INFO - ๐Ÿ“ฅ Server received frame #528 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28093 bytes +2025-06-06 11:08:09,118 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:09,119 - video.core - INFO - ๐Ÿ“ค Server relayed frame #528 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:09,164 - video.core - INFO - ๐Ÿ“ฅ Server received frame #529 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28169 bytes +2025-06-06 11:08:09,164 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:09,165 - video.core - INFO - ๐Ÿ“ค Server relayed frame #529 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:09,209 - video.core - INFO - ๐Ÿ“น Frame #530 from producer producer_1749200857529: size=28166 bytes, resolution=640x480 +2025-06-06 11:08:09,209 - video.core - INFO - ๐Ÿ“ฅ Server received frame #530 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28166 bytes +2025-06-06 11:08:09,209 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:09,209 - video.core - INFO - ๐Ÿ“ค Server relayed frame #530 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:09,252 - video.core - INFO - ๐Ÿ“ฅ Server received frame #531 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28215 bytes +2025-06-06 11:08:09,252 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:09,252 - video.core - INFO - ๐Ÿ“ค Server relayed frame #531 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:09,285 - video.core - INFO - ๐Ÿ“ฅ Server received frame #532 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28190 bytes +2025-06-06 11:08:09,285 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:09,285 - video.core - INFO - ๐Ÿ“ค Server relayed frame #532 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:09,325 - video.core - INFO - ๐Ÿ“ฅ Server received frame #533 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28277 bytes +2025-06-06 11:08:09,325 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:09,325 - video.core - INFO - ๐Ÿ“ค Server relayed frame #533 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:09,373 - video.core - INFO - ๐Ÿ“ฅ Server received frame #534 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28196 bytes +2025-06-06 11:08:09,373 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:09,373 - video.core - INFO - ๐Ÿ“ค Server relayed frame #534 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:09,423 - video.core - INFO - ๐Ÿ“ฅ Server received frame #535 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28286 bytes +2025-06-06 11:08:09,424 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:09,424 - video.core - INFO - ๐Ÿ“ค Server relayed frame #535 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:09,459 - video.core - INFO - ๐Ÿ“ฅ Server received frame #536 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28322 bytes +2025-06-06 11:08:09,459 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:09,459 - video.core - INFO - ๐Ÿ“ค Server relayed frame #536 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:09,500 - video.core - INFO - ๐Ÿ“ฅ Server received frame #537 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28434 bytes +2025-06-06 11:08:09,500 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:09,500 - video.core - INFO - ๐Ÿ“ค Server relayed frame #537 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:09,546 - video.core - INFO - ๐Ÿ“ฅ Server received frame #538 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28499 bytes +2025-06-06 11:08:09,546 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:09,546 - video.core - INFO - ๐Ÿ“ค Server relayed frame #538 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:09,592 - video.core - INFO - ๐Ÿ“ฅ Server received frame #539 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28547 bytes +2025-06-06 11:08:09,592 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:09,592 - video.core - INFO - ๐Ÿ“ค Server relayed frame #539 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:09,635 - video.core - INFO - ๐Ÿ“น Frame #540 from producer producer_1749200857529: size=28617 bytes, resolution=640x480 +2025-06-06 11:08:09,635 - video.core - INFO - ๐Ÿ“ฅ Server received frame #540 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28617 bytes +2025-06-06 11:08:09,635 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:09,635 - video.core - INFO - ๐Ÿ“ค Server relayed frame #540 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:09,636 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 540 frames processed, 21.7 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:09,636 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 540 frames, 15.8 FPS, 3.49 Mbps throughput, 27634 bytes avg frame size +2025-06-06 11:08:09,636 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 540 frames processed, FPS: 23.0, Throughput: 5.09 Mbps, Avg frame size: 27634 bytes +2025-06-06 11:08:09,682 - video.core - INFO - ๐Ÿ“ฅ Server received frame #541 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28536 bytes +2025-06-06 11:08:09,682 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:09,682 - video.core - INFO - ๐Ÿ“ค Server relayed frame #541 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:09,724 - video.core - INFO - ๐Ÿ“ฅ Server received frame #542 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28573 bytes +2025-06-06 11:08:09,724 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:09,724 - video.core - INFO - ๐Ÿ“ค Server relayed frame #542 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:09,768 - video.core - INFO - ๐Ÿ“ฅ Server received frame #543 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28520 bytes +2025-06-06 11:08:09,768 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:09,768 - video.core - INFO - ๐Ÿ“ค Server relayed frame #543 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:09,811 - video.core - INFO - ๐Ÿ“ฅ Server received frame #544 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28430 bytes +2025-06-06 11:08:09,811 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:09,811 - video.core - INFO - ๐Ÿ“ค Server relayed frame #544 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:09,855 - video.core - INFO - ๐Ÿ“ฅ Server received frame #545 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28126 bytes +2025-06-06 11:08:09,855 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:09,855 - video.core - INFO - ๐Ÿ“ค Server relayed frame #545 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:09,900 - video.core - INFO - ๐Ÿ“ฅ Server received frame #546 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28077 bytes +2025-06-06 11:08:09,901 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:09,901 - video.core - INFO - ๐Ÿ“ค Server relayed frame #546 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:09,942 - video.core - INFO - ๐Ÿ“ฅ Server received frame #547 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28008 bytes +2025-06-06 11:08:09,942 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:09,942 - video.core - INFO - ๐Ÿ“ค Server relayed frame #547 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:09,986 - video.core - INFO - ๐Ÿ“ฅ Server received frame #548 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27993 bytes +2025-06-06 11:08:09,986 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:09,986 - video.core - INFO - ๐Ÿ“ค Server relayed frame #548 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:10,028 - video.core - INFO - ๐Ÿ“ฅ Server received frame #549 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28182 bytes +2025-06-06 11:08:10,028 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:10,028 - video.core - INFO - ๐Ÿ“ค Server relayed frame #549 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:10,067 - video.core - INFO - ๐Ÿ“น Frame #550 from producer producer_1749200857529: size=28120 bytes, resolution=640x480 +2025-06-06 11:08:10,067 - video.core - INFO - ๐Ÿ“ฅ Server received frame #550 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28120 bytes +2025-06-06 11:08:10,067 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:10,067 - video.core - INFO - ๐Ÿ“ค Server relayed frame #550 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:10,110 - video.core - INFO - ๐Ÿ“ฅ Server received frame #551 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28092 bytes +2025-06-06 11:08:10,111 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:10,111 - video.core - INFO - ๐Ÿ“ค Server relayed frame #551 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:10,145 - video.core - INFO - ๐Ÿ“ฅ Server received frame #552 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28195 bytes +2025-06-06 11:08:10,146 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:10,146 - video.core - INFO - ๐Ÿ“ค Server relayed frame #552 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:10,186 - video.core - INFO - ๐Ÿ“ฅ Server received frame #553 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28065 bytes +2025-06-06 11:08:10,186 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:10,187 - video.core - INFO - ๐Ÿ“ค Server relayed frame #553 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:10,237 - video.core - INFO - ๐Ÿ“ฅ Server received frame #554 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28049 bytes +2025-06-06 11:08:10,238 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:10,238 - video.core - INFO - ๐Ÿ“ค Server relayed frame #554 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:10,272 - video.core - INFO - ๐Ÿ“ฅ Server received frame #555 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27933 bytes +2025-06-06 11:08:10,272 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:10,272 - video.core - INFO - ๐Ÿ“ค Server relayed frame #555 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:10,317 - video.core - INFO - ๐Ÿ“ฅ Server received frame #556 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28045 bytes +2025-06-06 11:08:10,317 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:10,317 - video.core - INFO - ๐Ÿ“ค Server relayed frame #556 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:10,371 - video.core - INFO - ๐Ÿ“ฅ Server received frame #557 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27715 bytes +2025-06-06 11:08:10,371 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:10,371 - video.core - INFO - ๐Ÿ“ค Server relayed frame #557 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:10,411 - video.core - INFO - ๐Ÿ“ฅ Server received frame #558 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27572 bytes +2025-06-06 11:08:10,411 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:10,411 - video.core - INFO - ๐Ÿ“ค Server relayed frame #558 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:10,455 - video.core - INFO - ๐Ÿ“ฅ Server received frame #559 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27477 bytes +2025-06-06 11:08:10,455 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:10,455 - video.core - INFO - ๐Ÿ“ค Server relayed frame #559 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:10,501 - video.core - INFO - ๐Ÿ“น Frame #560 from producer producer_1749200857529: size=27567 bytes, resolution=640x480 +2025-06-06 11:08:10,501 - video.core - INFO - ๐Ÿ“ฅ Server received frame #560 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27567 bytes +2025-06-06 11:08:10,502 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:10,502 - video.core - INFO - ๐Ÿ“ค Server relayed frame #560 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:10,534 - video.core - INFO - ๐Ÿ“ฅ Server received frame #561 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27370 bytes +2025-06-06 11:08:10,534 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:10,534 - video.core - INFO - ๐Ÿ“ค Server relayed frame #561 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:10,586 - video.core - INFO - ๐Ÿ“ฅ Server received frame #562 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27384 bytes +2025-06-06 11:08:10,586 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:10,586 - video.core - INFO - ๐Ÿ“ค Server relayed frame #562 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:10,630 - video.core - INFO - ๐Ÿ“ฅ Server received frame #563 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27590 bytes +2025-06-06 11:08:10,630 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:10,630 - video.core - INFO - ๐Ÿ“ค Server relayed frame #563 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:10,670 - video.core - INFO - ๐Ÿ“ฅ Server received frame #564 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27438 bytes +2025-06-06 11:08:10,670 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:10,671 - video.core - INFO - ๐Ÿ“ค Server relayed frame #564 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:10,718 - video.core - INFO - ๐Ÿ“ฅ Server received frame #565 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27720 bytes +2025-06-06 11:08:10,719 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:10,719 - video.core - INFO - ๐Ÿ“ค Server relayed frame #565 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:10,762 - video.core - INFO - ๐Ÿ“ฅ Server received frame #566 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27770 bytes +2025-06-06 11:08:10,762 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:10,762 - video.core - INFO - ๐Ÿ“ค Server relayed frame #566 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:10,802 - video.core - INFO - ๐Ÿ“ฅ Server received frame #567 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27864 bytes +2025-06-06 11:08:10,803 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:10,803 - video.core - INFO - ๐Ÿ“ค Server relayed frame #567 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:10,842 - video.core - INFO - ๐Ÿ“ฅ Server received frame #568 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27938 bytes +2025-06-06 11:08:10,843 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:10,843 - video.core - INFO - ๐Ÿ“ค Server relayed frame #568 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:10,885 - video.core - INFO - ๐Ÿ“ฅ Server received frame #569 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27921 bytes +2025-06-06 11:08:10,885 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:10,885 - video.core - INFO - ๐Ÿ“ค Server relayed frame #569 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:10,929 - video.core - INFO - ๐Ÿ“น Frame #570 from producer producer_1749200857529: size=27742 bytes, resolution=640x480 +2025-06-06 11:08:10,929 - video.core - INFO - ๐Ÿ“ฅ Server received frame #570 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27742 bytes +2025-06-06 11:08:10,929 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:10,929 - video.core - INFO - ๐Ÿ“ค Server relayed frame #570 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:10,929 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 570 frames processed, 21.8 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:10,929 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 570 frames, 16.0 FPS, 3.55 Mbps throughput, 27650 bytes avg frame size +2025-06-06 11:08:10,929 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 570 frames processed, FPS: 23.0, Throughput: 5.10 Mbps, Avg frame size: 27650 bytes +2025-06-06 11:08:10,978 - video.core - INFO - ๐Ÿ“ฅ Server received frame #571 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27759 bytes +2025-06-06 11:08:10,979 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:10,979 - video.core - INFO - ๐Ÿ“ค Server relayed frame #571 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:11,019 - video.core - INFO - ๐Ÿ“ฅ Server received frame #572 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27765 bytes +2025-06-06 11:08:11,019 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:11,019 - video.core - INFO - ๐Ÿ“ค Server relayed frame #572 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:11,065 - video.core - INFO - ๐Ÿ“ฅ Server received frame #573 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27698 bytes +2025-06-06 11:08:11,065 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:11,065 - video.core - INFO - ๐Ÿ“ค Server relayed frame #573 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:11,109 - video.core - INFO - ๐Ÿ“ฅ Server received frame #574 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28032 bytes +2025-06-06 11:08:11,109 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:11,109 - video.core - INFO - ๐Ÿ“ค Server relayed frame #574 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:11,154 - video.core - INFO - ๐Ÿ“ฅ Server received frame #575 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28057 bytes +2025-06-06 11:08:11,154 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:11,154 - video.core - INFO - ๐Ÿ“ค Server relayed frame #575 to 1 consumers in 0.9ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:11,196 - video.core - INFO - ๐Ÿ“ฅ Server received frame #576 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28091 bytes +2025-06-06 11:08:11,197 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:11,197 - video.core - INFO - ๐Ÿ“ค Server relayed frame #576 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:11,239 - video.core - INFO - ๐Ÿ“ฅ Server received frame #577 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27899 bytes +2025-06-06 11:08:11,239 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:11,239 - video.core - INFO - ๐Ÿ“ค Server relayed frame #577 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:11,277 - video.core - INFO - ๐Ÿ“ฅ Server received frame #578 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27904 bytes +2025-06-06 11:08:11,277 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:11,277 - video.core - INFO - ๐Ÿ“ค Server relayed frame #578 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:11,311 - video.core - INFO - ๐Ÿ“ฅ Server received frame #579 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27908 bytes +2025-06-06 11:08:11,311 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:11,311 - video.core - INFO - ๐Ÿ“ค Server relayed frame #579 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:11,354 - video.core - INFO - ๐Ÿ“น Frame #580 from producer producer_1749200857529: size=27720 bytes, resolution=640x480 +2025-06-06 11:08:11,354 - video.core - INFO - ๐Ÿ“ฅ Server received frame #580 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27720 bytes +2025-06-06 11:08:11,354 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:11,354 - video.core - INFO - ๐Ÿ“ค Server relayed frame #580 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:11,405 - video.core - INFO - ๐Ÿ“ฅ Server received frame #581 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27868 bytes +2025-06-06 11:08:11,405 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:11,405 - video.core - INFO - ๐Ÿ“ค Server relayed frame #581 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:11,452 - video.core - INFO - ๐Ÿ“ฅ Server received frame #582 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27990 bytes +2025-06-06 11:08:11,452 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:11,452 - video.core - INFO - ๐Ÿ“ค Server relayed frame #582 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:11,491 - video.core - INFO - ๐Ÿ“ฅ Server received frame #583 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27920 bytes +2025-06-06 11:08:11,491 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:11,492 - video.core - INFO - ๐Ÿ“ค Server relayed frame #583 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:11,528 - video.core - INFO - ๐Ÿ“ฅ Server received frame #584 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27722 bytes +2025-06-06 11:08:11,528 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:11,529 - video.core - INFO - ๐Ÿ“ค Server relayed frame #584 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:11,573 - video.core - INFO - ๐Ÿ“ฅ Server received frame #585 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27788 bytes +2025-06-06 11:08:11,573 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:11,573 - video.core - INFO - ๐Ÿ“ค Server relayed frame #585 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:11,620 - video.core - INFO - ๐Ÿ“ฅ Server received frame #586 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27576 bytes +2025-06-06 11:08:11,620 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:11,620 - video.core - INFO - ๐Ÿ“ค Server relayed frame #586 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:11,669 - video.core - INFO - ๐Ÿ“ฅ Server received frame #587 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27607 bytes +2025-06-06 11:08:11,670 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:11,670 - video.core - INFO - ๐Ÿ“ค Server relayed frame #587 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:11,713 - video.core - INFO - ๐Ÿ“ฅ Server received frame #588 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27727 bytes +2025-06-06 11:08:11,713 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:11,713 - video.core - INFO - ๐Ÿ“ค Server relayed frame #588 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:11,758 - video.core - INFO - ๐Ÿ“ฅ Server received frame #589 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27741 bytes +2025-06-06 11:08:11,758 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:11,759 - video.core - INFO - ๐Ÿ“ค Server relayed frame #589 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:11,900 - video.core - INFO - ๐Ÿ“น Frame #590 from producer producer_1749200857529: size=27849 bytes, resolution=640x480 +2025-06-06 11:08:11,900 - video.core - INFO - ๐Ÿ“ฅ Server received frame #590 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27849 bytes +2025-06-06 11:08:11,901 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:11,901 - video.core - INFO - ๐Ÿ“ค Server relayed frame #590 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:11,902 - video.core - INFO - ๐Ÿ“ฅ Server received frame #591 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27735 bytes +2025-06-06 11:08:11,902 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:11,902 - video.core - INFO - ๐Ÿ“ค Server relayed frame #591 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:11,903 - video.core - INFO - ๐Ÿ“ฅ Server received frame #592 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27787 bytes +2025-06-06 11:08:11,903 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:11,903 - video.core - INFO - ๐Ÿ“ค Server relayed frame #592 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:11,918 - video.core - INFO - ๐Ÿ“ฅ Server received frame #593 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27599 bytes +2025-06-06 11:08:11,918 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:11,918 - video.core - INFO - ๐Ÿ“ค Server relayed frame #593 to 1 consumers in 0.8ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:11,959 - video.core - INFO - ๐Ÿ“ฅ Server received frame #594 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27535 bytes +2025-06-06 11:08:11,959 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:11,959 - video.core - INFO - ๐Ÿ“ค Server relayed frame #594 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:12,012 - video.core - INFO - ๐Ÿ“ฅ Server received frame #595 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27607 bytes +2025-06-06 11:08:12,012 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:12,012 - video.core - INFO - ๐Ÿ“ค Server relayed frame #595 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:12,055 - video.core - INFO - ๐Ÿ“ฅ Server received frame #596 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27731 bytes +2025-06-06 11:08:12,055 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:12,055 - video.core - INFO - ๐Ÿ“ค Server relayed frame #596 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:12,102 - video.core - INFO - ๐Ÿ“ฅ Server received frame #597 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27675 bytes +2025-06-06 11:08:12,102 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:12,102 - video.core - INFO - ๐Ÿ“ค Server relayed frame #597 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:12,145 - video.core - INFO - ๐Ÿ“ฅ Server received frame #598 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27736 bytes +2025-06-06 11:08:12,145 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:12,145 - video.core - INFO - ๐Ÿ“ค Server relayed frame #598 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:12,192 - video.core - INFO - ๐Ÿ“ฅ Server received frame #599 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27847 bytes +2025-06-06 11:08:12,192 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:12,193 - video.core - INFO - ๐Ÿ“ค Server relayed frame #599 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:12,221 - video.core - INFO - ๐Ÿ“น Frame #600 from producer producer_1749200857529: size=27844 bytes, resolution=640x480 +2025-06-06 11:08:12,221 - video.core - INFO - ๐Ÿ“ฅ Server received frame #600 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27844 bytes +2025-06-06 11:08:12,221 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:12,221 - video.core - INFO - ๐Ÿ“ค Server relayed frame #600 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:12,221 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 600 frames processed, 21.9 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:12,221 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 600 frames, 16.3 FPS, 3.60 Mbps throughput, 27657 bytes avg frame size +2025-06-06 11:08:12,221 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 600 frames processed, FPS: 23.1, Throughput: 5.10 Mbps, Avg frame size: 27657 bytes +2025-06-06 11:08:12,263 - video.core - INFO - ๐Ÿ“ฅ Server received frame #601 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27966 bytes +2025-06-06 11:08:12,263 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:12,263 - video.core - INFO - ๐Ÿ“ค Server relayed frame #601 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:12,306 - video.core - INFO - ๐Ÿ“ฅ Server received frame #602 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27962 bytes +2025-06-06 11:08:12,307 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:12,307 - video.core - INFO - ๐Ÿ“ค Server relayed frame #602 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:12,351 - video.core - INFO - ๐Ÿ“ฅ Server received frame #603 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27928 bytes +2025-06-06 11:08:12,352 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:12,352 - video.core - INFO - ๐Ÿ“ค Server relayed frame #603 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:12,405 - video.core - INFO - ๐Ÿ“ฅ Server received frame #604 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27915 bytes +2025-06-06 11:08:12,405 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:12,405 - video.core - INFO - ๐Ÿ“ค Server relayed frame #604 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:12,446 - video.core - INFO - ๐Ÿ“ฅ Server received frame #605 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27912 bytes +2025-06-06 11:08:12,446 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:12,446 - video.core - INFO - ๐Ÿ“ค Server relayed frame #605 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:12,491 - video.core - INFO - ๐Ÿ“ฅ Server received frame #606 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27978 bytes +2025-06-06 11:08:12,491 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:12,491 - video.core - INFO - ๐Ÿ“ค Server relayed frame #606 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:12,536 - video.core - INFO - ๐Ÿ“ฅ Server received frame #607 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28059 bytes +2025-06-06 11:08:12,537 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:12,537 - video.core - INFO - ๐Ÿ“ค Server relayed frame #607 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:12,580 - video.core - INFO - ๐Ÿ“ฅ Server received frame #608 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28077 bytes +2025-06-06 11:08:12,580 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:12,581 - video.core - INFO - ๐Ÿ“ค Server relayed frame #608 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:12,625 - video.core - INFO - ๐Ÿ“ฅ Server received frame #609 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28164 bytes +2025-06-06 11:08:12,625 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:12,625 - video.core - INFO - ๐Ÿ“ค Server relayed frame #609 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:12,672 - video.core - INFO - ๐Ÿ“น Frame #610 from producer producer_1749200857529: size=28097 bytes, resolution=640x480 +2025-06-06 11:08:12,672 - video.core - INFO - ๐Ÿ“ฅ Server received frame #610 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28097 bytes +2025-06-06 11:08:12,673 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:12,673 - video.core - INFO - ๐Ÿ“ค Server relayed frame #610 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:12,710 - video.core - INFO - ๐Ÿ“ฅ Server received frame #611 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28076 bytes +2025-06-06 11:08:12,711 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:12,711 - video.core - INFO - ๐Ÿ“ค Server relayed frame #611 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:12,750 - video.core - INFO - ๐Ÿ“ฅ Server received frame #612 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28155 bytes +2025-06-06 11:08:12,751 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:12,751 - video.core - INFO - ๐Ÿ“ค Server relayed frame #612 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:12,781 - video.core - INFO - ๐Ÿ“ฅ Server received frame #613 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28181 bytes +2025-06-06 11:08:12,781 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:12,781 - video.core - INFO - ๐Ÿ“ค Server relayed frame #613 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:12,831 - video.core - INFO - ๐Ÿ“ฅ Server received frame #614 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28158 bytes +2025-06-06 11:08:12,831 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:12,831 - video.core - INFO - ๐Ÿ“ค Server relayed frame #614 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:12,872 - video.core - INFO - ๐Ÿ“ฅ Server received frame #615 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28222 bytes +2025-06-06 11:08:12,872 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:12,872 - video.core - INFO - ๐Ÿ“ค Server relayed frame #615 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:12,920 - video.core - INFO - ๐Ÿ“ฅ Server received frame #616 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28051 bytes +2025-06-06 11:08:12,920 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:12,920 - video.core - INFO - ๐Ÿ“ค Server relayed frame #616 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:12,966 - video.core - INFO - ๐Ÿ“ฅ Server received frame #617 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28093 bytes +2025-06-06 11:08:12,967 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:12,967 - video.core - INFO - ๐Ÿ“ค Server relayed frame #617 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:13,012 - video.core - INFO - ๐Ÿ“ฅ Server received frame #618 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28137 bytes +2025-06-06 11:08:13,013 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:13,013 - video.core - INFO - ๐Ÿ“ค Server relayed frame #618 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:13,055 - video.core - INFO - ๐Ÿ“ฅ Server received frame #619 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28008 bytes +2025-06-06 11:08:13,056 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:13,056 - video.core - INFO - ๐Ÿ“ค Server relayed frame #619 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:13,102 - video.core - INFO - ๐Ÿ“น Frame #620 from producer producer_1749200857529: size=28050 bytes, resolution=640x480 +2025-06-06 11:08:13,103 - video.core - INFO - ๐Ÿ“ฅ Server received frame #620 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28050 bytes +2025-06-06 11:08:13,103 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:13,103 - video.core - INFO - ๐Ÿ“ค Server relayed frame #620 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:13,145 - video.core - INFO - ๐Ÿ“ฅ Server received frame #621 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28035 bytes +2025-06-06 11:08:13,145 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:13,145 - video.core - INFO - ๐Ÿ“ค Server relayed frame #621 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:13,182 - video.core - INFO - ๐Ÿ“ฅ Server received frame #622 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28067 bytes +2025-06-06 11:08:13,182 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:13,182 - video.core - INFO - ๐Ÿ“ค Server relayed frame #622 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:13,222 - video.core - INFO - ๐Ÿ“ฅ Server received frame #623 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28070 bytes +2025-06-06 11:08:13,223 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:13,223 - video.core - INFO - ๐Ÿ“ค Server relayed frame #623 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:13,265 - video.core - INFO - ๐Ÿ“ฅ Server received frame #624 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28097 bytes +2025-06-06 11:08:13,266 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:13,266 - video.core - INFO - ๐Ÿ“ค Server relayed frame #624 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:13,304 - video.core - INFO - ๐Ÿ“ฅ Server received frame #625 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28180 bytes +2025-06-06 11:08:13,304 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:13,304 - video.core - INFO - ๐Ÿ“ค Server relayed frame #625 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:13,346 - video.core - INFO - ๐Ÿ“ฅ Server received frame #626 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28101 bytes +2025-06-06 11:08:13,346 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:13,346 - video.core - INFO - ๐Ÿ“ค Server relayed frame #626 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:13,396 - video.core - INFO - ๐Ÿ“ฅ Server received frame #627 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28033 bytes +2025-06-06 11:08:13,396 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:13,396 - video.core - INFO - ๐Ÿ“ค Server relayed frame #627 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:13,436 - video.core - INFO - ๐Ÿ“ฅ Server received frame #628 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28142 bytes +2025-06-06 11:08:13,436 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:13,436 - video.core - INFO - ๐Ÿ“ค Server relayed frame #628 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:13,483 - video.core - INFO - ๐Ÿ“ฅ Server received frame #629 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28182 bytes +2025-06-06 11:08:13,483 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:13,483 - video.core - INFO - ๐Ÿ“ค Server relayed frame #629 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:13,530 - video.core - INFO - ๐Ÿ“น Frame #630 from producer producer_1749200857529: size=28144 bytes, resolution=640x480 +2025-06-06 11:08:13,530 - video.core - INFO - ๐Ÿ“ฅ Server received frame #630 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28144 bytes +2025-06-06 11:08:13,530 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:13,530 - video.core - INFO - ๐Ÿ“ค Server relayed frame #630 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:13,530 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 630 frames processed, 21.9 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:13,530 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 630 frames, 16.5 FPS, 3.66 Mbps throughput, 27677 bytes avg frame size +2025-06-06 11:08:13,530 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 630 frames processed, FPS: 23.0, Throughput: 5.10 Mbps, Avg frame size: 27677 bytes +2025-06-06 11:08:13,563 - video.core - INFO - ๐Ÿ“ฅ Server received frame #631 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28174 bytes +2025-06-06 11:08:13,564 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:13,564 - video.core - INFO - ๐Ÿ“ค Server relayed frame #631 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:13,612 - video.core - INFO - ๐Ÿ“ฅ Server received frame #632 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28151 bytes +2025-06-06 11:08:13,612 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:13,612 - video.core - INFO - ๐Ÿ“ค Server relayed frame #632 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:13,658 - video.core - INFO - ๐Ÿ“ฅ Server received frame #633 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28157 bytes +2025-06-06 11:08:13,658 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:13,658 - video.core - INFO - ๐Ÿ“ค Server relayed frame #633 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:13,704 - video.core - INFO - ๐Ÿ“ฅ Server received frame #634 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28060 bytes +2025-06-06 11:08:13,704 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:13,704 - video.core - INFO - ๐Ÿ“ค Server relayed frame #634 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:13,748 - video.core - INFO - ๐Ÿ“ฅ Server received frame #635 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27822 bytes +2025-06-06 11:08:13,748 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:13,748 - video.core - INFO - ๐Ÿ“ค Server relayed frame #635 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:13,793 - video.core - INFO - ๐Ÿ“ฅ Server received frame #636 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27435 bytes +2025-06-06 11:08:13,794 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:13,794 - video.core - INFO - ๐Ÿ“ค Server relayed frame #636 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:13,836 - video.core - INFO - ๐Ÿ“ฅ Server received frame #637 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27510 bytes +2025-06-06 11:08:13,836 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:13,836 - video.core - INFO - ๐Ÿ“ค Server relayed frame #637 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:13,876 - video.core - INFO - ๐Ÿ“ฅ Server received frame #638 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27434 bytes +2025-06-06 11:08:13,876 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:13,876 - video.core - INFO - ๐Ÿ“ค Server relayed frame #638 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:13,912 - video.core - INFO - ๐Ÿ“ฅ Server received frame #639 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27260 bytes +2025-06-06 11:08:13,912 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:13,912 - video.core - INFO - ๐Ÿ“ค Server relayed frame #639 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:13,957 - video.core - INFO - ๐Ÿ“น Frame #640 from producer producer_1749200857529: size=27380 bytes, resolution=640x480 +2025-06-06 11:08:13,958 - video.core - INFO - ๐Ÿ“ฅ Server received frame #640 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27380 bytes +2025-06-06 11:08:13,958 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:13,958 - video.core - INFO - ๐Ÿ“ค Server relayed frame #640 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:14,000 - video.core - INFO - ๐Ÿ“ฅ Server received frame #641 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27490 bytes +2025-06-06 11:08:14,000 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:14,000 - video.core - INFO - ๐Ÿ“ค Server relayed frame #641 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:14,046 - video.core - INFO - ๐Ÿ“ฅ Server received frame #642 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27597 bytes +2025-06-06 11:08:14,046 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:14,046 - video.core - INFO - ๐Ÿ“ค Server relayed frame #642 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:14,089 - video.core - INFO - ๐Ÿ“ฅ Server received frame #643 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27533 bytes +2025-06-06 11:08:14,089 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:14,089 - video.core - INFO - ๐Ÿ“ค Server relayed frame #643 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:14,135 - video.core - INFO - ๐Ÿ“ฅ Server received frame #644 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27406 bytes +2025-06-06 11:08:14,135 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:14,135 - video.core - INFO - ๐Ÿ“ค Server relayed frame #644 to 1 consumers in 0.9ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:14,178 - video.core - INFO - ๐Ÿ“ฅ Server received frame #645 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27038 bytes +2025-06-06 11:08:14,178 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:14,178 - video.core - INFO - ๐Ÿ“ค Server relayed frame #645 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:14,213 - video.core - INFO - ๐Ÿ“ฅ Server received frame #646 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27207 bytes +2025-06-06 11:08:14,214 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:14,214 - video.core - INFO - ๐Ÿ“ค Server relayed frame #646 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:14,270 - video.core - INFO - ๐Ÿ“ฅ Server received frame #647 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27211 bytes +2025-06-06 11:08:14,270 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:14,270 - video.core - INFO - ๐Ÿ“ค Server relayed frame #647 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:14,298 - video.core - INFO - ๐Ÿ“ฅ Server received frame #648 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27266 bytes +2025-06-06 11:08:14,298 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:14,299 - video.core - INFO - ๐Ÿ“ค Server relayed frame #648 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:14,343 - video.core - INFO - ๐Ÿ“ฅ Server received frame #649 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27344 bytes +2025-06-06 11:08:14,343 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:14,344 - video.core - INFO - ๐Ÿ“ค Server relayed frame #649 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:14,380 - video.core - INFO - ๐Ÿ“น Frame #650 from producer producer_1749200857529: size=27507 bytes, resolution=640x480 +2025-06-06 11:08:14,380 - video.core - INFO - ๐Ÿ“ฅ Server received frame #650 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27507 bytes +2025-06-06 11:08:14,380 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:14,380 - video.core - INFO - ๐Ÿ“ค Server relayed frame #650 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:14,430 - video.core - INFO - ๐Ÿ“ฅ Server received frame #651 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27449 bytes +2025-06-06 11:08:14,431 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:14,431 - video.core - INFO - ๐Ÿ“ค Server relayed frame #651 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:14,475 - video.core - INFO - ๐Ÿ“ฅ Server received frame #652 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27570 bytes +2025-06-06 11:08:14,475 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:14,475 - video.core - INFO - ๐Ÿ“ค Server relayed frame #652 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:14,514 - video.core - INFO - ๐Ÿ“ฅ Server received frame #653 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27673 bytes +2025-06-06 11:08:14,514 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:14,514 - video.core - INFO - ๐Ÿ“ค Server relayed frame #653 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:14,559 - video.core - INFO - ๐Ÿ“ฅ Server received frame #654 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27703 bytes +2025-06-06 11:08:14,559 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:14,559 - video.core - INFO - ๐Ÿ“ค Server relayed frame #654 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:14,606 - video.core - INFO - ๐Ÿ“ฅ Server received frame #655 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27570 bytes +2025-06-06 11:08:14,606 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:14,606 - video.core - INFO - ๐Ÿ“ค Server relayed frame #655 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:14,647 - video.core - INFO - ๐Ÿ“ฅ Server received frame #656 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27530 bytes +2025-06-06 11:08:14,647 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:14,647 - video.core - INFO - ๐Ÿ“ค Server relayed frame #656 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:14,691 - video.core - INFO - ๐Ÿ“ฅ Server received frame #657 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27612 bytes +2025-06-06 11:08:14,691 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:14,691 - video.core - INFO - ๐Ÿ“ค Server relayed frame #657 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:14,734 - video.core - INFO - ๐Ÿ“ฅ Server received frame #658 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27617 bytes +2025-06-06 11:08:14,734 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:14,734 - video.core - INFO - ๐Ÿ“ค Server relayed frame #658 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:14,778 - video.core - INFO - ๐Ÿ“ฅ Server received frame #659 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27600 bytes +2025-06-06 11:08:14,778 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:14,778 - video.core - INFO - ๐Ÿ“ค Server relayed frame #659 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:14,815 - video.core - INFO - ๐Ÿ“น Frame #660 from producer producer_1749200857529: size=27675 bytes, resolution=640x480 +2025-06-06 11:08:14,815 - video.core - INFO - ๐Ÿ“ฅ Server received frame #660 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27675 bytes +2025-06-06 11:08:14,815 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:14,816 - video.core - INFO - ๐Ÿ“ค Server relayed frame #660 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:14,816 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 660 frames processed, 22.0 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:14,816 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 660 frames, 16.7 FPS, 3.71 Mbps throughput, 27672 bytes avg frame size +2025-06-06 11:08:14,816 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 660 frames processed, FPS: 23.1, Throughput: 5.11 Mbps, Avg frame size: 27672 bytes +2025-06-06 11:08:14,859 - video.core - INFO - ๐Ÿ“ฅ Server received frame #661 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27669 bytes +2025-06-06 11:08:14,859 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:14,859 - video.core - INFO - ๐Ÿ“ค Server relayed frame #661 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:14,906 - video.core - INFO - ๐Ÿ“ฅ Server received frame #662 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27754 bytes +2025-06-06 11:08:14,907 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:14,907 - video.core - INFO - ๐Ÿ“ค Server relayed frame #662 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:14,948 - video.core - INFO - ๐Ÿ“ฅ Server received frame #663 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27638 bytes +2025-06-06 11:08:14,948 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:14,948 - video.core - INFO - ๐Ÿ“ค Server relayed frame #663 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:14,993 - video.core - INFO - ๐Ÿ“ฅ Server received frame #664 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27659 bytes +2025-06-06 11:08:14,993 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:14,993 - video.core - INFO - ๐Ÿ“ค Server relayed frame #664 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:15,034 - video.core - INFO - ๐Ÿ“ฅ Server received frame #665 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27781 bytes +2025-06-06 11:08:15,034 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:15,034 - video.core - INFO - ๐Ÿ“ค Server relayed frame #665 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:15,078 - video.core - INFO - ๐Ÿ“ฅ Server received frame #666 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27909 bytes +2025-06-06 11:08:15,078 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:15,079 - video.core - INFO - ๐Ÿ“ค Server relayed frame #666 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:15,124 - video.core - INFO - ๐Ÿ“ฅ Server received frame #667 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27839 bytes +2025-06-06 11:08:15,124 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:15,124 - video.core - INFO - ๐Ÿ“ค Server relayed frame #667 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:15,166 - video.core - INFO - ๐Ÿ“ฅ Server received frame #668 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28047 bytes +2025-06-06 11:08:15,166 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:15,166 - video.core - INFO - ๐Ÿ“ค Server relayed frame #668 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:15,210 - video.core - INFO - ๐Ÿ“ฅ Server received frame #669 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28161 bytes +2025-06-06 11:08:15,210 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:15,210 - video.core - INFO - ๐Ÿ“ค Server relayed frame #669 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:15,253 - video.core - INFO - ๐Ÿ“น Frame #670 from producer producer_1749200857529: size=28450 bytes, resolution=640x480 +2025-06-06 11:08:15,253 - video.core - INFO - ๐Ÿ“ฅ Server received frame #670 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28450 bytes +2025-06-06 11:08:15,253 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:15,253 - video.core - INFO - ๐Ÿ“ค Server relayed frame #670 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:15,292 - video.core - INFO - ๐Ÿ“ฅ Server received frame #671 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28467 bytes +2025-06-06 11:08:15,292 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:15,292 - video.core - INFO - ๐Ÿ“ค Server relayed frame #671 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:15,340 - video.core - INFO - ๐Ÿ“ฅ Server received frame #672 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28301 bytes +2025-06-06 11:08:15,340 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:15,340 - video.core - INFO - ๐Ÿ“ค Server relayed frame #672 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:15,378 - video.core - INFO - ๐Ÿ“ฅ Server received frame #673 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28327 bytes +2025-06-06 11:08:15,378 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:15,378 - video.core - INFO - ๐Ÿ“ค Server relayed frame #673 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:15,421 - video.core - INFO - ๐Ÿ“ฅ Server received frame #674 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28261 bytes +2025-06-06 11:08:15,421 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:15,421 - video.core - INFO - ๐Ÿ“ค Server relayed frame #674 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:15,470 - video.core - INFO - ๐Ÿ“ฅ Server received frame #675 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28309 bytes +2025-06-06 11:08:15,470 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:15,470 - video.core - INFO - ๐Ÿ“ค Server relayed frame #675 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:15,511 - video.core - INFO - ๐Ÿ“ฅ Server received frame #676 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28132 bytes +2025-06-06 11:08:15,511 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:15,511 - video.core - INFO - ๐Ÿ“ค Server relayed frame #676 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:15,555 - video.core - INFO - ๐Ÿ“ฅ Server received frame #677 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28171 bytes +2025-06-06 11:08:15,555 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:15,555 - video.core - INFO - ๐Ÿ“ค Server relayed frame #677 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:15,602 - video.core - INFO - ๐Ÿ“ฅ Server received frame #678 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28170 bytes +2025-06-06 11:08:15,602 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:15,602 - video.core - INFO - ๐Ÿ“ค Server relayed frame #678 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:15,644 - video.core - INFO - ๐Ÿ“ฅ Server received frame #679 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28215 bytes +2025-06-06 11:08:15,644 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:15,644 - video.core - INFO - ๐Ÿ“ค Server relayed frame #679 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:15,684 - video.core - INFO - ๐Ÿ“น Frame #680 from producer producer_1749200857529: size=28116 bytes, resolution=640x480 +2025-06-06 11:08:15,684 - video.core - INFO - ๐Ÿ“ฅ Server received frame #680 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28116 bytes +2025-06-06 11:08:15,684 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:15,684 - video.core - INFO - ๐Ÿ“ค Server relayed frame #680 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:15,734 - video.core - INFO - ๐Ÿ“ฅ Server received frame #681 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28071 bytes +2025-06-06 11:08:15,734 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:15,734 - video.core - INFO - ๐Ÿ“ค Server relayed frame #681 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:15,779 - video.core - INFO - ๐Ÿ“ฅ Server received frame #682 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28058 bytes +2025-06-06 11:08:15,779 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:15,780 - video.core - INFO - ๐Ÿ“ค Server relayed frame #682 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:15,817 - video.core - INFO - ๐Ÿ“ฅ Server received frame #683 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28112 bytes +2025-06-06 11:08:15,817 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:15,817 - video.core - INFO - ๐Ÿ“ค Server relayed frame #683 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:15,867 - video.core - INFO - ๐Ÿ“ฅ Server received frame #684 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28125 bytes +2025-06-06 11:08:15,867 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:15,867 - video.core - INFO - ๐Ÿ“ค Server relayed frame #684 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:15,912 - video.core - INFO - ๐Ÿ“ฅ Server received frame #685 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28026 bytes +2025-06-06 11:08:15,912 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:15,912 - video.core - INFO - ๐Ÿ“ค Server relayed frame #685 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:15,957 - video.core - INFO - ๐Ÿ“ฅ Server received frame #686 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28105 bytes +2025-06-06 11:08:15,958 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:15,958 - video.core - INFO - ๐Ÿ“ค Server relayed frame #686 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:16,003 - video.core - INFO - ๐Ÿ“ฅ Server received frame #687 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27870 bytes +2025-06-06 11:08:16,003 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:16,003 - video.core - INFO - ๐Ÿ“ค Server relayed frame #687 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:16,049 - video.core - INFO - ๐Ÿ“ฅ Server received frame #688 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27656 bytes +2025-06-06 11:08:16,049 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:16,049 - video.core - INFO - ๐Ÿ“ค Server relayed frame #688 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:16,086 - video.core - INFO - ๐Ÿ“ฅ Server received frame #689 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27681 bytes +2025-06-06 11:08:16,086 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:16,086 - video.core - INFO - ๐Ÿ“ค Server relayed frame #689 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:16,129 - video.core - INFO - ๐Ÿ“น Frame #690 from producer producer_1749200857529: size=27407 bytes, resolution=640x480 +2025-06-06 11:08:16,129 - video.core - INFO - ๐Ÿ“ฅ Server received frame #690 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27407 bytes +2025-06-06 11:08:16,129 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:16,129 - video.core - INFO - ๐Ÿ“ค Server relayed frame #690 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:16,129 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 690 frames processed, 22.0 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:16,129 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 690 frames, 16.9 FPS, 3.75 Mbps throughput, 27687 bytes avg frame size +2025-06-06 11:08:16,129 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 690 frames processed, FPS: 23.0, Throughput: 5.11 Mbps, Avg frame size: 27687 bytes +2025-06-06 11:08:16,169 - video.core - INFO - ๐Ÿ“ฅ Server received frame #691 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27469 bytes +2025-06-06 11:08:16,169 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:16,169 - video.core - INFO - ๐Ÿ“ค Server relayed frame #691 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:16,222 - video.core - INFO - ๐Ÿ“ฅ Server received frame #692 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27430 bytes +2025-06-06 11:08:16,222 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:16,222 - video.core - INFO - ๐Ÿ“ค Server relayed frame #692 to 1 consumers in 0.8ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:16,259 - video.core - INFO - ๐Ÿ“ฅ Server received frame #693 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27554 bytes +2025-06-06 11:08:16,260 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:16,260 - video.core - INFO - ๐Ÿ“ค Server relayed frame #693 to 1 consumers in 0.8ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:16,295 - video.core - INFO - ๐Ÿ“ฅ Server received frame #694 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27681 bytes +2025-06-06 11:08:16,295 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:16,295 - video.core - INFO - ๐Ÿ“ค Server relayed frame #694 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:16,331 - video.core - INFO - ๐Ÿ“ฅ Server received frame #695 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27574 bytes +2025-06-06 11:08:16,331 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:16,331 - video.core - INFO - ๐Ÿ“ค Server relayed frame #695 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:16,374 - video.core - INFO - ๐Ÿ“ฅ Server received frame #696 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27655 bytes +2025-06-06 11:08:16,375 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:16,375 - video.core - INFO - ๐Ÿ“ค Server relayed frame #696 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:16,416 - video.core - INFO - ๐Ÿ“ฅ Server received frame #697 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27619 bytes +2025-06-06 11:08:16,416 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:16,416 - video.core - INFO - ๐Ÿ“ค Server relayed frame #697 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:16,463 - video.core - INFO - ๐Ÿ“ฅ Server received frame #698 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27610 bytes +2025-06-06 11:08:16,463 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:16,463 - video.core - INFO - ๐Ÿ“ค Server relayed frame #698 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:16,506 - video.core - INFO - ๐Ÿ“ฅ Server received frame #699 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27722 bytes +2025-06-06 11:08:16,506 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:16,506 - video.core - INFO - ๐Ÿ“ค Server relayed frame #699 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:16,555 - video.core - INFO - ๐Ÿ“น Frame #700 from producer producer_1749200857529: size=27644 bytes, resolution=640x480 +2025-06-06 11:08:16,555 - video.core - INFO - ๐Ÿ“ฅ Server received frame #700 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27644 bytes +2025-06-06 11:08:16,555 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:16,555 - video.core - INFO - ๐Ÿ“ค Server relayed frame #700 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:16,596 - video.core - INFO - ๐Ÿ“ฅ Server received frame #701 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27671 bytes +2025-06-06 11:08:16,596 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:16,596 - video.core - INFO - ๐Ÿ“ค Server relayed frame #701 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:16,639 - video.core - INFO - ๐Ÿ“ฅ Server received frame #702 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27711 bytes +2025-06-06 11:08:16,639 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:16,639 - video.core - INFO - ๐Ÿ“ค Server relayed frame #702 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:16,684 - video.core - INFO - ๐Ÿ“ฅ Server received frame #703 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27857 bytes +2025-06-06 11:08:16,685 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:16,685 - video.core - INFO - ๐Ÿ“ค Server relayed frame #703 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:16,728 - video.core - INFO - ๐Ÿ“ฅ Server received frame #704 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27601 bytes +2025-06-06 11:08:16,728 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:16,728 - video.core - INFO - ๐Ÿ“ค Server relayed frame #704 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:16,768 - video.core - INFO - ๐Ÿ“ฅ Server received frame #705 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27647 bytes +2025-06-06 11:08:16,768 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:16,768 - video.core - INFO - ๐Ÿ“ค Server relayed frame #705 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:16,816 - video.core - INFO - ๐Ÿ“ฅ Server received frame #706 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27103 bytes +2025-06-06 11:08:16,816 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:16,816 - video.core - INFO - ๐Ÿ“ค Server relayed frame #706 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:16,860 - video.core - INFO - ๐Ÿ“ฅ Server received frame #707 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26875 bytes +2025-06-06 11:08:16,860 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:16,860 - video.core - INFO - ๐Ÿ“ค Server relayed frame #707 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:16,907 - video.core - INFO - ๐Ÿ“ฅ Server received frame #708 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27035 bytes +2025-06-06 11:08:16,907 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:16,907 - video.core - INFO - ๐Ÿ“ค Server relayed frame #708 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:16,954 - video.core - INFO - ๐Ÿ“ฅ Server received frame #709 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27157 bytes +2025-06-06 11:08:16,954 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:16,954 - video.core - INFO - ๐Ÿ“ค Server relayed frame #709 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:16,983 - video.core - INFO - ๐Ÿ“น Frame #710 from producer producer_1749200857529: size=27310 bytes, resolution=640x480 +2025-06-06 11:08:16,983 - video.core - INFO - ๐Ÿ“ฅ Server received frame #710 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27310 bytes +2025-06-06 11:08:16,983 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:16,983 - video.core - INFO - ๐Ÿ“ค Server relayed frame #710 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:17,024 - video.core - INFO - ๐Ÿ“ฅ Server received frame #711 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27484 bytes +2025-06-06 11:08:17,024 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:17,024 - video.core - INFO - ๐Ÿ“ค Server relayed frame #711 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:17,076 - video.core - INFO - ๐Ÿ“ฅ Server received frame #712 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27586 bytes +2025-06-06 11:08:17,076 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:17,076 - video.core - INFO - ๐Ÿ“ค Server relayed frame #712 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:17,113 - video.core - INFO - ๐Ÿ“ฅ Server received frame #713 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27673 bytes +2025-06-06 11:08:17,113 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:17,113 - video.core - INFO - ๐Ÿ“ค Server relayed frame #713 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:17,163 - video.core - INFO - ๐Ÿ“ฅ Server received frame #714 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27584 bytes +2025-06-06 11:08:17,163 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:17,163 - video.core - INFO - ๐Ÿ“ค Server relayed frame #714 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:17,207 - video.core - INFO - ๐Ÿ“ฅ Server received frame #715 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27684 bytes +2025-06-06 11:08:17,208 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:17,208 - video.core - INFO - ๐Ÿ“ค Server relayed frame #715 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:17,249 - video.core - INFO - ๐Ÿ“ฅ Server received frame #716 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27745 bytes +2025-06-06 11:08:17,249 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:17,249 - video.core - INFO - ๐Ÿ“ค Server relayed frame #716 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:17,288 - video.core - INFO - ๐Ÿ“ฅ Server received frame #717 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27935 bytes +2025-06-06 11:08:17,288 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:17,288 - video.core - INFO - ๐Ÿ“ค Server relayed frame #717 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:17,325 - video.core - INFO - ๐Ÿ“ฅ Server received frame #718 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27864 bytes +2025-06-06 11:08:17,325 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:17,325 - video.core - INFO - ๐Ÿ“ค Server relayed frame #718 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:17,367 - video.core - INFO - ๐Ÿ“ฅ Server received frame #719 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27742 bytes +2025-06-06 11:08:17,367 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:17,367 - video.core - INFO - ๐Ÿ“ค Server relayed frame #719 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:17,418 - video.core - INFO - ๐Ÿ“น Frame #720 from producer producer_1749200857529: size=27871 bytes, resolution=640x480 +2025-06-06 11:08:17,419 - video.core - INFO - ๐Ÿ“ฅ Server received frame #720 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27871 bytes +2025-06-06 11:08:17,419 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:17,419 - video.core - INFO - ๐Ÿ“ค Server relayed frame #720 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:17,419 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 720 frames processed, 22.1 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:17,419 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 720 frames, 17.1 FPS, 3.79 Mbps throughput, 27682 bytes avg frame size +2025-06-06 11:08:17,419 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 720 frames processed, FPS: 23.1, Throughput: 5.11 Mbps, Avg frame size: 27682 bytes +2025-06-06 11:08:17,463 - video.core - INFO - ๐Ÿ“ฅ Server received frame #721 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27743 bytes +2025-06-06 11:08:17,463 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:17,463 - video.core - INFO - ๐Ÿ“ค Server relayed frame #721 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:17,505 - video.core - INFO - ๐Ÿ“ฅ Server received frame #722 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27901 bytes +2025-06-06 11:08:17,505 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:17,505 - video.core - INFO - ๐Ÿ“ค Server relayed frame #722 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:17,548 - video.core - INFO - ๐Ÿ“ฅ Server received frame #723 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27718 bytes +2025-06-06 11:08:17,548 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:17,548 - video.core - INFO - ๐Ÿ“ค Server relayed frame #723 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:17,587 - video.core - INFO - ๐Ÿ“ฅ Server received frame #724 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27419 bytes +2025-06-06 11:08:17,587 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:17,587 - video.core - INFO - ๐Ÿ“ค Server relayed frame #724 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:17,634 - video.core - INFO - ๐Ÿ“ฅ Server received frame #725 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27178 bytes +2025-06-06 11:08:17,634 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:17,634 - video.core - INFO - ๐Ÿ“ค Server relayed frame #725 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:17,682 - video.core - INFO - ๐Ÿ“ฅ Server received frame #726 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27303 bytes +2025-06-06 11:08:17,682 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:17,682 - video.core - INFO - ๐Ÿ“ค Server relayed frame #726 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:17,726 - video.core - INFO - ๐Ÿ“ฅ Server received frame #727 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27462 bytes +2025-06-06 11:08:17,727 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:17,727 - video.core - INFO - ๐Ÿ“ค Server relayed frame #727 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:17,772 - video.core - INFO - ๐Ÿ“ฅ Server received frame #728 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27348 bytes +2025-06-06 11:08:17,773 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:17,773 - video.core - INFO - ๐Ÿ“ค Server relayed frame #728 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:17,817 - video.core - INFO - ๐Ÿ“ฅ Server received frame #729 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27208 bytes +2025-06-06 11:08:17,817 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:17,818 - video.core - INFO - ๐Ÿ“ค Server relayed frame #729 to 1 consumers in 0.8ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:17,853 - video.core - INFO - ๐Ÿ“น Frame #730 from producer producer_1749200857529: size=27308 bytes, resolution=640x480 +2025-06-06 11:08:17,853 - video.core - INFO - ๐Ÿ“ฅ Server received frame #730 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27308 bytes +2025-06-06 11:08:17,853 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:17,853 - video.core - INFO - ๐Ÿ“ค Server relayed frame #730 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:17,894 - video.core - INFO - ๐Ÿ“ฅ Server received frame #731 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27100 bytes +2025-06-06 11:08:17,894 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:17,894 - video.core - INFO - ๐Ÿ“ค Server relayed frame #731 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:17,937 - video.core - INFO - ๐Ÿ“ฅ Server received frame #732 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27132 bytes +2025-06-06 11:08:17,937 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:17,937 - video.core - INFO - ๐Ÿ“ค Server relayed frame #732 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:17,978 - video.core - INFO - ๐Ÿ“ฅ Server received frame #733 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27042 bytes +2025-06-06 11:08:17,978 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:17,978 - video.core - INFO - ๐Ÿ“ค Server relayed frame #733 to 1 consumers in 0.7ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:18,018 - video.core - INFO - ๐Ÿ“ฅ Server received frame #734 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27100 bytes +2025-06-06 11:08:18,018 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:18,019 - video.core - INFO - ๐Ÿ“ค Server relayed frame #734 to 1 consumers in 0.9ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:18,075 - video.core - INFO - ๐Ÿ“ฅ Server received frame #735 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27183 bytes +2025-06-06 11:08:18,075 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:18,075 - video.core - INFO - ๐Ÿ“ค Server relayed frame #735 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:18,148 - video.core - INFO - ๐Ÿ“ฅ Server received frame #736 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27302 bytes +2025-06-06 11:08:18,148 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:18,148 - video.core - INFO - ๐Ÿ“ค Server relayed frame #736 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:18,154 - video.core - INFO - ๐Ÿ“ฅ Server received frame #737 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27448 bytes +2025-06-06 11:08:18,154 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:18,155 - video.core - INFO - ๐Ÿ“ค Server relayed frame #737 to 1 consumers in 0.9ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:18,315 - video.core - INFO - ๐Ÿ“ฅ Server received frame #738 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27501 bytes +2025-06-06 11:08:18,315 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:18,315 - video.core - INFO - ๐Ÿ“ค Server relayed frame #738 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:18,331 - video.core - INFO - ๐Ÿ“ฅ Server received frame #739 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27586 bytes +2025-06-06 11:08:18,331 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:18,331 - video.core - INFO - ๐Ÿ“ค Server relayed frame #739 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:18,359 - video.core - INFO - ๐Ÿ“น Frame #740 from producer producer_1749200857529: size=27619 bytes, resolution=640x480 +2025-06-06 11:08:18,359 - video.core - INFO - ๐Ÿ“ฅ Server received frame #740 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27619 bytes +2025-06-06 11:08:18,359 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:18,359 - video.core - INFO - ๐Ÿ“ค Server relayed frame #740 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:18,384 - video.core - INFO - ๐Ÿ“ฅ Server received frame #741 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27907 bytes +2025-06-06 11:08:18,384 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:18,385 - video.core - INFO - ๐Ÿ“ค Server relayed frame #741 to 1 consumers in 0.8ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:18,389 - video.core - INFO - ๐Ÿ“ฅ Server received frame #742 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27800 bytes +2025-06-06 11:08:18,389 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:18,389 - video.core - INFO - ๐Ÿ“ค Server relayed frame #742 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:18,405 - video.core - INFO - ๐Ÿ“ฅ Server received frame #743 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27893 bytes +2025-06-06 11:08:18,405 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:18,406 - video.core - INFO - ๐Ÿ“ค Server relayed frame #743 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:18,454 - video.core - INFO - ๐Ÿ“ฅ Server received frame #744 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27782 bytes +2025-06-06 11:08:18,454 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:18,454 - video.core - INFO - ๐Ÿ“ค Server relayed frame #744 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:18,488 - video.core - INFO - ๐Ÿ“ฅ Server received frame #745 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27731 bytes +2025-06-06 11:08:18,488 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:18,488 - video.core - INFO - ๐Ÿ“ค Server relayed frame #745 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:18,534 - video.core - INFO - ๐Ÿ“ฅ Server received frame #746 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27647 bytes +2025-06-06 11:08:18,534 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:18,534 - video.core - INFO - ๐Ÿ“ค Server relayed frame #746 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:18,579 - video.core - INFO - ๐Ÿ“ฅ Server received frame #747 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27885 bytes +2025-06-06 11:08:18,580 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:18,580 - video.core - INFO - ๐Ÿ“ค Server relayed frame #747 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:18,622 - video.core - INFO - ๐Ÿ“ฅ Server received frame #748 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27946 bytes +2025-06-06 11:08:18,622 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:18,622 - video.core - INFO - ๐Ÿ“ค Server relayed frame #748 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:18,666 - video.core - INFO - ๐Ÿ“ฅ Server received frame #749 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28005 bytes +2025-06-06 11:08:18,666 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:18,666 - video.core - INFO - ๐Ÿ“ค Server relayed frame #749 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:18,713 - video.core - INFO - ๐Ÿ“น Frame #750 from producer producer_1749200857529: size=28125 bytes, resolution=640x480 +2025-06-06 11:08:18,713 - video.core - INFO - ๐Ÿ“ฅ Server received frame #750 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28125 bytes +2025-06-06 11:08:18,713 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:18,713 - video.core - INFO - ๐Ÿ“ค Server relayed frame #750 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:18,713 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 750 frames processed, 22.1 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:18,713 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 750 frames, 17.3 FPS, 3.83 Mbps throughput, 27676 bytes avg frame size +2025-06-06 11:08:18,713 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 750 frames processed, FPS: 23.1, Throughput: 5.11 Mbps, Avg frame size: 27676 bytes +2025-06-06 11:08:18,760 - video.core - INFO - ๐Ÿ“ฅ Server received frame #751 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28187 bytes +2025-06-06 11:08:18,760 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:18,760 - video.core - INFO - ๐Ÿ“ค Server relayed frame #751 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:18,803 - video.core - INFO - ๐Ÿ“ฅ Server received frame #752 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28095 bytes +2025-06-06 11:08:18,803 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:18,803 - video.core - INFO - ๐Ÿ“ค Server relayed frame #752 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:18,843 - video.core - INFO - ๐Ÿ“ฅ Server received frame #753 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28258 bytes +2025-06-06 11:08:18,844 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:18,844 - video.core - INFO - ๐Ÿ“ค Server relayed frame #753 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:18,895 - video.core - INFO - ๐Ÿ“ฅ Server received frame #754 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28228 bytes +2025-06-06 11:08:18,896 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:18,896 - video.core - INFO - ๐Ÿ“ค Server relayed frame #754 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:18,938 - video.core - INFO - ๐Ÿ“ฅ Server received frame #755 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28225 bytes +2025-06-06 11:08:18,938 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:18,938 - video.core - INFO - ๐Ÿ“ค Server relayed frame #755 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:18,990 - video.core - INFO - ๐Ÿ“ฅ Server received frame #756 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28193 bytes +2025-06-06 11:08:18,990 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:18,990 - video.core - INFO - ๐Ÿ“ค Server relayed frame #756 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:19,013 - video.core - INFO - ๐Ÿ“ฅ Server received frame #757 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28177 bytes +2025-06-06 11:08:19,013 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:19,013 - video.core - INFO - ๐Ÿ“ค Server relayed frame #757 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:19,074 - video.core - INFO - ๐Ÿ“ฅ Server received frame #758 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28204 bytes +2025-06-06 11:08:19,075 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:19,075 - video.core - INFO - ๐Ÿ“ค Server relayed frame #758 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:19,099 - video.core - INFO - ๐Ÿ“ฅ Server received frame #759 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28053 bytes +2025-06-06 11:08:19,100 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:19,100 - video.core - INFO - ๐Ÿ“ค Server relayed frame #759 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:19,141 - video.core - INFO - ๐Ÿ“น Frame #760 from producer producer_1749200857529: size=28105 bytes, resolution=640x480 +2025-06-06 11:08:19,141 - video.core - INFO - ๐Ÿ“ฅ Server received frame #760 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28105 bytes +2025-06-06 11:08:19,141 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:19,141 - video.core - INFO - ๐Ÿ“ค Server relayed frame #760 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:19,183 - video.core - INFO - ๐Ÿ“ฅ Server received frame #761 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27977 bytes +2025-06-06 11:08:19,183 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:19,183 - video.core - INFO - ๐Ÿ“ค Server relayed frame #761 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:19,230 - video.core - INFO - ๐Ÿ“ฅ Server received frame #762 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27966 bytes +2025-06-06 11:08:19,230 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:19,230 - video.core - INFO - ๐Ÿ“ค Server relayed frame #762 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:19,273 - video.core - INFO - ๐Ÿ“ฅ Server received frame #763 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28005 bytes +2025-06-06 11:08:19,273 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:19,273 - video.core - INFO - ๐Ÿ“ค Server relayed frame #763 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:19,317 - video.core - INFO - ๐Ÿ“ฅ Server received frame #764 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28006 bytes +2025-06-06 11:08:19,317 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:19,317 - video.core - INFO - ๐Ÿ“ค Server relayed frame #764 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:19,357 - video.core - INFO - ๐Ÿ“ฅ Server received frame #765 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27894 bytes +2025-06-06 11:08:19,357 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:19,357 - video.core - INFO - ๐Ÿ“ค Server relayed frame #765 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:19,402 - video.core - INFO - ๐Ÿ“ฅ Server received frame #766 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27852 bytes +2025-06-06 11:08:19,402 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:19,402 - video.core - INFO - ๐Ÿ“ค Server relayed frame #766 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:19,446 - video.core - INFO - ๐Ÿ“ฅ Server received frame #767 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27977 bytes +2025-06-06 11:08:19,446 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:19,446 - video.core - INFO - ๐Ÿ“ค Server relayed frame #767 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:19,488 - video.core - INFO - ๐Ÿ“ฅ Server received frame #768 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28054 bytes +2025-06-06 11:08:19,488 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:19,488 - video.core - INFO - ๐Ÿ“ค Server relayed frame #768 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:19,533 - video.core - INFO - ๐Ÿ“ฅ Server received frame #769 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27949 bytes +2025-06-06 11:08:19,533 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:19,533 - video.core - INFO - ๐Ÿ“ค Server relayed frame #769 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:19,573 - video.core - INFO - ๐Ÿ“น Frame #770 from producer producer_1749200857529: size=28037 bytes, resolution=640x480 +2025-06-06 11:08:19,573 - video.core - INFO - ๐Ÿ“ฅ Server received frame #770 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28037 bytes +2025-06-06 11:08:19,573 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:19,573 - video.core - INFO - ๐Ÿ“ค Server relayed frame #770 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:19,620 - video.core - INFO - ๐Ÿ“ฅ Server received frame #771 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27897 bytes +2025-06-06 11:08:19,620 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:19,620 - video.core - INFO - ๐Ÿ“ค Server relayed frame #771 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:19,658 - video.core - INFO - ๐Ÿ“ฅ Server received frame #772 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27848 bytes +2025-06-06 11:08:19,658 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:19,658 - video.core - INFO - ๐Ÿ“ค Server relayed frame #772 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:19,709 - video.core - INFO - ๐Ÿ“ฅ Server received frame #773 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27901 bytes +2025-06-06 11:08:19,710 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:19,710 - video.core - INFO - ๐Ÿ“ค Server relayed frame #773 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:19,749 - video.core - INFO - ๐Ÿ“ฅ Server received frame #774 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27868 bytes +2025-06-06 11:08:19,749 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:19,749 - video.core - INFO - ๐Ÿ“ค Server relayed frame #774 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:19,788 - video.core - INFO - ๐Ÿ“ฅ Server received frame #775 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27895 bytes +2025-06-06 11:08:19,788 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:19,788 - video.core - INFO - ๐Ÿ“ค Server relayed frame #775 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:19,830 - video.core - INFO - ๐Ÿ“ฅ Server received frame #776 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27408 bytes +2025-06-06 11:08:19,830 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:19,830 - video.core - INFO - ๐Ÿ“ค Server relayed frame #776 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:19,873 - video.core - INFO - ๐Ÿ“ฅ Server received frame #777 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27352 bytes +2025-06-06 11:08:19,873 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:19,873 - video.core - INFO - ๐Ÿ“ค Server relayed frame #777 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:19,920 - video.core - INFO - ๐Ÿ“ฅ Server received frame #778 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27491 bytes +2025-06-06 11:08:19,920 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:19,920 - video.core - INFO - ๐Ÿ“ค Server relayed frame #778 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:19,961 - video.core - INFO - ๐Ÿ“ฅ Server received frame #779 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27658 bytes +2025-06-06 11:08:19,961 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:19,961 - video.core - INFO - ๐Ÿ“ค Server relayed frame #779 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:20,003 - video.core - INFO - ๐Ÿ“น Frame #780 from producer producer_1749200857529: size=27658 bytes, resolution=640x480 +2025-06-06 11:08:20,003 - video.core - INFO - ๐Ÿ“ฅ Server received frame #780 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27658 bytes +2025-06-06 11:08:20,004 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:20,004 - video.core - INFO - ๐Ÿ“ค Server relayed frame #780 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:20,004 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 780 frames processed, 22.2 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:20,004 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 780 frames, 17.5 FPS, 3.87 Mbps throughput, 27687 bytes avg frame size +2025-06-06 11:08:20,004 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 780 frames processed, FPS: 23.1, Throughput: 5.11 Mbps, Avg frame size: 27687 bytes +2025-06-06 11:08:20,045 - video.core - INFO - ๐Ÿ“ฅ Server received frame #781 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27731 bytes +2025-06-06 11:08:20,046 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:20,046 - video.core - INFO - ๐Ÿ“ค Server relayed frame #781 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:20,092 - video.core - INFO - ๐Ÿ“ฅ Server received frame #782 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27642 bytes +2025-06-06 11:08:20,092 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:20,092 - video.core - INFO - ๐Ÿ“ค Server relayed frame #782 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:20,132 - video.core - INFO - ๐Ÿ“ฅ Server received frame #783 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27629 bytes +2025-06-06 11:08:20,132 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:20,132 - video.core - INFO - ๐Ÿ“ค Server relayed frame #783 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:20,177 - video.core - INFO - ๐Ÿ“ฅ Server received frame #784 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27596 bytes +2025-06-06 11:08:20,177 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:20,177 - video.core - INFO - ๐Ÿ“ค Server relayed frame #784 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:20,222 - video.core - INFO - ๐Ÿ“ฅ Server received frame #785 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27608 bytes +2025-06-06 11:08:20,222 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:20,222 - video.core - INFO - ๐Ÿ“ค Server relayed frame #785 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:20,266 - video.core - INFO - ๐Ÿ“ฅ Server received frame #786 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27418 bytes +2025-06-06 11:08:20,266 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:20,266 - video.core - INFO - ๐Ÿ“ค Server relayed frame #786 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:20,309 - video.core - INFO - ๐Ÿ“ฅ Server received frame #787 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27110 bytes +2025-06-06 11:08:20,309 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:20,309 - video.core - INFO - ๐Ÿ“ค Server relayed frame #787 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:20,348 - video.core - INFO - ๐Ÿ“ฅ Server received frame #788 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27326 bytes +2025-06-06 11:08:20,348 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:20,348 - video.core - INFO - ๐Ÿ“ค Server relayed frame #788 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:20,392 - video.core - INFO - ๐Ÿ“ฅ Server received frame #789 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27450 bytes +2025-06-06 11:08:20,392 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:20,392 - video.core - INFO - ๐Ÿ“ค Server relayed frame #789 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:20,434 - video.core - INFO - ๐Ÿ“น Frame #790 from producer producer_1749200857529: size=27475 bytes, resolution=640x480 +2025-06-06 11:08:20,434 - video.core - INFO - ๐Ÿ“ฅ Server received frame #790 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27475 bytes +2025-06-06 11:08:20,434 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:20,434 - video.core - INFO - ๐Ÿ“ค Server relayed frame #790 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:20,480 - video.core - INFO - ๐Ÿ“ฅ Server received frame #791 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27472 bytes +2025-06-06 11:08:20,480 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:20,480 - video.core - INFO - ๐Ÿ“ค Server relayed frame #791 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:20,524 - video.core - INFO - ๐Ÿ“ฅ Server received frame #792 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27425 bytes +2025-06-06 11:08:20,525 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:20,525 - video.core - INFO - ๐Ÿ“ค Server relayed frame #792 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:20,569 - video.core - INFO - ๐Ÿ“ฅ Server received frame #793 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27456 bytes +2025-06-06 11:08:20,569 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:20,569 - video.core - INFO - ๐Ÿ“ค Server relayed frame #793 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:20,608 - video.core - INFO - ๐Ÿ“ฅ Server received frame #794 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27539 bytes +2025-06-06 11:08:20,608 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:20,608 - video.core - INFO - ๐Ÿ“ค Server relayed frame #794 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:20,660 - video.core - INFO - ๐Ÿ“ฅ Server received frame #795 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27797 bytes +2025-06-06 11:08:20,660 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:20,660 - video.core - INFO - ๐Ÿ“ค Server relayed frame #795 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:20,707 - video.core - INFO - ๐Ÿ“ฅ Server received frame #796 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27826 bytes +2025-06-06 11:08:20,707 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:20,707 - video.core - INFO - ๐Ÿ“ค Server relayed frame #796 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:20,750 - video.core - INFO - ๐Ÿ“ฅ Server received frame #797 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27837 bytes +2025-06-06 11:08:20,750 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:20,750 - video.core - INFO - ๐Ÿ“ค Server relayed frame #797 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:20,794 - video.core - INFO - ๐Ÿ“ฅ Server received frame #798 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27824 bytes +2025-06-06 11:08:20,794 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:20,794 - video.core - INFO - ๐Ÿ“ค Server relayed frame #798 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:20,842 - video.core - INFO - ๐Ÿ“ฅ Server received frame #799 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27598 bytes +2025-06-06 11:08:20,842 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:20,842 - video.core - INFO - ๐Ÿ“ค Server relayed frame #799 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:20,885 - video.core - INFO - ๐Ÿ“น Frame #800 from producer producer_1749200857529: size=27497 bytes, resolution=640x480 +2025-06-06 11:08:20,885 - video.core - INFO - ๐Ÿ“ฅ Server received frame #800 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27497 bytes +2025-06-06 11:08:20,885 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:20,885 - video.core - INFO - ๐Ÿ“ค Server relayed frame #800 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:20,927 - video.core - INFO - ๐Ÿ“ฅ Server received frame #801 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27490 bytes +2025-06-06 11:08:20,927 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:20,927 - video.core - INFO - ๐Ÿ“ค Server relayed frame #801 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:20,973 - video.core - INFO - ๐Ÿ“ฅ Server received frame #802 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27494 bytes +2025-06-06 11:08:20,973 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:20,973 - video.core - INFO - ๐Ÿ“ค Server relayed frame #802 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:21,015 - video.core - INFO - ๐Ÿ“ฅ Server received frame #803 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27526 bytes +2025-06-06 11:08:21,015 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:21,015 - video.core - INFO - ๐Ÿ“ค Server relayed frame #803 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:21,057 - video.core - INFO - ๐Ÿ“ฅ Server received frame #804 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27436 bytes +2025-06-06 11:08:21,057 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:21,058 - video.core - INFO - ๐Ÿ“ค Server relayed frame #804 to 1 consumers in 0.7ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:21,108 - video.core - INFO - ๐Ÿ“ฅ Server received frame #805 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27413 bytes +2025-06-06 11:08:21,109 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:21,109 - video.core - INFO - ๐Ÿ“ค Server relayed frame #805 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:21,144 - video.core - INFO - ๐Ÿ“ฅ Server received frame #806 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27319 bytes +2025-06-06 11:08:21,145 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:21,145 - video.core - INFO - ๐Ÿ“ค Server relayed frame #806 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:21,182 - video.core - INFO - ๐Ÿ“ฅ Server received frame #807 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27324 bytes +2025-06-06 11:08:21,182 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:21,182 - video.core - INFO - ๐Ÿ“ค Server relayed frame #807 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:21,232 - video.core - INFO - ๐Ÿ“ฅ Server received frame #808 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27375 bytes +2025-06-06 11:08:21,233 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:21,233 - video.core - INFO - ๐Ÿ“ค Server relayed frame #808 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:21,277 - video.core - INFO - ๐Ÿ“ฅ Server received frame #809 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27459 bytes +2025-06-06 11:08:21,277 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:21,277 - video.core - INFO - ๐Ÿ“ค Server relayed frame #809 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:21,318 - video.core - INFO - ๐Ÿ“น Frame #810 from producer producer_1749200857529: size=27640 bytes, resolution=640x480 +2025-06-06 11:08:21,319 - video.core - INFO - ๐Ÿ“ฅ Server received frame #810 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27640 bytes +2025-06-06 11:08:21,319 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:21,319 - video.core - INFO - ๐Ÿ“ค Server relayed frame #810 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:21,319 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 810 frames processed, 22.2 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:21,319 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 810 frames, 17.6 FPS, 3.91 Mbps throughput, 27681 bytes avg frame size +2025-06-06 11:08:21,319 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 810 frames processed, FPS: 23.1, Throughput: 5.11 Mbps, Avg frame size: 27681 bytes +2025-06-06 11:08:21,361 - video.core - INFO - ๐Ÿ“ฅ Server received frame #811 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27584 bytes +2025-06-06 11:08:21,361 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:21,361 - video.core - INFO - ๐Ÿ“ค Server relayed frame #811 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:21,391 - video.core - INFO - ๐Ÿ“ฅ Server received frame #812 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27567 bytes +2025-06-06 11:08:21,392 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:21,392 - video.core - INFO - ๐Ÿ“ค Server relayed frame #812 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:21,433 - video.core - INFO - ๐Ÿ“ฅ Server received frame #813 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27632 bytes +2025-06-06 11:08:21,433 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:21,433 - video.core - INFO - ๐Ÿ“ค Server relayed frame #813 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:21,485 - video.core - INFO - ๐Ÿ“ฅ Server received frame #814 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27433 bytes +2025-06-06 11:08:21,485 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:21,485 - video.core - INFO - ๐Ÿ“ค Server relayed frame #814 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:21,526 - video.core - INFO - ๐Ÿ“ฅ Server received frame #815 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27361 bytes +2025-06-06 11:08:21,527 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:21,527 - video.core - INFO - ๐Ÿ“ค Server relayed frame #815 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:21,572 - video.core - INFO - ๐Ÿ“ฅ Server received frame #816 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27318 bytes +2025-06-06 11:08:21,573 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:21,573 - video.core - INFO - ๐Ÿ“ค Server relayed frame #816 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:21,616 - video.core - INFO - ๐Ÿ“ฅ Server received frame #817 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27490 bytes +2025-06-06 11:08:21,616 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:21,616 - video.core - INFO - ๐Ÿ“ค Server relayed frame #817 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:21,659 - video.core - INFO - ๐Ÿ“ฅ Server received frame #818 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27026 bytes +2025-06-06 11:08:21,659 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:21,659 - video.core - INFO - ๐Ÿ“ค Server relayed frame #818 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:21,694 - video.core - INFO - ๐Ÿ“ฅ Server received frame #819 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27185 bytes +2025-06-06 11:08:21,694 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:21,694 - video.core - INFO - ๐Ÿ“ค Server relayed frame #819 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:21,734 - video.core - INFO - ๐Ÿ“น Frame #820 from producer producer_1749200857529: size=26895 bytes, resolution=640x480 +2025-06-06 11:08:21,734 - video.core - INFO - ๐Ÿ“ฅ Server received frame #820 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26895 bytes +2025-06-06 11:08:21,734 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:21,734 - video.core - INFO - ๐Ÿ“ค Server relayed frame #820 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:21,779 - video.core - INFO - ๐Ÿ“ฅ Server received frame #821 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26727 bytes +2025-06-06 11:08:21,780 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:21,780 - video.core - INFO - ๐Ÿ“ค Server relayed frame #821 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:21,828 - video.core - INFO - ๐Ÿ“ฅ Server received frame #822 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26876 bytes +2025-06-06 11:08:21,828 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:21,828 - video.core - INFO - ๐Ÿ“ค Server relayed frame #822 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:21,873 - video.core - INFO - ๐Ÿ“ฅ Server received frame #823 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27010 bytes +2025-06-06 11:08:21,873 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:21,873 - video.core - INFO - ๐Ÿ“ค Server relayed frame #823 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:21,926 - video.core - INFO - ๐Ÿ“ฅ Server received frame #824 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27263 bytes +2025-06-06 11:08:21,926 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:21,926 - video.core - INFO - ๐Ÿ“ค Server relayed frame #824 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:21,966 - video.core - INFO - ๐Ÿ“ฅ Server received frame #825 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27394 bytes +2025-06-06 11:08:21,967 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:21,967 - video.core - INFO - ๐Ÿ“ค Server relayed frame #825 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:22,013 - video.core - INFO - ๐Ÿ“ฅ Server received frame #826 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27488 bytes +2025-06-06 11:08:22,014 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:22,014 - video.core - INFO - ๐Ÿ“ค Server relayed frame #826 to 1 consumers in 0.7ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:22,054 - video.core - INFO - ๐Ÿ“ฅ Server received frame #827 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27634 bytes +2025-06-06 11:08:22,054 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:22,055 - video.core - INFO - ๐Ÿ“ค Server relayed frame #827 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:22,096 - video.core - INFO - ๐Ÿ“ฅ Server received frame #828 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27671 bytes +2025-06-06 11:08:22,097 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:22,097 - video.core - INFO - ๐Ÿ“ค Server relayed frame #828 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:22,145 - video.core - INFO - ๐Ÿ“ฅ Server received frame #829 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27727 bytes +2025-06-06 11:08:22,146 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:22,146 - video.core - INFO - ๐Ÿ“ค Server relayed frame #829 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:22,189 - video.core - INFO - ๐Ÿ“น Frame #830 from producer producer_1749200857529: size=27682 bytes, resolution=640x480 +2025-06-06 11:08:22,189 - video.core - INFO - ๐Ÿ“ฅ Server received frame #830 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27682 bytes +2025-06-06 11:08:22,189 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:22,189 - video.core - INFO - ๐Ÿ“ค Server relayed frame #830 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:22,226 - video.core - INFO - ๐Ÿ“ฅ Server received frame #831 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27691 bytes +2025-06-06 11:08:22,227 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:22,227 - video.core - INFO - ๐Ÿ“ค Server relayed frame #831 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:22,272 - video.core - INFO - ๐Ÿ“ฅ Server received frame #832 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27850 bytes +2025-06-06 11:08:22,272 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:22,272 - video.core - INFO - ๐Ÿ“ค Server relayed frame #832 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:22,321 - video.core - INFO - ๐Ÿ“ฅ Server received frame #833 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27858 bytes +2025-06-06 11:08:22,322 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:22,322 - video.core - INFO - ๐Ÿ“ค Server relayed frame #833 to 1 consumers in 1.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:22,356 - video.core - INFO - ๐Ÿ“ฅ Server received frame #834 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27958 bytes +2025-06-06 11:08:22,357 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:22,357 - video.core - INFO - ๐Ÿ“ค Server relayed frame #834 to 1 consumers in 0.9ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:22,391 - video.core - INFO - ๐Ÿ“ฅ Server received frame #835 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28028 bytes +2025-06-06 11:08:22,391 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:22,391 - video.core - INFO - ๐Ÿ“ค Server relayed frame #835 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:22,430 - video.core - INFO - ๐Ÿ“ฅ Server received frame #836 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27960 bytes +2025-06-06 11:08:22,430 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:22,430 - video.core - INFO - ๐Ÿ“ค Server relayed frame #836 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:22,472 - video.core - INFO - ๐Ÿ“ฅ Server received frame #837 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27805 bytes +2025-06-06 11:08:22,472 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:22,472 - video.core - INFO - ๐Ÿ“ค Server relayed frame #837 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:22,520 - video.core - INFO - ๐Ÿ“ฅ Server received frame #838 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27687 bytes +2025-06-06 11:08:22,520 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:22,520 - video.core - INFO - ๐Ÿ“ค Server relayed frame #838 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:22,566 - video.core - INFO - ๐Ÿ“ฅ Server received frame #839 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27775 bytes +2025-06-06 11:08:22,566 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:22,566 - video.core - INFO - ๐Ÿ“ค Server relayed frame #839 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:22,601 - video.core - INFO - ๐Ÿ“น Frame #840 from producer producer_1749200857529: size=27823 bytes, resolution=640x480 +2025-06-06 11:08:22,601 - video.core - INFO - ๐Ÿ“ฅ Server received frame #840 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27823 bytes +2025-06-06 11:08:22,601 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:22,601 - video.core - INFO - ๐Ÿ“ค Server relayed frame #840 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:22,602 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 840 frames processed, 22.2 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:22,602 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 840 frames, 17.8 FPS, 3.94 Mbps throughput, 27675 bytes avg frame size +2025-06-06 11:08:22,602 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 840 frames processed, FPS: 23.1, Throughput: 5.11 Mbps, Avg frame size: 27675 bytes +2025-06-06 11:08:22,645 - video.core - INFO - ๐Ÿ“ฅ Server received frame #841 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27862 bytes +2025-06-06 11:08:22,645 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:22,645 - video.core - INFO - ๐Ÿ“ค Server relayed frame #841 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:22,692 - video.core - INFO - ๐Ÿ“ฅ Server received frame #842 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28079 bytes +2025-06-06 11:08:22,693 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:22,693 - video.core - INFO - ๐Ÿ“ค Server relayed frame #842 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:22,738 - video.core - INFO - ๐Ÿ“ฅ Server received frame #843 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28107 bytes +2025-06-06 11:08:22,738 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:22,738 - video.core - INFO - ๐Ÿ“ค Server relayed frame #843 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:22,782 - video.core - INFO - ๐Ÿ“ฅ Server received frame #844 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28211 bytes +2025-06-06 11:08:22,782 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:22,782 - video.core - INFO - ๐Ÿ“ค Server relayed frame #844 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:22,825 - video.core - INFO - ๐Ÿ“ฅ Server received frame #845 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28283 bytes +2025-06-06 11:08:22,825 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:22,825 - video.core - INFO - ๐Ÿ“ค Server relayed frame #845 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:22,872 - video.core - INFO - ๐Ÿ“ฅ Server received frame #846 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28275 bytes +2025-06-06 11:08:22,872 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:22,872 - video.core - INFO - ๐Ÿ“ค Server relayed frame #846 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:22,914 - video.core - INFO - ๐Ÿ“ฅ Server received frame #847 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28259 bytes +2025-06-06 11:08:22,914 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:22,914 - video.core - INFO - ๐Ÿ“ค Server relayed frame #847 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:22,957 - video.core - INFO - ๐Ÿ“ฅ Server received frame #848 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28296 bytes +2025-06-06 11:08:22,958 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:22,958 - video.core - INFO - ๐Ÿ“ค Server relayed frame #848 to 1 consumers in 0.7ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:23,006 - video.core - INFO - ๐Ÿ“ฅ Server received frame #849 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28266 bytes +2025-06-06 11:08:23,007 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:23,007 - video.core - INFO - ๐Ÿ“ค Server relayed frame #849 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:23,051 - video.core - INFO - ๐Ÿ“น Frame #850 from producer producer_1749200857529: size=28400 bytes, resolution=640x480 +2025-06-06 11:08:23,051 - video.core - INFO - ๐Ÿ“ฅ Server received frame #850 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28400 bytes +2025-06-06 11:08:23,052 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:23,052 - video.core - INFO - ๐Ÿ“ค Server relayed frame #850 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:23,094 - video.core - INFO - ๐Ÿ“ฅ Server received frame #851 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28430 bytes +2025-06-06 11:08:23,094 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:23,094 - video.core - INFO - ๐Ÿ“ค Server relayed frame #851 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:23,137 - video.core - INFO - ๐Ÿ“ฅ Server received frame #852 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28429 bytes +2025-06-06 11:08:23,138 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:23,138 - video.core - INFO - ๐Ÿ“ค Server relayed frame #852 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:23,182 - video.core - INFO - ๐Ÿ“ฅ Server received frame #853 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28325 bytes +2025-06-06 11:08:23,182 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:23,182 - video.core - INFO - ๐Ÿ“ค Server relayed frame #853 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:23,225 - video.core - INFO - ๐Ÿ“ฅ Server received frame #854 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28357 bytes +2025-06-06 11:08:23,225 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:23,225 - video.core - INFO - ๐Ÿ“ค Server relayed frame #854 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:23,271 - video.core - INFO - ๐Ÿ“ฅ Server received frame #855 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28328 bytes +2025-06-06 11:08:23,272 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:23,272 - video.core - INFO - ๐Ÿ“ค Server relayed frame #855 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:23,314 - video.core - INFO - ๐Ÿ“ฅ Server received frame #856 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28219 bytes +2025-06-06 11:08:23,314 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:23,314 - video.core - INFO - ๐Ÿ“ค Server relayed frame #856 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:23,352 - video.core - INFO - ๐Ÿ“ฅ Server received frame #857 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28290 bytes +2025-06-06 11:08:23,352 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:23,352 - video.core - INFO - ๐Ÿ“ค Server relayed frame #857 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:23,386 - video.core - INFO - ๐Ÿ“ฅ Server received frame #858 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28301 bytes +2025-06-06 11:08:23,386 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:23,386 - video.core - INFO - ๐Ÿ“ค Server relayed frame #858 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:23,424 - video.core - INFO - ๐Ÿ“ฅ Server received frame #859 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28312 bytes +2025-06-06 11:08:23,424 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:23,424 - video.core - INFO - ๐Ÿ“ค Server relayed frame #859 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:23,469 - video.core - INFO - ๐Ÿ“น Frame #860 from producer producer_1749200857529: size=28231 bytes, resolution=640x480 +2025-06-06 11:08:23,470 - video.core - INFO - ๐Ÿ“ฅ Server received frame #860 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28231 bytes +2025-06-06 11:08:23,470 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:23,470 - video.core - INFO - ๐Ÿ“ค Server relayed frame #860 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:23,522 - video.core - INFO - ๐Ÿ“ฅ Server received frame #861 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28296 bytes +2025-06-06 11:08:23,522 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:23,522 - video.core - INFO - ๐Ÿ“ค Server relayed frame #861 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:23,561 - video.core - INFO - ๐Ÿ“ฅ Server received frame #862 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28038 bytes +2025-06-06 11:08:23,561 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:23,561 - video.core - INFO - ๐Ÿ“ค Server relayed frame #862 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:23,615 - video.core - INFO - ๐Ÿ“ฅ Server received frame #863 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27793 bytes +2025-06-06 11:08:23,615 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:23,615 - video.core - INFO - ๐Ÿ“ค Server relayed frame #863 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:23,654 - video.core - INFO - ๐Ÿ“ฅ Server received frame #864 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27792 bytes +2025-06-06 11:08:23,654 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:23,655 - video.core - INFO - ๐Ÿ“ค Server relayed frame #864 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:23,697 - video.core - INFO - ๐Ÿ“ฅ Server received frame #865 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27819 bytes +2025-06-06 11:08:23,697 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:23,697 - video.core - INFO - ๐Ÿ“ค Server relayed frame #865 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:23,734 - video.core - INFO - ๐Ÿ“ฅ Server received frame #866 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27657 bytes +2025-06-06 11:08:23,735 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:23,735 - video.core - INFO - ๐Ÿ“ค Server relayed frame #866 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:23,773 - video.core - INFO - ๐Ÿ“ฅ Server received frame #867 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27341 bytes +2025-06-06 11:08:23,773 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:23,774 - video.core - INFO - ๐Ÿ“ค Server relayed frame #867 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:23,815 - video.core - INFO - ๐Ÿ“ฅ Server received frame #868 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27459 bytes +2025-06-06 11:08:23,815 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:23,815 - video.core - INFO - ๐Ÿ“ค Server relayed frame #868 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:23,857 - video.core - INFO - ๐Ÿ“ฅ Server received frame #869 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27275 bytes +2025-06-06 11:08:23,857 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:23,857 - video.core - INFO - ๐Ÿ“ค Server relayed frame #869 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:23,901 - video.core - INFO - ๐Ÿ“น Frame #870 from producer producer_1749200857529: size=27299 bytes, resolution=640x480 +2025-06-06 11:08:23,902 - video.core - INFO - ๐Ÿ“ฅ Server received frame #870 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27299 bytes +2025-06-06 11:08:23,902 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:23,902 - video.core - INFO - ๐Ÿ“ค Server relayed frame #870 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:23,902 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 870 frames processed, 22.2 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:23,902 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 870 frames, 17.9 FPS, 3.97 Mbps throughput, 27688 bytes avg frame size +2025-06-06 11:08:23,902 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 870 frames processed, FPS: 23.1, Throughput: 5.11 Mbps, Avg frame size: 27688 bytes +2025-06-06 11:08:23,945 - video.core - INFO - ๐Ÿ“ฅ Server received frame #871 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27371 bytes +2025-06-06 11:08:23,946 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:23,946 - video.core - INFO - ๐Ÿ“ค Server relayed frame #871 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:23,992 - video.core - INFO - ๐Ÿ“ฅ Server received frame #872 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27266 bytes +2025-06-06 11:08:23,992 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:23,992 - video.core - INFO - ๐Ÿ“ค Server relayed frame #872 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:24,034 - video.core - INFO - ๐Ÿ“ฅ Server received frame #873 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27293 bytes +2025-06-06 11:08:24,034 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:24,034 - video.core - INFO - ๐Ÿ“ค Server relayed frame #873 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:24,079 - video.core - INFO - ๐Ÿ“ฅ Server received frame #874 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27292 bytes +2025-06-06 11:08:24,080 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:24,080 - video.core - INFO - ๐Ÿ“ค Server relayed frame #874 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:24,123 - video.core - INFO - ๐Ÿ“ฅ Server received frame #875 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27403 bytes +2025-06-06 11:08:24,123 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:24,123 - video.core - INFO - ๐Ÿ“ค Server relayed frame #875 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:24,167 - video.core - INFO - ๐Ÿ“ฅ Server received frame #876 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27473 bytes +2025-06-06 11:08:24,167 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:24,167 - video.core - INFO - ๐Ÿ“ค Server relayed frame #876 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:24,210 - video.core - INFO - ๐Ÿ“ฅ Server received frame #877 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27563 bytes +2025-06-06 11:08:24,210 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:24,211 - video.core - INFO - ๐Ÿ“ค Server relayed frame #877 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:24,253 - video.core - INFO - ๐Ÿ“ฅ Server received frame #878 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27596 bytes +2025-06-06 11:08:24,253 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:24,253 - video.core - INFO - ๐Ÿ“ค Server relayed frame #878 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:24,291 - video.core - INFO - ๐Ÿ“ฅ Server received frame #879 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27659 bytes +2025-06-06 11:08:24,291 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:24,291 - video.core - INFO - ๐Ÿ“ค Server relayed frame #879 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:24,339 - video.core - INFO - ๐Ÿ“น Frame #880 from producer producer_1749200857529: size=27844 bytes, resolution=640x480 +2025-06-06 11:08:24,339 - video.core - INFO - ๐Ÿ“ฅ Server received frame #880 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27844 bytes +2025-06-06 11:08:24,339 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:24,340 - video.core - INFO - ๐Ÿ“ค Server relayed frame #880 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:24,379 - video.core - INFO - ๐Ÿ“ฅ Server received frame #881 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27862 bytes +2025-06-06 11:08:24,379 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:24,379 - video.core - INFO - ๐Ÿ“ค Server relayed frame #881 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:24,426 - video.core - INFO - ๐Ÿ“ฅ Server received frame #882 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27995 bytes +2025-06-06 11:08:24,426 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:24,426 - video.core - INFO - ๐Ÿ“ค Server relayed frame #882 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:24,468 - video.core - INFO - ๐Ÿ“ฅ Server received frame #883 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27999 bytes +2025-06-06 11:08:24,468 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:24,468 - video.core - INFO - ๐Ÿ“ค Server relayed frame #883 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:24,515 - video.core - INFO - ๐Ÿ“ฅ Server received frame #884 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28021 bytes +2025-06-06 11:08:24,515 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:24,515 - video.core - INFO - ๐Ÿ“ค Server relayed frame #884 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:24,553 - video.core - INFO - ๐Ÿ“ฅ Server received frame #885 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28063 bytes +2025-06-06 11:08:24,553 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:24,553 - video.core - INFO - ๐Ÿ“ค Server relayed frame #885 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:24,597 - video.core - INFO - ๐Ÿ“ฅ Server received frame #886 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27919 bytes +2025-06-06 11:08:24,597 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:24,597 - video.core - INFO - ๐Ÿ“ค Server relayed frame #886 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:24,644 - video.core - INFO - ๐Ÿ“ฅ Server received frame #887 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27762 bytes +2025-06-06 11:08:24,645 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:24,645 - video.core - INFO - ๐Ÿ“ค Server relayed frame #887 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:24,680 - video.core - INFO - ๐Ÿ“ฅ Server received frame #888 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27755 bytes +2025-06-06 11:08:24,681 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:24,681 - video.core - INFO - ๐Ÿ“ค Server relayed frame #888 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:24,727 - video.core - INFO - ๐Ÿ“ฅ Server received frame #889 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27727 bytes +2025-06-06 11:08:24,728 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:24,728 - video.core - INFO - ๐Ÿ“ค Server relayed frame #889 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:24,778 - video.core - INFO - ๐Ÿ“น Frame #890 from producer producer_1749200857529: size=27868 bytes, resolution=640x480 +2025-06-06 11:08:24,778 - video.core - INFO - ๐Ÿ“ฅ Server received frame #890 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27868 bytes +2025-06-06 11:08:24,778 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:24,778 - video.core - INFO - ๐Ÿ“ค Server relayed frame #890 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:24,817 - video.core - INFO - ๐Ÿ“ฅ Server received frame #891 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27746 bytes +2025-06-06 11:08:24,817 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:24,817 - video.core - INFO - ๐Ÿ“ค Server relayed frame #891 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:24,853 - video.core - INFO - ๐Ÿ“ฅ Server received frame #892 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27706 bytes +2025-06-06 11:08:24,853 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:24,853 - video.core - INFO - ๐Ÿ“ค Server relayed frame #892 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:24,897 - video.core - INFO - ๐Ÿ“ฅ Server received frame #893 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27771 bytes +2025-06-06 11:08:24,897 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:24,897 - video.core - INFO - ๐Ÿ“ค Server relayed frame #893 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:24,945 - video.core - INFO - ๐Ÿ“ฅ Server received frame #894 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27675 bytes +2025-06-06 11:08:24,945 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:24,945 - video.core - INFO - ๐Ÿ“ค Server relayed frame #894 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:24,986 - video.core - INFO - ๐Ÿ“ฅ Server received frame #895 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27730 bytes +2025-06-06 11:08:24,986 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:24,986 - video.core - INFO - ๐Ÿ“ค Server relayed frame #895 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:25,028 - video.core - INFO - ๐Ÿ“ฅ Server received frame #896 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27768 bytes +2025-06-06 11:08:25,028 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:25,028 - video.core - INFO - ๐Ÿ“ค Server relayed frame #896 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:25,075 - video.core - INFO - ๐Ÿ“ฅ Server received frame #897 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27930 bytes +2025-06-06 11:08:25,075 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:25,075 - video.core - INFO - ๐Ÿ“ค Server relayed frame #897 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:25,115 - video.core - INFO - ๐Ÿ“ฅ Server received frame #898 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27774 bytes +2025-06-06 11:08:25,115 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:25,115 - video.core - INFO - ๐Ÿ“ค Server relayed frame #898 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:25,285 - video.core - INFO - ๐Ÿ“ฅ Server received frame #899 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27862 bytes +2025-06-06 11:08:25,286 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:25,286 - video.core - INFO - ๐Ÿ“ค Server relayed frame #899 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:25,419 - video.core - INFO - ๐Ÿ“น Frame #900 from producer producer_1749200857529: size=27695 bytes, resolution=640x480 +2025-06-06 11:08:25,419 - video.core - INFO - ๐Ÿ“ฅ Server received frame #900 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27695 bytes +2025-06-06 11:08:25,419 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:25,419 - video.core - INFO - ๐Ÿ“ค Server relayed frame #900 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:25,419 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 900 frames processed, 22.2 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:25,419 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 900 frames, 18.0 FPS, 3.98 Mbps throughput, 27689 bytes avg frame size +2025-06-06 11:08:25,420 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 900 frames processed, FPS: 22.9, Throughput: 5.08 Mbps, Avg frame size: 27689 bytes +2025-06-06 11:08:25,427 - video.core - INFO - ๐Ÿ“ฅ Server received frame #901 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27667 bytes +2025-06-06 11:08:25,427 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:25,428 - video.core - INFO - ๐Ÿ“ค Server relayed frame #901 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:25,429 - video.core - INFO - ๐Ÿ“ฅ Server received frame #902 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27771 bytes +2025-06-06 11:08:25,430 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:25,430 - video.core - INFO - ๐Ÿ“ค Server relayed frame #902 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:25,431 - video.core - INFO - ๐Ÿ“ฅ Server received frame #903 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27756 bytes +2025-06-06 11:08:25,431 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:25,431 - video.core - INFO - ๐Ÿ“ค Server relayed frame #903 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:25,433 - video.core - INFO - ๐Ÿ“ฅ Server received frame #904 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27898 bytes +2025-06-06 11:08:25,433 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:25,433 - video.core - INFO - ๐Ÿ“ค Server relayed frame #904 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:25,435 - video.core - INFO - ๐Ÿ“ฅ Server received frame #905 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27931 bytes +2025-06-06 11:08:25,436 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:25,436 - video.core - INFO - ๐Ÿ“ค Server relayed frame #905 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:25,475 - video.core - INFO - ๐Ÿ“ฅ Server received frame #906 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27847 bytes +2025-06-06 11:08:25,475 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:25,475 - video.core - INFO - ๐Ÿ“ค Server relayed frame #906 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:25,499 - video.core - INFO - ๐Ÿ“ฅ Server received frame #907 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27825 bytes +2025-06-06 11:08:25,499 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:25,499 - video.core - INFO - ๐Ÿ“ค Server relayed frame #907 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:25,541 - video.core - INFO - ๐Ÿ“ฅ Server received frame #908 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27821 bytes +2025-06-06 11:08:25,541 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:25,541 - video.core - INFO - ๐Ÿ“ค Server relayed frame #908 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:25,589 - video.core - INFO - ๐Ÿ“ฅ Server received frame #909 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27803 bytes +2025-06-06 11:08:25,589 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:25,589 - video.core - INFO - ๐Ÿ“ค Server relayed frame #909 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:25,636 - video.core - INFO - ๐Ÿ“น Frame #910 from producer producer_1749200857529: size=27713 bytes, resolution=640x480 +2025-06-06 11:08:25,637 - video.core - INFO - ๐Ÿ“ฅ Server received frame #910 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27713 bytes +2025-06-06 11:08:25,637 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:25,637 - video.core - INFO - ๐Ÿ“ค Server relayed frame #910 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:25,679 - video.core - INFO - ๐Ÿ“ฅ Server received frame #911 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27675 bytes +2025-06-06 11:08:25,679 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:25,679 - video.core - INFO - ๐Ÿ“ค Server relayed frame #911 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:25,727 - video.core - INFO - ๐Ÿ“ฅ Server received frame #912 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27767 bytes +2025-06-06 11:08:25,727 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:25,727 - video.core - INFO - ๐Ÿ“ค Server relayed frame #912 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:25,769 - video.core - INFO - ๐Ÿ“ฅ Server received frame #913 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28026 bytes +2025-06-06 11:08:25,770 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:25,770 - video.core - INFO - ๐Ÿ“ค Server relayed frame #913 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:25,811 - video.core - INFO - ๐Ÿ“ฅ Server received frame #914 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27849 bytes +2025-06-06 11:08:25,812 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:25,812 - video.core - INFO - ๐Ÿ“ค Server relayed frame #914 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:25,857 - video.core - INFO - ๐Ÿ“ฅ Server received frame #915 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27952 bytes +2025-06-06 11:08:25,858 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:25,858 - video.core - INFO - ๐Ÿ“ค Server relayed frame #915 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:25,901 - video.core - INFO - ๐Ÿ“ฅ Server received frame #916 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27887 bytes +2025-06-06 11:08:25,901 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:25,901 - video.core - INFO - ๐Ÿ“ค Server relayed frame #916 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:25,942 - video.core - INFO - ๐Ÿ“ฅ Server received frame #917 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27704 bytes +2025-06-06 11:08:25,943 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:25,943 - video.core - INFO - ๐Ÿ“ค Server relayed frame #917 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:25,993 - video.core - INFO - ๐Ÿ“ฅ Server received frame #918 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27618 bytes +2025-06-06 11:08:25,993 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:25,993 - video.core - INFO - ๐Ÿ“ค Server relayed frame #918 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:26,034 - video.core - INFO - ๐Ÿ“ฅ Server received frame #919 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27609 bytes +2025-06-06 11:08:26,035 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:26,035 - video.core - INFO - ๐Ÿ“ค Server relayed frame #919 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:26,078 - video.core - INFO - ๐Ÿ“น Frame #920 from producer producer_1749200857529: size=27707 bytes, resolution=640x480 +2025-06-06 11:08:26,079 - video.core - INFO - ๐Ÿ“ฅ Server received frame #920 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27707 bytes +2025-06-06 11:08:26,079 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:26,079 - video.core - INFO - ๐Ÿ“ค Server relayed frame #920 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:26,123 - video.core - INFO - ๐Ÿ“ฅ Server received frame #921 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27812 bytes +2025-06-06 11:08:26,123 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:26,123 - video.core - INFO - ๐Ÿ“ค Server relayed frame #921 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:26,173 - video.core - INFO - ๐Ÿ“ฅ Server received frame #922 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27794 bytes +2025-06-06 11:08:26,174 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:26,174 - video.core - INFO - ๐Ÿ“ค Server relayed frame #922 to 1 consumers in 0.9ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:26,216 - video.core - INFO - ๐Ÿ“ฅ Server received frame #923 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27900 bytes +2025-06-06 11:08:26,217 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:26,217 - video.core - INFO - ๐Ÿ“ค Server relayed frame #923 to 1 consumers in 0.7ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:26,247 - video.core - INFO - ๐Ÿ“ฅ Server received frame #924 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27842 bytes +2025-06-06 11:08:26,247 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:26,247 - video.core - INFO - ๐Ÿ“ค Server relayed frame #924 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:26,295 - video.core - INFO - ๐Ÿ“ฅ Server received frame #925 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27967 bytes +2025-06-06 11:08:26,295 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:26,295 - video.core - INFO - ๐Ÿ“ค Server relayed frame #925 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:26,340 - video.core - INFO - ๐Ÿ“ฅ Server received frame #926 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28040 bytes +2025-06-06 11:08:26,340 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:26,340 - video.core - INFO - ๐Ÿ“ค Server relayed frame #926 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:26,385 - video.core - INFO - ๐Ÿ“ฅ Server received frame #927 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27850 bytes +2025-06-06 11:08:26,385 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:26,385 - video.core - INFO - ๐Ÿ“ค Server relayed frame #927 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:26,414 - video.core - INFO - ๐Ÿ“ฅ Server received frame #928 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27835 bytes +2025-06-06 11:08:26,415 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:26,415 - video.core - INFO - ๐Ÿ“ค Server relayed frame #928 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:26,456 - video.core - INFO - ๐Ÿ“ฅ Server received frame #929 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27561 bytes +2025-06-06 11:08:26,456 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:26,456 - video.core - INFO - ๐Ÿ“ค Server relayed frame #929 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:26,505 - video.core - INFO - ๐Ÿ“น Frame #930 from producer producer_1749200857529: size=27529 bytes, resolution=640x480 +2025-06-06 11:08:26,505 - video.core - INFO - ๐Ÿ“ฅ Server received frame #930 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27529 bytes +2025-06-06 11:08:26,505 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:26,505 - video.core - INFO - ๐Ÿ“ค Server relayed frame #930 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:26,505 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 930 frames processed, 22.3 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:26,505 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 930 frames, 18.2 FPS, 4.03 Mbps throughput, 27693 bytes avg frame size +2025-06-06 11:08:26,506 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 930 frames processed, FPS: 23.1, Throughput: 5.11 Mbps, Avg frame size: 27693 bytes +2025-06-06 11:08:26,543 - video.core - INFO - ๐Ÿ“ฅ Server received frame #931 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27623 bytes +2025-06-06 11:08:26,543 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:26,543 - video.core - INFO - ๐Ÿ“ค Server relayed frame #931 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:26,586 - video.core - INFO - ๐Ÿ“ฅ Server received frame #932 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27660 bytes +2025-06-06 11:08:26,587 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:26,587 - video.core - INFO - ๐Ÿ“ค Server relayed frame #932 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:26,642 - video.core - INFO - ๐Ÿ“ฅ Server received frame #933 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27851 bytes +2025-06-06 11:08:26,642 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:26,642 - video.core - INFO - ๐Ÿ“ค Server relayed frame #933 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:26,681 - video.core - INFO - ๐Ÿ“ฅ Server received frame #934 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27765 bytes +2025-06-06 11:08:26,681 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:26,681 - video.core - INFO - ๐Ÿ“ค Server relayed frame #934 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:26,729 - video.core - INFO - ๐Ÿ“ฅ Server received frame #935 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27713 bytes +2025-06-06 11:08:26,729 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:26,729 - video.core - INFO - ๐Ÿ“ค Server relayed frame #935 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:26,758 - video.core - INFO - ๐Ÿ“ฅ Server received frame #936 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27732 bytes +2025-06-06 11:08:26,758 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:26,758 - video.core - INFO - ๐Ÿ“ค Server relayed frame #936 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:26,800 - video.core - INFO - ๐Ÿ“ฅ Server received frame #937 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27837 bytes +2025-06-06 11:08:26,800 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:26,801 - video.core - INFO - ๐Ÿ“ค Server relayed frame #937 to 1 consumers in 1.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:26,843 - video.core - INFO - ๐Ÿ“ฅ Server received frame #938 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27813 bytes +2025-06-06 11:08:26,843 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:26,843 - video.core - INFO - ๐Ÿ“ค Server relayed frame #938 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:26,886 - video.core - INFO - ๐Ÿ“ฅ Server received frame #939 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27661 bytes +2025-06-06 11:08:26,886 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:26,886 - video.core - INFO - ๐Ÿ“ค Server relayed frame #939 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:26,930 - video.core - INFO - ๐Ÿ“น Frame #940 from producer producer_1749200857529: size=27653 bytes, resolution=640x480 +2025-06-06 11:08:26,930 - video.core - INFO - ๐Ÿ“ฅ Server received frame #940 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27653 bytes +2025-06-06 11:08:26,930 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:26,930 - video.core - INFO - ๐Ÿ“ค Server relayed frame #940 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:26,971 - video.core - INFO - ๐Ÿ“ฅ Server received frame #941 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27702 bytes +2025-06-06 11:08:26,974 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:26,975 - video.core - INFO - ๐Ÿ“ค Server relayed frame #941 to 1 consumers in 3.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:27,014 - video.core - INFO - ๐Ÿ“ฅ Server received frame #942 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27434 bytes +2025-06-06 11:08:27,014 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:27,014 - video.core - INFO - ๐Ÿ“ค Server relayed frame #942 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:27,066 - video.core - INFO - ๐Ÿ“ฅ Server received frame #943 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27506 bytes +2025-06-06 11:08:27,066 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:27,066 - video.core - INFO - ๐Ÿ“ค Server relayed frame #943 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:27,099 - video.core - INFO - ๐Ÿ“ฅ Server received frame #944 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27556 bytes +2025-06-06 11:08:27,099 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:27,100 - video.core - INFO - ๐Ÿ“ค Server relayed frame #944 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:27,150 - video.core - INFO - ๐Ÿ“ฅ Server received frame #945 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27743 bytes +2025-06-06 11:08:27,151 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:27,151 - video.core - INFO - ๐Ÿ“ค Server relayed frame #945 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:27,196 - video.core - INFO - ๐Ÿ“ฅ Server received frame #946 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27777 bytes +2025-06-06 11:08:27,197 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:27,197 - video.core - INFO - ๐Ÿ“ค Server relayed frame #946 to 1 consumers in 0.7ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:27,237 - video.core - INFO - ๐Ÿ“ฅ Server received frame #947 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27740 bytes +2025-06-06 11:08:27,237 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:27,237 - video.core - INFO - ๐Ÿ“ค Server relayed frame #947 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:27,277 - video.core - INFO - ๐Ÿ“ฅ Server received frame #948 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27669 bytes +2025-06-06 11:08:27,277 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:27,277 - video.core - INFO - ๐Ÿ“ค Server relayed frame #948 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:27,316 - video.core - INFO - ๐Ÿ“ฅ Server received frame #949 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27633 bytes +2025-06-06 11:08:27,316 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:27,316 - video.core - INFO - ๐Ÿ“ค Server relayed frame #949 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:27,360 - video.core - INFO - ๐Ÿ“น Frame #950 from producer producer_1749200857529: size=27442 bytes, resolution=640x480 +2025-06-06 11:08:27,361 - video.core - INFO - ๐Ÿ“ฅ Server received frame #950 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27442 bytes +2025-06-06 11:08:27,361 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:27,361 - video.core - INFO - ๐Ÿ“ค Server relayed frame #950 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:27,403 - video.core - INFO - ๐Ÿ“ฅ Server received frame #951 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27652 bytes +2025-06-06 11:08:27,403 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:27,403 - video.core - INFO - ๐Ÿ“ค Server relayed frame #951 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:27,447 - video.core - INFO - ๐Ÿ“ฅ Server received frame #952 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27685 bytes +2025-06-06 11:08:27,447 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:27,447 - video.core - INFO - ๐Ÿ“ค Server relayed frame #952 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:27,489 - video.core - INFO - ๐Ÿ“ฅ Server received frame #953 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27704 bytes +2025-06-06 11:08:27,489 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:27,489 - video.core - INFO - ๐Ÿ“ค Server relayed frame #953 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:27,535 - video.core - INFO - ๐Ÿ“ฅ Server received frame #954 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27811 bytes +2025-06-06 11:08:27,535 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:27,535 - video.core - INFO - ๐Ÿ“ค Server relayed frame #954 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:27,580 - video.core - INFO - ๐Ÿ“ฅ Server received frame #955 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27892 bytes +2025-06-06 11:08:27,580 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:27,580 - video.core - INFO - ๐Ÿ“ค Server relayed frame #955 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:27,621 - video.core - INFO - ๐Ÿ“ฅ Server received frame #956 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28039 bytes +2025-06-06 11:08:27,621 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:27,621 - video.core - INFO - ๐Ÿ“ค Server relayed frame #956 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:27,663 - video.core - INFO - ๐Ÿ“ฅ Server received frame #957 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28067 bytes +2025-06-06 11:08:27,663 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:27,663 - video.core - INFO - ๐Ÿ“ค Server relayed frame #957 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:27,707 - video.core - INFO - ๐Ÿ“ฅ Server received frame #958 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28011 bytes +2025-06-06 11:08:27,707 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:27,707 - video.core - INFO - ๐Ÿ“ค Server relayed frame #958 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:27,750 - video.core - INFO - ๐Ÿ“ฅ Server received frame #959 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28062 bytes +2025-06-06 11:08:27,750 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:27,750 - video.core - INFO - ๐Ÿ“ค Server relayed frame #959 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:27,796 - video.core - INFO - ๐Ÿ“น Frame #960 from producer producer_1749200857529: size=27978 bytes, resolution=640x480 +2025-06-06 11:08:27,796 - video.core - INFO - ๐Ÿ“ฅ Server received frame #960 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27978 bytes +2025-06-06 11:08:27,796 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:27,796 - video.core - INFO - ๐Ÿ“ค Server relayed frame #960 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:27,796 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 960 frames processed, 22.3 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:27,796 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 960 frames, 18.3 FPS, 4.06 Mbps throughput, 27694 bytes avg frame size +2025-06-06 11:08:27,796 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 960 frames processed, FPS: 23.1, Throughput: 5.11 Mbps, Avg frame size: 27694 bytes +2025-06-06 11:08:27,841 - video.core - INFO - ๐Ÿ“ฅ Server received frame #961 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28146 bytes +2025-06-06 11:08:27,841 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:27,841 - video.core - INFO - ๐Ÿ“ค Server relayed frame #961 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:27,886 - video.core - INFO - ๐Ÿ“ฅ Server received frame #962 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28039 bytes +2025-06-06 11:08:27,886 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:27,886 - video.core - INFO - ๐Ÿ“ค Server relayed frame #962 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:27,931 - video.core - INFO - ๐Ÿ“ฅ Server received frame #963 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28092 bytes +2025-06-06 11:08:27,931 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:27,932 - video.core - INFO - ๐Ÿ“ค Server relayed frame #963 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:27,977 - video.core - INFO - ๐Ÿ“ฅ Server received frame #964 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28111 bytes +2025-06-06 11:08:27,977 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:27,977 - video.core - INFO - ๐Ÿ“ค Server relayed frame #964 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:28,021 - video.core - INFO - ๐Ÿ“ฅ Server received frame #965 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27848 bytes +2025-06-06 11:08:28,021 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:28,021 - video.core - INFO - ๐Ÿ“ค Server relayed frame #965 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:28,066 - video.core - INFO - ๐Ÿ“ฅ Server received frame #966 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27599 bytes +2025-06-06 11:08:28,066 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:28,066 - video.core - INFO - ๐Ÿ“ค Server relayed frame #966 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:28,102 - video.core - INFO - ๐Ÿ“ฅ Server received frame #967 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27660 bytes +2025-06-06 11:08:28,103 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:28,103 - video.core - INFO - ๐Ÿ“ค Server relayed frame #967 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:28,144 - video.core - INFO - ๐Ÿ“ฅ Server received frame #968 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27743 bytes +2025-06-06 11:08:28,144 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:28,144 - video.core - INFO - ๐Ÿ“ค Server relayed frame #968 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:28,194 - video.core - INFO - ๐Ÿ“ฅ Server received frame #969 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27717 bytes +2025-06-06 11:08:28,194 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:28,194 - video.core - INFO - ๐Ÿ“ค Server relayed frame #969 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:28,230 - video.core - INFO - ๐Ÿ“น Frame #970 from producer producer_1749200857529: size=27644 bytes, resolution=640x480 +2025-06-06 11:08:28,230 - video.core - INFO - ๐Ÿ“ฅ Server received frame #970 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27644 bytes +2025-06-06 11:08:28,230 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:28,230 - video.core - INFO - ๐Ÿ“ค Server relayed frame #970 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:28,272 - video.core - INFO - ๐Ÿ“ฅ Server received frame #971 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27413 bytes +2025-06-06 11:08:28,272 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:28,272 - video.core - INFO - ๐Ÿ“ค Server relayed frame #971 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:28,319 - video.core - INFO - ๐Ÿ“ฅ Server received frame #972 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27268 bytes +2025-06-06 11:08:28,319 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:28,319 - video.core - INFO - ๐Ÿ“ค Server relayed frame #972 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:28,363 - video.core - INFO - ๐Ÿ“ฅ Server received frame #973 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27397 bytes +2025-06-06 11:08:28,363 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:28,363 - video.core - INFO - ๐Ÿ“ค Server relayed frame #973 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:28,402 - video.core - INFO - ๐Ÿ“ฅ Server received frame #974 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27569 bytes +2025-06-06 11:08:28,403 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:28,403 - video.core - INFO - ๐Ÿ“ค Server relayed frame #974 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:28,442 - video.core - INFO - ๐Ÿ“ฅ Server received frame #975 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27510 bytes +2025-06-06 11:08:28,442 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:28,443 - video.core - INFO - ๐Ÿ“ค Server relayed frame #975 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:28,488 - video.core - INFO - ๐Ÿ“ฅ Server received frame #976 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27581 bytes +2025-06-06 11:08:28,488 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:28,488 - video.core - INFO - ๐Ÿ“ค Server relayed frame #976 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:28,532 - video.core - INFO - ๐Ÿ“ฅ Server received frame #977 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27777 bytes +2025-06-06 11:08:28,532 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:28,532 - video.core - INFO - ๐Ÿ“ค Server relayed frame #977 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:28,576 - video.core - INFO - ๐Ÿ“ฅ Server received frame #978 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27870 bytes +2025-06-06 11:08:28,576 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:28,576 - video.core - INFO - ๐Ÿ“ค Server relayed frame #978 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:28,619 - video.core - INFO - ๐Ÿ“ฅ Server received frame #979 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27868 bytes +2025-06-06 11:08:28,619 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:28,619 - video.core - INFO - ๐Ÿ“ค Server relayed frame #979 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:28,661 - video.core - INFO - ๐Ÿ“น Frame #980 from producer producer_1749200857529: size=27755 bytes, resolution=640x480 +2025-06-06 11:08:28,662 - video.core - INFO - ๐Ÿ“ฅ Server received frame #980 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27755 bytes +2025-06-06 11:08:28,662 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:28,662 - video.core - INFO - ๐Ÿ“ค Server relayed frame #980 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:28,707 - video.core - INFO - ๐Ÿ“ฅ Server received frame #981 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27617 bytes +2025-06-06 11:08:28,707 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:28,707 - video.core - INFO - ๐Ÿ“ค Server relayed frame #981 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:28,750 - video.core - INFO - ๐Ÿ“ฅ Server received frame #982 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27693 bytes +2025-06-06 11:08:28,751 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:28,751 - video.core - INFO - ๐Ÿ“ค Server relayed frame #982 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:28,795 - video.core - INFO - ๐Ÿ“ฅ Server received frame #983 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27828 bytes +2025-06-06 11:08:28,795 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:28,795 - video.core - INFO - ๐Ÿ“ค Server relayed frame #983 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:28,839 - video.core - INFO - ๐Ÿ“ฅ Server received frame #984 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27834 bytes +2025-06-06 11:08:28,839 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:28,839 - video.core - INFO - ๐Ÿ“ค Server relayed frame #984 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:28,876 - video.core - INFO - ๐Ÿ“ฅ Server received frame #985 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27829 bytes +2025-06-06 11:08:28,877 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:28,877 - video.core - INFO - ๐Ÿ“ค Server relayed frame #985 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:28,930 - video.core - INFO - ๐Ÿ“ฅ Server received frame #986 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27813 bytes +2025-06-06 11:08:28,931 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:28,931 - video.core - INFO - ๐Ÿ“ค Server relayed frame #986 to 1 consumers in 0.9ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:29,049 - video.core - INFO - ๐Ÿ“ฅ Server received frame #987 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27702 bytes +2025-06-06 11:08:29,049 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:29,049 - video.core - INFO - ๐Ÿ“ค Server relayed frame #987 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:29,051 - video.core - INFO - ๐Ÿ“ฅ Server received frame #988 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27594 bytes +2025-06-06 11:08:29,051 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:29,051 - video.core - INFO - ๐Ÿ“ค Server relayed frame #988 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:29,054 - video.core - INFO - ๐Ÿ“ฅ Server received frame #989 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27609 bytes +2025-06-06 11:08:29,055 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:29,055 - video.core - INFO - ๐Ÿ“ค Server relayed frame #989 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:29,092 - video.core - INFO - ๐Ÿ“น Frame #990 from producer producer_1749200857529: size=27496 bytes, resolution=640x480 +2025-06-06 11:08:29,092 - video.core - INFO - ๐Ÿ“ฅ Server received frame #990 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27496 bytes +2025-06-06 11:08:29,092 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:29,092 - video.core - INFO - ๐Ÿ“ค Server relayed frame #990 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:29,092 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 990 frames processed, 22.3 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:29,092 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 990 frames, 18.4 FPS, 4.08 Mbps throughput, 27695 bytes avg frame size +2025-06-06 11:08:29,092 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 990 frames processed, FPS: 23.1, Throughput: 5.11 Mbps, Avg frame size: 27695 bytes +2025-06-06 11:08:29,136 - video.core - INFO - ๐Ÿ“ฅ Server received frame #991 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27308 bytes +2025-06-06 11:08:29,136 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:29,136 - video.core - INFO - ๐Ÿ“ค Server relayed frame #991 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:29,180 - video.core - INFO - ๐Ÿ“ฅ Server received frame #992 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27378 bytes +2025-06-06 11:08:29,181 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:29,181 - video.core - INFO - ๐Ÿ“ค Server relayed frame #992 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:29,225 - video.core - INFO - ๐Ÿ“ฅ Server received frame #993 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27627 bytes +2025-06-06 11:08:29,225 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:29,225 - video.core - INFO - ๐Ÿ“ค Server relayed frame #993 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:29,269 - video.core - INFO - ๐Ÿ“ฅ Server received frame #994 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27144 bytes +2025-06-06 11:08:29,269 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:29,269 - video.core - INFO - ๐Ÿ“ค Server relayed frame #994 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:29,312 - video.core - INFO - ๐Ÿ“ฅ Server received frame #995 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27336 bytes +2025-06-06 11:08:29,312 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:29,312 - video.core - INFO - ๐Ÿ“ค Server relayed frame #995 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:29,356 - video.core - INFO - ๐Ÿ“ฅ Server received frame #996 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27339 bytes +2025-06-06 11:08:29,357 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:29,357 - video.core - INFO - ๐Ÿ“ค Server relayed frame #996 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:29,398 - video.core - INFO - ๐Ÿ“ฅ Server received frame #997 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27389 bytes +2025-06-06 11:08:29,398 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:29,398 - video.core - INFO - ๐Ÿ“ค Server relayed frame #997 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:29,438 - video.core - INFO - ๐Ÿ“ฅ Server received frame #998 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27400 bytes +2025-06-06 11:08:29,439 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:29,439 - video.core - INFO - ๐Ÿ“ค Server relayed frame #998 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:29,481 - video.core - INFO - ๐Ÿ“ฅ Server received frame #999 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27524 bytes +2025-06-06 11:08:29,481 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:29,481 - video.core - INFO - ๐Ÿ“ค Server relayed frame #999 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:29,526 - video.core - INFO - ๐Ÿ“น Frame #1000 from producer producer_1749200857529: size=27575 bytes, resolution=640x480 +2025-06-06 11:08:29,527 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1000 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27575 bytes +2025-06-06 11:08:29,527 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:29,527 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1000 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:29,569 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1001 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27707 bytes +2025-06-06 11:08:29,570 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:29,570 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1001 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:29,615 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1002 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27604 bytes +2025-06-06 11:08:29,615 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:29,615 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1002 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:29,657 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1003 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27683 bytes +2025-06-06 11:08:29,657 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:29,657 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1003 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:29,704 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1004 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27751 bytes +2025-06-06 11:08:29,704 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:29,704 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1004 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:29,742 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1005 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27808 bytes +2025-06-06 11:08:29,742 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:29,742 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1005 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:29,786 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1006 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27781 bytes +2025-06-06 11:08:29,786 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:29,787 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1006 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:29,834 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1007 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27925 bytes +2025-06-06 11:08:29,834 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:29,834 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1007 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:29,875 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1008 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27939 bytes +2025-06-06 11:08:29,876 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:29,876 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1008 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:29,921 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1009 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27836 bytes +2025-06-06 11:08:29,922 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:29,922 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1009 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:29,959 - video.core - INFO - ๐Ÿ“น Frame #1010 from producer producer_1749200857529: size=27933 bytes, resolution=640x480 +2025-06-06 11:08:29,960 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1010 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27933 bytes +2025-06-06 11:08:29,960 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:29,960 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1010 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:30,006 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1011 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27935 bytes +2025-06-06 11:08:30,006 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:30,007 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1011 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:30,052 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1012 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27954 bytes +2025-06-06 11:08:30,052 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:30,052 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1012 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:30,093 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1013 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28039 bytes +2025-06-06 11:08:30,093 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:30,093 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1013 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:30,139 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1014 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28014 bytes +2025-06-06 11:08:30,139 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:30,139 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1014 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:30,187 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1015 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27982 bytes +2025-06-06 11:08:30,188 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:30,188 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1015 to 1 consumers in 0.7ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:30,235 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1016 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28065 bytes +2025-06-06 11:08:30,236 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:30,236 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1016 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:30,269 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1017 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28100 bytes +2025-06-06 11:08:30,269 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:30,269 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1017 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:30,320 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1018 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28071 bytes +2025-06-06 11:08:30,320 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:30,320 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1018 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:30,366 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1019 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28095 bytes +2025-06-06 11:08:30,367 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:30,367 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1019 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:30,403 - video.core - INFO - ๐Ÿ“น Frame #1020 from producer producer_1749200857529: size=28108 bytes, resolution=640x480 +2025-06-06 11:08:30,403 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1020 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28108 bytes +2025-06-06 11:08:30,403 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:30,403 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1020 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:30,404 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1020 frames processed, 22.4 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:30,404 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1020 frames, 18.5 FPS, 4.11 Mbps throughput, 27696 bytes avg frame size +2025-06-06 11:08:30,404 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 1020 frames processed, FPS: 23.1, Throughput: 5.11 Mbps, Avg frame size: 27696 bytes +2025-06-06 11:08:30,439 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1021 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28089 bytes +2025-06-06 11:08:30,439 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:30,439 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1021 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:30,480 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1022 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28127 bytes +2025-06-06 11:08:30,480 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:30,480 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1022 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:30,525 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1023 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27966 bytes +2025-06-06 11:08:30,526 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:30,526 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1023 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:30,568 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1024 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27638 bytes +2025-06-06 11:08:30,569 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:30,569 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1024 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:30,613 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1025 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27547 bytes +2025-06-06 11:08:30,613 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:30,613 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1025 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:30,648 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1026 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27480 bytes +2025-06-06 11:08:30,649 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:30,649 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1026 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:30,693 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1027 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27629 bytes +2025-06-06 11:08:30,693 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:30,693 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1027 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:30,739 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1028 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27594 bytes +2025-06-06 11:08:30,739 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:30,739 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1028 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:30,787 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1029 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27537 bytes +2025-06-06 11:08:30,787 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:30,787 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1029 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:30,827 - video.core - INFO - ๐Ÿ“น Frame #1030 from producer producer_1749200857529: size=27610 bytes, resolution=640x480 +2025-06-06 11:08:30,827 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1030 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27610 bytes +2025-06-06 11:08:30,827 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:30,827 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1030 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:30,869 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1031 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27346 bytes +2025-06-06 11:08:30,870 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:30,870 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1031 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:30,920 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1032 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27186 bytes +2025-06-06 11:08:30,920 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:30,920 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1032 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:30,963 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1033 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27156 bytes +2025-06-06 11:08:30,964 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:30,964 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1033 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:30,998 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1034 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27317 bytes +2025-06-06 11:08:30,998 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:30,998 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1034 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:31,042 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1035 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27415 bytes +2025-06-06 11:08:31,042 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:31,042 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1035 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:31,084 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1036 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27515 bytes +2025-06-06 11:08:31,085 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:31,085 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1036 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:31,130 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1037 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27605 bytes +2025-06-06 11:08:31,130 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:31,130 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1037 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:31,170 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1038 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27541 bytes +2025-06-06 11:08:31,170 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:31,170 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1038 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:31,217 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1039 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27521 bytes +2025-06-06 11:08:31,217 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:31,217 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1039 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:31,269 - video.core - INFO - ๐Ÿ“น Frame #1040 from producer producer_1749200857529: size=27533 bytes, resolution=640x480 +2025-06-06 11:08:31,269 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1040 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27533 bytes +2025-06-06 11:08:31,269 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:31,269 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1040 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:31,306 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1041 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27515 bytes +2025-06-06 11:08:31,306 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:31,307 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1041 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:31,360 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1042 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27661 bytes +2025-06-06 11:08:31,360 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:31,360 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1042 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:31,395 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1043 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27609 bytes +2025-06-06 11:08:31,395 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:31,395 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1043 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:31,432 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1044 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27618 bytes +2025-06-06 11:08:31,433 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:31,433 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1044 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:31,474 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1045 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27610 bytes +2025-06-06 11:08:31,474 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:31,474 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1045 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:31,530 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1046 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27634 bytes +2025-06-06 11:08:31,530 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:31,530 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1046 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:31,573 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1047 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27729 bytes +2025-06-06 11:08:31,573 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:31,574 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1047 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:31,612 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1048 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27768 bytes +2025-06-06 11:08:31,612 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:31,612 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1048 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:31,653 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1049 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27733 bytes +2025-06-06 11:08:31,653 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:31,653 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1049 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:31,701 - video.core - INFO - ๐Ÿ“น Frame #1050 from producer producer_1749200857529: size=27579 bytes, resolution=640x480 +2025-06-06 11:08:31,702 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1050 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27579 bytes +2025-06-06 11:08:31,702 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:31,702 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1050 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:31,702 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1050 frames processed, 22.4 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:31,702 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1050 frames, 18.6 FPS, 4.13 Mbps throughput, 27694 bytes avg frame size +2025-06-06 11:08:31,702 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 1050 frames processed, FPS: 23.1, Throughput: 5.11 Mbps, Avg frame size: 27694 bytes +2025-06-06 11:08:31,750 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1051 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27656 bytes +2025-06-06 11:08:31,750 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:31,750 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1051 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:31,781 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1052 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27693 bytes +2025-06-06 11:08:31,781 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:31,781 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1052 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:31,834 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1053 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27743 bytes +2025-06-06 11:08:31,834 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:31,834 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1053 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:31,870 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1054 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27902 bytes +2025-06-06 11:08:31,870 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:31,870 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1054 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:31,925 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1055 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27880 bytes +2025-06-06 11:08:31,925 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:31,925 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1055 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:31,973 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1056 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27879 bytes +2025-06-06 11:08:31,973 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:31,973 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1056 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:32,021 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1057 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27871 bytes +2025-06-06 11:08:32,022 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:32,022 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1057 to 1 consumers in 1.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:32,053 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1058 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27812 bytes +2025-06-06 11:08:32,054 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:32,054 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1058 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:32,092 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1059 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27346 bytes +2025-06-06 11:08:32,092 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:32,092 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1059 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:32,144 - video.core - INFO - ๐Ÿ“น Frame #1060 from producer producer_1749200857529: size=26945 bytes, resolution=640x480 +2025-06-06 11:08:32,144 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1060 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26945 bytes +2025-06-06 11:08:32,144 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:32,144 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1060 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:32,192 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1061 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27067 bytes +2025-06-06 11:08:32,192 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:32,192 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1061 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:32,214 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1062 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27227 bytes +2025-06-06 11:08:32,214 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:32,214 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1062 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:32,273 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1063 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27125 bytes +2025-06-06 11:08:32,274 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:32,274 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1063 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:32,304 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1064 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27274 bytes +2025-06-06 11:08:32,305 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:32,305 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1064 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:32,355 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1065 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27435 bytes +2025-06-06 11:08:32,356 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:32,356 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1065 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:32,395 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1066 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27224 bytes +2025-06-06 11:08:32,395 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:32,395 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1066 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:32,432 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1067 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27271 bytes +2025-06-06 11:08:32,432 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:32,432 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1067 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:32,471 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1068 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27359 bytes +2025-06-06 11:08:32,472 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:32,472 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1068 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:32,528 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1069 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27534 bytes +2025-06-06 11:08:32,528 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:32,528 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1069 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:32,560 - video.core - INFO - ๐Ÿ“น Frame #1070 from producer producer_1749200857529: size=27750 bytes, resolution=640x480 +2025-06-06 11:08:32,560 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1070 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27750 bytes +2025-06-06 11:08:32,560 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:32,560 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1070 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:32,620 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1071 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27828 bytes +2025-06-06 11:08:32,620 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:32,620 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1071 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:32,653 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1072 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27929 bytes +2025-06-06 11:08:32,653 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:32,653 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1072 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:32,693 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1073 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27456 bytes +2025-06-06 11:08:32,693 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:32,694 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1073 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:32,742 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1074 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27469 bytes +2025-06-06 11:08:32,743 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:32,743 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1074 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:32,785 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1075 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27451 bytes +2025-06-06 11:08:32,785 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:32,786 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1075 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:32,832 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1076 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27518 bytes +2025-06-06 11:08:32,832 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:32,832 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1076 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:32,878 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1077 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27694 bytes +2025-06-06 11:08:32,878 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:32,878 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1077 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:32,912 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1078 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27584 bytes +2025-06-06 11:08:32,912 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:32,912 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1078 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:32,962 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1079 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27670 bytes +2025-06-06 11:08:32,962 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:32,963 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1079 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:33,007 - video.core - INFO - ๐Ÿ“น Frame #1080 from producer producer_1749200857529: size=27827 bytes, resolution=640x480 +2025-06-06 11:08:33,007 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1080 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27827 bytes +2025-06-06 11:08:33,007 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:33,007 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1080 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:33,008 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1080 frames processed, 22.4 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:33,008 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1080 frames, 18.7 FPS, 4.15 Mbps throughput, 27689 bytes avg frame size +2025-06-06 11:08:33,008 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 1080 frames processed, FPS: 23.1, Throughput: 5.11 Mbps, Avg frame size: 27689 bytes +2025-06-06 11:08:33,049 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1081 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28024 bytes +2025-06-06 11:08:33,049 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:33,050 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1081 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:33,080 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1082 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28107 bytes +2025-06-06 11:08:33,081 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:33,081 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1082 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:33,123 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1083 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28170 bytes +2025-06-06 11:08:33,123 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:33,123 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1083 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:33,165 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1084 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28087 bytes +2025-06-06 11:08:33,165 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:33,165 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1084 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:33,219 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1085 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28012 bytes +2025-06-06 11:08:33,219 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:33,219 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1085 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:33,252 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1086 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27942 bytes +2025-06-06 11:08:33,252 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:33,252 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1086 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:33,298 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1087 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27913 bytes +2025-06-06 11:08:33,298 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:33,298 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1087 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:33,342 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1088 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27921 bytes +2025-06-06 11:08:33,342 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:33,342 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1088 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:33,389 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1089 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27835 bytes +2025-06-06 11:08:33,389 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:33,389 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1089 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:33,424 - video.core - INFO - ๐Ÿ“น Frame #1090 from producer producer_1749200857529: size=27755 bytes, resolution=640x480 +2025-06-06 11:08:33,424 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1090 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27755 bytes +2025-06-06 11:08:33,425 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:33,425 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1090 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:33,466 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1091 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27592 bytes +2025-06-06 11:08:33,466 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:33,466 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1091 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:33,517 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1092 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27668 bytes +2025-06-06 11:08:33,517 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:33,517 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1092 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:33,552 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1093 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27451 bytes +2025-06-06 11:08:33,552 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:33,552 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1093 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:33,595 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1094 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27450 bytes +2025-06-06 11:08:33,595 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:33,595 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1094 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:33,639 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1095 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27093 bytes +2025-06-06 11:08:33,639 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:33,639 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1095 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:33,693 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1096 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27344 bytes +2025-06-06 11:08:33,693 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:33,693 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1096 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:33,734 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1097 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26627 bytes +2025-06-06 11:08:33,734 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:33,734 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1097 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:33,776 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1098 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26631 bytes +2025-06-06 11:08:33,777 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:33,777 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1098 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:33,829 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1099 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26954 bytes +2025-06-06 11:08:33,829 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:33,829 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1099 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:33,867 - video.core - INFO - ๐Ÿ“น Frame #1100 from producer producer_1749200857529: size=26810 bytes, resolution=640x480 +2025-06-06 11:08:33,867 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1100 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26810 bytes +2025-06-06 11:08:33,867 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:33,867 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1100 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:33,902 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1101 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26983 bytes +2025-06-06 11:08:33,902 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:33,902 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1101 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:33,958 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1102 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27050 bytes +2025-06-06 11:08:33,959 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:33,959 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1102 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:33,992 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1103 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27162 bytes +2025-06-06 11:08:33,992 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:33,992 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1103 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:34,035 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1104 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27290 bytes +2025-06-06 11:08:34,035 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:34,035 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1104 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:34,078 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1105 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27051 bytes +2025-06-06 11:08:34,078 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:34,079 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1105 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:34,120 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1106 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27226 bytes +2025-06-06 11:08:34,120 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:34,120 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1106 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:34,159 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1107 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27339 bytes +2025-06-06 11:08:34,159 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:34,160 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1107 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:34,220 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1108 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27264 bytes +2025-06-06 11:08:34,220 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:34,220 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1108 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:34,268 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1109 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27461 bytes +2025-06-06 11:08:34,268 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:34,268 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1109 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:34,315 - video.core - INFO - ๐Ÿ“น Frame #1110 from producer producer_1749200857529: size=27494 bytes, resolution=640x480 +2025-06-06 11:08:34,316 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1110 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27494 bytes +2025-06-06 11:08:34,316 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:34,316 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1110 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:34,316 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1110 frames processed, 22.4 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:34,316 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1110 frames, 18.8 FPS, 4.17 Mbps throughput, 27683 bytes avg frame size +2025-06-06 11:08:34,316 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 1110 frames processed, FPS: 23.1, Throughput: 5.11 Mbps, Avg frame size: 27683 bytes +2025-06-06 11:08:34,345 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1111 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27612 bytes +2025-06-06 11:08:34,345 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:34,345 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1111 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:34,394 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1112 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27730 bytes +2025-06-06 11:08:34,394 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:34,394 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1112 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:34,426 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1113 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27910 bytes +2025-06-06 11:08:34,426 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:34,426 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1113 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:34,462 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1114 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27932 bytes +2025-06-06 11:08:34,462 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:34,462 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1114 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:34,504 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1115 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27857 bytes +2025-06-06 11:08:34,504 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:34,504 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1115 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:34,562 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1116 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27716 bytes +2025-06-06 11:08:34,562 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:34,562 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1116 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:34,595 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1117 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27725 bytes +2025-06-06 11:08:34,595 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:34,595 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1117 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:34,645 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1118 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27818 bytes +2025-06-06 11:08:34,645 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:34,645 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1118 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:34,692 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1119 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27877 bytes +2025-06-06 11:08:34,692 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:34,692 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1119 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:34,731 - video.core - INFO - ๐Ÿ“น Frame #1120 from producer producer_1749200857529: size=27752 bytes, resolution=640x480 +2025-06-06 11:08:34,731 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1120 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27752 bytes +2025-06-06 11:08:34,731 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:34,732 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1120 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:34,781 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1121 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27653 bytes +2025-06-06 11:08:34,781 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:34,781 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1121 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:34,830 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1122 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27681 bytes +2025-06-06 11:08:34,831 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:34,831 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1122 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:34,874 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1123 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27608 bytes +2025-06-06 11:08:34,874 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:34,875 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1123 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:34,917 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1124 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27668 bytes +2025-06-06 11:08:34,917 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:34,918 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1124 to 1 consumers in 0.8ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:34,961 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1125 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27642 bytes +2025-06-06 11:08:34,962 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:34,962 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1125 to 1 consumers in 0.8ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,005 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1126 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27780 bytes +2025-06-06 11:08:35,006 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,006 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1126 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,045 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1127 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27821 bytes +2025-06-06 11:08:35,045 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,045 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1127 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,080 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1128 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27804 bytes +2025-06-06 11:08:35,080 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,080 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1128 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,110 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1129 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27909 bytes +2025-06-06 11:08:35,110 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,110 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1129 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,140 - video.core - INFO - ๐Ÿ“น Frame #1130 from producer producer_1749200857529: size=27833 bytes, resolution=640x480 +2025-06-06 11:08:35,140 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1130 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27833 bytes +2025-06-06 11:08:35,140 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,140 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1130 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,157 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1131 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27984 bytes +2025-06-06 11:08:35,157 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,157 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1131 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,196 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1132 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27691 bytes +2025-06-06 11:08:35,197 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,197 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1132 to 1 consumers in 1.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,244 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1133 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27596 bytes +2025-06-06 11:08:35,245 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,245 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1133 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,260 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1134 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27646 bytes +2025-06-06 11:08:35,260 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,260 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1134 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,290 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1135 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27709 bytes +2025-06-06 11:08:35,290 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,290 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1135 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,330 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1136 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27876 bytes +2025-06-06 11:08:35,330 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,330 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1136 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,360 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1137 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27574 bytes +2025-06-06 11:08:35,361 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,361 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1137 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,397 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1138 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27379 bytes +2025-06-06 11:08:35,397 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,397 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1138 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,424 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1139 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27317 bytes +2025-06-06 11:08:35,424 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,424 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1139 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,457 - video.core - INFO - ๐Ÿ“น Frame #1140 from producer producer_1749200857529: size=27387 bytes, resolution=640x480 +2025-06-06 11:08:35,457 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1140 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27387 bytes +2025-06-06 11:08:35,457 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,457 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1140 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,457 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1140 frames processed, 22.5 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,457 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1140 frames, 19.0 FPS, 4.20 Mbps throughput, 27684 bytes avg frame size +2025-06-06 11:08:35,457 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 1140 frames processed, FPS: 23.1, Throughput: 5.13 Mbps, Avg frame size: 27684 bytes +2025-06-06 11:08:35,489 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1141 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27473 bytes +2025-06-06 11:08:35,489 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,489 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1141 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,526 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1142 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27529 bytes +2025-06-06 11:08:35,526 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,526 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1142 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,552 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1143 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27716 bytes +2025-06-06 11:08:35,552 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,552 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1143 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,590 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1144 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27665 bytes +2025-06-06 11:08:35,591 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,591 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1144 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,628 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1145 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27721 bytes +2025-06-06 11:08:35,628 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,628 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1145 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,657 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1146 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27583 bytes +2025-06-06 11:08:35,657 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,657 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1146 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,693 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1147 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27613 bytes +2025-06-06 11:08:35,694 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,694 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1147 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,728 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1148 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27634 bytes +2025-06-06 11:08:35,728 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,728 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1148 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,757 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1149 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27778 bytes +2025-06-06 11:08:35,758 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,758 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1149 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,798 - video.core - INFO - ๐Ÿ“น Frame #1150 from producer producer_1749200857529: size=27784 bytes, resolution=640x480 +2025-06-06 11:08:35,798 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1150 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27784 bytes +2025-06-06 11:08:35,798 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,798 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1150 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,830 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1151 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27768 bytes +2025-06-06 11:08:35,830 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,830 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1151 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,862 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1152 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27891 bytes +2025-06-06 11:08:35,862 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,862 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1152 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,903 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1153 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27894 bytes +2025-06-06 11:08:35,903 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,903 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1153 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,925 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1154 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27875 bytes +2025-06-06 11:08:35,925 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,926 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1154 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,967 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1155 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27689 bytes +2025-06-06 11:08:35,967 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:35,967 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1155 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,002 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1156 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27721 bytes +2025-06-06 11:08:36,003 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,003 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1156 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,038 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1157 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27799 bytes +2025-06-06 11:08:36,038 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,038 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1157 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,075 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1158 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27878 bytes +2025-06-06 11:08:36,075 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,075 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1158 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,110 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1159 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27836 bytes +2025-06-06 11:08:36,110 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,111 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1159 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,138 - video.core - INFO - ๐Ÿ“น Frame #1160 from producer producer_1749200857529: size=27892 bytes, resolution=640x480 +2025-06-06 11:08:36,138 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1160 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27892 bytes +2025-06-06 11:08:36,138 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,138 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1160 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,170 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1161 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27855 bytes +2025-06-06 11:08:36,170 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,170 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1161 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,207 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1162 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27918 bytes +2025-06-06 11:08:36,207 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,207 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1162 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,241 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1163 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27991 bytes +2025-06-06 11:08:36,242 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,242 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1163 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,268 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1164 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27781 bytes +2025-06-06 11:08:36,268 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,268 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1164 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,303 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1165 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27717 bytes +2025-06-06 11:08:36,303 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,303 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1165 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,341 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1166 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27707 bytes +2025-06-06 11:08:36,341 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,341 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1166 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,376 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1167 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27579 bytes +2025-06-06 11:08:36,376 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,376 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1167 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,404 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1168 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27708 bytes +2025-06-06 11:08:36,404 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,404 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1168 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,427 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1169 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27439 bytes +2025-06-06 11:08:36,427 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,427 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1169 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,458 - video.core - INFO - ๐Ÿ“น Frame #1170 from producer producer_1749200857529: size=27641 bytes, resolution=640x480 +2025-06-06 11:08:36,458 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1170 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27641 bytes +2025-06-06 11:08:36,458 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,458 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1170 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,458 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1170 frames processed, 22.6 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,458 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1170 frames, 19.2 FPS, 4.24 Mbps throughput, 27685 bytes avg frame size +2025-06-06 11:08:36,458 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 1170 frames processed, FPS: 23.3, Throughput: 5.16 Mbps, Avg frame size: 27685 bytes +2025-06-06 11:08:36,491 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1171 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27690 bytes +2025-06-06 11:08:36,491 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,491 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1171 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,538 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1172 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27619 bytes +2025-06-06 11:08:36,538 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,538 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1172 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,561 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1173 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27401 bytes +2025-06-06 11:08:36,561 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,561 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1173 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,602 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1174 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27450 bytes +2025-06-06 11:08:36,602 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,602 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1174 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,636 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1175 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27383 bytes +2025-06-06 11:08:36,637 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,637 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1175 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,676 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1176 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27285 bytes +2025-06-06 11:08:36,676 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,676 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1176 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,705 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1177 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27289 bytes +2025-06-06 11:08:36,706 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,706 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1177 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,741 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1178 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27445 bytes +2025-06-06 11:08:36,742 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,742 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1178 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,780 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1179 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27546 bytes +2025-06-06 11:08:36,780 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,780 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1179 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,817 - video.core - INFO - ๐Ÿ“น Frame #1180 from producer producer_1749200857529: size=27659 bytes, resolution=640x480 +2025-06-06 11:08:36,818 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1180 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27659 bytes +2025-06-06 11:08:36,818 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,818 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1180 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,854 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1181 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27614 bytes +2025-06-06 11:08:36,854 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,854 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1181 to 1 consumers in 0.8ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,891 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1182 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27720 bytes +2025-06-06 11:08:36,891 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,891 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1182 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,919 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1183 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27854 bytes +2025-06-06 11:08:36,920 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,920 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1183 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,964 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1184 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28029 bytes +2025-06-06 11:08:36,964 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,964 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1184 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,985 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1185 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27939 bytes +2025-06-06 11:08:36,986 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:36,986 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1185 to 1 consumers in 0.7ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,016 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1186 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27869 bytes +2025-06-06 11:08:37,017 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,017 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1186 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,031 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1187 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27914 bytes +2025-06-06 11:08:37,031 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,031 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1187 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,068 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1188 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27880 bytes +2025-06-06 11:08:37,068 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,068 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1188 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,107 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1189 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27901 bytes +2025-06-06 11:08:37,108 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,108 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1189 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,145 - video.core - INFO - ๐Ÿ“น Frame #1190 from producer producer_1749200857529: size=27956 bytes, resolution=640x480 +2025-06-06 11:08:37,146 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1190 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27956 bytes +2025-06-06 11:08:37,146 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,146 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1190 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,191 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1191 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27828 bytes +2025-06-06 11:08:37,194 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,194 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1191 to 1 consumers in 4.7ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,222 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1192 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27798 bytes +2025-06-06 11:08:37,223 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,223 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1192 to 1 consumers in 0.7ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,235 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1193 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28016 bytes +2025-06-06 11:08:37,235 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,235 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1193 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,261 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1194 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27929 bytes +2025-06-06 11:08:37,261 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,261 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1194 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,293 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1195 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27853 bytes +2025-06-06 11:08:37,294 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,294 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1195 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,331 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1196 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28008 bytes +2025-06-06 11:08:37,331 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,331 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1196 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,369 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1197 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28089 bytes +2025-06-06 11:08:37,369 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,369 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1197 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,400 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1198 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28089 bytes +2025-06-06 11:08:37,400 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,400 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1198 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,429 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1199 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28097 bytes +2025-06-06 11:08:37,429 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,429 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1199 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,460 - video.core - INFO - ๐Ÿ“น Frame #1200 from producer producer_1749200857529: size=28093 bytes, resolution=640x480 +2025-06-06 11:08:37,460 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1200 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28093 bytes +2025-06-06 11:08:37,460 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,460 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1200 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,460 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1200 frames processed, 22.8 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,460 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1200 frames, 19.3 FPS, 4.28 Mbps throughput, 27688 bytes avg frame size +2025-06-06 11:08:37,460 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 1200 frames processed, FPS: 23.4, Throughput: 5.18 Mbps, Avg frame size: 27688 bytes +2025-06-06 11:08:37,492 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1201 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28110 bytes +2025-06-06 11:08:37,492 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,492 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1201 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,534 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1202 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28071 bytes +2025-06-06 11:08:37,534 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,534 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1202 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,566 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1203 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27953 bytes +2025-06-06 11:08:37,566 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,566 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1203 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,599 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1204 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27841 bytes +2025-06-06 11:08:37,599 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,599 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1204 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,642 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1205 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27677 bytes +2025-06-06 11:08:37,642 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,642 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1205 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,675 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1206 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27848 bytes +2025-06-06 11:08:37,675 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,675 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1206 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,713 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1207 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27812 bytes +2025-06-06 11:08:37,713 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,713 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1207 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,740 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1208 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27928 bytes +2025-06-06 11:08:37,740 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,740 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1208 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,769 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1209 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28016 bytes +2025-06-06 11:08:37,769 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,769 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1209 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,808 - video.core - INFO - ๐Ÿ“น Frame #1210 from producer producer_1749200857529: size=28087 bytes, resolution=640x480 +2025-06-06 11:08:37,809 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1210 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28087 bytes +2025-06-06 11:08:37,809 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,809 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1210 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,832 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1211 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28126 bytes +2025-06-06 11:08:37,832 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,832 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1211 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,870 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1212 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28035 bytes +2025-06-06 11:08:37,870 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,870 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1212 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,902 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1213 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27875 bytes +2025-06-06 11:08:37,902 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,902 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1213 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,941 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1214 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27818 bytes +2025-06-06 11:08:37,941 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,941 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1214 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,968 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1215 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27859 bytes +2025-06-06 11:08:37,968 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,968 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1215 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,998 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1216 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27786 bytes +2025-06-06 11:08:37,999 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:37,999 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1216 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,040 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1217 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27622 bytes +2025-06-06 11:08:38,040 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,040 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1217 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,072 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1218 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27604 bytes +2025-06-06 11:08:38,072 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,072 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1218 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,107 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1219 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27410 bytes +2025-06-06 11:08:38,108 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,108 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1219 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,145 - video.core - INFO - ๐Ÿ“น Frame #1220 from producer producer_1749200857529: size=27346 bytes, resolution=640x480 +2025-06-06 11:08:38,145 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1220 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27346 bytes +2025-06-06 11:08:38,145 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,145 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1220 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,182 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1221 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27425 bytes +2025-06-06 11:08:38,182 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,182 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1221 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,219 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1222 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27408 bytes +2025-06-06 11:08:38,219 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,219 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1222 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,257 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1223 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27307 bytes +2025-06-06 11:08:38,257 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,257 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1223 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,290 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1224 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27425 bytes +2025-06-06 11:08:38,290 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,290 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1224 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,314 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1225 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27458 bytes +2025-06-06 11:08:38,314 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,314 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1225 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,339 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1226 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27504 bytes +2025-06-06 11:08:38,339 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,339 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1226 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,373 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1227 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27573 bytes +2025-06-06 11:08:38,373 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,373 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1227 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,409 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1228 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27661 bytes +2025-06-06 11:08:38,409 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,410 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1228 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,433 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1229 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27845 bytes +2025-06-06 11:08:38,433 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,434 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1229 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,462 - video.core - INFO - ๐Ÿ“น Frame #1230 from producer producer_1749200857529: size=27880 bytes, resolution=640x480 +2025-06-06 11:08:38,462 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1230 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27880 bytes +2025-06-06 11:08:38,462 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,462 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1230 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,462 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1230 frames processed, 22.9 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,462 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1230 frames, 19.5 FPS, 4.32 Mbps throughput, 27689 bytes avg frame size +2025-06-06 11:08:38,462 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 1230 frames processed, FPS: 23.5, Throughput: 5.21 Mbps, Avg frame size: 27689 bytes +2025-06-06 11:08:38,492 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1231 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27939 bytes +2025-06-06 11:08:38,492 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,492 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1231 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,528 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1232 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27830 bytes +2025-06-06 11:08:38,528 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,528 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1232 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,567 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1233 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27596 bytes +2025-06-06 11:08:38,567 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,567 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1233 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,599 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1234 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27562 bytes +2025-06-06 11:08:38,599 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,599 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1234 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,631 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1235 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27654 bytes +2025-06-06 11:08:38,631 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,631 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1235 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,663 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1236 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27491 bytes +2025-06-06 11:08:38,663 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,663 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1236 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,695 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1237 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27449 bytes +2025-06-06 11:08:38,695 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,695 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1237 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,731 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1238 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27555 bytes +2025-06-06 11:08:38,731 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,731 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1238 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,764 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1239 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27328 bytes +2025-06-06 11:08:38,765 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,765 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1239 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,797 - video.core - INFO - ๐Ÿ“น Frame #1240 from producer producer_1749200857529: size=27191 bytes, resolution=640x480 +2025-06-06 11:08:38,797 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1240 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27191 bytes +2025-06-06 11:08:38,797 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,797 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1240 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,834 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1241 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27358 bytes +2025-06-06 11:08:38,834 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,834 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1241 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,867 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1242 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27284 bytes +2025-06-06 11:08:38,867 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,867 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1242 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,901 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1243 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27368 bytes +2025-06-06 11:08:38,901 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,901 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1243 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,935 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1244 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27393 bytes +2025-06-06 11:08:38,935 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,935 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1244 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,969 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1245 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27556 bytes +2025-06-06 11:08:38,970 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:38,970 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1245 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,005 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1246 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27661 bytes +2025-06-06 11:08:39,005 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,005 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1246 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,033 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1247 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27641 bytes +2025-06-06 11:08:39,033 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,033 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1247 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,065 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1248 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27622 bytes +2025-06-06 11:08:39,065 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,065 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1248 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,097 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1249 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27613 bytes +2025-06-06 11:08:39,097 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,097 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1249 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,132 - video.core - INFO - ๐Ÿ“น Frame #1250 from producer producer_1749200857529: size=27816 bytes, resolution=640x480 +2025-06-06 11:08:39,132 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1250 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27816 bytes +2025-06-06 11:08:39,132 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,132 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1250 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,166 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1251 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27815 bytes +2025-06-06 11:08:39,167 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,167 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1251 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,206 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1252 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27810 bytes +2025-06-06 11:08:39,206 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,206 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1252 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,233 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1253 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27819 bytes +2025-06-06 11:08:39,234 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,234 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1253 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,268 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1254 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27875 bytes +2025-06-06 11:08:39,269 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,269 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1254 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,297 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1255 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27932 bytes +2025-06-06 11:08:39,297 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,297 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1255 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,328 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1256 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27943 bytes +2025-06-06 11:08:39,329 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,329 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1256 to 1 consumers in 0.8ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,363 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1257 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27916 bytes +2025-06-06 11:08:39,363 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,363 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1257 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,428 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1258 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27949 bytes +2025-06-06 11:08:39,428 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,428 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1258 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,432 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1259 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27947 bytes +2025-06-06 11:08:39,432 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,432 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1259 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,464 - video.core - INFO - ๐Ÿ“น Frame #1260 from producer producer_1749200857529: size=27876 bytes, resolution=640x480 +2025-06-06 11:08:39,464 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1260 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27876 bytes +2025-06-06 11:08:39,464 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,464 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1260 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,464 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1260 frames processed, 23.0 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,465 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1260 frames, 19.7 FPS, 4.36 Mbps throughput, 27688 bytes avg frame size +2025-06-06 11:08:39,465 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 1260 frames processed, FPS: 23.7, Throughput: 5.24 Mbps, Avg frame size: 27688 bytes +2025-06-06 11:08:39,496 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1261 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27807 bytes +2025-06-06 11:08:39,496 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,496 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1261 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,574 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1262 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27792 bytes +2025-06-06 11:08:39,575 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,575 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1262 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,579 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1263 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27915 bytes +2025-06-06 11:08:39,579 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,579 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1263 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,598 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1264 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27927 bytes +2025-06-06 11:08:39,598 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,598 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1264 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,626 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1265 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27857 bytes +2025-06-06 11:08:39,626 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,626 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1265 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,660 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1266 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27875 bytes +2025-06-06 11:08:39,660 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,660 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1266 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,694 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1267 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27874 bytes +2025-06-06 11:08:39,694 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,694 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1267 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,729 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1268 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27727 bytes +2025-06-06 11:08:39,729 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,729 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1268 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,762 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1269 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27787 bytes +2025-06-06 11:08:39,763 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,763 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1269 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,798 - video.core - INFO - ๐Ÿ“น Frame #1270 from producer producer_1749200857529: size=27752 bytes, resolution=640x480 +2025-06-06 11:08:39,798 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1270 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27752 bytes +2025-06-06 11:08:39,798 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,798 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1270 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,833 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1271 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27736 bytes +2025-06-06 11:08:39,833 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,833 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1271 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,863 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1272 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27791 bytes +2025-06-06 11:08:39,863 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,863 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1272 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,899 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1273 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27774 bytes +2025-06-06 11:08:39,899 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,899 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1273 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,929 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1274 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27642 bytes +2025-06-06 11:08:39,930 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,930 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1274 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,961 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1275 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27733 bytes +2025-06-06 11:08:39,961 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,961 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1275 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,999 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1276 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27657 bytes +2025-06-06 11:08:39,999 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:39,999 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1276 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,030 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1277 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27602 bytes +2025-06-06 11:08:40,030 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,030 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1277 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,067 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1278 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27666 bytes +2025-06-06 11:08:40,067 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,067 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1278 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,095 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1279 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27618 bytes +2025-06-06 11:08:40,095 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,095 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1279 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,126 - video.core - INFO - ๐Ÿ“น Frame #1280 from producer producer_1749200857529: size=27679 bytes, resolution=640x480 +2025-06-06 11:08:40,126 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1280 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27679 bytes +2025-06-06 11:08:40,126 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,126 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1280 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,161 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1281 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27379 bytes +2025-06-06 11:08:40,161 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,161 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1281 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,195 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1282 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27217 bytes +2025-06-06 11:08:40,195 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,195 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1282 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,233 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1283 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27322 bytes +2025-06-06 11:08:40,233 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,233 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1283 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,264 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1284 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27096 bytes +2025-06-06 11:08:40,265 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,265 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1284 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,297 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1285 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27281 bytes +2025-06-06 11:08:40,298 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,298 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1285 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,333 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1286 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27329 bytes +2025-06-06 11:08:40,333 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,333 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1286 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,363 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1287 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27434 bytes +2025-06-06 11:08:40,364 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,364 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1287 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,397 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1288 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27631 bytes +2025-06-06 11:08:40,397 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,397 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1288 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,429 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1289 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27747 bytes +2025-06-06 11:08:40,429 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,430 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1289 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,464 - video.core - INFO - ๐Ÿ“น Frame #1290 from producer producer_1749200857529: size=27763 bytes, resolution=640x480 +2025-06-06 11:08:40,464 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1290 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27763 bytes +2025-06-06 11:08:40,464 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,464 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1290 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,464 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1290 frames processed, 23.2 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,464 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1290 frames, 19.8 FPS, 4.39 Mbps throughput, 27687 bytes avg frame size +2025-06-06 11:08:40,464 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 1290 frames processed, FPS: 23.8, Throughput: 5.26 Mbps, Avg frame size: 27687 bytes +2025-06-06 11:08:40,493 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1291 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27480 bytes +2025-06-06 11:08:40,493 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,493 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1291 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,529 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1292 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27378 bytes +2025-06-06 11:08:40,529 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,529 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1292 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,561 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1293 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27401 bytes +2025-06-06 11:08:40,561 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,561 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1293 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,595 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1294 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27503 bytes +2025-06-06 11:08:40,595 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,595 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1294 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,631 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1295 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27590 bytes +2025-06-06 11:08:40,631 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,631 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1295 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,664 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1296 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27679 bytes +2025-06-06 11:08:40,664 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,664 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1296 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,696 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1297 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27722 bytes +2025-06-06 11:08:40,696 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,696 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1297 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,729 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1298 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27765 bytes +2025-06-06 11:08:40,730 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,730 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1298 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,763 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1299 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27882 bytes +2025-06-06 11:08:40,763 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,764 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1299 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,796 - video.core - INFO - ๐Ÿ“น Frame #1300 from producer producer_1749200857529: size=27732 bytes, resolution=640x480 +2025-06-06 11:08:40,796 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1300 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27732 bytes +2025-06-06 11:08:40,796 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,796 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1300 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,828 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1301 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27807 bytes +2025-06-06 11:08:40,828 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,828 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1301 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,863 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1302 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27837 bytes +2025-06-06 11:08:40,863 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,863 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1302 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,896 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1303 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27617 bytes +2025-06-06 11:08:40,896 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,896 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1303 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,930 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1304 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27559 bytes +2025-06-06 11:08:40,930 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,930 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1304 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,962 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1305 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27502 bytes +2025-06-06 11:08:40,962 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,962 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1305 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,994 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1306 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27628 bytes +2025-06-06 11:08:40,994 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:40,994 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1306 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,027 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1307 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27556 bytes +2025-06-06 11:08:41,027 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,027 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1307 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,067 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1308 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27599 bytes +2025-06-06 11:08:41,067 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,067 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1308 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,098 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1309 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27517 bytes +2025-06-06 11:08:41,098 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,098 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1309 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,134 - video.core - INFO - ๐Ÿ“น Frame #1310 from producer producer_1749200857529: size=27585 bytes, resolution=640x480 +2025-06-06 11:08:41,134 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1310 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27585 bytes +2025-06-06 11:08:41,134 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,134 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1310 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,166 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1311 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27646 bytes +2025-06-06 11:08:41,166 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,166 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1311 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,199 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1312 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27589 bytes +2025-06-06 11:08:41,200 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,200 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1312 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,231 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1313 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27604 bytes +2025-06-06 11:08:41,231 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,231 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1313 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,262 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1314 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27676 bytes +2025-06-06 11:08:41,262 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,262 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1314 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,300 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1315 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27772 bytes +2025-06-06 11:08:41,300 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,300 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1315 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,334 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1316 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27630 bytes +2025-06-06 11:08:41,334 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,334 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1316 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,502 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1317 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27537 bytes +2025-06-06 11:08:41,532 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 28.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,539 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1317 to 1 consumers in 31.7ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,710 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1318 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27656 bytes +2025-06-06 11:08:41,711 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,711 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1318 to 1 consumers in 1.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,717 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1319 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27686 bytes +2025-06-06 11:08:41,717 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,718 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1319 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,721 - video.core - INFO - ๐Ÿ“น Frame #1320 from producer producer_1749200857529: size=27783 bytes, resolution=640x480 +2025-06-06 11:08:41,721 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1320 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27783 bytes +2025-06-06 11:08:41,722 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,722 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1320 to 1 consumers in 0.9ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,722 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1320 frames processed, 23.2 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,722 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1320 frames, 19.9 FPS, 4.41 Mbps throughput, 27686 bytes avg frame size +2025-06-06 11:08:41,722 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 1320 frames processed, FPS: 23.8, Throughput: 5.27 Mbps, Avg frame size: 27686 bytes +2025-06-06 11:08:41,724 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1321 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27810 bytes +2025-06-06 11:08:41,724 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,725 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1321 to 1 consumers in 1.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,727 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1322 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27671 bytes +2025-06-06 11:08:41,727 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,727 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1322 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,736 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1323 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27477 bytes +2025-06-06 11:08:41,737 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,737 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1323 to 1 consumers in 1.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,739 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1324 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27617 bytes +2025-06-06 11:08:41,740 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,740 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1324 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,741 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1325 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27742 bytes +2025-06-06 11:08:41,741 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,741 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1325 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,742 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1326 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27645 bytes +2025-06-06 11:08:41,742 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,742 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1326 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,744 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1327 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27983 bytes +2025-06-06 11:08:41,745 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,745 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1327 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,746 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1328 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27960 bytes +2025-06-06 11:08:41,746 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,746 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1328 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,757 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1329 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27997 bytes +2025-06-06 11:08:41,757 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,757 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1329 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,790 - video.core - INFO - ๐Ÿ“น Frame #1330 from producer producer_1749200857529: size=27904 bytes, resolution=640x480 +2025-06-06 11:08:41,790 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1330 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27904 bytes +2025-06-06 11:08:41,790 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,790 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1330 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,824 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1331 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27859 bytes +2025-06-06 11:08:41,824 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,824 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1331 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,859 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1332 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27865 bytes +2025-06-06 11:08:41,860 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,860 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1332 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,897 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1333 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27713 bytes +2025-06-06 11:08:41,897 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,897 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1333 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,929 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1334 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27643 bytes +2025-06-06 11:08:41,929 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,929 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1334 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,964 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1335 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27551 bytes +2025-06-06 11:08:41,964 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,964 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1335 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,998 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1336 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27482 bytes +2025-06-06 11:08:41,998 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:41,998 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1336 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,032 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1337 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27206 bytes +2025-06-06 11:08:42,032 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,032 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1337 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,071 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1338 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26759 bytes +2025-06-06 11:08:42,072 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,072 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1338 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,103 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1339 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26902 bytes +2025-06-06 11:08:42,103 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,103 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1339 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,130 - video.core - INFO - ๐Ÿ“น Frame #1340 from producer producer_1749200857529: size=26975 bytes, resolution=640x480 +2025-06-06 11:08:42,130 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1340 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26975 bytes +2025-06-06 11:08:42,130 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,130 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1340 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,165 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1341 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27096 bytes +2025-06-06 11:08:42,165 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,165 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1341 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,197 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1342 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27403 bytes +2025-06-06 11:08:42,198 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,198 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1342 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,236 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1343 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27441 bytes +2025-06-06 11:08:42,236 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,236 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1343 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,263 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1344 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27355 bytes +2025-06-06 11:08:42,263 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,263 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1344 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,297 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1345 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27278 bytes +2025-06-06 11:08:42,297 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,297 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1345 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,329 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1346 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27182 bytes +2025-06-06 11:08:42,329 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,329 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1346 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,364 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1347 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27442 bytes +2025-06-06 11:08:42,365 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,365 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1347 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,397 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1348 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27577 bytes +2025-06-06 11:08:42,398 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,398 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1348 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,433 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1349 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27636 bytes +2025-06-06 11:08:42,433 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,434 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1349 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,462 - video.core - INFO - ๐Ÿ“น Frame #1350 from producer producer_1749200857529: size=27716 bytes, resolution=640x480 +2025-06-06 11:08:42,462 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1350 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27716 bytes +2025-06-06 11:08:42,462 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,462 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1350 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,462 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1350 frames processed, 23.4 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,462 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1350 frames, 20.1 FPS, 4.46 Mbps throughput, 27682 bytes avg frame size +2025-06-06 11:08:42,462 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 1350 frames processed, FPS: 24.0, Throughput: 5.31 Mbps, Avg frame size: 27682 bytes +2025-06-06 11:08:42,496 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1351 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27772 bytes +2025-06-06 11:08:42,496 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,496 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1351 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,528 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1352 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27654 bytes +2025-06-06 11:08:42,528 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,528 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1352 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,559 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1353 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27818 bytes +2025-06-06 11:08:42,559 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,559 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1353 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,594 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1354 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27765 bytes +2025-06-06 11:08:42,594 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,594 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1354 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,630 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1355 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27775 bytes +2025-06-06 11:08:42,630 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,630 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1355 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,665 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1356 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27792 bytes +2025-06-06 11:08:42,665 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,665 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1356 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,700 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1357 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27798 bytes +2025-06-06 11:08:42,700 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,700 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1357 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,733 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1358 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27791 bytes +2025-06-06 11:08:42,733 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,733 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1358 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,768 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1359 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27887 bytes +2025-06-06 11:08:42,768 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,768 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1359 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,799 - video.core - INFO - ๐Ÿ“น Frame #1360 from producer producer_1749200857529: size=27849 bytes, resolution=640x480 +2025-06-06 11:08:42,800 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1360 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27849 bytes +2025-06-06 11:08:42,800 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,800 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1360 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,855 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1361 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27925 bytes +2025-06-06 11:08:42,855 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,855 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1361 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,870 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1362 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27927 bytes +2025-06-06 11:08:42,870 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,870 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1362 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,898 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1363 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27984 bytes +2025-06-06 11:08:42,898 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,898 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1363 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,934 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1364 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28036 bytes +2025-06-06 11:08:42,934 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,934 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1364 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,967 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1365 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28048 bytes +2025-06-06 11:08:42,967 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:42,967 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1365 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,001 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1366 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28155 bytes +2025-06-06 11:08:43,001 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,001 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1366 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,034 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1367 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28211 bytes +2025-06-06 11:08:43,034 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,034 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1367 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,065 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1368 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28219 bytes +2025-06-06 11:08:43,065 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,065 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1368 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,099 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1369 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28239 bytes +2025-06-06 11:08:43,099 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,099 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1369 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,134 - video.core - INFO - ๐Ÿ“น Frame #1370 from producer producer_1749200857529: size=28304 bytes, resolution=640x480 +2025-06-06 11:08:43,134 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1370 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28304 bytes +2025-06-06 11:08:43,134 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,134 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1370 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,167 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1371 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28328 bytes +2025-06-06 11:08:43,168 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,168 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1371 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,200 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1372 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28369 bytes +2025-06-06 11:08:43,200 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,200 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1372 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,235 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1373 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28391 bytes +2025-06-06 11:08:43,235 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,235 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1373 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,268 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1374 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28435 bytes +2025-06-06 11:08:43,268 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,268 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1374 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,301 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1375 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28371 bytes +2025-06-06 11:08:43,301 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,301 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1375 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,342 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1376 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28199 bytes +2025-06-06 11:08:43,342 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,342 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1376 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,367 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1377 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28231 bytes +2025-06-06 11:08:43,367 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,367 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1377 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,400 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1378 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28183 bytes +2025-06-06 11:08:43,400 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,400 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1378 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,434 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1379 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28273 bytes +2025-06-06 11:08:43,434 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,434 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1379 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,464 - video.core - INFO - ๐Ÿ“น Frame #1380 from producer producer_1749200857529: size=28349 bytes, resolution=640x480 +2025-06-06 11:08:43,464 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1380 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28349 bytes +2025-06-06 11:08:43,464 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,464 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1380 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,464 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1380 frames processed, 23.5 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,464 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1380 frames, 20.3 FPS, 4.49 Mbps throughput, 27691 bytes avg frame size +2025-06-06 11:08:43,464 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 1380 frames processed, FPS: 24.1, Throughput: 5.34 Mbps, Avg frame size: 27691 bytes +2025-06-06 11:08:43,496 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1381 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28353 bytes +2025-06-06 11:08:43,496 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,496 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1381 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,530 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1382 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28359 bytes +2025-06-06 11:08:43,530 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,530 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1382 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,567 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1383 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28326 bytes +2025-06-06 11:08:43,567 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,567 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1383 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,599 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1384 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28320 bytes +2025-06-06 11:08:43,599 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,599 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1384 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,632 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1385 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28370 bytes +2025-06-06 11:08:43,632 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,632 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1385 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,666 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1386 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28366 bytes +2025-06-06 11:08:43,666 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,666 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1386 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,700 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1387 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28406 bytes +2025-06-06 11:08:43,700 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,701 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1387 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,735 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1388 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28480 bytes +2025-06-06 11:08:43,736 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,736 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1388 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,769 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1389 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28431 bytes +2025-06-06 11:08:43,769 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,769 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1389 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,802 - video.core - INFO - ๐Ÿ“น Frame #1390 from producer producer_1749200857529: size=28441 bytes, resolution=640x480 +2025-06-06 11:08:43,802 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1390 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28441 bytes +2025-06-06 11:08:43,802 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,802 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1390 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,829 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1391 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28579 bytes +2025-06-06 11:08:43,829 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,829 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1391 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,868 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1392 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28552 bytes +2025-06-06 11:08:43,868 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,868 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1392 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,900 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1393 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28506 bytes +2025-06-06 11:08:43,900 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,900 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1393 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,934 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1394 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28585 bytes +2025-06-06 11:08:43,934 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,934 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1394 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,967 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1395 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28530 bytes +2025-06-06 11:08:43,967 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:43,967 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1395 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,001 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1396 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28592 bytes +2025-06-06 11:08:44,001 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,001 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1396 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,034 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1397 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28589 bytes +2025-06-06 11:08:44,034 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,034 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1397 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,067 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1398 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28651 bytes +2025-06-06 11:08:44,067 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,067 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1398 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,103 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1399 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28779 bytes +2025-06-06 11:08:44,103 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,103 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1399 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,141 - video.core - INFO - ๐Ÿ“น Frame #1400 from producer producer_1749200857529: size=28648 bytes, resolution=640x480 +2025-06-06 11:08:44,141 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1400 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28648 bytes +2025-06-06 11:08:44,141 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,141 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1400 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,170 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1401 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28583 bytes +2025-06-06 11:08:44,170 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,170 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1401 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,205 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1402 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28699 bytes +2025-06-06 11:08:44,205 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,205 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1402 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,239 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1403 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28496 bytes +2025-06-06 11:08:44,239 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,239 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1403 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,273 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1404 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28328 bytes +2025-06-06 11:08:44,273 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,273 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1404 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,305 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1405 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27785 bytes +2025-06-06 11:08:44,305 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,305 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1405 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,339 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1406 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27589 bytes +2025-06-06 11:08:44,339 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,339 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1406 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,372 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1407 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27674 bytes +2025-06-06 11:08:44,372 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,372 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1407 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,405 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1408 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27734 bytes +2025-06-06 11:08:44,406 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,406 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1408 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,440 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1409 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27672 bytes +2025-06-06 11:08:44,440 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,440 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1409 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,467 - video.core - INFO - ๐Ÿ“น Frame #1410 from producer producer_1749200857529: size=27799 bytes, resolution=640x480 +2025-06-06 11:08:44,467 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1410 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27799 bytes +2025-06-06 11:08:44,467 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,467 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1410 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,467 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1410 frames processed, 23.6 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,467 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1410 frames, 20.4 FPS, 4.52 Mbps throughput, 27705 bytes avg frame size +2025-06-06 11:08:44,467 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 1410 frames processed, FPS: 24.2, Throughput: 5.36 Mbps, Avg frame size: 27705 bytes +2025-06-06 11:08:44,498 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1411 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27937 bytes +2025-06-06 11:08:44,498 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,498 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1411 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,530 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1412 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28030 bytes +2025-06-06 11:08:44,530 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,530 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1412 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,566 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1413 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28146 bytes +2025-06-06 11:08:44,566 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,566 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1413 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,601 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1414 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28148 bytes +2025-06-06 11:08:44,601 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,601 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1414 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,632 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1415 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28271 bytes +2025-06-06 11:08:44,632 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,632 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1415 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,664 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1416 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28388 bytes +2025-06-06 11:08:44,664 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,664 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1416 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,699 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1417 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28249 bytes +2025-06-06 11:08:44,699 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,699 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1417 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,731 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1418 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28152 bytes +2025-06-06 11:08:44,731 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,731 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1418 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,766 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1419 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28037 bytes +2025-06-06 11:08:44,766 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,766 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1419 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,807 - video.core - INFO - ๐Ÿ“น Frame #1420 from producer producer_1749200857529: size=28102 bytes, resolution=640x480 +2025-06-06 11:08:44,807 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1420 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28102 bytes +2025-06-06 11:08:44,807 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,807 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1420 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,838 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1421 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28187 bytes +2025-06-06 11:08:44,839 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,839 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1421 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,872 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1422 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28257 bytes +2025-06-06 11:08:44,872 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,872 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1422 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,906 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1423 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28233 bytes +2025-06-06 11:08:44,906 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,906 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1423 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,936 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1424 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28092 bytes +2025-06-06 11:08:44,936 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,936 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1424 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,968 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1425 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27996 bytes +2025-06-06 11:08:44,968 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:44,968 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1425 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,001 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1426 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27688 bytes +2025-06-06 11:08:45,001 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,001 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1426 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,036 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1427 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27525 bytes +2025-06-06 11:08:45,036 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,036 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1427 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,069 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1428 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27543 bytes +2025-06-06 11:08:45,069 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,069 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1428 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,101 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1429 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27662 bytes +2025-06-06 11:08:45,101 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,101 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1429 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,129 - video.core - INFO - ๐Ÿ“น Frame #1430 from producer producer_1749200857529: size=27353 bytes, resolution=640x480 +2025-06-06 11:08:45,129 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1430 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27353 bytes +2025-06-06 11:08:45,129 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,129 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1430 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,164 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1431 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27494 bytes +2025-06-06 11:08:45,165 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,165 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1431 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,199 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1432 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27599 bytes +2025-06-06 11:08:45,199 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,199 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1432 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,233 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1433 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27524 bytes +2025-06-06 11:08:45,233 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,233 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1433 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,266 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1434 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27484 bytes +2025-06-06 11:08:45,267 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,267 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1434 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,315 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1435 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27735 bytes +2025-06-06 11:08:45,318 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,322 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1435 to 1 consumers in 8.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,398 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1436 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27597 bytes +2025-06-06 11:08:45,398 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,398 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1436 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,492 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1437 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27669 bytes +2025-06-06 11:08:45,493 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,493 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1437 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,497 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1438 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27726 bytes +2025-06-06 11:08:45,497 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,497 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1438 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,498 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1439 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27688 bytes +2025-06-06 11:08:45,498 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,498 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1439 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,500 - video.core - INFO - ๐Ÿ“น Frame #1440 from producer producer_1749200857529: size=27805 bytes, resolution=640x480 +2025-06-06 11:08:45,500 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1440 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27805 bytes +2025-06-06 11:08:45,500 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,500 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1440 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,500 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1440 frames processed, 23.7 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,500 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1440 frames, 20.5 FPS, 4.55 Mbps throughput, 27708 bytes avg frame size +2025-06-06 11:08:45,500 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 1440 frames processed, FPS: 24.3, Throughput: 5.38 Mbps, Avg frame size: 27708 bytes +2025-06-06 11:08:45,501 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1441 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27652 bytes +2025-06-06 11:08:45,501 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,501 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1441 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,556 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1442 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27724 bytes +2025-06-06 11:08:45,557 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,557 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1442 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,564 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1443 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27883 bytes +2025-06-06 11:08:45,564 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,564 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1443 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,593 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1444 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27945 bytes +2025-06-06 11:08:45,593 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,593 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1444 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,630 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1445 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27880 bytes +2025-06-06 11:08:45,630 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,630 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1445 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,669 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1446 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27838 bytes +2025-06-06 11:08:45,669 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,669 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1446 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,703 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1447 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27822 bytes +2025-06-06 11:08:45,703 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,703 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1447 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,738 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1448 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27990 bytes +2025-06-06 11:08:45,738 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,738 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1448 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,773 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1449 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27972 bytes +2025-06-06 11:08:45,773 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,773 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1449 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,806 - video.core - INFO - ๐Ÿ“น Frame #1450 from producer producer_1749200857529: size=28081 bytes, resolution=640x480 +2025-06-06 11:08:45,806 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1450 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28081 bytes +2025-06-06 11:08:45,806 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,806 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1450 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,840 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1451 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27877 bytes +2025-06-06 11:08:45,840 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,840 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1451 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,868 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1452 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27824 bytes +2025-06-06 11:08:45,869 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,869 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1452 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,903 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1453 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27638 bytes +2025-06-06 11:08:45,903 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,903 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1453 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,929 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1454 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27611 bytes +2025-06-06 11:08:45,929 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,929 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1454 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,972 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1455 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27326 bytes +2025-06-06 11:08:45,972 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:45,972 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1455 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,007 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1456 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27640 bytes +2025-06-06 11:08:46,007 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,007 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1456 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,038 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1457 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27659 bytes +2025-06-06 11:08:46,038 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,038 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1457 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,069 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1458 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27707 bytes +2025-06-06 11:08:46,069 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,070 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1458 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,103 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1459 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27764 bytes +2025-06-06 11:08:46,103 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,103 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1459 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,136 - video.core - INFO - ๐Ÿ“น Frame #1460 from producer producer_1749200857529: size=27740 bytes, resolution=640x480 +2025-06-06 11:08:46,136 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1460 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27740 bytes +2025-06-06 11:08:46,136 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,136 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1460 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,166 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1461 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27795 bytes +2025-06-06 11:08:46,166 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,166 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1461 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,204 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1462 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27831 bytes +2025-06-06 11:08:46,204 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,204 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1462 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,242 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1463 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27965 bytes +2025-06-06 11:08:46,242 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,242 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1463 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,268 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1464 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28102 bytes +2025-06-06 11:08:46,268 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,268 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1464 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,302 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1465 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28077 bytes +2025-06-06 11:08:46,302 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,302 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1465 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,336 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1466 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28008 bytes +2025-06-06 11:08:46,336 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,336 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1466 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,371 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1467 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27934 bytes +2025-06-06 11:08:46,371 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,371 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1467 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,408 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1468 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28114 bytes +2025-06-06 11:08:46,409 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,409 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1468 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,436 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1469 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28084 bytes +2025-06-06 11:08:46,436 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,436 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1469 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,478 - video.core - INFO - ๐Ÿ“น Frame #1470 from producer producer_1749200857529: size=28065 bytes, resolution=640x480 +2025-06-06 11:08:46,478 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1470 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28065 bytes +2025-06-06 11:08:46,478 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,478 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1470 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,478 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1470 frames processed, 23.8 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,478 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1470 frames, 20.7 FPS, 4.58 Mbps throughput, 27711 bytes avg frame size +2025-06-06 11:08:46,478 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 1470 frames processed, FPS: 24.4, Throughput: 5.41 Mbps, Avg frame size: 27711 bytes +2025-06-06 11:08:46,507 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1471 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28023 bytes +2025-06-06 11:08:46,507 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,507 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1471 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,534 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1472 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28087 bytes +2025-06-06 11:08:46,534 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,534 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1472 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,567 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1473 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28005 bytes +2025-06-06 11:08:46,567 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,567 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1473 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,603 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1474 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27748 bytes +2025-06-06 11:08:46,603 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,603 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1474 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,638 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1475 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27789 bytes +2025-06-06 11:08:46,638 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,638 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1475 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,674 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1476 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27832 bytes +2025-06-06 11:08:46,675 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,675 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1476 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,699 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1477 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27853 bytes +2025-06-06 11:08:46,699 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,699 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1477 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,742 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1478 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27957 bytes +2025-06-06 11:08:46,742 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,742 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1478 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,774 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1479 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28060 bytes +2025-06-06 11:08:46,774 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,774 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1479 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,805 - video.core - INFO - ๐Ÿ“น Frame #1480 from producer producer_1749200857529: size=28075 bytes, resolution=640x480 +2025-06-06 11:08:46,805 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1480 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28075 bytes +2025-06-06 11:08:46,805 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,805 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1480 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,839 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1481 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28084 bytes +2025-06-06 11:08:46,839 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,839 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1481 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,880 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1482 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28027 bytes +2025-06-06 11:08:46,880 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,880 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1482 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,911 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1483 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28092 bytes +2025-06-06 11:08:46,911 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,911 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1483 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,944 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1484 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28120 bytes +2025-06-06 11:08:46,944 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,944 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1484 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,975 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1485 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28066 bytes +2025-06-06 11:08:46,975 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:46,975 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1485 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,008 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1486 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28092 bytes +2025-06-06 11:08:47,008 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,008 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1486 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,037 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1487 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27980 bytes +2025-06-06 11:08:47,037 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,037 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1487 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,070 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1488 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27916 bytes +2025-06-06 11:08:47,070 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,070 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1488 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,102 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1489 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27797 bytes +2025-06-06 11:08:47,102 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,102 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1489 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,139 - video.core - INFO - ๐Ÿ“น Frame #1490 from producer producer_1749200857529: size=27707 bytes, resolution=640x480 +2025-06-06 11:08:47,139 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1490 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27707 bytes +2025-06-06 11:08:47,139 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,139 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1490 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,175 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1491 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27856 bytes +2025-06-06 11:08:47,175 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,175 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1491 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,204 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1492 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27974 bytes +2025-06-06 11:08:47,204 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,204 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1492 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,248 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1493 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27944 bytes +2025-06-06 11:08:47,248 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,248 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1493 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,271 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1494 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28047 bytes +2025-06-06 11:08:47,271 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,271 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1494 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,309 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1495 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28131 bytes +2025-06-06 11:08:47,309 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,309 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1495 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,338 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1496 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27954 bytes +2025-06-06 11:08:47,338 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,338 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1496 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,374 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1497 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27864 bytes +2025-06-06 11:08:47,374 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,375 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1497 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,405 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1498 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27734 bytes +2025-06-06 11:08:47,405 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,405 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1498 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,440 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1499 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27777 bytes +2025-06-06 11:08:47,440 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,440 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1499 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,473 - video.core - INFO - ๐Ÿ“น Frame #1500 from producer producer_1749200857529: size=27911 bytes, resolution=640x480 +2025-06-06 11:08:47,473 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1500 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27911 bytes +2025-06-06 11:08:47,473 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,473 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1500 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,473 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1500 frames processed, 23.9 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,473 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1500 frames, 20.8 FPS, 4.61 Mbps throughput, 27716 bytes avg frame size +2025-06-06 11:08:47,473 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 1500 frames processed, FPS: 24.5, Throughput: 5.43 Mbps, Avg frame size: 27716 bytes +2025-06-06 11:08:47,507 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1501 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27823 bytes +2025-06-06 11:08:47,507 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,507 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1501 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,537 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1502 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27788 bytes +2025-06-06 11:08:47,537 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,537 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1502 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,567 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1503 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27708 bytes +2025-06-06 11:08:47,567 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,567 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1503 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,600 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1504 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27725 bytes +2025-06-06 11:08:47,601 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,601 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1504 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,638 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1505 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27834 bytes +2025-06-06 11:08:47,638 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,638 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1505 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,673 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1506 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27874 bytes +2025-06-06 11:08:47,674 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,674 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1506 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,704 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1507 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27940 bytes +2025-06-06 11:08:47,704 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,704 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1507 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,739 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1508 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27941 bytes +2025-06-06 11:08:47,739 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,739 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1508 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,773 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1509 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27972 bytes +2025-06-06 11:08:47,773 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,773 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1509 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,812 - video.core - INFO - ๐Ÿ“น Frame #1510 from producer producer_1749200857529: size=27995 bytes, resolution=640x480 +2025-06-06 11:08:47,812 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1510 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27995 bytes +2025-06-06 11:08:47,812 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,812 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1510 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,837 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1511 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28086 bytes +2025-06-06 11:08:47,837 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,837 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1511 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,872 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1512 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28041 bytes +2025-06-06 11:08:47,872 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,872 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1512 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,904 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1513 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28092 bytes +2025-06-06 11:08:47,904 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,905 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1513 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,936 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1514 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28096 bytes +2025-06-06 11:08:47,936 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,936 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1514 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,970 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1515 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28182 bytes +2025-06-06 11:08:47,970 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:47,970 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1515 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,002 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1516 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28202 bytes +2025-06-06 11:08:48,002 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,002 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1516 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,035 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1517 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28264 bytes +2025-06-06 11:08:48,035 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,035 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1517 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,071 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1518 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28380 bytes +2025-06-06 11:08:48,071 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,071 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1518 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,103 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1519 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28359 bytes +2025-06-06 11:08:48,103 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,103 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1519 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,138 - video.core - INFO - ๐Ÿ“น Frame #1520 from producer producer_1749200857529: size=28406 bytes, resolution=640x480 +2025-06-06 11:08:48,138 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1520 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28406 bytes +2025-06-06 11:08:48,138 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,138 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1520 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,175 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1521 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28474 bytes +2025-06-06 11:08:48,175 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,175 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1521 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,205 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1522 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28387 bytes +2025-06-06 11:08:48,205 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,205 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1522 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,244 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1523 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28456 bytes +2025-06-06 11:08:48,244 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,244 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1523 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,271 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1524 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28391 bytes +2025-06-06 11:08:48,271 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,271 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1524 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,303 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1525 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28442 bytes +2025-06-06 11:08:48,303 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,303 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1525 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,340 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1526 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28464 bytes +2025-06-06 11:08:48,340 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,340 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1526 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,374 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1527 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28553 bytes +2025-06-06 11:08:48,374 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,374 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1527 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,408 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1528 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28598 bytes +2025-06-06 11:08:48,408 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,408 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1528 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,441 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1529 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28584 bytes +2025-06-06 11:08:48,442 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,442 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1529 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,470 - video.core - INFO - ๐Ÿ“น Frame #1530 from producer producer_1749200857529: size=28615 bytes, resolution=640x480 +2025-06-06 11:08:48,471 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1530 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28615 bytes +2025-06-06 11:08:48,471 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,471 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1530 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,471 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1530 frames processed, 24.0 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,471 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1530 frames, 20.9 FPS, 4.64 Mbps throughput, 27725 bytes avg frame size +2025-06-06 11:08:48,471 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 1530 frames processed, FPS: 24.6, Throughput: 5.45 Mbps, Avg frame size: 27725 bytes +2025-06-06 11:08:48,504 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1531 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28647 bytes +2025-06-06 11:08:48,504 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,504 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1531 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,537 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1532 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28621 bytes +2025-06-06 11:08:48,537 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,537 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1532 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,566 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1533 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28575 bytes +2025-06-06 11:08:48,566 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,566 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1533 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,599 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1534 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28556 bytes +2025-06-06 11:08:48,600 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,600 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1534 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,641 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1535 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28562 bytes +2025-06-06 11:08:48,641 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,641 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1535 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,669 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1536 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28572 bytes +2025-06-06 11:08:48,669 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,669 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1536 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,705 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1537 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28528 bytes +2025-06-06 11:08:48,705 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,706 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1537 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,743 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1538 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28539 bytes +2025-06-06 11:08:48,743 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,743 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1538 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,774 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1539 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28569 bytes +2025-06-06 11:08:48,774 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,774 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1539 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,806 - video.core - INFO - ๐Ÿ“น Frame #1540 from producer producer_1749200857529: size=28611 bytes, resolution=640x480 +2025-06-06 11:08:48,806 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1540 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28611 bytes +2025-06-06 11:08:48,806 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,806 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1540 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,843 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1541 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28613 bytes +2025-06-06 11:08:48,843 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,843 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1541 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,874 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1542 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28523 bytes +2025-06-06 11:08:48,874 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,874 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1542 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,915 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1543 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28317 bytes +2025-06-06 11:08:48,916 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,916 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1543 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,946 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1544 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28108 bytes +2025-06-06 11:08:48,946 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,946 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1544 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,980 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1545 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27588 bytes +2025-06-06 11:08:48,980 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:48,980 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1545 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,013 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1546 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27431 bytes +2025-06-06 11:08:49,013 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,013 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1546 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,041 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1547 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27506 bytes +2025-06-06 11:08:49,042 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,042 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1547 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,085 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1548 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27547 bytes +2025-06-06 11:08:49,085 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,085 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1548 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,115 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1549 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27635 bytes +2025-06-06 11:08:49,115 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,115 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1549 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,140 - video.core - INFO - ๐Ÿ“น Frame #1550 from producer producer_1749200857529: size=27705 bytes, resolution=640x480 +2025-06-06 11:08:49,140 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1550 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27705 bytes +2025-06-06 11:08:49,140 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,140 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1550 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,174 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1551 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27555 bytes +2025-06-06 11:08:49,174 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,174 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1551 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,210 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1552 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27629 bytes +2025-06-06 11:08:49,210 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,210 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1552 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,245 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1553 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27613 bytes +2025-06-06 11:08:49,245 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,245 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1553 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,271 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1554 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27614 bytes +2025-06-06 11:08:49,271 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,271 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1554 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,308 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1555 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27678 bytes +2025-06-06 11:08:49,308 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,308 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1555 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,346 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1556 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27734 bytes +2025-06-06 11:08:49,346 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,346 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1556 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,375 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1557 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27880 bytes +2025-06-06 11:08:49,375 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,375 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1557 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,411 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1558 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27911 bytes +2025-06-06 11:08:49,411 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,411 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1558 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,447 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1559 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27831 bytes +2025-06-06 11:08:49,447 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,447 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1559 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,479 - video.core - INFO - ๐Ÿ“น Frame #1560 from producer producer_1749200857529: size=27774 bytes, resolution=640x480 +2025-06-06 11:08:49,479 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1560 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27774 bytes +2025-06-06 11:08:49,479 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,479 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1560 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,479 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1560 frames processed, 24.1 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,479 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1560 frames, 21.1 FPS, 4.67 Mbps throughput, 27732 bytes avg frame size +2025-06-06 11:08:49,479 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 1560 frames processed, FPS: 24.6, Throughput: 5.47 Mbps, Avg frame size: 27732 bytes +2025-06-06 11:08:49,513 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1561 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27754 bytes +2025-06-06 11:08:49,513 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,513 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1561 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,536 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1562 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27661 bytes +2025-06-06 11:08:49,536 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,536 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1562 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,567 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1563 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27704 bytes +2025-06-06 11:08:49,567 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,567 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1563 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,599 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1564 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27659 bytes +2025-06-06 11:08:49,599 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,599 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1564 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,634 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1565 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27626 bytes +2025-06-06 11:08:49,634 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,634 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1565 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,667 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1566 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27659 bytes +2025-06-06 11:08:49,667 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,667 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1566 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,701 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1567 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27719 bytes +2025-06-06 11:08:49,701 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,701 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1567 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,737 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1568 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27528 bytes +2025-06-06 11:08:49,737 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,737 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1568 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,768 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1569 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27648 bytes +2025-06-06 11:08:49,768 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,768 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1569 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,814 - video.core - INFO - ๐Ÿ“น Frame #1570 from producer producer_1749200857529: size=27407 bytes, resolution=640x480 +2025-06-06 11:08:49,814 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1570 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27407 bytes +2025-06-06 11:08:49,814 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,814 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1570 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,842 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1571 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27128 bytes +2025-06-06 11:08:49,842 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,842 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1571 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,869 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1572 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27253 bytes +2025-06-06 11:08:49,869 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,869 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1572 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,898 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1573 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27664 bytes +2025-06-06 11:08:49,899 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,899 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1573 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,934 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1574 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27723 bytes +2025-06-06 11:08:49,935 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,935 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1574 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,965 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1575 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27727 bytes +2025-06-06 11:08:49,965 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:49,965 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1575 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,011 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1576 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27607 bytes +2025-06-06 11:08:50,012 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,012 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1576 to 1 consumers in 0.7ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,042 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1577 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27789 bytes +2025-06-06 11:08:50,043 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,043 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1577 to 1 consumers in 0.9ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,066 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1578 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27742 bytes +2025-06-06 11:08:50,066 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,066 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1578 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,098 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1579 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27673 bytes +2025-06-06 11:08:50,098 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,098 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1579 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,130 - video.core - INFO - ๐Ÿ“น Frame #1580 from producer producer_1749200857529: size=27756 bytes, resolution=640x480 +2025-06-06 11:08:50,130 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1580 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27756 bytes +2025-06-06 11:08:50,130 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,130 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1580 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,162 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1581 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27837 bytes +2025-06-06 11:08:50,162 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,162 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1581 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,196 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1582 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27907 bytes +2025-06-06 11:08:50,196 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,196 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1582 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,230 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1583 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27974 bytes +2025-06-06 11:08:50,230 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,230 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1583 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,263 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1584 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27918 bytes +2025-06-06 11:08:50,263 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,263 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1584 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,296 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1585 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27992 bytes +2025-06-06 11:08:50,296 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,296 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1585 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,329 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1586 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28068 bytes +2025-06-06 11:08:50,329 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,329 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1586 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,363 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1587 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28017 bytes +2025-06-06 11:08:50,363 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,363 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1587 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,398 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1588 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28093 bytes +2025-06-06 11:08:50,398 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,398 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1588 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,433 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1589 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27934 bytes +2025-06-06 11:08:50,433 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,433 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1589 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,464 - video.core - INFO - ๐Ÿ“น Frame #1590 from producer producer_1749200857529: size=27915 bytes, resolution=640x480 +2025-06-06 11:08:50,464 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1590 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27915 bytes +2025-06-06 11:08:50,464 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,464 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1590 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,464 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1590 frames processed, 24.2 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,464 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1590 frames, 21.2 FPS, 4.70 Mbps throughput, 27732 bytes avg frame size +2025-06-06 11:08:50,464 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 1590 frames processed, FPS: 24.7, Throughput: 5.49 Mbps, Avg frame size: 27732 bytes +2025-06-06 11:08:50,503 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1591 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27663 bytes +2025-06-06 11:08:50,503 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,503 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1591 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,534 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1592 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27738 bytes +2025-06-06 11:08:50,534 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,534 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1592 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,564 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1593 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27815 bytes +2025-06-06 11:08:50,564 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,564 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1593 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,613 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1594 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27856 bytes +2025-06-06 11:08:50,613 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,613 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1594 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,720 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1595 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27790 bytes +2025-06-06 11:08:50,720 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,720 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1595 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,723 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1596 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27836 bytes +2025-06-06 11:08:50,724 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,724 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1596 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,725 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1597 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27881 bytes +2025-06-06 11:08:50,725 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,725 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1597 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,733 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1598 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27848 bytes +2025-06-06 11:08:50,733 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,733 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1598 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,779 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1599 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27906 bytes +2025-06-06 11:08:50,779 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,779 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1599 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,798 - video.core - INFO - ๐Ÿ“น Frame #1600 from producer producer_1749200857529: size=27980 bytes, resolution=640x480 +2025-06-06 11:08:50,799 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1600 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27980 bytes +2025-06-06 11:08:50,799 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,799 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1600 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,833 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1601 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27917 bytes +2025-06-06 11:08:50,833 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,833 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1601 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,873 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1602 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27929 bytes +2025-06-06 11:08:50,873 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,873 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1602 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,903 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1603 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28016 bytes +2025-06-06 11:08:50,903 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,903 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1603 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,945 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1604 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27895 bytes +2025-06-06 11:08:50,945 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,945 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1604 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,970 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1605 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27787 bytes +2025-06-06 11:08:50,970 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:50,970 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1605 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,003 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1606 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27564 bytes +2025-06-06 11:08:51,003 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,003 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1606 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,036 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1607 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27488 bytes +2025-06-06 11:08:51,036 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,036 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1607 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,071 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1608 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27370 bytes +2025-06-06 11:08:51,071 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,072 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1608 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,104 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1609 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27628 bytes +2025-06-06 11:08:51,104 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,104 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1609 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,132 - video.core - INFO - ๐Ÿ“น Frame #1610 from producer producer_1749200857529: size=27694 bytes, resolution=640x480 +2025-06-06 11:08:51,132 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1610 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27694 bytes +2025-06-06 11:08:51,132 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,132 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1610 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,171 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1611 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27710 bytes +2025-06-06 11:08:51,171 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,172 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1611 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,202 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1612 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27935 bytes +2025-06-06 11:08:51,202 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,202 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1612 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,235 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1613 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27993 bytes +2025-06-06 11:08:51,236 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,236 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1613 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,272 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1614 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27954 bytes +2025-06-06 11:08:51,273 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,273 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1614 to 1 consumers in 0.8ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,309 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1615 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28105 bytes +2025-06-06 11:08:51,309 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,309 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1615 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,340 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1616 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27945 bytes +2025-06-06 11:08:51,340 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,340 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1616 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,380 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1617 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27914 bytes +2025-06-06 11:08:51,380 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,380 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1617 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,411 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1618 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27928 bytes +2025-06-06 11:08:51,411 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,411 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1618 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,444 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1619 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28050 bytes +2025-06-06 11:08:51,444 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,444 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1619 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,480 - video.core - INFO - ๐Ÿ“น Frame #1620 from producer producer_1749200857529: size=27919 bytes, resolution=640x480 +2025-06-06 11:08:51,480 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1620 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27919 bytes +2025-06-06 11:08:51,480 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,480 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1620 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,480 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1620 frames processed, 24.3 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,480 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1620 frames, 21.3 FPS, 4.72 Mbps throughput, 27734 bytes avg frame size +2025-06-06 11:08:51,480 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 1620 frames processed, FPS: 24.8, Throughput: 5.51 Mbps, Avg frame size: 27734 bytes +2025-06-06 11:08:51,510 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1621 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27916 bytes +2025-06-06 11:08:51,511 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,511 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1621 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,538 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1622 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28027 bytes +2025-06-06 11:08:51,538 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,538 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1622 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,566 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1623 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27984 bytes +2025-06-06 11:08:51,566 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,566 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1623 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,599 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1624 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28002 bytes +2025-06-06 11:08:51,599 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,599 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1624 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,634 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1625 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28052 bytes +2025-06-06 11:08:51,634 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,634 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1625 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,676 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1626 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27881 bytes +2025-06-06 11:08:51,676 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,676 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1626 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,710 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1627 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27917 bytes +2025-06-06 11:08:51,710 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,710 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1627 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,738 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1628 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27853 bytes +2025-06-06 11:08:51,738 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,738 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1628 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,775 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1629 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27914 bytes +2025-06-06 11:08:51,775 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,775 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1629 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,814 - video.core - INFO - ๐Ÿ“น Frame #1630 from producer producer_1749200857529: size=27901 bytes, resolution=640x480 +2025-06-06 11:08:51,814 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1630 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27901 bytes +2025-06-06 11:08:51,814 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,814 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1630 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,842 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1631 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27831 bytes +2025-06-06 11:08:51,842 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,842 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1631 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,880 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1632 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27917 bytes +2025-06-06 11:08:51,880 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,880 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1632 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,910 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1633 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27968 bytes +2025-06-06 11:08:51,910 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,910 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1633 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,932 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1634 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28037 bytes +2025-06-06 11:08:51,933 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,933 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1634 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,969 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1635 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27990 bytes +2025-06-06 11:08:51,970 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,970 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1635 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,999 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1636 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28052 bytes +2025-06-06 11:08:51,999 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:51,999 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1636 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,038 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1637 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28150 bytes +2025-06-06 11:08:52,038 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,038 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1637 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,066 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1638 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28104 bytes +2025-06-06 11:08:52,066 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,066 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1638 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,103 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1639 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28200 bytes +2025-06-06 11:08:52,103 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,103 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1639 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,137 - video.core - INFO - ๐Ÿ“น Frame #1640 from producer producer_1749200857529: size=28228 bytes, resolution=640x480 +2025-06-06 11:08:52,137 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1640 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28228 bytes +2025-06-06 11:08:52,137 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,138 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1640 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,175 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1641 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28331 bytes +2025-06-06 11:08:52,175 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,175 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1641 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,204 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1642 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28369 bytes +2025-06-06 11:08:52,204 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,204 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1642 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,242 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1643 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28369 bytes +2025-06-06 11:08:52,242 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,242 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1643 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,276 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1644 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28121 bytes +2025-06-06 11:08:52,276 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,276 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1644 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,304 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1645 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28069 bytes +2025-06-06 11:08:52,304 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,304 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1645 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,346 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1646 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28093 bytes +2025-06-06 11:08:52,346 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,346 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1646 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,380 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1647 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27969 bytes +2025-06-06 11:08:52,380 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,380 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1647 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,415 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1648 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27948 bytes +2025-06-06 11:08:52,416 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,416 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1648 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,446 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1649 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27969 bytes +2025-06-06 11:08:52,446 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,446 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1649 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,481 - video.core - INFO - ๐Ÿ“น Frame #1650 from producer producer_1749200857529: size=28002 bytes, resolution=640x480 +2025-06-06 11:08:52,484 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1650 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28002 bytes +2025-06-06 11:08:52,484 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,484 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1650 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,484 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1650 frames processed, 24.4 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,484 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1650 frames, 21.4 FPS, 4.75 Mbps throughput, 27739 bytes avg frame size +2025-06-06 11:08:52,484 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 1650 frames processed, FPS: 24.9, Throughput: 5.52 Mbps, Avg frame size: 27739 bytes +2025-06-06 11:08:52,514 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1651 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28012 bytes +2025-06-06 11:08:52,514 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,514 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1651 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,565 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1652 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27992 bytes +2025-06-06 11:08:52,565 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,565 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1652 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,568 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1653 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28114 bytes +2025-06-06 11:08:52,568 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,568 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1653 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,610 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1654 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27832 bytes +2025-06-06 11:08:52,610 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,610 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1654 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,633 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1655 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27719 bytes +2025-06-06 11:08:52,634 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,634 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1655 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,670 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1656 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27746 bytes +2025-06-06 11:08:52,670 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,670 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1656 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,701 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1657 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27700 bytes +2025-06-06 11:08:52,701 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,701 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1657 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,734 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1658 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27701 bytes +2025-06-06 11:08:52,734 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,734 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1658 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,769 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1659 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27845 bytes +2025-06-06 11:08:52,770 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,770 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1659 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,806 - video.core - INFO - ๐Ÿ“น Frame #1660 from producer producer_1749200857529: size=27676 bytes, resolution=640x480 +2025-06-06 11:08:52,806 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1660 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27676 bytes +2025-06-06 11:08:52,806 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,806 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1660 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,838 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1661 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27516 bytes +2025-06-06 11:08:52,839 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,839 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1661 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,873 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1662 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27659 bytes +2025-06-06 11:08:52,873 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,873 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1662 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,914 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1663 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27729 bytes +2025-06-06 11:08:52,914 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,914 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1663 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,939 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1664 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27861 bytes +2025-06-06 11:08:52,939 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,939 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1664 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,978 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1665 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27877 bytes +2025-06-06 11:08:52,978 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:52,978 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1665 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,008 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1666 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27899 bytes +2025-06-06 11:08:53,008 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,008 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1666 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,043 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1667 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27723 bytes +2025-06-06 11:08:53,043 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,044 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1667 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,075 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1668 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27766 bytes +2025-06-06 11:08:53,075 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,075 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1668 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,109 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1669 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27645 bytes +2025-06-06 11:08:53,110 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,110 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1669 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,145 - video.core - INFO - ๐Ÿ“น Frame #1670 from producer producer_1749200857529: size=27789 bytes, resolution=640x480 +2025-06-06 11:08:53,145 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1670 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27789 bytes +2025-06-06 11:08:53,145 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,145 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1670 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,178 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1671 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27887 bytes +2025-06-06 11:08:53,178 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,178 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1671 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,213 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1672 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27882 bytes +2025-06-06 11:08:53,213 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,214 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1672 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,244 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1673 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28019 bytes +2025-06-06 11:08:53,244 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,244 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1673 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,280 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1674 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27880 bytes +2025-06-06 11:08:53,281 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,281 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1674 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,310 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1675 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27866 bytes +2025-06-06 11:08:53,310 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,310 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1675 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,348 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1676 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27971 bytes +2025-06-06 11:08:53,348 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,348 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1676 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,380 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1677 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27808 bytes +2025-06-06 11:08:53,380 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,380 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1677 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,417 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1678 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27574 bytes +2025-06-06 11:08:53,417 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,417 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1678 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,440 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1679 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27732 bytes +2025-06-06 11:08:53,440 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,441 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1679 to 1 consumers in 0.9ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,516 - video.core - INFO - ๐Ÿ“น Frame #1680 from producer producer_1749200857529: size=27735 bytes, resolution=640x480 +2025-06-06 11:08:53,516 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1680 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27735 bytes +2025-06-06 11:08:53,516 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,516 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1680 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,516 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1680 frames processed, 24.4 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,516 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1680 frames, 21.5 FPS, 4.77 Mbps throughput, 27740 bytes avg frame size +2025-06-06 11:08:53,516 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 1680 frames processed, FPS: 25.0, Throughput: 5.54 Mbps, Avg frame size: 27740 bytes +2025-06-06 11:08:53,525 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1681 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27831 bytes +2025-06-06 11:08:53,525 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,526 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1681 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,539 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1682 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27857 bytes +2025-06-06 11:08:53,539 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,539 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1682 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,569 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1683 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27874 bytes +2025-06-06 11:08:53,569 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,569 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1683 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,601 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1684 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27959 bytes +2025-06-06 11:08:53,601 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,601 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1684 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,642 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1685 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27900 bytes +2025-06-06 11:08:53,643 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,643 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1685 to 1 consumers in 1.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,676 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1686 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27702 bytes +2025-06-06 11:08:53,676 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,676 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1686 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,701 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1687 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27864 bytes +2025-06-06 11:08:53,701 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,701 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1687 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,734 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1688 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27818 bytes +2025-06-06 11:08:53,734 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,734 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1688 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,767 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1689 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27807 bytes +2025-06-06 11:08:53,768 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,768 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1689 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,801 - video.core - INFO - ๐Ÿ“น Frame #1690 from producer producer_1749200857529: size=27878 bytes, resolution=640x480 +2025-06-06 11:08:53,801 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1690 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27878 bytes +2025-06-06 11:08:53,801 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,801 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1690 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,836 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1691 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27968 bytes +2025-06-06 11:08:53,836 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,836 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1691 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,872 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1692 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27966 bytes +2025-06-06 11:08:53,872 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,872 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1692 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,906 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1693 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28046 bytes +2025-06-06 11:08:53,906 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,906 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1693 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,942 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1694 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27889 bytes +2025-06-06 11:08:53,942 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,942 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1694 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,977 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1695 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27891 bytes +2025-06-06 11:08:53,978 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:53,978 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1695 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,008 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1696 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27943 bytes +2025-06-06 11:08:54,008 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,008 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1696 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,043 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1697 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27917 bytes +2025-06-06 11:08:54,043 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,043 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1697 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,074 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1698 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27846 bytes +2025-06-06 11:08:54,075 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,075 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1698 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,111 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1699 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27888 bytes +2025-06-06 11:08:54,112 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,112 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1699 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,141 - video.core - INFO - ๐Ÿ“น Frame #1700 from producer producer_1749200857529: size=27891 bytes, resolution=640x480 +2025-06-06 11:08:54,142 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1700 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27891 bytes +2025-06-06 11:08:54,142 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,142 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1700 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,172 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1701 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27964 bytes +2025-06-06 11:08:54,173 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,173 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1701 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,205 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1702 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28098 bytes +2025-06-06 11:08:54,206 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,206 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1702 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,242 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1703 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28114 bytes +2025-06-06 11:08:54,242 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,242 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1703 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,273 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1704 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28003 bytes +2025-06-06 11:08:54,273 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,273 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1704 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,308 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1705 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28169 bytes +2025-06-06 11:08:54,308 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,308 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1705 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,336 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1706 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28180 bytes +2025-06-06 11:08:54,337 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,337 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1706 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,378 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1707 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27988 bytes +2025-06-06 11:08:54,378 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,378 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1707 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,414 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1708 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27930 bytes +2025-06-06 11:08:54,414 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,414 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1708 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,446 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1709 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27902 bytes +2025-06-06 11:08:54,446 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,446 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1709 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,479 - video.core - INFO - ๐Ÿ“น Frame #1710 from producer producer_1749200857529: size=27947 bytes, resolution=640x480 +2025-06-06 11:08:54,479 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1710 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27947 bytes +2025-06-06 11:08:54,479 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,479 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1710 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,479 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1710 frames processed, 24.5 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,479 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1710 frames, 21.6 FPS, 4.80 Mbps throughput, 27744 bytes avg frame size +2025-06-06 11:08:54,479 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 1710 frames processed, FPS: 25.0, Throughput: 5.56 Mbps, Avg frame size: 27744 bytes +2025-06-06 11:08:54,511 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1711 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27920 bytes +2025-06-06 11:08:54,511 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,511 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1711 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,540 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1712 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27968 bytes +2025-06-06 11:08:54,541 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,541 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1712 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,572 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1713 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27920 bytes +2025-06-06 11:08:54,572 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,572 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1713 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,605 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1714 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27761 bytes +2025-06-06 11:08:54,605 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,605 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1714 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,645 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1715 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27774 bytes +2025-06-06 11:08:54,645 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,645 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1715 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,678 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1716 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27800 bytes +2025-06-06 11:08:54,678 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,678 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1716 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,712 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1717 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27799 bytes +2025-06-06 11:08:54,712 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,712 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1717 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,746 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1718 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27800 bytes +2025-06-06 11:08:54,746 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,746 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1718 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,778 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1719 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27822 bytes +2025-06-06 11:08:54,778 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,778 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1719 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,813 - video.core - INFO - ๐Ÿ“น Frame #1720 from producer producer_1749200857529: size=27880 bytes, resolution=640x480 +2025-06-06 11:08:54,813 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1720 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27880 bytes +2025-06-06 11:08:54,813 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,813 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1720 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,847 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1721 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28002 bytes +2025-06-06 11:08:54,847 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,847 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1721 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,883 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1722 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28033 bytes +2025-06-06 11:08:54,883 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,883 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1722 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,911 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1723 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27985 bytes +2025-06-06 11:08:54,911 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,911 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1723 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,951 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1724 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27955 bytes +2025-06-06 11:08:54,951 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,951 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1724 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,983 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1725 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28023 bytes +2025-06-06 11:08:54,983 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:54,983 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1725 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,009 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1726 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27997 bytes +2025-06-06 11:08:55,009 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,009 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1726 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,049 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1727 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27863 bytes +2025-06-06 11:08:55,049 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,049 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1727 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,078 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1728 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27890 bytes +2025-06-06 11:08:55,078 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,078 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1728 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,108 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1729 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27822 bytes +2025-06-06 11:08:55,108 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,108 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1729 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,146 - video.core - INFO - ๐Ÿ“น Frame #1730 from producer producer_1749200857529: size=27825 bytes, resolution=640x480 +2025-06-06 11:08:55,146 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1730 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27825 bytes +2025-06-06 11:08:55,146 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,146 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1730 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,181 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1731 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27951 bytes +2025-06-06 11:08:55,182 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,182 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1731 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,216 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1732 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28077 bytes +2025-06-06 11:08:55,216 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,216 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1732 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,255 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1733 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27887 bytes +2025-06-06 11:08:55,255 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,255 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1733 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,283 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1734 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27811 bytes +2025-06-06 11:08:55,283 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,283 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1734 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,321 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1735 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27882 bytes +2025-06-06 11:08:55,321 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,321 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1735 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,350 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1736 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27916 bytes +2025-06-06 11:08:55,351 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,351 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1736 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,380 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1737 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27938 bytes +2025-06-06 11:08:55,380 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,381 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1737 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,407 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1738 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27978 bytes +2025-06-06 11:08:55,407 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,407 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1738 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,439 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1739 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28085 bytes +2025-06-06 11:08:55,439 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,439 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1739 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,471 - video.core - INFO - ๐Ÿ“น Frame #1740 from producer producer_1749200857529: size=28041 bytes, resolution=640x480 +2025-06-06 11:08:55,471 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1740 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28041 bytes +2025-06-06 11:08:55,471 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,471 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1740 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,471 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1740 frames processed, 24.6 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,471 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1740 frames, 21.7 FPS, 4.82 Mbps throughput, 27747 bytes avg frame size +2025-06-06 11:08:55,471 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 1740 frames processed, FPS: 25.1, Throughput: 5.58 Mbps, Avg frame size: 27747 bytes +2025-06-06 11:08:55,505 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1741 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27918 bytes +2025-06-06 11:08:55,505 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,505 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1741 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,585 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1742 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27832 bytes +2025-06-06 11:08:55,586 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,586 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1742 to 1 consumers in 1.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,666 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1743 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27634 bytes +2025-06-06 11:08:55,674 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,691 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1743 to 1 consumers in 25.8ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,757 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1744 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27594 bytes +2025-06-06 11:08:55,757 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,757 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1744 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,758 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1745 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27588 bytes +2025-06-06 11:08:55,758 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,758 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1745 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,760 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1746 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27621 bytes +2025-06-06 11:08:55,760 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,760 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1746 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,761 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1747 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27672 bytes +2025-06-06 11:08:55,761 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,761 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1747 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,763 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1748 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27572 bytes +2025-06-06 11:08:55,763 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,764 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1748 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,769 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1749 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27536 bytes +2025-06-06 11:08:55,769 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,769 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1749 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,809 - video.core - INFO - ๐Ÿ“น Frame #1750 from producer producer_1749200857529: size=27704 bytes, resolution=640x480 +2025-06-06 11:08:55,809 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1750 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27704 bytes +2025-06-06 11:08:55,809 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,809 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1750 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,834 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1751 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27742 bytes +2025-06-06 11:08:55,834 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,834 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1751 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,867 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1752 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27700 bytes +2025-06-06 11:08:55,867 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,867 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1752 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,901 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1753 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27939 bytes +2025-06-06 11:08:55,901 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,901 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1753 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,936 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1754 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27953 bytes +2025-06-06 11:08:55,936 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,936 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1754 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,972 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1755 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27904 bytes +2025-06-06 11:08:55,972 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:55,972 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1755 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,007 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1756 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27740 bytes +2025-06-06 11:08:56,007 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,007 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1756 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,048 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1757 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27849 bytes +2025-06-06 11:08:56,048 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,048 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1757 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,082 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1758 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27569 bytes +2025-06-06 11:08:56,082 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,082 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1758 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,115 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1759 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27591 bytes +2025-06-06 11:08:56,115 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,115 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1759 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,142 - video.core - INFO - ๐Ÿ“น Frame #1760 from producer producer_1749200857529: size=27524 bytes, resolution=640x480 +2025-06-06 11:08:56,142 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1760 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27524 bytes +2025-06-06 11:08:56,142 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,142 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1760 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,181 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1761 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27512 bytes +2025-06-06 11:08:56,181 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,181 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1761 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,213 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1762 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27059 bytes +2025-06-06 11:08:56,213 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,213 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1762 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,242 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1763 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26924 bytes +2025-06-06 11:08:56,242 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,242 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1763 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,272 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1764 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26729 bytes +2025-06-06 11:08:56,272 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,272 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1764 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,312 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1765 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26809 bytes +2025-06-06 11:08:56,312 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,312 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1765 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,346 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1766 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26744 bytes +2025-06-06 11:08:56,346 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,346 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1766 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,382 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1767 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26655 bytes +2025-06-06 11:08:56,382 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,382 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1767 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,415 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1768 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26823 bytes +2025-06-06 11:08:56,415 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,415 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1768 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,449 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1769 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27162 bytes +2025-06-06 11:08:56,449 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,449 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1769 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,484 - video.core - INFO - ๐Ÿ“น Frame #1770 from producer producer_1749200857529: size=27103 bytes, resolution=640x480 +2025-06-06 11:08:56,485 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1770 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27103 bytes +2025-06-06 11:08:56,485 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,485 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1770 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,485 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1770 frames processed, 24.7 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,485 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1770 frames, 21.8 FPS, 4.84 Mbps throughput, 27742 bytes avg frame size +2025-06-06 11:08:56,485 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 1770 frames processed, FPS: 25.2, Throughput: 5.59 Mbps, Avg frame size: 27742 bytes +2025-06-06 11:08:56,508 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1771 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26961 bytes +2025-06-06 11:08:56,508 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,508 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1771 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,542 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1772 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26938 bytes +2025-06-06 11:08:56,543 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,543 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1772 to 1 consumers in 1.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,574 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1773 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26948 bytes +2025-06-06 11:08:56,574 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,574 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1773 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,605 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1774 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27036 bytes +2025-06-06 11:08:56,605 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,605 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1774 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,640 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1775 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26931 bytes +2025-06-06 11:08:56,640 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,640 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1775 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,678 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1776 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26626 bytes +2025-06-06 11:08:56,678 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,678 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1776 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,711 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1777 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26735 bytes +2025-06-06 11:08:56,711 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,711 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1777 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,748 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1778 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26788 bytes +2025-06-06 11:08:56,748 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,748 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1778 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,780 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1779 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26776 bytes +2025-06-06 11:08:56,780 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,780 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1779 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,818 - video.core - INFO - ๐Ÿ“น Frame #1780 from producer producer_1749200857529: size=26822 bytes, resolution=640x480 +2025-06-06 11:08:56,819 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1780 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26822 bytes +2025-06-06 11:08:56,819 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,819 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1780 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,853 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1781 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27015 bytes +2025-06-06 11:08:56,853 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,853 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1781 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,880 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1782 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27141 bytes +2025-06-06 11:08:56,880 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,880 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1782 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,913 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1783 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26930 bytes +2025-06-06 11:08:56,913 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,913 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1783 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,951 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1784 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26943 bytes +2025-06-06 11:08:56,952 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,952 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1784 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,974 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1785 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27048 bytes +2025-06-06 11:08:56,974 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:56,975 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1785 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,028 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1786 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27121 bytes +2025-06-06 11:08:57,028 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,028 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1786 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,064 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1787 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27086 bytes +2025-06-06 11:08:57,064 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,064 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1787 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,101 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1788 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26936 bytes +2025-06-06 11:08:57,101 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,101 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1788 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,140 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1789 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26900 bytes +2025-06-06 11:08:57,140 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,140 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1789 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,175 - video.core - INFO - ๐Ÿ“น Frame #1790 from producer producer_1749200857529: size=26686 bytes, resolution=640x480 +2025-06-06 11:08:57,175 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1790 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26686 bytes +2025-06-06 11:08:57,175 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,175 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1790 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,215 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1791 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26416 bytes +2025-06-06 11:08:57,215 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,215 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1791 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,253 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1792 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26475 bytes +2025-06-06 11:08:57,253 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,253 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1792 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,295 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1793 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26290 bytes +2025-06-06 11:08:57,295 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,295 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1793 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,321 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1794 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26377 bytes +2025-06-06 11:08:57,321 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,321 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1794 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,367 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1795 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26352 bytes +2025-06-06 11:08:57,367 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,367 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1795 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,401 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1796 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26486 bytes +2025-06-06 11:08:57,401 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,401 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1796 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,435 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1797 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26469 bytes +2025-06-06 11:08:57,435 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,435 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1797 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,474 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1798 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26520 bytes +2025-06-06 11:08:57,475 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,475 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1798 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,519 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1799 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26558 bytes +2025-06-06 11:08:57,519 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,519 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1799 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,547 - video.core - INFO - ๐Ÿ“น Frame #1800 from producer producer_1749200857529: size=26502 bytes, resolution=640x480 +2025-06-06 11:08:57,548 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1800 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26502 bytes +2025-06-06 11:08:57,548 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,548 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1800 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,548 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1800 frames processed, 24.7 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,548 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1800 frames, 21.9 FPS, 4.86 Mbps throughput, 27725 bytes avg frame size +2025-06-06 11:08:57,548 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 1800 frames processed, FPS: 25.2, Throughput: 5.60 Mbps, Avg frame size: 27725 bytes +2025-06-06 11:08:57,578 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1801 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26439 bytes +2025-06-06 11:08:57,579 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,579 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1801 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,615 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1802 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26517 bytes +2025-06-06 11:08:57,615 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,615 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1802 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,658 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1803 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26580 bytes +2025-06-06 11:08:57,659 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,659 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1803 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,700 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1804 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26695 bytes +2025-06-06 11:08:57,700 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,700 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1804 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,732 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1805 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26625 bytes +2025-06-06 11:08:57,732 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,732 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1805 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,773 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1806 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26684 bytes +2025-06-06 11:08:57,773 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,773 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1806 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,807 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1807 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26677 bytes +2025-06-06 11:08:57,807 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,807 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1807 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,843 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1808 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26600 bytes +2025-06-06 11:08:57,844 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,844 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1808 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,881 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1809 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26542 bytes +2025-06-06 11:08:57,881 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,881 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1809 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,913 - video.core - INFO - ๐Ÿ“น Frame #1810 from producer producer_1749200857529: size=26557 bytes, resolution=640x480 +2025-06-06 11:08:57,913 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1810 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26557 bytes +2025-06-06 11:08:57,914 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,914 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1810 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,951 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1811 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26474 bytes +2025-06-06 11:08:57,951 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,951 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1811 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,985 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1812 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26478 bytes +2025-06-06 11:08:57,985 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:57,985 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1812 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,022 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1813 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26457 bytes +2025-06-06 11:08:58,022 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,023 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1813 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,064 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1814 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26529 bytes +2025-06-06 11:08:58,064 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,064 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1814 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,098 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1815 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26496 bytes +2025-06-06 11:08:58,099 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,099 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1815 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,138 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1816 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26507 bytes +2025-06-06 11:08:58,139 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,139 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1816 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,180 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1817 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26526 bytes +2025-06-06 11:08:58,180 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,180 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1817 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,217 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1818 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26618 bytes +2025-06-06 11:08:58,217 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,217 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1818 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,256 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1819 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26650 bytes +2025-06-06 11:08:58,256 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,256 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1819 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,295 - video.core - INFO - ๐Ÿ“น Frame #1820 from producer producer_1749200857529: size=26668 bytes, resolution=640x480 +2025-06-06 11:08:58,295 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1820 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26668 bytes +2025-06-06 11:08:58,295 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,295 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1820 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,317 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1821 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26694 bytes +2025-06-06 11:08:58,317 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,317 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1821 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,350 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1822 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26827 bytes +2025-06-06 11:08:58,351 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,351 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1822 to 1 consumers in 0.7ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,389 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1823 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26855 bytes +2025-06-06 11:08:58,389 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,389 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1823 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,431 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1824 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26856 bytes +2025-06-06 11:08:58,431 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,431 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1824 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,467 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1825 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26868 bytes +2025-06-06 11:08:58,467 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,467 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1825 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,509 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1826 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26884 bytes +2025-06-06 11:08:58,509 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,509 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1826 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,540 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1827 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26736 bytes +2025-06-06 11:08:58,540 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,540 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1827 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,572 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1828 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26704 bytes +2025-06-06 11:08:58,572 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,572 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1828 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,606 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1829 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26788 bytes +2025-06-06 11:08:58,606 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,606 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1829 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,649 - video.core - INFO - ๐Ÿ“น Frame #1830 from producer producer_1749200857529: size=26819 bytes, resolution=640x480 +2025-06-06 11:08:58,649 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1830 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26819 bytes +2025-06-06 11:08:58,649 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,649 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1830 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,649 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1830 frames processed, 24.8 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,649 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1830 frames, 22.0 FPS, 4.87 Mbps throughput, 27708 bytes avg frame size +2025-06-06 11:08:58,649 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 1830 frames processed, FPS: 25.3, Throughput: 5.60 Mbps, Avg frame size: 27708 bytes +2025-06-06 11:08:58,689 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1831 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26856 bytes +2025-06-06 11:08:58,689 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,689 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1831 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,729 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1832 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26834 bytes +2025-06-06 11:08:58,729 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,729 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1832 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,766 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1833 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26872 bytes +2025-06-06 11:08:58,766 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,766 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1833 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,804 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1834 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26971 bytes +2025-06-06 11:08:58,804 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,804 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1834 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,841 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1835 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26964 bytes +2025-06-06 11:08:58,841 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,841 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1835 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,879 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1836 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26856 bytes +2025-06-06 11:08:58,880 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,880 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1836 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,915 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1837 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26605 bytes +2025-06-06 11:08:58,915 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,915 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1837 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,940 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1838 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26591 bytes +2025-06-06 11:08:58,940 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,940 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1838 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,978 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1839 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26666 bytes +2025-06-06 11:08:58,978 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:58,978 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1839 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,018 - video.core - INFO - ๐Ÿ“น Frame #1840 from producer producer_1749200857529: size=26617 bytes, resolution=640x480 +2025-06-06 11:08:59,018 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1840 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26617 bytes +2025-06-06 11:08:59,018 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,018 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1840 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,052 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1841 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26639 bytes +2025-06-06 11:08:59,052 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,052 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1841 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,089 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1842 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26615 bytes +2025-06-06 11:08:59,090 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,090 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1842 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,132 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1843 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26602 bytes +2025-06-06 11:08:59,132 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,132 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1843 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,168 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1844 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26687 bytes +2025-06-06 11:08:59,168 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,169 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1844 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,204 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1845 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26694 bytes +2025-06-06 11:08:59,205 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,205 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1845 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,248 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1846 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26612 bytes +2025-06-06 11:08:59,248 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,248 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1846 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,284 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1847 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26695 bytes +2025-06-06 11:08:59,285 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,285 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1847 to 1 consumers in 0.7ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,320 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1848 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26760 bytes +2025-06-06 11:08:59,320 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,320 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1848 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,358 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1849 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26792 bytes +2025-06-06 11:08:59,358 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,358 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1849 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,393 - video.core - INFO - ๐Ÿ“น Frame #1850 from producer producer_1749200857529: size=26752 bytes, resolution=640x480 +2025-06-06 11:08:59,393 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1850 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26752 bytes +2025-06-06 11:08:59,393 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,393 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1850 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,431 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1851 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26817 bytes +2025-06-06 11:08:59,431 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,431 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1851 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,468 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1852 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26899 bytes +2025-06-06 11:08:59,468 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,468 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1852 to 1 consumers in 0.7ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,504 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1853 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26785 bytes +2025-06-06 11:08:59,504 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,504 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1853 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,541 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1854 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26857 bytes +2025-06-06 11:08:59,541 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,541 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1854 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,568 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1855 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26891 bytes +2025-06-06 11:08:59,568 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,568 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1855 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,598 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1856 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26818 bytes +2025-06-06 11:08:59,598 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,598 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1856 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,633 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1857 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26838 bytes +2025-06-06 11:08:59,633 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,633 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1857 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,682 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1858 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26872 bytes +2025-06-06 11:08:59,682 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,682 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1858 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,714 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1859 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26904 bytes +2025-06-06 11:08:59,714 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,714 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1859 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,762 - video.core - INFO - ๐Ÿ“น Frame #1860 from producer producer_1749200857529: size=26855 bytes, resolution=640x480 +2025-06-06 11:08:59,762 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1860 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26855 bytes +2025-06-06 11:08:59,762 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,762 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1860 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,762 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1860 frames processed, 24.8 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,762 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1860 frames, 22.0 FPS, 4.88 Mbps throughput, 27693 bytes avg frame size +2025-06-06 11:08:59,762 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 1860 frames processed, FPS: 25.3, Throughput: 5.60 Mbps, Avg frame size: 27693 bytes +2025-06-06 11:08:59,790 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1861 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26896 bytes +2025-06-06 11:08:59,790 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,790 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1861 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,831 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1862 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26884 bytes +2025-06-06 11:08:59,831 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,831 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1862 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,865 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1863 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26916 bytes +2025-06-06 11:08:59,865 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,865 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1863 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,908 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1864 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26938 bytes +2025-06-06 11:08:59,908 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,908 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1864 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,949 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1865 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26975 bytes +2025-06-06 11:08:59,949 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,949 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1865 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,982 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1866 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26905 bytes +2025-06-06 11:08:59,983 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:08:59,983 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1866 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,017 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1867 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26910 bytes +2025-06-06 11:09:00,017 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,017 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1867 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,153 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1868 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26935 bytes +2025-06-06 11:09:00,153 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,153 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1868 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,161 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1869 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26962 bytes +2025-06-06 11:09:00,161 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,161 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1869 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,162 - video.core - INFO - ๐Ÿ“น Frame #1870 from producer producer_1749200857529: size=27038 bytes, resolution=640x480 +2025-06-06 11:09:00,162 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1870 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27038 bytes +2025-06-06 11:09:00,162 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,162 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1870 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,164 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1871 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27098 bytes +2025-06-06 11:09:00,164 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,164 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1871 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,191 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1872 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27055 bytes +2025-06-06 11:09:00,192 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,192 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1872 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,223 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1873 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27071 bytes +2025-06-06 11:09:00,223 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,223 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1873 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,266 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1874 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27127 bytes +2025-06-06 11:09:00,266 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,266 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1874 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,304 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1875 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26989 bytes +2025-06-06 11:09:00,304 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,304 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1875 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,338 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1876 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26648 bytes +2025-06-06 11:09:00,338 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,338 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1876 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,371 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1877 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26684 bytes +2025-06-06 11:09:00,371 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,371 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1877 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,406 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1878 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26665 bytes +2025-06-06 11:09:00,406 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,406 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1878 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,450 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1879 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26731 bytes +2025-06-06 11:09:00,451 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,451 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1879 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,486 - video.core - INFO - ๐Ÿ“น Frame #1880 from producer producer_1749200857529: size=26783 bytes, resolution=640x480 +2025-06-06 11:09:00,486 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1880 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26783 bytes +2025-06-06 11:09:00,486 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,486 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1880 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,522 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1881 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26830 bytes +2025-06-06 11:09:00,522 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,522 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1881 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,557 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1882 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26788 bytes +2025-06-06 11:09:00,557 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,557 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1882 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,589 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1883 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26791 bytes +2025-06-06 11:09:00,589 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,589 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1883 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,626 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1884 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26962 bytes +2025-06-06 11:09:00,626 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,626 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1884 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,664 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1885 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26992 bytes +2025-06-06 11:09:00,664 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,664 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1885 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,698 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1886 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27057 bytes +2025-06-06 11:09:00,699 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,699 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1886 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,740 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1887 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27056 bytes +2025-06-06 11:09:00,740 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,740 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1887 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,777 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1888 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27072 bytes +2025-06-06 11:09:00,778 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,778 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1888 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,816 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1889 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27131 bytes +2025-06-06 11:09:00,816 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,816 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1889 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,859 - video.core - INFO - ๐Ÿ“น Frame #1890 from producer producer_1749200857529: size=27182 bytes, resolution=640x480 +2025-06-06 11:09:00,859 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1890 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27182 bytes +2025-06-06 11:09:00,859 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,859 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1890 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,859 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1890 frames processed, 24.8 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,859 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1890 frames, 22.1 FPS, 4.90 Mbps throughput, 27681 bytes avg frame size +2025-06-06 11:09:00,859 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 1890 frames processed, FPS: 25.3, Throughput: 5.61 Mbps, Avg frame size: 27681 bytes +2025-06-06 11:09:00,887 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1891 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27170 bytes +2025-06-06 11:09:00,888 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,888 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1891 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,932 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1892 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27114 bytes +2025-06-06 11:09:00,932 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,932 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1892 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,961 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1893 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27058 bytes +2025-06-06 11:09:00,961 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:00,961 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1893 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,001 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1894 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27093 bytes +2025-06-06 11:09:01,001 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,001 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1894 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,034 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1895 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27159 bytes +2025-06-06 11:09:01,034 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,035 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1895 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,070 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1896 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26995 bytes +2025-06-06 11:09:01,070 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,070 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1896 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,115 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1897 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26945 bytes +2025-06-06 11:09:01,115 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,115 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1897 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,140 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1898 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27045 bytes +2025-06-06 11:09:01,140 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,140 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1898 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,183 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1899 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26983 bytes +2025-06-06 11:09:01,183 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,183 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1899 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,217 - video.core - INFO - ๐Ÿ“น Frame #1900 from producer producer_1749200857529: size=27036 bytes, resolution=640x480 +2025-06-06 11:09:01,218 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1900 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27036 bytes +2025-06-06 11:09:01,218 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,218 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1900 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,259 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1901 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26962 bytes +2025-06-06 11:09:01,259 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,259 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1901 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,291 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1902 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27023 bytes +2025-06-06 11:09:01,291 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,291 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1902 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,331 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1903 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27038 bytes +2025-06-06 11:09:01,331 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,331 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1903 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,368 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1904 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27090 bytes +2025-06-06 11:09:01,369 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,369 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1904 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,402 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1905 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27135 bytes +2025-06-06 11:09:01,402 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,402 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1905 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,437 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1906 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27203 bytes +2025-06-06 11:09:01,437 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,437 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1906 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,474 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1907 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27106 bytes +2025-06-06 11:09:01,475 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,475 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1907 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,511 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1908 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27066 bytes +2025-06-06 11:09:01,511 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,511 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1908 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,549 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1909 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27103 bytes +2025-06-06 11:09:01,549 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,549 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1909 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,583 - video.core - INFO - ๐Ÿ“น Frame #1910 from producer producer_1749200857529: size=27023 bytes, resolution=640x480 +2025-06-06 11:09:01,583 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1910 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27023 bytes +2025-06-06 11:09:01,583 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,583 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1910 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,620 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1911 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26963 bytes +2025-06-06 11:09:01,620 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,620 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1911 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,653 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1912 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26932 bytes +2025-06-06 11:09:01,653 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,653 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1912 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,695 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1913 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27036 bytes +2025-06-06 11:09:01,695 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,695 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1913 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,729 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1914 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27069 bytes +2025-06-06 11:09:01,729 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,729 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1914 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,765 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1915 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27046 bytes +2025-06-06 11:09:01,765 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,765 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1915 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,807 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1916 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27114 bytes +2025-06-06 11:09:01,807 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,807 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1916 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,849 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1917 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27183 bytes +2025-06-06 11:09:01,849 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,849 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1917 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,885 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1918 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27209 bytes +2025-06-06 11:09:01,885 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,885 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1918 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,920 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1919 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27122 bytes +2025-06-06 11:09:01,920 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,920 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1919 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,958 - video.core - INFO - ๐Ÿ“น Frame #1920 from producer producer_1749200857529: size=27151 bytes, resolution=640x480 +2025-06-06 11:09:01,958 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1920 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27151 bytes +2025-06-06 11:09:01,958 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,958 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1920 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,958 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1920 frames processed, 24.9 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:01,958 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1920 frames, 22.2 FPS, 4.91 Mbps throughput, 27671 bytes avg frame size +2025-06-06 11:09:01,958 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 1920 frames processed, FPS: 25.3, Throughput: 5.61 Mbps, Avg frame size: 27671 bytes +2025-06-06 11:09:02,001 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1921 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27198 bytes +2025-06-06 11:09:02,002 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,002 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1921 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,037 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1922 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27272 bytes +2025-06-06 11:09:02,037 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,037 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1922 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,076 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1923 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27302 bytes +2025-06-06 11:09:02,076 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,076 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1923 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,111 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1924 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27355 bytes +2025-06-06 11:09:02,111 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,111 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1924 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,146 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1925 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27263 bytes +2025-06-06 11:09:02,146 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,146 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1925 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,182 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1926 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27171 bytes +2025-06-06 11:09:02,182 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,183 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1926 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,210 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1927 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27251 bytes +2025-06-06 11:09:02,210 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,210 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1927 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,261 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1928 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27252 bytes +2025-06-06 11:09:02,261 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,261 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1928 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,285 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1929 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27268 bytes +2025-06-06 11:09:02,286 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,286 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1929 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,332 - video.core - INFO - ๐Ÿ“น Frame #1930 from producer producer_1749200857529: size=27277 bytes, resolution=640x480 +2025-06-06 11:09:02,332 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1930 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27277 bytes +2025-06-06 11:09:02,332 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,332 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1930 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,364 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1931 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27221 bytes +2025-06-06 11:09:02,365 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,365 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1931 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,406 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1932 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27187 bytes +2025-06-06 11:09:02,406 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,406 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1932 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,434 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1933 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27263 bytes +2025-06-06 11:09:02,434 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,434 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1933 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,463 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1934 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27296 bytes +2025-06-06 11:09:02,464 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,464 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1934 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,502 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1935 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27269 bytes +2025-06-06 11:09:02,502 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,502 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1935 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,543 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1936 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27334 bytes +2025-06-06 11:09:02,543 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,543 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1936 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,572 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1937 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27341 bytes +2025-06-06 11:09:02,572 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,572 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1937 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,610 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1938 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27322 bytes +2025-06-06 11:09:02,610 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,610 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1938 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,647 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1939 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27354 bytes +2025-06-06 11:09:02,647 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,647 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1939 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,692 - video.core - INFO - ๐Ÿ“น Frame #1940 from producer producer_1749200857529: size=27351 bytes, resolution=640x480 +2025-06-06 11:09:02,692 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1940 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27351 bytes +2025-06-06 11:09:02,692 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,692 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1940 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,727 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1941 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27254 bytes +2025-06-06 11:09:02,727 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,727 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1941 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,768 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1942 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27067 bytes +2025-06-06 11:09:02,768 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,768 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1942 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,800 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1943 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26887 bytes +2025-06-06 11:09:02,800 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,800 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1943 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,835 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1944 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26884 bytes +2025-06-06 11:09:02,835 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,835 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1944 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,868 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1945 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26812 bytes +2025-06-06 11:09:02,868 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,868 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1945 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,907 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1946 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26796 bytes +2025-06-06 11:09:02,907 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,907 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1946 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,945 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1947 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26878 bytes +2025-06-06 11:09:02,945 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,945 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1947 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,980 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1948 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26956 bytes +2025-06-06 11:09:02,980 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:02,981 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1948 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,018 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1949 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27018 bytes +2025-06-06 11:09:03,018 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,018 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1949 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,053 - video.core - INFO - ๐Ÿ“น Frame #1950 from producer producer_1749200857529: size=27024 bytes, resolution=640x480 +2025-06-06 11:09:03,054 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1950 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27024 bytes +2025-06-06 11:09:03,054 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,054 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1950 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,054 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1950 frames processed, 24.9 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,054 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1950 frames, 22.2 FPS, 4.92 Mbps throughput, 27663 bytes avg frame size +2025-06-06 11:09:03,054 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 1950 frames processed, FPS: 25.4, Throughput: 5.61 Mbps, Avg frame size: 27663 bytes +2025-06-06 11:09:03,088 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1951 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27055 bytes +2025-06-06 11:09:03,088 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,088 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1951 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,127 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1952 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26985 bytes +2025-06-06 11:09:03,127 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,127 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1952 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,173 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1953 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27102 bytes +2025-06-06 11:09:03,174 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,174 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1953 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,205 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1954 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27131 bytes +2025-06-06 11:09:03,205 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,205 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1954 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,249 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1955 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27171 bytes +2025-06-06 11:09:03,249 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,249 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1955 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,287 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1956 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27228 bytes +2025-06-06 11:09:03,287 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,288 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1956 to 1 consumers in 0.8ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,323 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1957 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27208 bytes +2025-06-06 11:09:03,323 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,323 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1957 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,357 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1958 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27206 bytes +2025-06-06 11:09:03,357 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,357 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1958 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,389 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1959 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27141 bytes +2025-06-06 11:09:03,389 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,389 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1959 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,426 - video.core - INFO - ๐Ÿ“น Frame #1960 from producer producer_1749200857529: size=27123 bytes, resolution=640x480 +2025-06-06 11:09:03,427 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1960 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27123 bytes +2025-06-06 11:09:03,427 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,427 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1960 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,464 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1961 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27173 bytes +2025-06-06 11:09:03,464 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,464 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1961 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,506 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1962 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27156 bytes +2025-06-06 11:09:03,507 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,507 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1962 to 1 consumers in 0.8ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,531 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1963 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27249 bytes +2025-06-06 11:09:03,531 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,531 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1963 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,567 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1964 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27258 bytes +2025-06-06 11:09:03,567 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,567 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1964 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,602 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1965 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27231 bytes +2025-06-06 11:09:03,602 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,602 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1965 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,639 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1966 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26959 bytes +2025-06-06 11:09:03,639 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,639 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1966 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,671 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1967 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26823 bytes +2025-06-06 11:09:03,671 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,671 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1967 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,714 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1968 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26933 bytes +2025-06-06 11:09:03,714 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,714 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1968 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,747 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1969 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26982 bytes +2025-06-06 11:09:03,747 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,747 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1969 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,782 - video.core - INFO - ๐Ÿ“น Frame #1970 from producer producer_1749200857529: size=26997 bytes, resolution=640x480 +2025-06-06 11:09:03,783 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1970 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26997 bytes +2025-06-06 11:09:03,783 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,783 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1970 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,820 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1971 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27039 bytes +2025-06-06 11:09:03,820 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,820 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1971 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,856 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1972 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26926 bytes +2025-06-06 11:09:03,856 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,856 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1972 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,896 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1973 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27012 bytes +2025-06-06 11:09:03,896 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,896 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1973 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,936 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1974 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27036 bytes +2025-06-06 11:09:03,936 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,936 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1974 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,980 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1975 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27197 bytes +2025-06-06 11:09:03,980 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:03,980 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1975 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,013 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1976 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27167 bytes +2025-06-06 11:09:04,013 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,013 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1976 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,050 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1977 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27160 bytes +2025-06-06 11:09:04,050 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,050 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1977 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,088 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1978 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27101 bytes +2025-06-06 11:09:04,088 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,088 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1978 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,123 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1979 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27148 bytes +2025-06-06 11:09:04,123 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,123 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1979 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,157 - video.core - INFO - ๐Ÿ“น Frame #1980 from producer producer_1749200857529: size=27119 bytes, resolution=640x480 +2025-06-06 11:09:04,157 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1980 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27119 bytes +2025-06-06 11:09:04,157 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,157 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1980 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,157 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 1980 frames processed, 24.9 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,157 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 1980 frames, 22.3 FPS, 4.93 Mbps throughput, 27655 bytes avg frame size +2025-06-06 11:09:04,157 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 1980 frames processed, FPS: 25.4, Throughput: 5.62 Mbps, Avg frame size: 27655 bytes +2025-06-06 11:09:04,194 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1981 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27183 bytes +2025-06-06 11:09:04,195 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,195 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1981 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,229 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1982 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27169 bytes +2025-06-06 11:09:04,229 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,229 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1982 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,266 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1983 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27189 bytes +2025-06-06 11:09:04,266 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,266 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1983 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,300 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1984 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27170 bytes +2025-06-06 11:09:04,301 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,301 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1984 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,340 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1985 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27146 bytes +2025-06-06 11:09:04,340 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,340 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1985 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,377 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1986 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26964 bytes +2025-06-06 11:09:04,377 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,377 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1986 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,417 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1987 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26910 bytes +2025-06-06 11:09:04,417 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,417 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1987 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,450 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1988 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26833 bytes +2025-06-06 11:09:04,450 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,450 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1988 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,488 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1989 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26705 bytes +2025-06-06 11:09:04,488 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,488 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1989 to 1 consumers in 0.7ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,519 - video.core - INFO - ๐Ÿ“น Frame #1990 from producer producer_1749200857529: size=26537 bytes, resolution=640x480 +2025-06-06 11:09:04,519 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1990 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26537 bytes +2025-06-06 11:09:04,519 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,519 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1990 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,557 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1991 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26456 bytes +2025-06-06 11:09:04,557 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,557 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1991 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,592 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1992 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26534 bytes +2025-06-06 11:09:04,592 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,592 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1992 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,629 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1993 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26681 bytes +2025-06-06 11:09:04,629 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,629 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1993 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,669 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1994 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26830 bytes +2025-06-06 11:09:04,670 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,670 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1994 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,706 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1995 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26810 bytes +2025-06-06 11:09:04,706 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,706 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1995 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,744 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1996 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26755 bytes +2025-06-06 11:09:04,744 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,744 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1996 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,783 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1997 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26802 bytes +2025-06-06 11:09:04,784 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,784 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1997 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,818 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1998 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26794 bytes +2025-06-06 11:09:04,818 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,818 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1998 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,857 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1999 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26566 bytes +2025-06-06 11:09:04,857 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,857 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1999 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,892 - video.core - INFO - ๐Ÿ“น Frame #2000 from producer producer_1749200857529: size=26641 bytes, resolution=640x480 +2025-06-06 11:09:04,892 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2000 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26641 bytes +2025-06-06 11:09:04,892 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,892 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2000 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,924 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2001 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26732 bytes +2025-06-06 11:09:04,924 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,924 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2001 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,966 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2002 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26717 bytes +2025-06-06 11:09:04,966 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:04,966 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2002 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:05,004 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2003 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26530 bytes +2025-06-06 11:09:05,004 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:05,004 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2003 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:05,037 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2004 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26453 bytes +2025-06-06 11:09:05,037 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:05,037 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2004 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:05,075 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2005 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26295 bytes +2025-06-06 11:09:05,075 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:05,075 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2005 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:05,112 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2006 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 25975 bytes +2025-06-06 11:09:05,112 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:05,112 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2006 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:05,147 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2007 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 25703 bytes +2025-06-06 11:09:05,147 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:05,147 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2007 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:05,185 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2008 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26191 bytes +2025-06-06 11:09:05,185 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:05,185 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2008 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:05,220 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2009 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26320 bytes +2025-06-06 11:09:05,220 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:05,220 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2009 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:05,257 - video.core - INFO - ๐Ÿ“น Frame #2010 from producer producer_1749200857529: size=26331 bytes, resolution=640x480 +2025-06-06 11:09:05,257 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2010 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26331 bytes +2025-06-06 11:09:05,257 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:05,257 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2010 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:05,257 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 2010 frames processed, 25.0 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:05,257 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 2010 frames, 22.4 FPS, 4.95 Mbps throughput, 27640 bytes avg frame size +2025-06-06 11:09:05,257 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200857529 stats: 2010 frames processed, FPS: 25.4, Throughput: 5.62 Mbps, Avg frame size: 27640 bytes +2025-06-06 11:09:05,292 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2011 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26415 bytes +2025-06-06 11:09:05,292 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:05,292 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2011 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:05,330 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2012 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26394 bytes +2025-06-06 11:09:05,331 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:05,331 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2012 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:05,369 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2013 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26289 bytes +2025-06-06 11:09:05,369 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:05,369 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2013 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:05,400 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2014 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26415 bytes +2025-06-06 11:09:05,400 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:05,401 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2014 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:05,438 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2015 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26533 bytes +2025-06-06 11:09:05,438 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:05,438 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2015 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:05,482 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2016 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26670 bytes +2025-06-06 11:09:05,482 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:05,482 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2016 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:05,516 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2017 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26741 bytes +2025-06-06 11:09:05,516 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:05,516 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2017 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:05,550 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2018 from producer producer_1749200857529 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26573 bytes +2025-06-06 11:09:05,550 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:05,550 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2018 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:09:05,572 - video.core - INFO - ๐ŸŽฅ Producer producer_1749200857529 left video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:09:05,573 - video.core - INFO - ๐ŸŽฅ Consumer consumer_1749200857591 left video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:09:05,574 - video.core - INFO - ๐ŸงŠ WebRTC producer_1749200857529 ICE state: closed +2025-06-06 11:09:05,574 - video.core - INFO - ๐Ÿ”— WebRTC producer_1749200857529 connection state: closed +2025-06-06 11:09:05,574 - video.core - ERROR - โŒ Error processing video track producer_1749200857529 after 2018 frames +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/video/core.py", line 272, in _process_incoming_video + frame = await track.recv() + ^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/aiortc/rtcrtpreceiver.py", line 209, in recv + raise MediaStreamError +aiortc.mediastreams.MediaStreamError +2025-06-06 11:09:05,578 - video.core - INFO - ๐ŸงŠ WebRTC consumer_1749200857591 ICE state: closed +2025-06-06 11:09:05,578 - video.core - INFO - ๐Ÿ”— WebRTC consumer_1749200857591 connection state: closed +2025-06-06 11:09:05,578 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Cleaned up WebRTC connection for producer_1749200857529 +2025-06-06 11:09:05,578 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Cleaned up WebRTC connection for consumer_1749200857591 +2025-06-06 11:09:43,478 - video.core - INFO - ๐ŸŽฅ VideoCore initialized with dual communication strategies +2025-06-06 11:09:43,500 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-06 11:09:43,785 - video.core - INFO - ๐ŸŽฅ VideoCore initialized with dual communication strategies +2025-06-06 11:09:43,867 - watchfiles.main - INFO - 1 change detected +2025-06-06 11:09:55,452 - video.core - INFO - ๐Ÿ”— P2P Strategy initialized for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:09:55,452 - video.core - INFO - ๐ŸŽฅ Created video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b with p2p strategy +2025-06-06 11:09:58,658 - video.core - INFO - ๐ŸŽฅ Producer producer_1749200997148 joined video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:09:58,660 - video.core - INFO - ๐Ÿ”— P2P: Producer producer_1749200997148 setup for P2P strategy +2025-06-06 11:10:00,747 - video.core - INFO - ๐ŸŽฅ Stream started by producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:10:02,054 - video.core - INFO - ๐ŸŽฅ Consumer consumer_1749200997400 joined video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:10:02,055 - video.core - INFO - ๐Ÿ”— P2P: Consumer consumer_1749200997400 setup for P2P strategy +2025-06-06 11:10:02,071 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749200997148 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:10:02,071 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 11:10:02,071 - video.core - INFO - ๐Ÿ”— P2P Strategy: offer from producer_1749200997148 (role: producer) +2025-06-06 11:10:02,071 - video.core - INFO - ๐Ÿ”„ P2P: Forwarding offer from producer producer_1749200997148 to consumer consumer_1749200997400 +2025-06-06 11:10:02,077 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749200997148 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:10:02,077 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 11:10:02,077 - video.core - INFO - ๐Ÿ”— P2P Strategy: ice from producer_1749200997148 (role: producer) +2025-06-06 11:10:02,111 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749200997148 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:10:02,111 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 11:10:02,111 - video.core - INFO - ๐Ÿ”— P2P Strategy: ice from producer_1749200997148 (role: producer) +2025-06-06 11:10:02,114 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749200997400 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:10:02,114 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 11:10:02,114 - video.core - INFO - ๐Ÿ”— P2P Strategy: answer from consumer_1749200997400 (role: consumer) +2025-06-06 11:10:02,115 - video.core - INFO - ๐Ÿ”„ P2P: Forwarding answer from consumer consumer_1749200997400 to producer producer_1749200997148 +2025-06-06 11:10:02,118 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749200997400 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:10:02,118 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 11:10:02,118 - video.core - INFO - ๐Ÿ”— P2P Strategy: ice from consumer_1749200997400 (role: consumer) +2025-06-06 11:10:04,941 - video.core - INFO - ๐Ÿ”— P2P: Cleaned up participant producer_1749200997148 +2025-06-06 11:10:04,941 - video.core - INFO - ๐Ÿ”— P2P: Cleaned up participant consumer_1749200997400 +2025-06-06 11:10:04,941 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay Strategy initialized for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:10:04,941 - video.core - INFO - ๐Ÿš€ Server is now ready to relay video frames for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:10:04,959 - video.core - INFO - WebRTC connection producer_1749200997148 initialized +2025-06-06 11:10:04,959 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Created WebRTC connection for producer_1749200997148 +2025-06-06 11:10:04,959 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: producer producer_1749200997148 setup for server relay +2025-06-06 11:10:04,959 - video.core - INFO - WebRTC connection consumer_1749200997400 initialized +2025-06-06 11:10:04,959 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Created WebRTC connection for consumer_1749200997400 +2025-06-06 11:10:04,959 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: consumer consumer_1749200997400 setup for server relay +2025-06-06 11:10:04,959 - video.core - INFO - ๐Ÿ”„ Room 32fd74a9-26a0-4a29-89bf-6f020eccf65b strategy switched: p2p -> server (User requested via UI) +2025-06-06 11:10:05,382 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749200997400 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:10:05,382 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 11:10:05,382 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: offer from consumer_1749200997400 (role: consumer) +2025-06-06 11:10:05,382 - video.core - INFO - ๐Ÿค Processing WebRTC offer from consumer consumer_1749200997400 +2025-06-06 11:10:05,382 - video.core - INFO - ๐Ÿ”ง Processing SDP offer from consumer_1749200997400 (length: 6127 chars) +2025-06-06 11:10:05,394 - video.core - INFO - VideoFrameTrack created with recovery policy: freeze_last_frame +2025-06-06 11:10:05,394 - video.core - INFO - ๐Ÿ–ฅ๏ธ WebRTC consumer_1749200997400 set as CONSUMER (explicit role) - video track added +2025-06-06 11:10:05,395 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749200997400 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:10:05,395 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 11:10:05,396 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: ice from consumer_1749200997400 (role: consumer) +2025-06-06 11:10:05,398 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749200997400 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:10:05,398 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 11:10:05,398 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: ice from consumer_1749200997400 (role: consumer) +2025-06-06 11:10:05,451 - video.core - INFO - โœ… Generated WebRTC answer for consumer_1749200997400 (length: 1977 chars) +2025-06-06 11:10:05,451 - video.core - INFO - โœ… Generated WebRTC answer for consumer_1749200997400 (length: 1977 chars) +2025-06-06 11:10:05,452 - video.core - INFO - ๐ŸงŠ WebRTC consumer_1749200997400 ICE state: checking +2025-06-06 11:10:05,452 - video.core - INFO - ๐Ÿ”— WebRTC consumer_1749200997400 connection state: connecting +2025-06-06 11:10:05,452 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 58249) -> ('192.168.1.83', 55670)) State.FROZEN -> State.WAITING +2025-06-06 11:10:05,452 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 58249) -> ('82.66.87.218', 55670)) State.FROZEN -> State.WAITING +2025-06-06 11:10:05,452 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 58249) -> ('192.168.1.83', 55670)) State.WAITING -> State.IN_PROGRESS +2025-06-06 11:10:05,454 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 58249) -> ('192.168.1.83', 55670)) State.IN_PROGRESS -> State.SUCCEEDED +2025-06-06 11:10:05,454 - aioice.ice - INFO - Connection(0) Check CandidatePair(('192.168.1.83', 58249) -> ('82.66.87.218', 55670)) State.WAITING -> State.FAILED +2025-06-06 11:10:05,454 - aioice.ice - INFO - Connection(0) ICE completed +2025-06-06 11:10:05,458 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749200997400 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:10:05,458 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 11:10:05,458 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: ice from consumer_1749200997400 (role: consumer) +2025-06-06 11:10:05,474 - video.core - INFO - ๐ŸงŠ WebRTC consumer_1749200997400 ICE state: completed +2025-06-06 11:10:05,513 - video.core - INFO - ๐Ÿ”— WebRTC consumer_1749200997400 connection state: connected +2025-06-06 11:10:05,513 - video.core - INFO - ๐Ÿ“บ Consumer consumer_1749200997400 WebRTC connection established - ready to send frames +2025-06-06 11:10:05,620 - aiortc.rtcrtpsender - WARNING - RTCRtpsender(video) Traceback (most recent call last): + File "/Users/julienblanchon/.local/share/uv/python/cpython-3.12.0-macos-aarch64-none/lib/python3.12/asyncio/tasks.py", line 510, in wait_for + return await fut + ^^^^^^^^^ + File "/Users/julienblanchon/.local/share/uv/python/cpython-3.12.0-macos-aarch64-none/lib/python3.12/asyncio/queues.py", line 158, in get + await getter +asyncio.exceptions.CancelledError + +The above exception was the direct cause of the following exception: + +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/video/core.py", line 69, in recv + frame_data = await asyncio.wait_for(self.frame_queue.get(), timeout=0.1) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/.local/share/uv/python/cpython-3.12.0-macos-aarch64-none/lib/python3.12/asyncio/tasks.py", line 509, in wait_for + async with timeouts.timeout(timeout): + File "/Users/julienblanchon/.local/share/uv/python/cpython-3.12.0-macos-aarch64-none/lib/python3.12/asyncio/timeouts.py", line 111, in __aexit__ + raise TimeoutError from exc_val +TimeoutError + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/aiortc/rtcrtpsender.py", line 367, in _run_rtp + enc_frame = await self._next_encoded_frame(codec) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/aiortc/rtcrtpsender.py", line 294, in _next_encoded_frame + data = await self.__track.recv() + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/video/core.py", line 100, in recv + frame = self._create_recovery_frame(current_time) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/video/core.py", line 136, in _create_recovery_frame + recovery_frame = self._apply_recovery_policy(policy) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/video/core.py", line 148, in _apply_recovery_policy + recovery_frame = apply_recovery_policy( + ^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/video/utils.py", line 178, in apply_recovery_policy + if policy == RecoveryPolicy.BLACK_FRAME: + ^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: type object 'RecoveryPolicy' has no attribute 'BLACK_FRAME' + +2025-06-06 11:10:06,206 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749200997148 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:10:06,206 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 11:10:06,206 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: offer from producer_1749200997148 (role: producer) +2025-06-06 11:10:06,206 - video.core - INFO - ๐Ÿค Processing WebRTC offer from producer producer_1749200997148 +2025-06-06 11:10:06,206 - video.core - INFO - ๐Ÿ”ง Processing SDP offer from producer_1749200997148 (length: 4735 chars) +2025-06-06 11:10:06,211 - video.core - INFO - WebRTC producer_1749200997148 received track: video +2025-06-06 11:10:06,211 - video.core - INFO - WebRTC producer_1749200997148 is now a PRODUCER +2025-06-06 11:10:06,212 - video.core - INFO - ๐Ÿ–ฅ๏ธ WebRTC producer_1749200997148 set as PRODUCER (explicit role) +2025-06-06 11:10:06,212 - video.core - INFO - ๐Ÿ“น Starting video frame processing for producer producer_1749200997148 +2025-06-06 11:10:06,215 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749200997148 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:10:06,216 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 11:10:06,216 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: ice from producer_1749200997148 (role: producer) +2025-06-06 11:10:06,230 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749200997148 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:10:06,230 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 11:10:06,230 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: ice from producer_1749200997148 (role: producer) +2025-06-06 11:10:06,245 - video.core - INFO - โœ… Generated WebRTC answer for producer_1749200997148 (length: 1975 chars) +2025-06-06 11:10:06,245 - video.core - INFO - โœ… Generated WebRTC answer for producer_1749200997148 (length: 1975 chars) +2025-06-06 11:10:06,246 - video.core - INFO - ๐ŸงŠ WebRTC producer_1749200997148 ICE state: checking +2025-06-06 11:10:06,246 - video.core - INFO - ๐Ÿ”— WebRTC producer_1749200997148 connection state: connecting +2025-06-06 11:10:06,246 - aioice.ice - INFO - Connection(1) Check CandidatePair(('192.168.1.83', 49199) -> ('192.168.1.83', 61335)) State.FROZEN -> State.WAITING +2025-06-06 11:10:06,247 - aioice.ice - INFO - Connection(1) Check CandidatePair(('192.168.1.83', 49199) -> ('82.66.87.218', 61335)) State.FROZEN -> State.WAITING +2025-06-06 11:10:06,247 - aioice.ice - INFO - Connection(1) Check CandidatePair(('192.168.1.83', 49199) -> ('192.168.1.83', 61335)) State.WAITING -> State.IN_PROGRESS +2025-06-06 11:10:06,250 - aioice.ice - INFO - Connection(1) Check CandidatePair(('192.168.1.83', 49199) -> ('192.168.1.83', 61335)) State.IN_PROGRESS -> State.SUCCEEDED +2025-06-06 11:10:06,251 - aioice.ice - INFO - Connection(1) Check CandidatePair(('192.168.1.83', 49199) -> ('82.66.87.218', 61335)) State.WAITING -> State.FAILED +2025-06-06 11:10:06,251 - aioice.ice - INFO - Connection(1) ICE completed +2025-06-06 11:10:06,268 - video.core - INFO - ๐ŸงŠ WebRTC producer_1749200997148 ICE state: completed +2025-06-06 11:10:06,272 - video.core - INFO - ๐Ÿ”— WebRTC producer_1749200997148 connection state: connected +2025-06-06 11:10:06,273 - video.core - INFO - ๐ŸŽฌ Producer producer_1749200997148 WebRTC connection established - ready to receive frames +2025-06-06 11:10:06,355 - video.core - INFO - ๐Ÿ“ฅ Server received frame #1 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 22084 bytes +2025-06-06 11:10:06,356 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:06,356 - video.core - INFO - ๐Ÿ“ค Server relayed frame #1 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:06,369 - video.core - INFO - ๐Ÿ“ฅ Server received frame #2 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 22882 bytes +2025-06-06 11:10:06,369 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:06,369 - video.core - INFO - ๐Ÿ“ค Server relayed frame #2 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:06,415 - video.core - INFO - ๐Ÿ“ฅ Server received frame #3 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 23239 bytes +2025-06-06 11:10:06,415 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:06,415 - video.core - INFO - ๐Ÿ“ค Server relayed frame #3 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:06,457 - video.core - INFO - ๐Ÿ“ฅ Server received frame #4 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 23463 bytes +2025-06-06 11:10:06,457 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:06,457 - video.core - INFO - ๐Ÿ“ค Server relayed frame #4 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:06,499 - video.core - INFO - ๐Ÿ“ฅ Server received frame #5 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 23694 bytes +2025-06-06 11:10:06,499 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:06,499 - video.core - INFO - ๐Ÿ“ค Server relayed frame #5 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:06,544 - video.core - INFO - ๐Ÿ“ฅ Server received frame #6 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 23801 bytes +2025-06-06 11:10:06,545 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:06,545 - video.core - INFO - ๐Ÿ“ค Server relayed frame #6 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:06,592 - video.core - INFO - ๐Ÿ“ฅ Server received frame #7 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 23960 bytes +2025-06-06 11:10:06,592 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:06,592 - video.core - INFO - ๐Ÿ“ค Server relayed frame #7 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:06,636 - video.core - INFO - ๐Ÿ“ฅ Server received frame #8 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 24100 bytes +2025-06-06 11:10:06,636 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:06,637 - video.core - INFO - ๐Ÿ“ค Server relayed frame #8 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:06,680 - video.core - INFO - ๐Ÿ“ฅ Server received frame #9 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 24197 bytes +2025-06-06 11:10:06,681 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:06,681 - video.core - INFO - ๐Ÿ“ค Server relayed frame #9 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:06,726 - video.core - INFO - ๐Ÿ“น Frame #10 from producer producer_1749200997148: size=24265 bytes, resolution=640x480 +2025-06-06 11:10:06,726 - video.core - INFO - ๐Ÿ“ฅ Server received frame #10 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 24265 bytes +2025-06-06 11:10:06,727 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:06,727 - video.core - INFO - ๐Ÿ“ค Server relayed frame #10 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:06,766 - video.core - INFO - ๐Ÿ“ฅ Server received frame #11 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 24346 bytes +2025-06-06 11:10:06,767 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:06,767 - video.core - INFO - ๐Ÿ“ค Server relayed frame #11 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:06,803 - video.core - INFO - ๐Ÿ“ฅ Server received frame #12 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 24396 bytes +2025-06-06 11:10:06,803 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:06,803 - video.core - INFO - ๐Ÿ“ค Server relayed frame #12 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:06,845 - video.core - INFO - ๐Ÿ“ฅ Server received frame #13 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 24576 bytes +2025-06-06 11:10:06,845 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:06,845 - video.core - INFO - ๐Ÿ“ค Server relayed frame #13 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:06,883 - video.core - INFO - ๐Ÿ“ฅ Server received frame #14 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 24647 bytes +2025-06-06 11:10:06,884 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:06,884 - video.core - INFO - ๐Ÿ“ค Server relayed frame #14 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:06,930 - video.core - INFO - ๐Ÿ“ฅ Server received frame #15 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 24826 bytes +2025-06-06 11:10:06,931 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:06,931 - video.core - INFO - ๐Ÿ“ค Server relayed frame #15 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:06,977 - video.core - INFO - ๐Ÿ“ฅ Server received frame #16 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 25026 bytes +2025-06-06 11:10:06,977 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:06,977 - video.core - INFO - ๐Ÿ“ค Server relayed frame #16 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:07,023 - video.core - INFO - ๐Ÿ“ฅ Server received frame #17 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 24991 bytes +2025-06-06 11:10:07,023 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:07,023 - video.core - INFO - ๐Ÿ“ค Server relayed frame #17 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:07,065 - video.core - INFO - ๐Ÿ“ฅ Server received frame #18 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 25232 bytes +2025-06-06 11:10:07,065 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:07,065 - video.core - INFO - ๐Ÿ“ค Server relayed frame #18 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:07,110 - video.core - INFO - ๐Ÿ“ฅ Server received frame #19 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 25224 bytes +2025-06-06 11:10:07,110 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:07,110 - video.core - INFO - ๐Ÿ“ค Server relayed frame #19 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:07,154 - video.core - INFO - ๐Ÿ“น Frame #20 from producer producer_1749200997148: size=25399 bytes, resolution=640x480 +2025-06-06 11:10:07,155 - video.core - INFO - ๐Ÿ“ฅ Server received frame #20 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 25399 bytes +2025-06-06 11:10:07,155 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:07,155 - video.core - INFO - ๐Ÿ“ค Server relayed frame #20 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:07,190 - video.core - INFO - ๐Ÿ“ฅ Server received frame #21 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 25582 bytes +2025-06-06 11:10:07,190 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:07,190 - video.core - INFO - ๐Ÿ“ค Server relayed frame #21 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:07,235 - video.core - INFO - ๐Ÿ“ฅ Server received frame #22 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26621 bytes +2025-06-06 11:10:07,235 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:07,235 - video.core - INFO - ๐Ÿ“ค Server relayed frame #22 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:07,270 - video.core - INFO - ๐Ÿ“ฅ Server received frame #23 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26748 bytes +2025-06-06 11:10:07,270 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:07,270 - video.core - INFO - ๐Ÿ“ค Server relayed frame #23 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:07,318 - video.core - INFO - ๐Ÿ“ฅ Server received frame #24 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26879 bytes +2025-06-06 11:10:07,318 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:07,318 - video.core - INFO - ๐Ÿ“ค Server relayed frame #24 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:07,367 - video.core - INFO - ๐Ÿ“ฅ Server received frame #25 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27059 bytes +2025-06-06 11:10:07,367 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:07,367 - video.core - INFO - ๐Ÿ“ค Server relayed frame #25 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:07,407 - video.core - INFO - ๐Ÿ“ฅ Server received frame #26 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27153 bytes +2025-06-06 11:10:07,407 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:07,407 - video.core - INFO - ๐Ÿ“ค Server relayed frame #26 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:07,457 - video.core - INFO - ๐Ÿ“ฅ Server received frame #27 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27270 bytes +2025-06-06 11:10:07,457 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:07,457 - video.core - INFO - ๐Ÿ“ค Server relayed frame #27 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:07,497 - video.core - INFO - ๐Ÿ“ฅ Server received frame #28 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27419 bytes +2025-06-06 11:10:07,497 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:07,497 - video.core - INFO - ๐Ÿ“ค Server relayed frame #28 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:07,540 - video.core - INFO - ๐Ÿ“ฅ Server received frame #29 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27529 bytes +2025-06-06 11:10:07,541 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:07,541 - video.core - INFO - ๐Ÿ“ค Server relayed frame #29 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:07,587 - video.core - INFO - ๐Ÿ“น Frame #30 from producer producer_1749200997148: size=27359 bytes, resolution=640x480 +2025-06-06 11:10:07,587 - video.core - INFO - ๐Ÿ“ฅ Server received frame #30 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27359 bytes +2025-06-06 11:10:07,587 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:07,587 - video.core - INFO - ๐Ÿ“ค Server relayed frame #30 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:07,587 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 30 frames processed, 11.3 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:07,587 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 30 frames, 2.5 FPS, 0.50 Mbps throughput, 25132 bytes avg frame size +2025-06-06 11:10:07,588 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200997148 stats: 30 frames processed, FPS: 21.9, Throughput: 4.40 Mbps, Avg frame size: 25132 bytes +2025-06-06 11:10:07,627 - video.core - INFO - ๐Ÿ“ฅ Server received frame #31 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27435 bytes +2025-06-06 11:10:07,627 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:07,627 - video.core - INFO - ๐Ÿ“ค Server relayed frame #31 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:07,671 - video.core - INFO - ๐Ÿ“ฅ Server received frame #32 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27358 bytes +2025-06-06 11:10:07,672 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:07,672 - video.core - INFO - ๐Ÿ“ค Server relayed frame #32 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:07,711 - video.core - INFO - ๐Ÿ“ฅ Server received frame #33 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27238 bytes +2025-06-06 11:10:07,712 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:07,712 - video.core - INFO - ๐Ÿ“ค Server relayed frame #33 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:07,761 - video.core - INFO - ๐Ÿ“ฅ Server received frame #34 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27335 bytes +2025-06-06 11:10:07,762 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:07,762 - video.core - INFO - ๐Ÿ“ค Server relayed frame #34 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:07,802 - video.core - INFO - ๐Ÿ“ฅ Server received frame #35 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27545 bytes +2025-06-06 11:10:07,802 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:07,803 - video.core - INFO - ๐Ÿ“ค Server relayed frame #35 to 1 consumers in 0.7ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:07,844 - video.core - INFO - ๐Ÿ“ฅ Server received frame #36 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27525 bytes +2025-06-06 11:10:07,844 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:07,844 - video.core - INFO - ๐Ÿ“ค Server relayed frame #36 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:07,882 - video.core - INFO - ๐Ÿ“ฅ Server received frame #37 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27595 bytes +2025-06-06 11:10:07,882 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:07,882 - video.core - INFO - ๐Ÿ“ค Server relayed frame #37 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:07,924 - video.core - INFO - ๐Ÿ“ฅ Server received frame #38 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27716 bytes +2025-06-06 11:10:07,924 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:07,924 - video.core - INFO - ๐Ÿ“ค Server relayed frame #38 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:07,972 - video.core - INFO - ๐Ÿ“ฅ Server received frame #39 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27795 bytes +2025-06-06 11:10:07,972 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:07,972 - video.core - INFO - ๐Ÿ“ค Server relayed frame #39 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:08,012 - video.core - INFO - ๐Ÿ“น Frame #40 from producer producer_1749200997148: size=27870 bytes, resolution=640x480 +2025-06-06 11:10:08,013 - video.core - INFO - ๐Ÿ“ฅ Server received frame #40 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27870 bytes +2025-06-06 11:10:08,013 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:08,013 - video.core - INFO - ๐Ÿ“ค Server relayed frame #40 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:08,064 - video.core - INFO - ๐Ÿ“ฅ Server received frame #41 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27701 bytes +2025-06-06 11:10:08,064 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:08,064 - video.core - INFO - ๐Ÿ“ค Server relayed frame #41 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:08,100 - video.core - INFO - ๐Ÿ“ฅ Server received frame #42 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27701 bytes +2025-06-06 11:10:08,100 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:08,100 - video.core - INFO - ๐Ÿ“ค Server relayed frame #42 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:08,146 - video.core - INFO - ๐Ÿ“ฅ Server received frame #43 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27779 bytes +2025-06-06 11:10:08,146 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:08,146 - video.core - INFO - ๐Ÿ“ค Server relayed frame #43 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:08,192 - video.core - INFO - ๐Ÿ“ฅ Server received frame #44 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27783 bytes +2025-06-06 11:10:08,192 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:08,192 - video.core - INFO - ๐Ÿ“ค Server relayed frame #44 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:08,249 - video.core - INFO - ๐Ÿ“ฅ Server received frame #45 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27835 bytes +2025-06-06 11:10:08,249 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:08,249 - video.core - INFO - ๐Ÿ“ค Server relayed frame #45 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:08,271 - video.core - INFO - ๐Ÿ“ฅ Server received frame #46 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27994 bytes +2025-06-06 11:10:08,271 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:08,271 - video.core - INFO - ๐Ÿ“ค Server relayed frame #46 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:08,320 - video.core - INFO - ๐Ÿ“ฅ Server received frame #47 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27833 bytes +2025-06-06 11:10:08,320 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:08,320 - video.core - INFO - ๐Ÿ“ค Server relayed frame #47 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:08,359 - video.core - INFO - ๐Ÿ“ฅ Server received frame #48 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27843 bytes +2025-06-06 11:10:08,360 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:08,360 - video.core - INFO - ๐Ÿ“ค Server relayed frame #48 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:08,400 - video.core - INFO - ๐Ÿ“ฅ Server received frame #49 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27907 bytes +2025-06-06 11:10:08,400 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:08,400 - video.core - INFO - ๐Ÿ“ค Server relayed frame #49 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:08,450 - video.core - INFO - ๐Ÿ“น Frame #50 from producer producer_1749200997148: size=27800 bytes, resolution=640x480 +2025-06-06 11:10:08,451 - video.core - INFO - ๐Ÿ“ฅ Server received frame #50 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27800 bytes +2025-06-06 11:10:08,451 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:08,451 - video.core - INFO - ๐Ÿ“ค Server relayed frame #50 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:08,491 - video.core - INFO - ๐Ÿ“ฅ Server received frame #51 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27678 bytes +2025-06-06 11:10:08,491 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:08,491 - video.core - INFO - ๐Ÿ“ค Server relayed frame #51 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:08,534 - video.core - INFO - ๐Ÿ“ฅ Server received frame #52 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27704 bytes +2025-06-06 11:10:08,535 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:08,535 - video.core - INFO - ๐Ÿ“ค Server relayed frame #52 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:08,579 - video.core - INFO - ๐Ÿ“ฅ Server received frame #53 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27807 bytes +2025-06-06 11:10:08,580 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:08,580 - video.core - INFO - ๐Ÿ“ค Server relayed frame #53 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:08,628 - video.core - INFO - ๐Ÿ“ฅ Server received frame #54 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27902 bytes +2025-06-06 11:10:08,628 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:08,628 - video.core - INFO - ๐Ÿ“ค Server relayed frame #54 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:08,670 - video.core - INFO - ๐Ÿ“ฅ Server received frame #55 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27806 bytes +2025-06-06 11:10:08,671 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:08,671 - video.core - INFO - ๐Ÿ“ค Server relayed frame #55 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:08,712 - video.core - INFO - ๐Ÿ“ฅ Server received frame #56 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27856 bytes +2025-06-06 11:10:08,713 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:08,713 - video.core - INFO - ๐Ÿ“ค Server relayed frame #56 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:08,754 - video.core - INFO - ๐Ÿ“ฅ Server received frame #57 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27878 bytes +2025-06-06 11:10:08,755 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:08,755 - video.core - INFO - ๐Ÿ“ค Server relayed frame #57 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:08,798 - video.core - INFO - ๐Ÿ“ฅ Server received frame #58 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27969 bytes +2025-06-06 11:10:08,798 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:08,798 - video.core - INFO - ๐Ÿ“ค Server relayed frame #58 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:08,837 - video.core - INFO - ๐Ÿ“ฅ Server received frame #59 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27970 bytes +2025-06-06 11:10:08,838 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:08,838 - video.core - INFO - ๐Ÿ“ค Server relayed frame #59 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:08,877 - video.core - INFO - ๐Ÿ“น Frame #60 from producer producer_1749200997148: size=27967 bytes, resolution=640x480 +2025-06-06 11:10:08,877 - video.core - INFO - ๐Ÿ“ฅ Server received frame #60 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27967 bytes +2025-06-06 11:10:08,877 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:08,877 - video.core - INFO - ๐Ÿ“ค Server relayed frame #60 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:08,877 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 60 frames processed, 15.2 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:08,877 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 60 frames, 4.5 FPS, 0.95 Mbps throughput, 26434 bytes avg frame size +2025-06-06 11:10:08,877 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200997148 stats: 60 frames processed, FPS: 22.5, Throughput: 4.76 Mbps, Avg frame size: 26434 bytes +2025-06-06 11:10:08,915 - video.core - INFO - ๐Ÿ“ฅ Server received frame #61 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27907 bytes +2025-06-06 11:10:08,916 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:08,916 - video.core - INFO - ๐Ÿ“ค Server relayed frame #61 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:08,961 - video.core - INFO - ๐Ÿ“ฅ Server received frame #62 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27904 bytes +2025-06-06 11:10:08,961 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:08,961 - video.core - INFO - ๐Ÿ“ค Server relayed frame #62 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:09,009 - video.core - INFO - ๐Ÿ“ฅ Server received frame #63 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27952 bytes +2025-06-06 11:10:09,009 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:09,009 - video.core - INFO - ๐Ÿ“ค Server relayed frame #63 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:09,055 - video.core - INFO - ๐Ÿ“ฅ Server received frame #64 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28070 bytes +2025-06-06 11:10:09,056 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:09,056 - video.core - INFO - ๐Ÿ“ค Server relayed frame #64 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:09,100 - video.core - INFO - ๐Ÿ“ฅ Server received frame #65 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28219 bytes +2025-06-06 11:10:09,100 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:09,100 - video.core - INFO - ๐Ÿ“ค Server relayed frame #65 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:09,147 - video.core - INFO - ๐Ÿ“ฅ Server received frame #66 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28291 bytes +2025-06-06 11:10:09,147 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:09,147 - video.core - INFO - ๐Ÿ“ค Server relayed frame #66 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:09,185 - video.core - INFO - ๐Ÿ“ฅ Server received frame #67 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28284 bytes +2025-06-06 11:10:09,186 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:09,186 - video.core - INFO - ๐Ÿ“ค Server relayed frame #67 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:09,219 - video.core - INFO - ๐Ÿ“ฅ Server received frame #68 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28258 bytes +2025-06-06 11:10:09,219 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:09,219 - video.core - INFO - ๐Ÿ“ค Server relayed frame #68 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:09,269 - video.core - INFO - ๐Ÿ“ฅ Server received frame #69 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28292 bytes +2025-06-06 11:10:09,269 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:09,269 - video.core - INFO - ๐Ÿ“ค Server relayed frame #69 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:09,313 - video.core - INFO - ๐Ÿ“น Frame #70 from producer producer_1749200997148: size=28178 bytes, resolution=640x480 +2025-06-06 11:10:09,313 - video.core - INFO - ๐Ÿ“ฅ Server received frame #70 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28178 bytes +2025-06-06 11:10:09,314 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:09,314 - video.core - INFO - ๐Ÿ“ค Server relayed frame #70 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:09,351 - video.core - INFO - ๐Ÿ“ฅ Server received frame #71 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28242 bytes +2025-06-06 11:10:09,351 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:09,351 - video.core - INFO - ๐Ÿ“ค Server relayed frame #71 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:09,393 - video.core - INFO - ๐Ÿ“ฅ Server received frame #72 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28175 bytes +2025-06-06 11:10:09,394 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:09,394 - video.core - INFO - ๐Ÿ“ค Server relayed frame #72 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:09,436 - video.core - INFO - ๐Ÿ“ฅ Server received frame #73 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28130 bytes +2025-06-06 11:10:09,436 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:09,436 - video.core - INFO - ๐Ÿ“ค Server relayed frame #73 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:09,478 - video.core - INFO - ๐Ÿ“ฅ Server received frame #74 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28067 bytes +2025-06-06 11:10:09,478 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:09,478 - video.core - INFO - ๐Ÿ“ค Server relayed frame #74 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:09,524 - video.core - INFO - ๐Ÿ“ฅ Server received frame #75 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28127 bytes +2025-06-06 11:10:09,524 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:09,524 - video.core - INFO - ๐Ÿ“ค Server relayed frame #75 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:09,567 - video.core - INFO - ๐Ÿ“ฅ Server received frame #76 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28160 bytes +2025-06-06 11:10:09,567 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:09,567 - video.core - INFO - ๐Ÿ“ค Server relayed frame #76 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:09,615 - video.core - INFO - ๐Ÿ“ฅ Server received frame #77 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28200 bytes +2025-06-06 11:10:09,615 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:09,615 - video.core - INFO - ๐Ÿ“ค Server relayed frame #77 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:09,655 - video.core - INFO - ๐Ÿ“ฅ Server received frame #78 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28263 bytes +2025-06-06 11:10:09,655 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:09,655 - video.core - INFO - ๐Ÿ“ค Server relayed frame #78 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:09,704 - video.core - INFO - ๐Ÿ“ฅ Server received frame #79 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28285 bytes +2025-06-06 11:10:09,704 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:09,704 - video.core - INFO - ๐Ÿ“ค Server relayed frame #79 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:09,751 - video.core - INFO - ๐Ÿ“น Frame #80 from producer producer_1749200997148: size=28214 bytes, resolution=640x480 +2025-06-06 11:10:09,751 - video.core - INFO - ๐Ÿ“ฅ Server received frame #80 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28214 bytes +2025-06-06 11:10:09,751 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:09,751 - video.core - INFO - ๐Ÿ“ค Server relayed frame #80 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:09,798 - video.core - INFO - ๐Ÿ“ฅ Server received frame #81 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28263 bytes +2025-06-06 11:10:09,799 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:09,799 - video.core - INFO - ๐Ÿ“ค Server relayed frame #81 to 1 consumers in 0.8ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:09,834 - video.core - INFO - ๐Ÿ“ฅ Server received frame #82 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28319 bytes +2025-06-06 11:10:09,834 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:09,834 - video.core - INFO - ๐Ÿ“ค Server relayed frame #82 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:09,870 - video.core - INFO - ๐Ÿ“ฅ Server received frame #83 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28219 bytes +2025-06-06 11:10:09,870 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:09,870 - video.core - INFO - ๐Ÿ“ค Server relayed frame #83 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:09,912 - video.core - INFO - ๐Ÿ“ฅ Server received frame #84 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28228 bytes +2025-06-06 11:10:09,913 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:09,913 - video.core - INFO - ๐Ÿ“ค Server relayed frame #84 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:09,955 - video.core - INFO - ๐Ÿ“ฅ Server received frame #85 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28311 bytes +2025-06-06 11:10:09,956 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:09,956 - video.core - INFO - ๐Ÿ“ค Server relayed frame #85 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:09,998 - video.core - INFO - ๐Ÿ“ฅ Server received frame #86 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28361 bytes +2025-06-06 11:10:09,998 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:09,998 - video.core - INFO - ๐Ÿ“ค Server relayed frame #86 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:10,040 - video.core - INFO - ๐Ÿ“ฅ Server received frame #87 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28325 bytes +2025-06-06 11:10:10,040 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:10,040 - video.core - INFO - ๐Ÿ“ค Server relayed frame #87 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:10,087 - video.core - INFO - ๐Ÿ“ฅ Server received frame #88 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28306 bytes +2025-06-06 11:10:10,087 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:10,087 - video.core - INFO - ๐Ÿ“ค Server relayed frame #88 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:10,130 - video.core - INFO - ๐Ÿ“ฅ Server received frame #89 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28345 bytes +2025-06-06 11:10:10,131 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:10,131 - video.core - INFO - ๐Ÿ“ค Server relayed frame #89 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:10,174 - video.core - INFO - ๐Ÿ“น Frame #90 from producer producer_1749200997148: size=28328 bytes, resolution=640x480 +2025-06-06 11:10:10,175 - video.core - INFO - ๐Ÿ“ฅ Server received frame #90 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28328 bytes +2025-06-06 11:10:10,175 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:10,175 - video.core - INFO - ๐Ÿ“ค Server relayed frame #90 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:10,175 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 90 frames processed, 17.2 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:10,175 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 90 frames, 6.1 FPS, 1.32 Mbps throughput, 27025 bytes avg frame size +2025-06-06 11:10:10,175 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200997148 stats: 90 frames processed, FPS: 22.7, Throughput: 4.91 Mbps, Avg frame size: 27025 bytes +2025-06-06 11:10:10,218 - video.core - INFO - ๐Ÿ“ฅ Server received frame #91 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28354 bytes +2025-06-06 11:10:10,219 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:10,219 - video.core - INFO - ๐Ÿ“ค Server relayed frame #91 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:10,262 - video.core - INFO - ๐Ÿ“ฅ Server received frame #92 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28268 bytes +2025-06-06 11:10:10,262 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:10,262 - video.core - INFO - ๐Ÿ“ค Server relayed frame #92 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:10,304 - video.core - INFO - ๐Ÿ“ฅ Server received frame #93 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28339 bytes +2025-06-06 11:10:10,304 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:10,304 - video.core - INFO - ๐Ÿ“ค Server relayed frame #93 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:10,351 - video.core - INFO - ๐Ÿ“ฅ Server received frame #94 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28278 bytes +2025-06-06 11:10:10,352 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:10,352 - video.core - INFO - ๐Ÿ“ค Server relayed frame #94 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:10,394 - video.core - INFO - ๐Ÿ“ฅ Server received frame #95 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28329 bytes +2025-06-06 11:10:10,394 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:10,394 - video.core - INFO - ๐Ÿ“ค Server relayed frame #95 to 1 consumers in 0.7ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:10,434 - video.core - INFO - ๐Ÿ“ฅ Server received frame #96 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28446 bytes +2025-06-06 11:10:10,434 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:10,434 - video.core - INFO - ๐Ÿ“ค Server relayed frame #96 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:10,475 - video.core - INFO - ๐Ÿ“ฅ Server received frame #97 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28355 bytes +2025-06-06 11:10:10,475 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:10,475 - video.core - INFO - ๐Ÿ“ค Server relayed frame #97 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:10,523 - video.core - INFO - ๐Ÿ“ฅ Server received frame #98 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28444 bytes +2025-06-06 11:10:10,523 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:10,523 - video.core - INFO - ๐Ÿ“ค Server relayed frame #98 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:10,566 - video.core - INFO - ๐Ÿ“ฅ Server received frame #99 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28361 bytes +2025-06-06 11:10:10,566 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:10,566 - video.core - INFO - ๐Ÿ“ค Server relayed frame #99 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:10,611 - video.core - INFO - ๐Ÿ“น Frame #100 from producer producer_1749200997148: size=28134 bytes, resolution=640x480 +2025-06-06 11:10:10,611 - video.core - INFO - ๐Ÿ“ฅ Server received frame #100 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28134 bytes +2025-06-06 11:10:10,611 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:10,611 - video.core - INFO - ๐Ÿ“ค Server relayed frame #100 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:10,654 - video.core - INFO - ๐Ÿ“ฅ Server received frame #101 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28027 bytes +2025-06-06 11:10:10,655 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:10,655 - video.core - INFO - ๐Ÿ“ค Server relayed frame #101 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:10,696 - video.core - INFO - ๐Ÿ“ฅ Server received frame #102 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27959 bytes +2025-06-06 11:10:10,696 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:10,696 - video.core - INFO - ๐Ÿ“ค Server relayed frame #102 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:10,741 - video.core - INFO - ๐Ÿ“ฅ Server received frame #103 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28047 bytes +2025-06-06 11:10:10,741 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:10,741 - video.core - INFO - ๐Ÿ“ค Server relayed frame #103 to 1 consumers in 0.7ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:10,786 - video.core - INFO - ๐Ÿ“ฅ Server received frame #104 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28106 bytes +2025-06-06 11:10:10,786 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:10,786 - video.core - INFO - ๐Ÿ“ค Server relayed frame #104 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:10,825 - video.core - INFO - ๐Ÿ“ฅ Server received frame #105 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28091 bytes +2025-06-06 11:10:10,825 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:10,825 - video.core - INFO - ๐Ÿ“ค Server relayed frame #105 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:10,866 - video.core - INFO - ๐Ÿ“ฅ Server received frame #106 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28119 bytes +2025-06-06 11:10:10,866 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:10,866 - video.core - INFO - ๐Ÿ“ค Server relayed frame #106 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:10,908 - video.core - INFO - ๐Ÿ“ฅ Server received frame #107 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28248 bytes +2025-06-06 11:10:10,908 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:10,908 - video.core - INFO - ๐Ÿ“ค Server relayed frame #107 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:10,950 - video.core - INFO - ๐Ÿ“ฅ Server received frame #108 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28430 bytes +2025-06-06 11:10:10,950 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:10,950 - video.core - INFO - ๐Ÿ“ค Server relayed frame #108 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:10,995 - video.core - INFO - ๐Ÿ“ฅ Server received frame #109 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28242 bytes +2025-06-06 11:10:10,995 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:10,995 - video.core - INFO - ๐Ÿ“ค Server relayed frame #109 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:11,039 - video.core - INFO - ๐Ÿ“น Frame #110 from producer producer_1749200997148: size=28086 bytes, resolution=640x480 +2025-06-06 11:10:11,039 - video.core - INFO - ๐Ÿ“ฅ Server received frame #110 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28086 bytes +2025-06-06 11:10:11,039 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:11,039 - video.core - INFO - ๐Ÿ“ค Server relayed frame #110 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:11,083 - video.core - INFO - ๐Ÿ“ฅ Server received frame #111 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28062 bytes +2025-06-06 11:10:11,083 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:11,083 - video.core - INFO - ๐Ÿ“ค Server relayed frame #111 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:11,133 - video.core - INFO - ๐Ÿ“ฅ Server received frame #112 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28084 bytes +2025-06-06 11:10:11,134 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:11,134 - video.core - INFO - ๐Ÿ“ค Server relayed frame #112 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:11,173 - video.core - INFO - ๐Ÿ“ฅ Server received frame #113 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28177 bytes +2025-06-06 11:10:11,173 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:11,173 - video.core - INFO - ๐Ÿ“ค Server relayed frame #113 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:11,216 - video.core - INFO - ๐Ÿ“ฅ Server received frame #114 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28166 bytes +2025-06-06 11:10:11,217 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:11,217 - video.core - INFO - ๐Ÿ“ค Server relayed frame #114 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:11,254 - video.core - INFO - ๐Ÿ“ฅ Server received frame #115 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28301 bytes +2025-06-06 11:10:11,254 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:11,254 - video.core - INFO - ๐Ÿ“ค Server relayed frame #115 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:11,296 - video.core - INFO - ๐Ÿ“ฅ Server received frame #116 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28303 bytes +2025-06-06 11:10:11,296 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:11,296 - video.core - INFO - ๐Ÿ“ค Server relayed frame #116 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:11,346 - video.core - INFO - ๐Ÿ“ฅ Server received frame #117 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28446 bytes +2025-06-06 11:10:11,347 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:11,347 - video.core - INFO - ๐Ÿ“ค Server relayed frame #117 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:11,387 - video.core - INFO - ๐Ÿ“ฅ Server received frame #118 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28480 bytes +2025-06-06 11:10:11,387 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:11,387 - video.core - INFO - ๐Ÿ“ค Server relayed frame #118 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:11,428 - video.core - INFO - ๐Ÿ“ฅ Server received frame #119 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28532 bytes +2025-06-06 11:10:11,428 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:11,428 - video.core - INFO - ๐Ÿ“ค Server relayed frame #119 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:11,469 - video.core - INFO - ๐Ÿ“น Frame #120 from producer producer_1749200997148: size=28472 bytes, resolution=640x480 +2025-06-06 11:10:11,469 - video.core - INFO - ๐Ÿ“ฅ Server received frame #120 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28472 bytes +2025-06-06 11:10:11,469 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:11,469 - video.core - INFO - ๐Ÿ“ค Server relayed frame #120 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:11,469 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 120 frames processed, 18.4 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:11,469 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 120 frames, 7.5 FPS, 1.64 Mbps throughput, 27333 bytes avg frame size +2025-06-06 11:10:11,469 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200997148 stats: 120 frames processed, FPS: 22.8, Throughput: 4.99 Mbps, Avg frame size: 27333 bytes +2025-06-06 11:10:11,521 - video.core - INFO - ๐Ÿ“ฅ Server received frame #121 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28571 bytes +2025-06-06 11:10:11,521 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:11,521 - video.core - INFO - ๐Ÿ“ค Server relayed frame #121 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:11,563 - video.core - INFO - ๐Ÿ“ฅ Server received frame #122 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28639 bytes +2025-06-06 11:10:11,563 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:11,563 - video.core - INFO - ๐Ÿ“ค Server relayed frame #122 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:11,607 - video.core - INFO - ๐Ÿ“ฅ Server received frame #123 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28533 bytes +2025-06-06 11:10:11,608 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:11,608 - video.core - INFO - ๐Ÿ“ค Server relayed frame #123 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:11,650 - video.core - INFO - ๐Ÿ“ฅ Server received frame #124 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28491 bytes +2025-06-06 11:10:11,651 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:11,651 - video.core - INFO - ๐Ÿ“ค Server relayed frame #124 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:11,690 - video.core - INFO - ๐Ÿ“ฅ Server received frame #125 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28546 bytes +2025-06-06 11:10:11,691 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:11,691 - video.core - INFO - ๐Ÿ“ค Server relayed frame #125 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:11,737 - video.core - INFO - ๐Ÿ“ฅ Server received frame #126 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28496 bytes +2025-06-06 11:10:11,738 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:11,738 - video.core - INFO - ๐Ÿ“ค Server relayed frame #126 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:11,779 - video.core - INFO - ๐Ÿ“ฅ Server received frame #127 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28537 bytes +2025-06-06 11:10:11,779 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:11,779 - video.core - INFO - ๐Ÿ“ค Server relayed frame #127 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:11,823 - video.core - INFO - ๐Ÿ“ฅ Server received frame #128 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28610 bytes +2025-06-06 11:10:11,823 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:11,823 - video.core - INFO - ๐Ÿ“ค Server relayed frame #128 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:11,859 - video.core - INFO - ๐Ÿ“ฅ Server received frame #129 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28637 bytes +2025-06-06 11:10:11,860 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:11,860 - video.core - INFO - ๐Ÿ“ค Server relayed frame #129 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:11,902 - video.core - INFO - ๐Ÿ“น Frame #130 from producer producer_1749200997148: size=28567 bytes, resolution=640x480 +2025-06-06 11:10:11,902 - video.core - INFO - ๐Ÿ“ฅ Server received frame #130 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28567 bytes +2025-06-06 11:10:11,902 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:11,902 - video.core - INFO - ๐Ÿ“ค Server relayed frame #130 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:11,949 - video.core - INFO - ๐Ÿ“ฅ Server received frame #131 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28702 bytes +2025-06-06 11:10:11,949 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:11,949 - video.core - INFO - ๐Ÿ“ค Server relayed frame #131 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:11,988 - video.core - INFO - ๐Ÿ“ฅ Server received frame #132 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28791 bytes +2025-06-06 11:10:11,988 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:11,988 - video.core - INFO - ๐Ÿ“ค Server relayed frame #132 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:12,033 - video.core - INFO - ๐Ÿ“ฅ Server received frame #133 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28895 bytes +2025-06-06 11:10:12,034 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:12,034 - video.core - INFO - ๐Ÿ“ค Server relayed frame #133 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:12,080 - video.core - INFO - ๐Ÿ“ฅ Server received frame #134 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28980 bytes +2025-06-06 11:10:12,080 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:12,080 - video.core - INFO - ๐Ÿ“ค Server relayed frame #134 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:12,122 - video.core - INFO - ๐Ÿ“ฅ Server received frame #135 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28901 bytes +2025-06-06 11:10:12,122 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:12,122 - video.core - INFO - ๐Ÿ“ค Server relayed frame #135 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:12,166 - video.core - INFO - ๐Ÿ“ฅ Server received frame #136 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28792 bytes +2025-06-06 11:10:12,166 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:12,166 - video.core - INFO - ๐Ÿ“ค Server relayed frame #136 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:12,213 - video.core - INFO - ๐Ÿ“ฅ Server received frame #137 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28745 bytes +2025-06-06 11:10:12,213 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:12,213 - video.core - INFO - ๐Ÿ“ค Server relayed frame #137 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:12,255 - video.core - INFO - ๐Ÿ“ฅ Server received frame #138 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28801 bytes +2025-06-06 11:10:12,255 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:12,255 - video.core - INFO - ๐Ÿ“ค Server relayed frame #138 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:12,298 - video.core - INFO - ๐Ÿ“ฅ Server received frame #139 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28790 bytes +2025-06-06 11:10:12,298 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:12,298 - video.core - INFO - ๐Ÿ“ค Server relayed frame #139 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:12,341 - video.core - INFO - ๐Ÿ“น Frame #140 from producer producer_1749200997148: size=28756 bytes, resolution=640x480 +2025-06-06 11:10:12,342 - video.core - INFO - ๐Ÿ“ฅ Server received frame #140 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28756 bytes +2025-06-06 11:10:12,342 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:12,342 - video.core - INFO - ๐Ÿ“ค Server relayed frame #140 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:12,384 - video.core - INFO - ๐Ÿ“ฅ Server received frame #141 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28913 bytes +2025-06-06 11:10:12,385 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:12,385 - video.core - INFO - ๐Ÿ“ค Server relayed frame #141 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:12,426 - video.core - INFO - ๐Ÿ“ฅ Server received frame #142 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28941 bytes +2025-06-06 11:10:12,426 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:12,426 - video.core - INFO - ๐Ÿ“ค Server relayed frame #142 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:12,469 - video.core - INFO - ๐Ÿ“ฅ Server received frame #143 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28977 bytes +2025-06-06 11:10:12,470 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:12,470 - video.core - INFO - ๐Ÿ“ค Server relayed frame #143 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:12,512 - video.core - INFO - ๐Ÿ“ฅ Server received frame #144 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29062 bytes +2025-06-06 11:10:12,512 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:12,512 - video.core - INFO - ๐Ÿ“ค Server relayed frame #144 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:12,560 - video.core - INFO - ๐Ÿ“ฅ Server received frame #145 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29112 bytes +2025-06-06 11:10:12,560 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:12,560 - video.core - INFO - ๐Ÿ“ค Server relayed frame #145 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:12,598 - video.core - INFO - ๐Ÿ“ฅ Server received frame #146 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29118 bytes +2025-06-06 11:10:12,599 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:12,599 - video.core - INFO - ๐Ÿ“ค Server relayed frame #146 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:12,642 - video.core - INFO - ๐Ÿ“ฅ Server received frame #147 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29124 bytes +2025-06-06 11:10:12,642 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:12,642 - video.core - INFO - ๐Ÿ“ค Server relayed frame #147 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:12,685 - video.core - INFO - ๐Ÿ“ฅ Server received frame #148 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29136 bytes +2025-06-06 11:10:12,685 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:12,685 - video.core - INFO - ๐Ÿ“ค Server relayed frame #148 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:12,728 - video.core - INFO - ๐Ÿ“ฅ Server received frame #149 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29057 bytes +2025-06-06 11:10:12,729 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:12,729 - video.core - INFO - ๐Ÿ“ค Server relayed frame #149 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:12,771 - video.core - INFO - ๐Ÿ“น Frame #150 from producer producer_1749200997148: size=29075 bytes, resolution=640x480 +2025-06-06 11:10:12,772 - video.core - INFO - ๐Ÿ“ฅ Server received frame #150 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29075 bytes +2025-06-06 11:10:12,772 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:12,772 - video.core - INFO - ๐Ÿ“ค Server relayed frame #150 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:12,772 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 150 frames processed, 19.2 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:12,772 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 150 frames, 8.7 FPS, 1.91 Mbps throughput, 27628 bytes avg frame size +2025-06-06 11:10:12,772 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200997148 stats: 150 frames processed, FPS: 22.9, Throughput: 5.06 Mbps, Avg frame size: 27628 bytes +2025-06-06 11:10:12,817 - video.core - INFO - ๐Ÿ“ฅ Server received frame #151 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29118 bytes +2025-06-06 11:10:12,817 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:12,817 - video.core - INFO - ๐Ÿ“ค Server relayed frame #151 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:12,854 - video.core - INFO - ๐Ÿ“ฅ Server received frame #152 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29193 bytes +2025-06-06 11:10:12,854 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:12,854 - video.core - INFO - ๐Ÿ“ค Server relayed frame #152 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:12,896 - video.core - INFO - ๐Ÿ“ฅ Server received frame #153 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29097 bytes +2025-06-06 11:10:12,896 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:12,896 - video.core - INFO - ๐Ÿ“ค Server relayed frame #153 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:12,937 - video.core - INFO - ๐Ÿ“ฅ Server received frame #154 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29102 bytes +2025-06-06 11:10:12,937 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:12,937 - video.core - INFO - ๐Ÿ“ค Server relayed frame #154 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:12,983 - video.core - INFO - ๐Ÿ“ฅ Server received frame #155 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29177 bytes +2025-06-06 11:10:12,983 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:12,983 - video.core - INFO - ๐Ÿ“ค Server relayed frame #155 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:13,027 - video.core - INFO - ๐Ÿ“ฅ Server received frame #156 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29148 bytes +2025-06-06 11:10:13,027 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:13,027 - video.core - INFO - ๐Ÿ“ค Server relayed frame #156 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:13,073 - video.core - INFO - ๐Ÿ“ฅ Server received frame #157 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29177 bytes +2025-06-06 11:10:13,073 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:13,073 - video.core - INFO - ๐Ÿ“ค Server relayed frame #157 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:13,118 - video.core - INFO - ๐Ÿ“ฅ Server received frame #158 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29255 bytes +2025-06-06 11:10:13,118 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:13,118 - video.core - INFO - ๐Ÿ“ค Server relayed frame #158 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:13,163 - video.core - INFO - ๐Ÿ“ฅ Server received frame #159 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29318 bytes +2025-06-06 11:10:13,163 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:13,163 - video.core - INFO - ๐Ÿ“ค Server relayed frame #159 to 1 consumers in 0.7ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:13,203 - video.core - INFO - ๐Ÿ“น Frame #160 from producer producer_1749200997148: size=29327 bytes, resolution=640x480 +2025-06-06 11:10:13,204 - video.core - INFO - ๐Ÿ“ฅ Server received frame #160 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29327 bytes +2025-06-06 11:10:13,204 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:13,204 - video.core - INFO - ๐Ÿ“ค Server relayed frame #160 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:13,248 - video.core - INFO - ๐Ÿ“ฅ Server received frame #161 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29402 bytes +2025-06-06 11:10:13,248 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:13,248 - video.core - INFO - ๐Ÿ“ค Server relayed frame #161 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:13,289 - video.core - INFO - ๐Ÿ“ฅ Server received frame #162 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29190 bytes +2025-06-06 11:10:13,289 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:13,289 - video.core - INFO - ๐Ÿ“ค Server relayed frame #162 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:13,336 - video.core - INFO - ๐Ÿ“ฅ Server received frame #163 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29011 bytes +2025-06-06 11:10:13,336 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:13,336 - video.core - INFO - ๐Ÿ“ค Server relayed frame #163 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:13,379 - video.core - INFO - ๐Ÿ“ฅ Server received frame #164 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29009 bytes +2025-06-06 11:10:13,380 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:13,380 - video.core - INFO - ๐Ÿ“ค Server relayed frame #164 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:13,429 - video.core - INFO - ๐Ÿ“ฅ Server received frame #165 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29010 bytes +2025-06-06 11:10:13,429 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:13,429 - video.core - INFO - ๐Ÿ“ค Server relayed frame #165 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:13,477 - video.core - INFO - ๐Ÿ“ฅ Server received frame #166 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28834 bytes +2025-06-06 11:10:13,477 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:13,477 - video.core - INFO - ๐Ÿ“ค Server relayed frame #166 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:13,505 - video.core - INFO - ๐Ÿ“ฅ Server received frame #167 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28742 bytes +2025-06-06 11:10:13,505 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:13,505 - video.core - INFO - ๐Ÿ“ค Server relayed frame #167 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:13,547 - video.core - INFO - ๐Ÿ“ฅ Server received frame #168 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28663 bytes +2025-06-06 11:10:13,548 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:13,548 - video.core - INFO - ๐Ÿ“ค Server relayed frame #168 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:13,588 - video.core - INFO - ๐Ÿ“ฅ Server received frame #169 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28554 bytes +2025-06-06 11:10:13,588 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:13,589 - video.core - INFO - ๐Ÿ“ค Server relayed frame #169 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:13,636 - video.core - INFO - ๐Ÿ“น Frame #170 from producer producer_1749200997148: size=28481 bytes, resolution=640x480 +2025-06-06 11:10:13,636 - video.core - INFO - ๐Ÿ“ฅ Server received frame #170 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28481 bytes +2025-06-06 11:10:13,636 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:13,636 - video.core - INFO - ๐Ÿ“ค Server relayed frame #170 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:13,675 - video.core - INFO - ๐Ÿ“ฅ Server received frame #171 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28497 bytes +2025-06-06 11:10:13,675 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:13,675 - video.core - INFO - ๐Ÿ“ค Server relayed frame #171 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:13,718 - video.core - INFO - ๐Ÿ“ฅ Server received frame #172 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28499 bytes +2025-06-06 11:10:13,718 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:13,718 - video.core - INFO - ๐Ÿ“ค Server relayed frame #172 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:13,763 - video.core - INFO - ๐Ÿ“ฅ Server received frame #173 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28423 bytes +2025-06-06 11:10:13,763 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:13,763 - video.core - INFO - ๐Ÿ“ค Server relayed frame #173 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:13,806 - video.core - INFO - ๐Ÿ“ฅ Server received frame #174 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28476 bytes +2025-06-06 11:10:13,806 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:13,806 - video.core - INFO - ๐Ÿ“ค Server relayed frame #174 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:13,846 - video.core - INFO - ๐Ÿ“ฅ Server received frame #175 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28363 bytes +2025-06-06 11:10:13,846 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:13,846 - video.core - INFO - ๐Ÿ“ค Server relayed frame #175 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:13,893 - video.core - INFO - ๐Ÿ“ฅ Server received frame #176 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28234 bytes +2025-06-06 11:10:13,894 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:13,894 - video.core - INFO - ๐Ÿ“ค Server relayed frame #176 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:13,933 - video.core - INFO - ๐Ÿ“ฅ Server received frame #177 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28256 bytes +2025-06-06 11:10:13,933 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:13,933 - video.core - INFO - ๐Ÿ“ค Server relayed frame #177 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:13,992 - video.core - INFO - ๐Ÿ“ฅ Server received frame #178 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28253 bytes +2025-06-06 11:10:13,993 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:13,993 - video.core - INFO - ๐Ÿ“ค Server relayed frame #178 to 1 consumers in 0.8ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:14,021 - video.core - INFO - ๐Ÿ“ฅ Server received frame #179 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28160 bytes +2025-06-06 11:10:14,021 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:14,021 - video.core - INFO - ๐Ÿ“ค Server relayed frame #179 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:14,078 - video.core - INFO - ๐Ÿ“น Frame #180 from producer producer_1749200997148: size=28219 bytes, resolution=640x480 +2025-06-06 11:10:14,079 - video.core - INFO - ๐Ÿ“ฅ Server received frame #180 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28219 bytes +2025-06-06 11:10:14,079 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:14,079 - video.core - INFO - ๐Ÿ“ค Server relayed frame #180 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:14,079 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 180 frames processed, 19.7 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:14,079 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 180 frames, 9.7 FPS, 2.15 Mbps throughput, 27824 bytes avg frame size +2025-06-06 11:10:14,080 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200997148 stats: 180 frames processed, FPS: 22.9, Throughput: 5.10 Mbps, Avg frame size: 27824 bytes +2025-06-06 11:10:14,122 - video.core - INFO - ๐Ÿ“ฅ Server received frame #181 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28240 bytes +2025-06-06 11:10:14,123 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:14,123 - video.core - INFO - ๐Ÿ“ค Server relayed frame #181 to 1 consumers in 1.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:14,152 - video.core - INFO - ๐Ÿ“ฅ Server received frame #182 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28231 bytes +2025-06-06 11:10:14,152 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:14,152 - video.core - INFO - ๐Ÿ“ค Server relayed frame #182 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:14,192 - video.core - INFO - ๐Ÿ“ฅ Server received frame #183 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28278 bytes +2025-06-06 11:10:14,192 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:14,192 - video.core - INFO - ๐Ÿ“ค Server relayed frame #183 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:14,235 - video.core - INFO - ๐Ÿ“ฅ Server received frame #184 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28372 bytes +2025-06-06 11:10:14,236 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:14,236 - video.core - INFO - ๐Ÿ“ค Server relayed frame #184 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:14,278 - video.core - INFO - ๐Ÿ“ฅ Server received frame #185 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28300 bytes +2025-06-06 11:10:14,278 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:14,278 - video.core - INFO - ๐Ÿ“ค Server relayed frame #185 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:14,323 - video.core - INFO - ๐Ÿ“ฅ Server received frame #186 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28126 bytes +2025-06-06 11:10:14,323 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:14,323 - video.core - INFO - ๐Ÿ“ค Server relayed frame #186 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:14,368 - video.core - INFO - ๐Ÿ“ฅ Server received frame #187 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28005 bytes +2025-06-06 11:10:14,369 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:14,369 - video.core - INFO - ๐Ÿ“ค Server relayed frame #187 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:14,414 - video.core - INFO - ๐Ÿ“ฅ Server received frame #188 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28060 bytes +2025-06-06 11:10:14,415 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:14,415 - video.core - INFO - ๐Ÿ“ค Server relayed frame #188 to 1 consumers in 0.7ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:14,452 - video.core - INFO - ๐Ÿ“ฅ Server received frame #189 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28227 bytes +2025-06-06 11:10:14,452 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:14,452 - video.core - INFO - ๐Ÿ“ค Server relayed frame #189 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:14,495 - video.core - INFO - ๐Ÿ“น Frame #190 from producer producer_1749200997148: size=28320 bytes, resolution=640x480 +2025-06-06 11:10:14,495 - video.core - INFO - ๐Ÿ“ฅ Server received frame #190 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28320 bytes +2025-06-06 11:10:14,495 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:14,495 - video.core - INFO - ๐Ÿ“ค Server relayed frame #190 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:14,541 - video.core - INFO - ๐Ÿ“ฅ Server received frame #191 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28452 bytes +2025-06-06 11:10:14,541 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:14,541 - video.core - INFO - ๐Ÿ“ค Server relayed frame #191 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:14,592 - video.core - INFO - ๐Ÿ“ฅ Server received frame #192 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28414 bytes +2025-06-06 11:10:14,592 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:14,592 - video.core - INFO - ๐Ÿ“ค Server relayed frame #192 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:14,628 - video.core - INFO - ๐Ÿ“ฅ Server received frame #193 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28465 bytes +2025-06-06 11:10:14,629 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:14,629 - video.core - INFO - ๐Ÿ“ค Server relayed frame #193 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:14,671 - video.core - INFO - ๐Ÿ“ฅ Server received frame #194 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28553 bytes +2025-06-06 11:10:14,672 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:14,672 - video.core - INFO - ๐Ÿ“ค Server relayed frame #194 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:14,717 - video.core - INFO - ๐Ÿ“ฅ Server received frame #195 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28678 bytes +2025-06-06 11:10:14,718 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:14,718 - video.core - INFO - ๐Ÿ“ค Server relayed frame #195 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:14,760 - video.core - INFO - ๐Ÿ“ฅ Server received frame #196 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28692 bytes +2025-06-06 11:10:14,761 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:14,761 - video.core - INFO - ๐Ÿ“ค Server relayed frame #196 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:14,806 - video.core - INFO - ๐Ÿ“ฅ Server received frame #197 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28688 bytes +2025-06-06 11:10:14,806 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:14,806 - video.core - INFO - ๐Ÿ“ค Server relayed frame #197 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:14,844 - video.core - INFO - ๐Ÿ“ฅ Server received frame #198 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28758 bytes +2025-06-06 11:10:14,844 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:14,844 - video.core - INFO - ๐Ÿ“ค Server relayed frame #198 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:14,886 - video.core - INFO - ๐Ÿ“ฅ Server received frame #199 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28779 bytes +2025-06-06 11:10:14,886 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:14,886 - video.core - INFO - ๐Ÿ“ค Server relayed frame #199 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:14,927 - video.core - INFO - ๐Ÿ“น Frame #200 from producer producer_1749200997148: size=28828 bytes, resolution=640x480 +2025-06-06 11:10:14,927 - video.core - INFO - ๐Ÿ“ฅ Server received frame #200 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28828 bytes +2025-06-06 11:10:14,927 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:14,927 - video.core - INFO - ๐Ÿ“ค Server relayed frame #200 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:14,972 - video.core - INFO - ๐Ÿ“ฅ Server received frame #201 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28818 bytes +2025-06-06 11:10:14,973 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:14,973 - video.core - INFO - ๐Ÿ“ค Server relayed frame #201 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:15,019 - video.core - INFO - ๐Ÿ“ฅ Server received frame #202 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28884 bytes +2025-06-06 11:10:15,019 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:15,019 - video.core - INFO - ๐Ÿ“ค Server relayed frame #202 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:15,059 - video.core - INFO - ๐Ÿ“ฅ Server received frame #203 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29009 bytes +2025-06-06 11:10:15,059 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:15,060 - video.core - INFO - ๐Ÿ“ค Server relayed frame #203 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:15,106 - video.core - INFO - ๐Ÿ“ฅ Server received frame #204 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28930 bytes +2025-06-06 11:10:15,106 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:15,106 - video.core - INFO - ๐Ÿ“ค Server relayed frame #204 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:15,156 - video.core - INFO - ๐Ÿ“ฅ Server received frame #205 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28869 bytes +2025-06-06 11:10:15,157 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:15,157 - video.core - INFO - ๐Ÿ“ค Server relayed frame #205 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:15,192 - video.core - INFO - ๐Ÿ“ฅ Server received frame #206 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28848 bytes +2025-06-06 11:10:15,192 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:15,192 - video.core - INFO - ๐Ÿ“ค Server relayed frame #206 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:15,247 - video.core - INFO - ๐Ÿ“ฅ Server received frame #207 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28908 bytes +2025-06-06 11:10:15,247 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:15,248 - video.core - INFO - ๐Ÿ“ค Server relayed frame #207 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:15,288 - video.core - INFO - ๐Ÿ“ฅ Server received frame #208 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28978 bytes +2025-06-06 11:10:15,288 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:15,288 - video.core - INFO - ๐Ÿ“ค Server relayed frame #208 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:15,320 - video.core - INFO - ๐Ÿ“ฅ Server received frame #209 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28901 bytes +2025-06-06 11:10:15,321 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:15,321 - video.core - INFO - ๐Ÿ“ค Server relayed frame #209 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:15,362 - video.core - INFO - ๐Ÿ“น Frame #210 from producer producer_1749200997148: size=29041 bytes, resolution=640x480 +2025-06-06 11:10:15,362 - video.core - INFO - ๐Ÿ“ฅ Server received frame #210 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29041 bytes +2025-06-06 11:10:15,362 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:15,362 - video.core - INFO - ๐Ÿ“ค Server relayed frame #210 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:15,362 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 210 frames processed, 20.2 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:15,362 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 210 frames, 10.5 FPS, 2.36 Mbps throughput, 27933 bytes avg frame size +2025-06-06 11:10:15,362 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200997148 stats: 210 frames processed, FPS: 23.0, Throughput: 5.13 Mbps, Avg frame size: 27933 bytes +2025-06-06 11:10:15,411 - video.core - INFO - ๐Ÿ“ฅ Server received frame #211 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28916 bytes +2025-06-06 11:10:15,411 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:15,411 - video.core - INFO - ๐Ÿ“ค Server relayed frame #211 to 1 consumers in 0.9ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:15,454 - video.core - INFO - ๐Ÿ“ฅ Server received frame #212 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28863 bytes +2025-06-06 11:10:15,454 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:15,454 - video.core - INFO - ๐Ÿ“ค Server relayed frame #212 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:15,497 - video.core - INFO - ๐Ÿ“ฅ Server received frame #213 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28977 bytes +2025-06-06 11:10:15,498 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:15,498 - video.core - INFO - ๐Ÿ“ค Server relayed frame #213 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:15,542 - video.core - INFO - ๐Ÿ“ฅ Server received frame #214 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28752 bytes +2025-06-06 11:10:15,542 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:15,542 - video.core - INFO - ๐Ÿ“ค Server relayed frame #214 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:15,585 - video.core - INFO - ๐Ÿ“ฅ Server received frame #215 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28682 bytes +2025-06-06 11:10:15,585 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:15,585 - video.core - INFO - ๐Ÿ“ค Server relayed frame #215 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:15,623 - video.core - INFO - ๐Ÿ“ฅ Server received frame #216 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28651 bytes +2025-06-06 11:10:15,623 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:15,623 - video.core - INFO - ๐Ÿ“ค Server relayed frame #216 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:15,666 - video.core - INFO - ๐Ÿ“ฅ Server received frame #217 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28776 bytes +2025-06-06 11:10:15,666 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:15,666 - video.core - INFO - ๐Ÿ“ค Server relayed frame #217 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:15,712 - video.core - INFO - ๐Ÿ“ฅ Server received frame #218 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28897 bytes +2025-06-06 11:10:15,712 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:15,712 - video.core - INFO - ๐Ÿ“ค Server relayed frame #218 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:15,753 - video.core - INFO - ๐Ÿ“ฅ Server received frame #219 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28920 bytes +2025-06-06 11:10:15,753 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:15,753 - video.core - INFO - ๐Ÿ“ค Server relayed frame #219 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:15,798 - video.core - INFO - ๐Ÿ“น Frame #220 from producer producer_1749200997148: size=28971 bytes, resolution=640x480 +2025-06-06 11:10:15,798 - video.core - INFO - ๐Ÿ“ฅ Server received frame #220 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28971 bytes +2025-06-06 11:10:15,798 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:15,798 - video.core - INFO - ๐Ÿ“ค Server relayed frame #220 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:15,840 - video.core - INFO - ๐Ÿ“ฅ Server received frame #221 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28976 bytes +2025-06-06 11:10:15,840 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:15,840 - video.core - INFO - ๐Ÿ“ค Server relayed frame #221 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:15,882 - video.core - INFO - ๐Ÿ“ฅ Server received frame #222 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29012 bytes +2025-06-06 11:10:15,882 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:15,882 - video.core - INFO - ๐Ÿ“ค Server relayed frame #222 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:15,923 - video.core - INFO - ๐Ÿ“ฅ Server received frame #223 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29121 bytes +2025-06-06 11:10:15,923 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:15,923 - video.core - INFO - ๐Ÿ“ค Server relayed frame #223 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:15,968 - video.core - INFO - ๐Ÿ“ฅ Server received frame #224 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29179 bytes +2025-06-06 11:10:15,968 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:15,968 - video.core - INFO - ๐Ÿ“ค Server relayed frame #224 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:16,011 - video.core - INFO - ๐Ÿ“ฅ Server received frame #225 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29161 bytes +2025-06-06 11:10:16,011 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:16,012 - video.core - INFO - ๐Ÿ“ค Server relayed frame #225 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:16,059 - video.core - INFO - ๐Ÿ“ฅ Server received frame #226 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28990 bytes +2025-06-06 11:10:16,059 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:16,059 - video.core - INFO - ๐Ÿ“ค Server relayed frame #226 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:16,108 - video.core - INFO - ๐Ÿ“ฅ Server received frame #227 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28831 bytes +2025-06-06 11:10:16,109 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:16,109 - video.core - INFO - ๐Ÿ“ค Server relayed frame #227 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:16,151 - video.core - INFO - ๐Ÿ“ฅ Server received frame #228 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28833 bytes +2025-06-06 11:10:16,152 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:16,152 - video.core - INFO - ๐Ÿ“ค Server relayed frame #228 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:16,191 - video.core - INFO - ๐Ÿ“ฅ Server received frame #229 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28620 bytes +2025-06-06 11:10:16,192 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:16,192 - video.core - INFO - ๐Ÿ“ค Server relayed frame #229 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:16,234 - video.core - INFO - ๐Ÿ“น Frame #230 from producer producer_1749200997148: size=28546 bytes, resolution=640x480 +2025-06-06 11:10:16,234 - video.core - INFO - ๐Ÿ“ฅ Server received frame #230 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28546 bytes +2025-06-06 11:10:16,234 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:16,234 - video.core - INFO - ๐Ÿ“ค Server relayed frame #230 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:16,273 - video.core - INFO - ๐Ÿ“ฅ Server received frame #231 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28595 bytes +2025-06-06 11:10:16,273 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:16,273 - video.core - INFO - ๐Ÿ“ค Server relayed frame #231 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:16,319 - video.core - INFO - ๐Ÿ“ฅ Server received frame #232 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28677 bytes +2025-06-06 11:10:16,319 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:16,319 - video.core - INFO - ๐Ÿ“ค Server relayed frame #232 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:16,363 - video.core - INFO - ๐Ÿ“ฅ Server received frame #233 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28541 bytes +2025-06-06 11:10:16,363 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:16,363 - video.core - INFO - ๐Ÿ“ค Server relayed frame #233 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:16,406 - video.core - INFO - ๐Ÿ“ฅ Server received frame #234 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28673 bytes +2025-06-06 11:10:16,407 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:16,407 - video.core - INFO - ๐Ÿ“ค Server relayed frame #234 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:16,448 - video.core - INFO - ๐Ÿ“ฅ Server received frame #235 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28542 bytes +2025-06-06 11:10:16,448 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:16,448 - video.core - INFO - ๐Ÿ“ค Server relayed frame #235 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:16,495 - video.core - INFO - ๐Ÿ“ฅ Server received frame #236 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28447 bytes +2025-06-06 11:10:16,495 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:16,495 - video.core - INFO - ๐Ÿ“ค Server relayed frame #236 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:16,538 - video.core - INFO - ๐Ÿ“ฅ Server received frame #237 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28557 bytes +2025-06-06 11:10:16,539 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:16,539 - video.core - INFO - ๐Ÿ“ค Server relayed frame #237 to 1 consumers in 0.7ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:16,589 - video.core - INFO - ๐Ÿ“ฅ Server received frame #238 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28561 bytes +2025-06-06 11:10:16,590 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:16,590 - video.core - INFO - ๐Ÿ“ค Server relayed frame #238 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:16,623 - video.core - INFO - ๐Ÿ“ฅ Server received frame #239 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28678 bytes +2025-06-06 11:10:16,623 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:16,623 - video.core - INFO - ๐Ÿ“ค Server relayed frame #239 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:16,668 - video.core - INFO - ๐Ÿ“น Frame #240 from producer producer_1749200997148: size=28612 bytes, resolution=640x480 +2025-06-06 11:10:16,668 - video.core - INFO - ๐Ÿ“ฅ Server received frame #240 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28612 bytes +2025-06-06 11:10:16,668 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:16,668 - video.core - INFO - ๐Ÿ“ค Server relayed frame #240 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:16,670 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 240 frames processed, 20.5 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:16,670 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 240 frames, 11.3 FPS, 2.54 Mbps throughput, 28040 bytes avg frame size +2025-06-06 11:10:16,672 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200997148 stats: 240 frames processed, FPS: 23.0, Throughput: 5.15 Mbps, Avg frame size: 28040 bytes +2025-06-06 11:10:16,704 - video.core - INFO - ๐Ÿ“ฅ Server received frame #241 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28622 bytes +2025-06-06 11:10:16,705 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:16,705 - video.core - INFO - ๐Ÿ“ค Server relayed frame #241 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:16,751 - video.core - INFO - ๐Ÿ“ฅ Server received frame #242 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28674 bytes +2025-06-06 11:10:16,751 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:16,751 - video.core - INFO - ๐Ÿ“ค Server relayed frame #242 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:16,804 - video.core - INFO - ๐Ÿ“ฅ Server received frame #243 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28429 bytes +2025-06-06 11:10:16,805 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:16,805 - video.core - INFO - ๐Ÿ“ค Server relayed frame #243 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:16,836 - video.core - INFO - ๐Ÿ“ฅ Server received frame #244 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28155 bytes +2025-06-06 11:10:16,837 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:16,837 - video.core - INFO - ๐Ÿ“ค Server relayed frame #244 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:16,874 - video.core - INFO - ๐Ÿ“ฅ Server received frame #245 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28310 bytes +2025-06-06 11:10:16,874 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:16,874 - video.core - INFO - ๐Ÿ“ค Server relayed frame #245 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:16,919 - video.core - INFO - ๐Ÿ“ฅ Server received frame #246 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28482 bytes +2025-06-06 11:10:16,919 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:16,919 - video.core - INFO - ๐Ÿ“ค Server relayed frame #246 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:16,960 - video.core - INFO - ๐Ÿ“ฅ Server received frame #247 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28530 bytes +2025-06-06 11:10:16,960 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:16,960 - video.core - INFO - ๐Ÿ“ค Server relayed frame #247 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:17,005 - video.core - INFO - ๐Ÿ“ฅ Server received frame #248 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28579 bytes +2025-06-06 11:10:17,005 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:17,005 - video.core - INFO - ๐Ÿ“ค Server relayed frame #248 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:17,050 - video.core - INFO - ๐Ÿ“ฅ Server received frame #249 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28486 bytes +2025-06-06 11:10:17,050 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:17,050 - video.core - INFO - ๐Ÿ“ค Server relayed frame #249 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:17,094 - video.core - INFO - ๐Ÿ“น Frame #250 from producer producer_1749200997148: size=28428 bytes, resolution=640x480 +2025-06-06 11:10:17,094 - video.core - INFO - ๐Ÿ“ฅ Server received frame #250 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28428 bytes +2025-06-06 11:10:17,094 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:17,094 - video.core - INFO - ๐Ÿ“ค Server relayed frame #250 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:17,140 - video.core - INFO - ๐Ÿ“ฅ Server received frame #251 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28502 bytes +2025-06-06 11:10:17,141 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:17,141 - video.core - INFO - ๐Ÿ“ค Server relayed frame #251 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:17,188 - video.core - INFO - ๐Ÿ“ฅ Server received frame #252 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28467 bytes +2025-06-06 11:10:17,188 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:17,188 - video.core - INFO - ๐Ÿ“ค Server relayed frame #252 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:17,225 - video.core - INFO - ๐Ÿ“ฅ Server received frame #253 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28587 bytes +2025-06-06 11:10:17,225 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:17,225 - video.core - INFO - ๐Ÿ“ค Server relayed frame #253 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:17,272 - video.core - INFO - ๐Ÿ“ฅ Server received frame #254 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28562 bytes +2025-06-06 11:10:17,273 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:17,273 - video.core - INFO - ๐Ÿ“ค Server relayed frame #254 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:17,309 - video.core - INFO - ๐Ÿ“ฅ Server received frame #255 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28714 bytes +2025-06-06 11:10:17,310 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:17,310 - video.core - INFO - ๐Ÿ“ค Server relayed frame #255 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:17,351 - video.core - INFO - ๐Ÿ“ฅ Server received frame #256 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28771 bytes +2025-06-06 11:10:17,351 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:17,351 - video.core - INFO - ๐Ÿ“ค Server relayed frame #256 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:17,400 - video.core - INFO - ๐Ÿ“ฅ Server received frame #257 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28851 bytes +2025-06-06 11:10:17,400 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:17,400 - video.core - INFO - ๐Ÿ“ค Server relayed frame #257 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:17,444 - video.core - INFO - ๐Ÿ“ฅ Server received frame #258 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28819 bytes +2025-06-06 11:10:17,444 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:17,445 - video.core - INFO - ๐Ÿ“ค Server relayed frame #258 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:17,490 - video.core - INFO - ๐Ÿ“ฅ Server received frame #259 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28768 bytes +2025-06-06 11:10:17,491 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:17,491 - video.core - INFO - ๐Ÿ“ค Server relayed frame #259 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:17,530 - video.core - INFO - ๐Ÿ“น Frame #260 from producer producer_1749200997148: size=28767 bytes, resolution=640x480 +2025-06-06 11:10:17,530 - video.core - INFO - ๐Ÿ“ฅ Server received frame #260 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28767 bytes +2025-06-06 11:10:17,531 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:17,531 - video.core - INFO - ๐Ÿ“ค Server relayed frame #260 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:17,576 - video.core - INFO - ๐Ÿ“ฅ Server received frame #261 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28814 bytes +2025-06-06 11:10:17,576 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:17,576 - video.core - INFO - ๐Ÿ“ค Server relayed frame #261 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:17,618 - video.core - INFO - ๐Ÿ“ฅ Server received frame #262 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28949 bytes +2025-06-06 11:10:17,618 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:17,619 - video.core - INFO - ๐Ÿ“ค Server relayed frame #262 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:17,659 - video.core - INFO - ๐Ÿ“ฅ Server received frame #263 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28710 bytes +2025-06-06 11:10:17,659 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:17,659 - video.core - INFO - ๐Ÿ“ค Server relayed frame #263 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:17,697 - video.core - INFO - ๐Ÿ“ฅ Server received frame #264 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28808 bytes +2025-06-06 11:10:17,697 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:17,697 - video.core - INFO - ๐Ÿ“ค Server relayed frame #264 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:17,741 - video.core - INFO - ๐Ÿ“ฅ Server received frame #265 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28821 bytes +2025-06-06 11:10:17,742 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:17,742 - video.core - INFO - ๐Ÿ“ค Server relayed frame #265 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:17,784 - video.core - INFO - ๐Ÿ“ฅ Server received frame #266 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28718 bytes +2025-06-06 11:10:17,784 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:17,784 - video.core - INFO - ๐Ÿ“ค Server relayed frame #266 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:17,826 - video.core - INFO - ๐Ÿ“ฅ Server received frame #267 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28694 bytes +2025-06-06 11:10:17,826 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:17,826 - video.core - INFO - ๐Ÿ“ค Server relayed frame #267 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:17,870 - video.core - INFO - ๐Ÿ“ฅ Server received frame #268 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28612 bytes +2025-06-06 11:10:17,871 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:17,871 - video.core - INFO - ๐Ÿ“ค Server relayed frame #268 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:17,912 - video.core - INFO - ๐Ÿ“ฅ Server received frame #269 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28674 bytes +2025-06-06 11:10:17,912 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:17,912 - video.core - INFO - ๐Ÿ“ค Server relayed frame #269 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:17,956 - video.core - INFO - ๐Ÿ“น Frame #270 from producer producer_1749200997148: size=28582 bytes, resolution=640x480 +2025-06-06 11:10:17,956 - video.core - INFO - ๐Ÿ“ฅ Server received frame #270 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28582 bytes +2025-06-06 11:10:17,956 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:17,956 - video.core - INFO - ๐Ÿ“ค Server relayed frame #270 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:17,956 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 270 frames processed, 20.7 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:17,956 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 270 frames, 12.0 FPS, 2.70 Mbps throughput, 28105 bytes avg frame size +2025-06-06 11:10:17,956 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200997148 stats: 270 frames processed, FPS: 23.0, Throughput: 5.17 Mbps, Avg frame size: 28105 bytes +2025-06-06 11:10:18,002 - video.core - INFO - ๐Ÿ“ฅ Server received frame #271 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28606 bytes +2025-06-06 11:10:18,002 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:18,002 - video.core - INFO - ๐Ÿ“ค Server relayed frame #271 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:18,044 - video.core - INFO - ๐Ÿ“ฅ Server received frame #272 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28561 bytes +2025-06-06 11:10:18,044 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:18,044 - video.core - INFO - ๐Ÿ“ค Server relayed frame #272 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:18,089 - video.core - INFO - ๐Ÿ“ฅ Server received frame #273 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28585 bytes +2025-06-06 11:10:18,089 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:18,089 - video.core - INFO - ๐Ÿ“ค Server relayed frame #273 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:18,134 - video.core - INFO - ๐Ÿ“ฅ Server received frame #274 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28616 bytes +2025-06-06 11:10:18,134 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:18,134 - video.core - INFO - ๐Ÿ“ค Server relayed frame #274 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:18,179 - video.core - INFO - ๐Ÿ“ฅ Server received frame #275 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28540 bytes +2025-06-06 11:10:18,180 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:18,180 - video.core - INFO - ๐Ÿ“ค Server relayed frame #275 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:18,222 - video.core - INFO - ๐Ÿ“ฅ Server received frame #276 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28486 bytes +2025-06-06 11:10:18,222 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:18,222 - video.core - INFO - ๐Ÿ“ค Server relayed frame #276 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:18,264 - video.core - INFO - ๐Ÿ“ฅ Server received frame #277 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28500 bytes +2025-06-06 11:10:18,264 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:18,264 - video.core - INFO - ๐Ÿ“ค Server relayed frame #277 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:18,308 - video.core - INFO - ๐Ÿ“ฅ Server received frame #278 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28636 bytes +2025-06-06 11:10:18,308 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:18,308 - video.core - INFO - ๐Ÿ“ค Server relayed frame #278 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:18,350 - video.core - INFO - ๐Ÿ“ฅ Server received frame #279 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28742 bytes +2025-06-06 11:10:18,350 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:18,351 - video.core - INFO - ๐Ÿ“ค Server relayed frame #279 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:18,393 - video.core - INFO - ๐Ÿ“น Frame #280 from producer producer_1749200997148: size=28733 bytes, resolution=640x480 +2025-06-06 11:10:18,394 - video.core - INFO - ๐Ÿ“ฅ Server received frame #280 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28733 bytes +2025-06-06 11:10:18,394 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:18,394 - video.core - INFO - ๐Ÿ“ค Server relayed frame #280 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:18,439 - video.core - INFO - ๐Ÿ“ฅ Server received frame #281 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28716 bytes +2025-06-06 11:10:18,439 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:18,439 - video.core - INFO - ๐Ÿ“ค Server relayed frame #281 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:18,480 - video.core - INFO - ๐Ÿ“ฅ Server received frame #282 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28793 bytes +2025-06-06 11:10:18,481 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:18,481 - video.core - INFO - ๐Ÿ“ค Server relayed frame #282 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:18,525 - video.core - INFO - ๐Ÿ“ฅ Server received frame #283 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28739 bytes +2025-06-06 11:10:18,526 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:18,526 - video.core - INFO - ๐Ÿ“ค Server relayed frame #283 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:18,568 - video.core - INFO - ๐Ÿ“ฅ Server received frame #284 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28821 bytes +2025-06-06 11:10:18,568 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:18,568 - video.core - INFO - ๐Ÿ“ค Server relayed frame #284 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:18,608 - video.core - INFO - ๐Ÿ“ฅ Server received frame #285 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28904 bytes +2025-06-06 11:10:18,609 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:18,609 - video.core - INFO - ๐Ÿ“ค Server relayed frame #285 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:18,653 - video.core - INFO - ๐Ÿ“ฅ Server received frame #286 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28855 bytes +2025-06-06 11:10:18,653 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:18,653 - video.core - INFO - ๐Ÿ“ค Server relayed frame #286 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:18,696 - video.core - INFO - ๐Ÿ“ฅ Server received frame #287 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28891 bytes +2025-06-06 11:10:18,697 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:18,697 - video.core - INFO - ๐Ÿ“ค Server relayed frame #287 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:18,740 - video.core - INFO - ๐Ÿ“ฅ Server received frame #288 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28845 bytes +2025-06-06 11:10:18,740 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:18,741 - video.core - INFO - ๐Ÿ“ค Server relayed frame #288 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:18,780 - video.core - INFO - ๐Ÿ“ฅ Server received frame #289 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28974 bytes +2025-06-06 11:10:18,781 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:18,781 - video.core - INFO - ๐Ÿ“ค Server relayed frame #289 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:18,829 - video.core - INFO - ๐Ÿ“น Frame #290 from producer producer_1749200997148: size=29084 bytes, resolution=640x480 +2025-06-06 11:10:18,829 - video.core - INFO - ๐Ÿ“ฅ Server received frame #290 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29084 bytes +2025-06-06 11:10:18,829 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:18,829 - video.core - INFO - ๐Ÿ“ค Server relayed frame #290 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:18,873 - video.core - INFO - ๐Ÿ“ฅ Server received frame #291 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29177 bytes +2025-06-06 11:10:18,873 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:18,873 - video.core - INFO - ๐Ÿ“ค Server relayed frame #291 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:18,911 - video.core - INFO - ๐Ÿ“ฅ Server received frame #292 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29059 bytes +2025-06-06 11:10:18,911 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:18,911 - video.core - INFO - ๐Ÿ“ค Server relayed frame #292 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:18,950 - video.core - INFO - ๐Ÿ“ฅ Server received frame #293 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28988 bytes +2025-06-06 11:10:18,951 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:18,951 - video.core - INFO - ๐Ÿ“ค Server relayed frame #293 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:19,000 - video.core - INFO - ๐Ÿ“ฅ Server received frame #294 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29032 bytes +2025-06-06 11:10:19,000 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:19,000 - video.core - INFO - ๐Ÿ“ค Server relayed frame #294 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:19,044 - video.core - INFO - ๐Ÿ“ฅ Server received frame #295 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28949 bytes +2025-06-06 11:10:19,045 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:19,045 - video.core - INFO - ๐Ÿ“ค Server relayed frame #295 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:19,087 - video.core - INFO - ๐Ÿ“ฅ Server received frame #296 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28965 bytes +2025-06-06 11:10:19,087 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:19,087 - video.core - INFO - ๐Ÿ“ค Server relayed frame #296 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:19,135 - video.core - INFO - ๐Ÿ“ฅ Server received frame #297 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29063 bytes +2025-06-06 11:10:19,135 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:19,135 - video.core - INFO - ๐Ÿ“ค Server relayed frame #297 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:19,179 - video.core - INFO - ๐Ÿ“ฅ Server received frame #298 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29105 bytes +2025-06-06 11:10:19,179 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:19,179 - video.core - INFO - ๐Ÿ“ค Server relayed frame #298 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:19,227 - video.core - INFO - ๐Ÿ“ฅ Server received frame #299 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29121 bytes +2025-06-06 11:10:19,227 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:19,227 - video.core - INFO - ๐Ÿ“ค Server relayed frame #299 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:19,274 - video.core - INFO - ๐Ÿ“น Frame #300 from producer producer_1749200997148: size=29062 bytes, resolution=640x480 +2025-06-06 11:10:19,274 - video.core - INFO - ๐Ÿ“ฅ Server received frame #300 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29062 bytes +2025-06-06 11:10:19,274 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:19,274 - video.core - INFO - ๐Ÿ“ค Server relayed frame #300 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:19,274 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 300 frames processed, 20.9 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:19,274 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 300 frames, 12.6 FPS, 2.84 Mbps throughput, 28179 bytes avg frame size +2025-06-06 11:10:19,274 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200997148 stats: 300 frames processed, FPS: 23.0, Throughput: 5.18 Mbps, Avg frame size: 28179 bytes +2025-06-06 11:10:19,319 - video.core - INFO - ๐Ÿ“ฅ Server received frame #301 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29178 bytes +2025-06-06 11:10:19,320 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:19,320 - video.core - INFO - ๐Ÿ“ค Server relayed frame #301 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:19,351 - video.core - INFO - ๐Ÿ“ฅ Server received frame #302 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29225 bytes +2025-06-06 11:10:19,351 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:19,351 - video.core - INFO - ๐Ÿ“ค Server relayed frame #302 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:19,396 - video.core - INFO - ๐Ÿ“ฅ Server received frame #303 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29205 bytes +2025-06-06 11:10:19,397 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:19,397 - video.core - INFO - ๐Ÿ“ค Server relayed frame #303 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:19,438 - video.core - INFO - ๐Ÿ“ฅ Server received frame #304 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29261 bytes +2025-06-06 11:10:19,438 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:19,438 - video.core - INFO - ๐Ÿ“ค Server relayed frame #304 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:19,487 - video.core - INFO - ๐Ÿ“ฅ Server received frame #305 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29196 bytes +2025-06-06 11:10:19,487 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:19,487 - video.core - INFO - ๐Ÿ“ค Server relayed frame #305 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:19,527 - video.core - INFO - ๐Ÿ“ฅ Server received frame #306 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29240 bytes +2025-06-06 11:10:19,527 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:19,527 - video.core - INFO - ๐Ÿ“ค Server relayed frame #306 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:19,569 - video.core - INFO - ๐Ÿ“ฅ Server received frame #307 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29213 bytes +2025-06-06 11:10:19,569 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:19,569 - video.core - INFO - ๐Ÿ“ค Server relayed frame #307 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:19,605 - video.core - INFO - ๐Ÿ“ฅ Server received frame #308 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29074 bytes +2025-06-06 11:10:19,605 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:19,605 - video.core - INFO - ๐Ÿ“ค Server relayed frame #308 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:19,649 - video.core - INFO - ๐Ÿ“ฅ Server received frame #309 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29104 bytes +2025-06-06 11:10:19,650 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:19,650 - video.core - INFO - ๐Ÿ“ค Server relayed frame #309 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:19,690 - video.core - INFO - ๐Ÿ“น Frame #310 from producer producer_1749200997148: size=29182 bytes, resolution=640x480 +2025-06-06 11:10:19,690 - video.core - INFO - ๐Ÿ“ฅ Server received frame #310 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29182 bytes +2025-06-06 11:10:19,690 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:19,690 - video.core - INFO - ๐Ÿ“ค Server relayed frame #310 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:19,733 - video.core - INFO - ๐Ÿ“ฅ Server received frame #311 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 29083 bytes +2025-06-06 11:10:19,733 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:19,734 - video.core - INFO - ๐Ÿ“ค Server relayed frame #311 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:19,773 - video.core - INFO - ๐Ÿ“ฅ Server received frame #312 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28922 bytes +2025-06-06 11:10:19,773 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:19,773 - video.core - INFO - ๐Ÿ“ค Server relayed frame #312 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:19,815 - video.core - INFO - ๐Ÿ“ฅ Server received frame #313 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28909 bytes +2025-06-06 11:10:19,815 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:19,816 - video.core - INFO - ๐Ÿ“ค Server relayed frame #313 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:19,858 - video.core - INFO - ๐Ÿ“ฅ Server received frame #314 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28804 bytes +2025-06-06 11:10:19,858 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:19,858 - video.core - INFO - ๐Ÿ“ค Server relayed frame #314 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:19,900 - video.core - INFO - ๐Ÿ“ฅ Server received frame #315 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28724 bytes +2025-06-06 11:10:19,900 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:19,900 - video.core - INFO - ๐Ÿ“ค Server relayed frame #315 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:19,943 - video.core - INFO - ๐Ÿ“ฅ Server received frame #316 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28648 bytes +2025-06-06 11:10:19,943 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:19,943 - video.core - INFO - ๐Ÿ“ค Server relayed frame #316 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:19,986 - video.core - INFO - ๐Ÿ“ฅ Server received frame #317 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28666 bytes +2025-06-06 11:10:19,987 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:19,987 - video.core - INFO - ๐Ÿ“ค Server relayed frame #317 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:20,033 - video.core - INFO - ๐Ÿ“ฅ Server received frame #318 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28585 bytes +2025-06-06 11:10:20,033 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:20,033 - video.core - INFO - ๐Ÿ“ค Server relayed frame #318 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:20,073 - video.core - INFO - ๐Ÿ“ฅ Server received frame #319 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28627 bytes +2025-06-06 11:10:20,073 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:20,074 - video.core - INFO - ๐Ÿ“ค Server relayed frame #319 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:20,123 - video.core - INFO - ๐Ÿ“น Frame #320 from producer producer_1749200997148: size=28623 bytes, resolution=640x480 +2025-06-06 11:10:20,123 - video.core - INFO - ๐Ÿ“ฅ Server received frame #320 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28623 bytes +2025-06-06 11:10:20,123 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:20,123 - video.core - INFO - ๐Ÿ“ค Server relayed frame #320 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:20,168 - video.core - INFO - ๐Ÿ“ฅ Server received frame #321 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28684 bytes +2025-06-06 11:10:20,169 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:20,169 - video.core - INFO - ๐Ÿ“ค Server relayed frame #321 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:20,205 - video.core - INFO - ๐Ÿ“ฅ Server received frame #322 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28523 bytes +2025-06-06 11:10:20,206 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:20,206 - video.core - INFO - ๐Ÿ“ค Server relayed frame #322 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:20,253 - video.core - INFO - ๐Ÿ“ฅ Server received frame #323 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28605 bytes +2025-06-06 11:10:20,254 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:20,254 - video.core - INFO - ๐Ÿ“ค Server relayed frame #323 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:20,294 - video.core - INFO - ๐Ÿ“ฅ Server received frame #324 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28546 bytes +2025-06-06 11:10:20,294 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:20,294 - video.core - INFO - ๐Ÿ“ค Server relayed frame #324 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:20,338 - video.core - INFO - ๐Ÿ“ฅ Server received frame #325 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28478 bytes +2025-06-06 11:10:20,338 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:20,338 - video.core - INFO - ๐Ÿ“ค Server relayed frame #325 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:20,382 - video.core - INFO - ๐Ÿ“ฅ Server received frame #326 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28452 bytes +2025-06-06 11:10:20,383 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:20,383 - video.core - INFO - ๐Ÿ“ค Server relayed frame #326 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:20,424 - video.core - INFO - ๐Ÿ“ฅ Server received frame #327 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28442 bytes +2025-06-06 11:10:20,424 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:20,424 - video.core - INFO - ๐Ÿ“ค Server relayed frame #327 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:20,484 - video.core - INFO - ๐Ÿ“ฅ Server received frame #328 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28523 bytes +2025-06-06 11:10:20,484 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:20,485 - video.core - INFO - ๐Ÿ“ค Server relayed frame #328 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:20,526 - video.core - INFO - ๐Ÿ“ฅ Server received frame #329 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28457 bytes +2025-06-06 11:10:20,526 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:20,526 - video.core - INFO - ๐Ÿ“ค Server relayed frame #329 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:20,573 - video.core - INFO - ๐Ÿ“น Frame #330 from producer producer_1749200997148: size=28511 bytes, resolution=640x480 +2025-06-06 11:10:20,573 - video.core - INFO - ๐Ÿ“ฅ Server received frame #330 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28511 bytes +2025-06-06 11:10:20,573 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:20,573 - video.core - INFO - ๐Ÿ“ค Server relayed frame #330 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:20,573 - video.core - INFO - ๐ŸŽฏ Server Relay Strategy performance: 330 frames processed, 21.1 FPS average (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:20,573 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 330 frames, 13.1 FPS, 2.97 Mbps throughput, 28237 bytes avg frame size +2025-06-06 11:10:20,573 - video.core - INFO - ๐Ÿ“Š Producer producer_1749200997148 stats: 330 frames processed, FPS: 23.0, Throughput: 5.19 Mbps, Avg frame size: 28237 bytes +2025-06-06 11:10:20,613 - video.core - INFO - ๐Ÿ“ฅ Server received frame #331 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28468 bytes +2025-06-06 11:10:20,614 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:20,614 - video.core - INFO - ๐Ÿ“ค Server relayed frame #331 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:20,654 - video.core - INFO - ๐Ÿ“ฅ Server received frame #332 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28505 bytes +2025-06-06 11:10:20,654 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:20,654 - video.core - INFO - ๐Ÿ“ค Server relayed frame #332 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:20,688 - video.core - INFO - ๐Ÿ“ฅ Server received frame #333 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28578 bytes +2025-06-06 11:10:20,688 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:20,688 - video.core - INFO - ๐Ÿ“ค Server relayed frame #333 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:20,739 - video.core - INFO - ๐Ÿ“ฅ Server received frame #334 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28575 bytes +2025-06-06 11:10:20,739 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:20,739 - video.core - INFO - ๐Ÿ“ค Server relayed frame #334 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:20,782 - video.core - INFO - ๐Ÿ“ฅ Server received frame #335 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28542 bytes +2025-06-06 11:10:20,783 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:20,783 - video.core - INFO - ๐Ÿ“ค Server relayed frame #335 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:20,837 - video.core - INFO - ๐Ÿ“ฅ Server received frame #336 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28620 bytes +2025-06-06 11:10:20,837 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:20,837 - video.core - INFO - ๐Ÿ“ค Server relayed frame #336 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:20,873 - video.core - INFO - ๐Ÿ“ฅ Server received frame #337 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28532 bytes +2025-06-06 11:10:20,873 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:20,873 - video.core - INFO - ๐Ÿ“ค Server relayed frame #337 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:20,904 - video.core - INFO - ๐Ÿ“ฅ Server received frame #338 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28484 bytes +2025-06-06 11:10:20,904 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:20,904 - video.core - INFO - ๐Ÿ“ค Server relayed frame #338 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:20,945 - video.core - INFO - ๐Ÿ“ฅ Server received frame #339 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28532 bytes +2025-06-06 11:10:20,945 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:20,945 - video.core - INFO - ๐Ÿ“ค Server relayed frame #339 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:20,986 - video.core - INFO - ๐Ÿ“น Frame #340 from producer producer_1749200997148: size=28600 bytes, resolution=640x480 +2025-06-06 11:10:20,986 - video.core - INFO - ๐Ÿ“ฅ Server received frame #340 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28600 bytes +2025-06-06 11:10:20,986 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:20,986 - video.core - INFO - ๐Ÿ“ค Server relayed frame #340 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:21,043 - video.core - INFO - ๐Ÿ“ฅ Server received frame #341 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28750 bytes +2025-06-06 11:10:21,043 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:21,043 - video.core - INFO - ๐Ÿ“ค Server relayed frame #341 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:21,081 - video.core - INFO - ๐Ÿ“ฅ Server received frame #342 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28753 bytes +2025-06-06 11:10:21,081 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:21,081 - video.core - INFO - ๐Ÿ“ค Server relayed frame #342 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:21,137 - video.core - INFO - ๐Ÿ“ฅ Server received frame #343 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28737 bytes +2025-06-06 11:10:21,138 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:21,138 - video.core - INFO - ๐Ÿ“ค Server relayed frame #343 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:21,170 - video.core - INFO - ๐Ÿ“ฅ Server received frame #344 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28636 bytes +2025-06-06 11:10:21,171 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:21,171 - video.core - INFO - ๐Ÿ“ค Server relayed frame #344 to 1 consumers in 0.5ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:21,204 - video.core - INFO - ๐Ÿ“ฅ Server received frame #345 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28615 bytes +2025-06-06 11:10:21,205 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:21,205 - video.core - INFO - ๐Ÿ“ค Server relayed frame #345 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:21,250 - video.core - INFO - ๐Ÿ“ฅ Server received frame #346 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28778 bytes +2025-06-06 11:10:21,250 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:21,250 - video.core - INFO - ๐Ÿ“ค Server relayed frame #346 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:21,297 - video.core - INFO - ๐Ÿ“ฅ Server received frame #347 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28808 bytes +2025-06-06 11:10:21,298 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:21,298 - video.core - INFO - ๐Ÿ“ค Server relayed frame #347 to 1 consumers in 0.8ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:21,340 - video.core - INFO - ๐Ÿ“ฅ Server received frame #348 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28693 bytes +2025-06-06 11:10:21,340 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:21,340 - video.core - INFO - ๐Ÿ“ค Server relayed frame #348 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:21,379 - video.core - INFO - ๐Ÿ“ฅ Server received frame #349 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28540 bytes +2025-06-06 11:10:21,379 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:21,379 - video.core - INFO - ๐Ÿ“ค Server relayed frame #349 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:21,425 - video.core - INFO - ๐Ÿ“น Frame #350 from producer producer_1749200997148: size=28486 bytes, resolution=640x480 +2025-06-06 11:10:21,425 - video.core - INFO - ๐Ÿ“ฅ Server received frame #350 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28486 bytes +2025-06-06 11:10:21,426 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:21,426 - video.core - INFO - ๐Ÿ“ค Server relayed frame #350 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:21,467 - video.core - INFO - ๐Ÿ“ฅ Server received frame #351 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28475 bytes +2025-06-06 11:10:21,467 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:21,467 - video.core - INFO - ๐Ÿ“ค Server relayed frame #351 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:21,508 - video.core - INFO - ๐Ÿ“ฅ Server received frame #352 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28547 bytes +2025-06-06 11:10:21,508 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:21,508 - video.core - INFO - ๐Ÿ“ค Server relayed frame #352 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:21,548 - video.core - INFO - ๐Ÿ“ฅ Server received frame #353 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28592 bytes +2025-06-06 11:10:21,548 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:21,548 - video.core - INFO - ๐Ÿ“ค Server relayed frame #353 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:21,594 - video.core - INFO - ๐Ÿ“ฅ Server received frame #354 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 28575 bytes +2025-06-06 11:10:21,594 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:21,594 - video.core - INFO - ๐Ÿ“ค Server relayed frame #354 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:10:21,612 - video.core - INFO - ๐ŸŽฅ Stream stopped by producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:10:22,539 - video.core - INFO - ๐ŸŽฅ Stream started by producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:11:00,429 - video.core - INFO - ๐ŸงŠ WebRTC producer_1749200997148 ICE state: closed +2025-06-06 11:11:00,430 - video.core - INFO - ๐Ÿ”— WebRTC producer_1749200997148 connection state: closed +2025-06-06 11:11:00,430 - video.core - ERROR - โŒ Error processing video track producer_1749200997148 after 354 frames +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/video/core.py", line 272, in _process_incoming_video + frame = await track.recv() + ^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/aiortc/rtcrtpreceiver.py", line 209, in recv + raise MediaStreamError +aiortc.mediastreams.MediaStreamError +2025-06-06 11:11:00,432 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Cleaned up WebRTC connection for producer_1749200997148 +2025-06-06 11:11:00,433 - video.core - INFO - ๐ŸงŠ WebRTC consumer_1749200997400 ICE state: closed +2025-06-06 11:11:00,433 - video.core - INFO - ๐Ÿ”— WebRTC consumer_1749200997400 connection state: closed +2025-06-06 11:11:00,433 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Cleaned up WebRTC connection for consumer_1749200997400 +2025-06-06 11:11:00,433 - video.core - INFO - ๐Ÿ”— P2P Strategy initialized for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:11:00,433 - video.core - INFO - ๐Ÿ”— P2P: Producer producer_1749200997148 setup for P2P strategy +2025-06-06 11:11:00,433 - video.core - INFO - ๐Ÿ”— P2P: Consumer consumer_1749200997400 setup for P2P strategy +2025-06-06 11:11:00,434 - video.core - INFO - ๐Ÿ”„ Room 32fd74a9-26a0-4a29-89bf-6f020eccf65b strategy switched: server -> p2p (User requested via UI) +2025-06-06 11:11:04,097 - video.core - INFO - ๐ŸŽฅ Stream stopped by producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:11:05,824 - video.core - INFO - ๐ŸŽฅ Stream started by producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:11:09,294 - video.core - INFO - ๐Ÿ”— P2P: Cleaned up participant producer_1749200997148 +2025-06-06 11:11:09,295 - video.core - INFO - ๐Ÿ”— P2P: Cleaned up participant consumer_1749200997400 +2025-06-06 11:11:09,295 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay Strategy initialized for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:11:09,295 - video.core - INFO - ๐Ÿš€ Server is now ready to relay video frames for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:11:09,296 - video.core - INFO - WebRTC connection producer_1749200997148 initialized +2025-06-06 11:11:09,296 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Created WebRTC connection for producer_1749200997148 +2025-06-06 11:11:09,296 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: producer producer_1749200997148 setup for server relay +2025-06-06 11:11:09,297 - video.core - INFO - WebRTC connection consumer_1749200997400 initialized +2025-06-06 11:11:09,297 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Created WebRTC connection for consumer_1749200997400 +2025-06-06 11:11:09,297 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: consumer consumer_1749200997400 setup for server relay +2025-06-06 11:11:09,297 - video.core - INFO - ๐Ÿ”„ Room 32fd74a9-26a0-4a29-89bf-6f020eccf65b strategy switched: p2p -> server (User requested via UI) +2025-06-06 11:11:09,491 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749200997400 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:11:09,491 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 11:11:09,491 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: offer from consumer_1749200997400 (role: consumer) +2025-06-06 11:11:09,491 - video.core - INFO - ๐Ÿค Processing WebRTC offer from consumer consumer_1749200997400 +2025-06-06 11:11:09,491 - video.core - INFO - ๐Ÿ”ง Processing SDP offer from consumer_1749200997400 (length: 6127 chars) +2025-06-06 11:11:09,497 - video.core - INFO - VideoFrameTrack created with recovery policy: freeze_last_frame +2025-06-06 11:11:09,497 - video.core - INFO - ๐Ÿ–ฅ๏ธ WebRTC consumer_1749200997400 set as CONSUMER (explicit role) - video track added +2025-06-06 11:11:09,500 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749200997400 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:11:09,501 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 11:11:09,501 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: ice from consumer_1749200997400 (role: consumer) +2025-06-06 11:11:09,516 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749200997400 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:11:09,517 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 11:11:09,517 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: ice from consumer_1749200997400 (role: consumer) +2025-06-06 11:11:09,539 - video.core - INFO - โœ… Generated WebRTC answer for consumer_1749200997400 (length: 1977 chars) +2025-06-06 11:11:09,539 - video.core - INFO - โœ… Generated WebRTC answer for consumer_1749200997400 (length: 1977 chars) +2025-06-06 11:11:09,539 - video.core - INFO - ๐ŸงŠ WebRTC consumer_1749200997400 ICE state: checking +2025-06-06 11:11:09,539 - video.core - INFO - ๐Ÿ”— WebRTC consumer_1749200997400 connection state: connecting +2025-06-06 11:11:09,539 - aioice.ice - INFO - Connection(2) Check CandidatePair(('192.168.1.83', 54835) -> ('192.168.1.83', 64256)) State.FROZEN -> State.WAITING +2025-06-06 11:11:09,539 - aioice.ice - INFO - Connection(2) Check CandidatePair(('192.168.1.83', 54835) -> ('82.66.87.218', 64256)) State.FROZEN -> State.WAITING +2025-06-06 11:11:09,539 - aioice.ice - INFO - Connection(2) Check CandidatePair(('192.168.1.83', 54835) -> ('192.168.1.83', 64256)) State.WAITING -> State.IN_PROGRESS +2025-06-06 11:11:09,542 - aioice.ice - INFO - Connection(2) Check CandidatePair(('192.168.1.83', 54835) -> ('192.168.1.83', 64256)) State.IN_PROGRESS -> State.SUCCEEDED +2025-06-06 11:11:09,542 - aioice.ice - INFO - Connection(2) Check CandidatePair(('192.168.1.83', 54835) -> ('82.66.87.218', 64256)) State.WAITING -> State.FAILED +2025-06-06 11:11:09,542 - aioice.ice - INFO - Connection(2) ICE completed +2025-06-06 11:11:09,561 - video.core - INFO - ๐ŸงŠ WebRTC consumer_1749200997400 ICE state: completed +2025-06-06 11:11:09,565 - video.core - INFO - ๐Ÿ”— WebRTC consumer_1749200997400 connection state: connected +2025-06-06 11:11:09,565 - video.core - INFO - ๐Ÿ“บ Consumer consumer_1749200997400 WebRTC connection established - ready to send frames +2025-06-06 11:11:09,668 - aiortc.rtcrtpsender - WARNING - RTCRtpsender(video) Traceback (most recent call last): + File "/Users/julienblanchon/.local/share/uv/python/cpython-3.12.0-macos-aarch64-none/lib/python3.12/asyncio/tasks.py", line 510, in wait_for + return await fut + ^^^^^^^^^ + File "/Users/julienblanchon/.local/share/uv/python/cpython-3.12.0-macos-aarch64-none/lib/python3.12/asyncio/queues.py", line 158, in get + await getter +asyncio.exceptions.CancelledError + +The above exception was the direct cause of the following exception: + +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/video/core.py", line 69, in recv + frame_data = await asyncio.wait_for(self.frame_queue.get(), timeout=0.1) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/.local/share/uv/python/cpython-3.12.0-macos-aarch64-none/lib/python3.12/asyncio/tasks.py", line 509, in wait_for + async with timeouts.timeout(timeout): + File "/Users/julienblanchon/.local/share/uv/python/cpython-3.12.0-macos-aarch64-none/lib/python3.12/asyncio/timeouts.py", line 111, in __aexit__ + raise TimeoutError from exc_val +TimeoutError + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/aiortc/rtcrtpsender.py", line 367, in _run_rtp + enc_frame = await self._next_encoded_frame(codec) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/aiortc/rtcrtpsender.py", line 294, in _next_encoded_frame + data = await self.__track.recv() + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/video/core.py", line 100, in recv + frame = self._create_recovery_frame(current_time) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/video/core.py", line 136, in _create_recovery_frame + recovery_frame = self._apply_recovery_policy(policy) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/video/core.py", line 148, in _apply_recovery_policy + recovery_frame = apply_recovery_policy( + ^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/video/utils.py", line 178, in apply_recovery_policy + if policy == RecoveryPolicy.BLACK_FRAME: + ^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: type object 'RecoveryPolicy' has no attribute 'BLACK_FRAME' + +2025-06-06 11:11:11,195 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749200997148 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:11:11,195 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 11:11:11,195 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: offer from producer_1749200997148 (role: producer) +2025-06-06 11:11:11,195 - video.core - INFO - ๐Ÿค Processing WebRTC offer from producer producer_1749200997148 +2025-06-06 11:11:11,195 - video.core - INFO - ๐Ÿ”ง Processing SDP offer from producer_1749200997148 (length: 4738 chars) +2025-06-06 11:11:11,200 - video.core - INFO - WebRTC producer_1749200997148 received track: video +2025-06-06 11:11:11,200 - video.core - INFO - WebRTC producer_1749200997148 is now a PRODUCER +2025-06-06 11:11:11,200 - video.core - INFO - ๐Ÿ–ฅ๏ธ WebRTC producer_1749200997148 set as PRODUCER (explicit role) +2025-06-06 11:11:11,200 - video.core - INFO - ๐Ÿ“น Starting video frame processing for producer producer_1749200997148 +2025-06-06 11:11:11,203 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749200997148 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:11:11,203 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 11:11:11,203 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: ice from producer_1749200997148 (role: producer) +2025-06-06 11:11:11,219 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749200997148 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:11:11,219 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 11:11:11,220 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: ice from producer_1749200997148 (role: producer) +2025-06-06 11:11:11,239 - video.core - INFO - โœ… Generated WebRTC answer for producer_1749200997148 (length: 1975 chars) +2025-06-06 11:11:11,239 - video.core - INFO - โœ… Generated WebRTC answer for producer_1749200997148 (length: 1975 chars) +2025-06-06 11:11:11,239 - video.core - INFO - ๐ŸงŠ WebRTC producer_1749200997148 ICE state: checking +2025-06-06 11:11:11,240 - video.core - INFO - ๐Ÿ”— WebRTC producer_1749200997148 connection state: connecting +2025-06-06 11:11:11,240 - aioice.ice - INFO - Connection(3) Check CandidatePair(('192.168.1.83', 53269) -> ('192.168.1.83', 56134)) State.FROZEN -> State.WAITING +2025-06-06 11:11:11,240 - aioice.ice - INFO - Connection(3) Check CandidatePair(('192.168.1.83', 53269) -> ('82.66.87.218', 56134)) State.FROZEN -> State.WAITING +2025-06-06 11:11:11,241 - aioice.ice - INFO - Connection(3) Check CandidatePair(('192.168.1.83', 53269) -> ('192.168.1.83', 56134)) State.WAITING -> State.IN_PROGRESS +2025-06-06 11:11:11,243 - aioice.ice - INFO - Connection(3) Check CandidatePair(('192.168.1.83', 53269) -> ('192.168.1.83', 56134)) State.IN_PROGRESS -> State.SUCCEEDED +2025-06-06 11:11:11,244 - aioice.ice - INFO - Connection(3) Check CandidatePair(('192.168.1.83', 53269) -> ('82.66.87.218', 56134)) State.WAITING -> State.FAILED +2025-06-06 11:11:11,244 - aioice.ice - INFO - Connection(3) ICE completed +2025-06-06 11:11:11,262 - video.core - INFO - ๐ŸงŠ WebRTC producer_1749200997148 ICE state: completed +2025-06-06 11:11:11,267 - video.core - INFO - ๐Ÿ”— WebRTC producer_1749200997148 connection state: connected +2025-06-06 11:11:11,267 - video.core - INFO - ๐ŸŽฌ Producer producer_1749200997148 WebRTC connection established - ready to receive frames +2025-06-06 11:11:11,356 - video.core - INFO - ๐Ÿ“ฅ Server received frame #355 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 22195 bytes +2025-06-06 11:11:11,356 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:11:11,356 - video.core - INFO - ๐Ÿ“ค Server relayed frame #355 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:11:11,394 - video.core - INFO - ๐Ÿ“ฅ Server received frame #356 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 23065 bytes +2025-06-06 11:11:11,394 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:11:11,394 - video.core - INFO - ๐Ÿ“ค Server relayed frame #356 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:11:11,436 - video.core - INFO - ๐Ÿ“ฅ Server received frame #357 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 23390 bytes +2025-06-06 11:11:11,436 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:11:11,436 - video.core - INFO - ๐Ÿ“ค Server relayed frame #357 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:11:11,487 - video.core - INFO - ๐Ÿ“ฅ Server received frame #358 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 23535 bytes +2025-06-06 11:11:11,487 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:11:11,487 - video.core - INFO - ๐Ÿ“ค Server relayed frame #358 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:11:11,529 - video.core - INFO - ๐Ÿ“ฅ Server received frame #359 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 23840 bytes +2025-06-06 11:11:11,529 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:11:11,529 - video.core - INFO - ๐Ÿ“ค Server relayed frame #359 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:11:11,569 - video.core - INFO - ๐Ÿ“ฅ Server received frame #360 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 24004 bytes +2025-06-06 11:11:11,569 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:11:11,569 - video.core - INFO - ๐Ÿ“ค Server relayed frame #360 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:11:11,569 - video.core - INFO - ๐Ÿ“Š Server relay stats for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 360 frames, 4.7 FPS, 1.07 Mbps throughput, 28180 bytes avg frame size +2025-06-06 11:11:11,614 - video.core - INFO - ๐Ÿ“ฅ Server received frame #361 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 24226 bytes +2025-06-06 11:11:11,614 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:11:11,614 - video.core - INFO - ๐Ÿ“ค Server relayed frame #361 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:11:11,659 - video.core - INFO - ๐Ÿ“ฅ Server received frame #362 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 24356 bytes +2025-06-06 11:11:11,659 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:11:11,659 - video.core - INFO - ๐Ÿ“ค Server relayed frame #362 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:11:11,706 - video.core - INFO - ๐Ÿ“ฅ Server received frame #363 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 24410 bytes +2025-06-06 11:11:11,706 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:11:11,706 - video.core - INFO - ๐Ÿ“ค Server relayed frame #363 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:11:11,751 - video.core - INFO - ๐Ÿ“น Frame #10 from producer producer_1749200997148: size=24569 bytes, resolution=640x480 +2025-06-06 11:11:11,751 - video.core - INFO - ๐Ÿ“ฅ Server received frame #364 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 24569 bytes +2025-06-06 11:11:11,751 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:11:11,752 - video.core - INFO - ๐Ÿ“ค Server relayed frame #364 to 1 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:11:11,791 - video.core - INFO - ๐Ÿ“ฅ Server received frame #365 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 24534 bytes +2025-06-06 11:11:11,792 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:11:11,792 - video.core - INFO - ๐Ÿ“ค Server relayed frame #365 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:11:11,836 - video.core - INFO - ๐Ÿ“ฅ Server received frame #366 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 24553 bytes +2025-06-06 11:11:11,837 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:11:11,837 - video.core - INFO - ๐Ÿ“ค Server relayed frame #366 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:11:11,878 - video.core - INFO - ๐Ÿ“ฅ Server received frame #367 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 24642 bytes +2025-06-06 11:11:11,878 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:11:11,878 - video.core - INFO - ๐Ÿ“ค Server relayed frame #367 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:11:11,923 - video.core - INFO - ๐Ÿ“ฅ Server received frame #368 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 24764 bytes +2025-06-06 11:11:11,924 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:11:11,924 - video.core - INFO - ๐Ÿ“ค Server relayed frame #368 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:11:11,967 - video.core - INFO - ๐Ÿ“ฅ Server received frame #369 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 24830 bytes +2025-06-06 11:11:11,967 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:11:11,967 - video.core - INFO - ๐Ÿ“ค Server relayed frame #369 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:11:12,013 - video.core - INFO - ๐Ÿ“ฅ Server received frame #370 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 25714 bytes +2025-06-06 11:11:12,014 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:11:12,014 - video.core - INFO - ๐Ÿ“ค Server relayed frame #370 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:11:12,056 - video.core - INFO - ๐Ÿ“ฅ Server received frame #371 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 25855 bytes +2025-06-06 11:11:12,056 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:11:12,056 - video.core - INFO - ๐Ÿ“ค Server relayed frame #371 to 1 consumers in 0.6ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:11:12,097 - video.core - INFO - ๐Ÿ“ฅ Server received frame #372 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 25984 bytes +2025-06-06 11:11:12,097 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:11:12,097 - video.core - INFO - ๐Ÿ“ค Server relayed frame #372 to 1 consumers in 0.4ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:11:12,136 - video.core - INFO - ๐Ÿ“ฅ Server received frame #373 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26237 bytes +2025-06-06 11:11:12,136 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:11:12,136 - video.core - INFO - ๐Ÿ“ค Server relayed frame #373 to 1 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:11:12,171 - video.core - INFO - ๐Ÿ“น Frame #20 from producer producer_1749200997148: size=26542 bytes, resolution=640x480 +2025-06-06 11:11:12,171 - video.core - INFO - ๐Ÿ“ฅ Server received frame #374 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26542 bytes +2025-06-06 11:11:12,172 - video.core - INFO - ๐Ÿ“ก Frame broadcast complete: 1 successful, 0 failed in 0.0ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:11:12,172 - video.core - INFO - ๐Ÿ“ค Server relayed frame #374 to 1 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:11:12,204 - video.core - INFO - ๐ŸŽฅ Consumer consumer_1749200997400 left video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:11:12,205 - video.core - INFO - ๐ŸงŠ WebRTC consumer_1749200997400 ICE state: closed +2025-06-06 11:11:12,205 - video.core - INFO - ๐Ÿ”— WebRTC consumer_1749200997400 connection state: closed +2025-06-06 11:11:12,208 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Cleaned up WebRTC connection for consumer_1749200997400 +2025-06-06 11:11:12,224 - video.core - INFO - ๐Ÿ“ฅ Server received frame #375 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26750 bytes +2025-06-06 11:11:12,224 - video.core - INFO - ๐Ÿ“ค Server relayed frame #375 to 0 consumers in 0.2ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:11:12,259 - video.core - INFO - ๐Ÿ“ฅ Server received frame #376 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26641 bytes +2025-06-06 11:11:12,259 - video.core - INFO - ๐Ÿ“ค Server relayed frame #376 to 0 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:11:12,300 - video.core - INFO - ๐Ÿ“ฅ Server received frame #377 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26623 bytes +2025-06-06 11:11:12,300 - video.core - INFO - ๐Ÿ“ค Server relayed frame #377 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:11:12,344 - video.core - INFO - ๐Ÿ“ฅ Server received frame #378 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 26785 bytes +2025-06-06 11:11:12,344 - video.core - INFO - ๐Ÿ“ค Server relayed frame #378 to 0 consumers in 0.1ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:11:12,387 - video.core - INFO - ๐Ÿ“ฅ Server received frame #379 from producer producer_1749200997148 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b: 27033 bytes +2025-06-06 11:11:12,387 - video.core - INFO - ๐Ÿ“ค Server relayed frame #379 to 0 consumers in 0.3ms (room 32fd74a9-26a0-4a29-89bf-6f020eccf65b) +2025-06-06 11:11:12,403 - video.core - INFO - ๐ŸŽฅ Producer producer_1749200997148 left video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:11:12,406 - video.core - INFO - ๐ŸงŠ WebRTC producer_1749200997148 ICE state: closed +2025-06-06 11:11:12,406 - video.core - INFO - ๐Ÿ”— WebRTC producer_1749200997148 connection state: closed +2025-06-06 11:11:12,406 - video.core - ERROR - โŒ Error processing video track producer_1749200997148 after 25 frames +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/src/video/core.py", line 272, in _process_incoming_video + frame = await track.recv() + ^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/lerobot-arena/server/lerobot-arena/server/.venv/lib/python3.12/site-packages/aiortc/rtcrtpreceiver.py", line 209, in recv + raise MediaStreamError +aiortc.mediastreams.MediaStreamError +2025-06-06 11:11:12,408 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Cleaned up WebRTC connection for producer_1749200997148 +2025-06-06 11:11:15,553 - video.core - INFO - ๐ŸŽฅ Producer producer_1749201074436 joined video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:11:15,554 - video.core - INFO - WebRTC connection producer_1749201074436 initialized +2025-06-06 11:11:15,554 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Created WebRTC connection for producer_1749201074436 +2025-06-06 11:11:15,554 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: producer producer_1749201074436 setup for server relay +2025-06-06 11:11:18,017 - video.core - INFO - ๐ŸŽฅ Stream started by producer_1749201074436 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:11:18,485 - video.core - INFO - ๐ŸŽฅ Consumer consumer_1749201074716 joined video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:11:18,486 - video.core - INFO - WebRTC connection consumer_1749201074716 initialized +2025-06-06 11:11:18,486 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Created WebRTC connection for consumer_1749201074716 +2025-06-06 11:11:18,486 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: consumer consumer_1749201074716 setup for server relay +2025-06-06 11:11:18,497 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749201074436 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:11:18,497 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 11:11:18,498 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: offer from producer_1749201074436 (role: producer) +2025-06-06 11:11:18,498 - video.core - INFO - ๐Ÿค Processing WebRTC offer from producer producer_1749201074436 +2025-06-06 11:11:18,498 - video.core - INFO - ๐Ÿ”ง Processing SDP offer from producer_1749201074436 (length: 4738 chars) +2025-06-06 11:11:18,503 - video.core - INFO - WebRTC producer_1749201074436 received track: video +2025-06-06 11:11:18,503 - video.core - INFO - WebRTC producer_1749201074436 is now a PRODUCER +2025-06-06 11:11:18,503 - video.core - INFO - ๐Ÿ–ฅ๏ธ WebRTC producer_1749201074436 set as PRODUCER (explicit role) +2025-06-06 11:11:18,503 - video.core - INFO - ๐Ÿ“น Starting video frame processing for producer producer_1749201074436 +2025-06-06 11:11:18,508 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749201074436 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:11:18,508 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 11:11:18,508 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: ice from producer_1749201074436 (role: producer) +2025-06-06 11:11:18,518 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749201074436 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:11:18,519 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 11:11:18,519 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: ice from producer_1749201074436 (role: producer) +2025-06-06 11:11:18,536 - video.core - INFO - โœ… Generated WebRTC answer for producer_1749201074436 (length: 1975 chars) +2025-06-06 11:11:18,536 - video.core - INFO - โœ… Generated WebRTC answer for producer_1749201074436 (length: 1975 chars) +2025-06-06 11:11:18,537 - video.core - INFO - ๐ŸงŠ WebRTC producer_1749201074436 ICE state: checking +2025-06-06 11:11:18,537 - video.core - INFO - ๐Ÿ”— WebRTC producer_1749201074436 connection state: connecting +2025-06-06 11:11:18,537 - aioice.ice - INFO - Connection(4) Check CandidatePair(('192.168.1.83', 60696) -> ('192.168.1.83', 58266)) State.FROZEN -> State.WAITING +2025-06-06 11:11:18,537 - aioice.ice - INFO - Connection(4) Check CandidatePair(('192.168.1.83', 60696) -> ('82.66.87.218', 58266)) State.FROZEN -> State.WAITING +2025-06-06 11:11:18,537 - aioice.ice - INFO - Connection(4) Check CandidatePair(('192.168.1.83', 60696) -> ('192.168.1.83', 58266)) State.WAITING -> State.IN_PROGRESS +2025-06-06 11:11:18,538 - aioice.ice - INFO - Connection(4) Check CandidatePair(('192.168.1.83', 60696) -> ('192.168.1.83', 58266)) State.IN_PROGRESS -> State.SUCCEEDED +2025-06-06 11:11:18,557 - aioice.ice - INFO - Connection(4) Check CandidatePair(('192.168.1.83', 60696) -> ('82.66.87.218', 58266)) State.WAITING -> State.IN_PROGRESS +2025-06-06 11:11:18,626 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749201074436 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:11:18,626 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 11:11:18,626 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: ice from producer_1749201074436 (role: producer) +2025-06-06 11:11:20,756 - video.core - INFO - ๐ŸŽฅ Consumer consumer_1749201074716 left video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:11:20,756 - video.core - INFO - ๐ŸงŠ WebRTC consumer_1749201074716 ICE state: closed +2025-06-06 11:11:20,756 - video.core - INFO - ๐Ÿ”— WebRTC consumer_1749201074716 connection state: closed +2025-06-06 11:11:20,756 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Cleaned up WebRTC connection for consumer_1749201074716 +2025-06-06 11:11:22,155 - video.core - INFO - ๐ŸŽฅ Consumer consumer_1749201081503 joined video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:11:22,158 - video.core - INFO - WebRTC connection consumer_1749201081503 initialized +2025-06-06 11:11:22,158 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Created WebRTC connection for consumer_1749201081503 +2025-06-06 11:11:22,158 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: consumer consumer_1749201081503 setup for server relay +2025-06-06 11:11:22,169 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749201074436 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:11:22,169 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to server strategy +2025-06-06 11:11:22,169 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: offer from producer_1749201074436 (role: producer) +2025-06-06 11:11:22,169 - video.core - INFO - ๐Ÿค Processing WebRTC offer from producer producer_1749201074436 +2025-06-06 11:11:22,169 - video.core - INFO - ๐Ÿ”ง Processing SDP offer from producer_1749201074436 (length: 5123 chars) +2025-06-06 11:11:22,171 - video.core - INFO - ๐Ÿ–ฅ๏ธ WebRTC producer_1749201074436 set as PRODUCER (explicit role) +2025-06-06 11:11:22,183 - aioice.ice - INFO - Connection(4) Check CandidatePair(('192.168.1.83', 60696) -> ('192.168.1.83', 58266)) State.FROZEN -> State.IN_PROGRESS +2025-06-06 11:11:22,185 - video.core - INFO - โœ… Generated WebRTC answer for producer_1749201074436 (length: 1975 chars) +2025-06-06 11:11:22,185 - video.core - INFO - โœ… Generated WebRTC answer for producer_1749201074436 (length: 1975 chars) +2025-06-06 11:11:22,189 - aioice.ice - INFO - Connection(4) Check CandidatePair(('192.168.1.83', 60696) -> ('192.168.1.83', 58266)) State.IN_PROGRESS -> State.SUCCEEDED +2025-06-06 11:11:22,190 - aioice.ice - INFO - Connection(4) Check CandidatePair(('192.168.1.83', 60696) -> ('82.66.87.218', 58266)) State.FROZEN -> State.WAITING +2025-06-06 11:11:22,205 - aioice.ice - INFO - Connection(4) Check CandidatePair(('192.168.1.83', 60696) -> ('82.66.87.218', 58266)) State.WAITING -> State.IN_PROGRESS +2025-06-06 11:11:24,920 - video.core - INFO - ๐ŸงŠ WebRTC producer_1749201074436 ICE state: closed +2025-06-06 11:11:24,920 - video.core - INFO - ๐Ÿ”— WebRTC producer_1749201074436 connection state: closed +2025-06-06 11:11:24,920 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Cleaned up WebRTC connection for producer_1749201074436 +2025-06-06 11:11:24,920 - video.core - INFO - ๐ŸงŠ WebRTC consumer_1749201081503 ICE state: closed +2025-06-06 11:11:24,920 - video.core - INFO - ๐Ÿ”— WebRTC consumer_1749201081503 connection state: closed +2025-06-06 11:11:24,920 - video.core - INFO - ๐Ÿ–ฅ๏ธ Server Relay: Cleaned up WebRTC connection for consumer_1749201081503 +2025-06-06 11:11:24,920 - video.core - INFO - ๐Ÿ”— P2P Strategy initialized for room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:11:24,920 - video.core - INFO - ๐Ÿ”— P2P: Producer producer_1749201074436 setup for P2P strategy +2025-06-06 11:11:24,921 - video.core - INFO - ๐Ÿ”— P2P: Consumer consumer_1749201081503 setup for P2P strategy +2025-06-06 11:11:24,921 - video.core - INFO - ๐Ÿ”„ Room 32fd74a9-26a0-4a29-89bf-6f020eccf65b strategy switched: server -> p2p (User requested via UI) +2025-06-06 11:11:25,621 - video.core - INFO - ๐ŸŽฅ Consumer consumer_1749201081503 left video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:11:25,631 - video.core - INFO - ๐Ÿ”— P2P: Cleaned up participant consumer_1749201081503 +2025-06-06 11:11:27,949 - video.core - INFO - ๐ŸŽฅ Consumer consumer_1749201086979 joined video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:11:27,950 - video.core - INFO - ๐Ÿ”— P2P: Consumer consumer_1749201086979 setup for P2P strategy +2025-06-06 11:11:27,955 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749201074436 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:11:27,956 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 11:11:27,956 - video.core - INFO - ๐Ÿ”— P2P Strategy: offer from producer_1749201074436 (role: producer) +2025-06-06 11:11:27,956 - video.core - INFO - ๐Ÿ”„ P2P: Forwarding offer from producer producer_1749201074436 to consumer consumer_1749201086979 +2025-06-06 11:11:27,995 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749201086979 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:11:27,995 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 11:11:27,995 - video.core - INFO - ๐Ÿ”— P2P Strategy: answer from consumer_1749201086979 (role: consumer) +2025-06-06 11:11:27,995 - video.core - INFO - ๐Ÿ”„ P2P: Forwarding answer from consumer consumer_1749201086979 to producer producer_1749201074436 +2025-06-06 11:11:28,924 - video.core - INFO - ๐ŸŽฅ Consumer consumer_1749201086979 left video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:11:28,925 - video.core - INFO - ๐Ÿ”— P2P: Cleaned up participant consumer_1749201086979 +2025-06-06 11:11:29,283 - video.core - INFO - ๐ŸŽฅ Producer producer_1749201074436 left video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:11:29,284 - video.core - INFO - ๐Ÿ”— P2P: Cleaned up participant producer_1749201074436 +2025-06-06 11:11:33,202 - video.core - INFO - ๐ŸŽฅ Producer producer_1749201092173 joined video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:11:33,202 - video.core - INFO - ๐Ÿ”— P2P: Producer producer_1749201092173 setup for P2P strategy +2025-06-06 11:11:34,485 - video.core - INFO - ๐ŸŽฅ Consumer consumer_1749201092376 joined video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:11:34,485 - video.core - INFO - ๐Ÿ”— P2P: Consumer consumer_1749201092376 setup for P2P strategy +2025-06-06 11:11:37,710 - asyncio - WARNING - socket.send() raised exception. +2025-06-06 11:11:37,781 - video.core - INFO - ๐ŸŽฅ Stream started by producer_1749201092173 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:11:37,790 - video.core - INFO - ๐ŸŽฅ Stream started by producer_1749201092173 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:11:43,193 - video.core - INFO - ๐ŸŽฅ Consumer consumer_1749201092376 left video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:11:43,193 - video.core - INFO - ๐Ÿ”— P2P: Cleaned up participant consumer_1749201092376 +2025-06-06 11:11:44,407 - video.core - INFO - ๐ŸŽฅ Consumer consumer_1749201103233 joined video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:11:44,408 - video.core - INFO - ๐Ÿ”— P2P: Consumer consumer_1749201103233 setup for P2P strategy +2025-06-06 11:11:44,417 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749201092173 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:11:44,418 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 11:11:44,418 - video.core - INFO - ๐Ÿ”— P2P Strategy: offer from producer_1749201092173 (role: producer) +2025-06-06 11:11:44,418 - video.core - INFO - ๐Ÿ”„ P2P: Forwarding offer from producer producer_1749201092173 to consumer consumer_1749201103233 +2025-06-06 11:11:44,424 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749201092173 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:11:44,425 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 11:11:44,425 - video.core - INFO - ๐Ÿ”— P2P Strategy: ice from producer_1749201092173 (role: producer) +2025-06-06 11:11:44,439 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749201092173 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:11:44,440 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 11:11:44,440 - video.core - INFO - ๐Ÿ”— P2P Strategy: ice from producer_1749201092173 (role: producer) +2025-06-06 11:11:44,440 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749201103233 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:11:44,441 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 11:11:44,441 - video.core - INFO - ๐Ÿ”— P2P Strategy: answer from consumer_1749201103233 (role: consumer) +2025-06-06 11:11:44,441 - video.core - INFO - ๐Ÿ”„ P2P: Forwarding answer from consumer consumer_1749201103233 to producer producer_1749201092173 +2025-06-06 11:11:44,444 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749201103233 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:11:44,444 - video.core - INFO - ๐ŸŽฅ Delegating WebRTC signal to p2p strategy +2025-06-06 11:11:44,444 - video.core - INFO - ๐Ÿ”— P2P Strategy: ice from consumer_1749201103233 (role: consumer) +2025-06-06 11:11:50,064 - asyncio - WARNING - socket.send() raised exception. +2025-06-06 11:11:53,712 - asyncio - WARNING - socket.send() raised exception. +2025-06-06 11:12:22,066 - aioice.ice - INFO - Connection(4) Check CandidatePair(('192.168.1.83', 60696) -> ('82.66.87.218', 58266)) State.IN_PROGRESS -> State.FAILED +2025-06-06 11:12:25,713 - aioice.ice - INFO - Connection(4) Check CandidatePair(('192.168.1.83', 60696) -> ('82.66.87.218', 58266)) State.IN_PROGRESS -> State.FAILED +2025-06-06 11:13:11,515 - watchfiles.main - INFO - 1 change detected +2025-06-06 11:14:14,845 - watchfiles.main - INFO - 2 changes detected +2025-06-06 11:14:14,972 - video.core - INFO - ๐ŸŽฅ Consumer consumer_1749201103233 left video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:14:14,979 - video.core - INFO - ๐ŸŽฅ Producer producer_1749201092173 left video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:14:14,990 - video.core - INFO - ๐Ÿ”— P2P: Cleaned up participant consumer_1749201103233 +2025-06-06 11:14:14,992 - video.core - INFO - ๐Ÿ”— P2P: Cleaned up participant producer_1749201092173 +2025-06-06 11:14:15,577 - watchfiles.main - INFO - 4 changes detected +2025-06-06 11:14:19,261 - watchfiles.main - INFO - 6 changes detected +2025-06-06 11:15:12,142 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-06 11:15:12,562 - watchfiles.main - INFO - 3 changes detected +2025-06-06 11:15:16,646 - video.core - INFO - Created video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:15:18,928 - video.core - INFO - Producer producer_1749201317739 joined video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:15:21,982 - video.core - INFO - Stream started by producer_1749201317739 in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:15:23,277 - video.core - INFO - Consumer consumer_1749201317985 joined video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:15:23,296 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749201317739 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:15:23,297 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749201317739 to consumer consumer_1749201317985 +2025-06-06 11:15:23,305 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749201317739 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:15:23,353 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749201317985 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:15:23,353 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749201317985 to producer producer_1749201317739 +2025-06-06 11:15:23,357 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749201317739 (role: producer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:15:23,360 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749201317985 (role: consumer) in room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:15:24,682 - video.core - INFO - Consumer consumer_1749201317985 left video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 11:15:24,860 - video.core - INFO - Producer producer_1749201317739 left video room 32fd74a9-26a0-4a29-89bf-6f020eccf65b +2025-06-06 12:35:34,875 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-06 12:35:43,927 - video.core - INFO - Created video room 6e515b58-305c-4227-be89-2c140374d2f7 +2025-06-06 12:35:43,944 - video.core - INFO - Producer producer_1749206142662 joined video room 6e515b58-305c-4227-be89-2c140374d2f7 +2025-06-06 12:35:46,551 - video.core - INFO - Stream started by producer_1749206142662 in room 6e515b58-305c-4227-be89-2c140374d2f7 +2025-06-06 12:35:53,192 - video.core - INFO - Consumer consumer_1749206142874 joined video room 6e515b58-305c-4227-be89-2c140374d2f7 +2025-06-06 12:35:53,208 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749206142662 (role: producer) in room 6e515b58-305c-4227-be89-2c140374d2f7 +2025-06-06 12:35:53,208 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749206142662 to consumer consumer_1749206142874 +2025-06-06 12:35:53,213 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749206142662 (role: producer) in room 6e515b58-305c-4227-be89-2c140374d2f7 +2025-06-06 12:35:53,242 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749206142874 (role: consumer) in room 6e515b58-305c-4227-be89-2c140374d2f7 +2025-06-06 12:35:53,242 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749206142874 to producer producer_1749206142662 +2025-06-06 12:35:53,250 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749206142874 (role: consumer) in room 6e515b58-305c-4227-be89-2c140374d2f7 +2025-06-06 12:35:53,262 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749206142662 (role: producer) in room 6e515b58-305c-4227-be89-2c140374d2f7 +2025-06-06 12:35:55,792 - video.core - INFO - Consumer consumer_1749206142874 left video room 6e515b58-305c-4227-be89-2c140374d2f7 +2025-06-06 12:35:55,985 - video.core - INFO - Producer producer_1749206142662 left video room 6e515b58-305c-4227-be89-2c140374d2f7 +2025-06-06 12:46:09,570 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-06 12:46:17,154 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-06 12:46:29,808 - video.core - INFO - Created video room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 12:46:32,569 - video.core - INFO - Created video room 8f9ae3da-2540-47a7-a273-f7b27e2d58f2 +2025-06-06 12:46:32,585 - video.core - INFO - Producer producer_1749206790797 joined video room 8f9ae3da-2540-47a7-a273-f7b27e2d58f2 +2025-06-06 12:46:38,113 - video.core - INFO - Stream started by producer_1749206790797 in room 8f9ae3da-2540-47a7-a273-f7b27e2d58f2 +2025-06-06 12:46:39,855 - video.core - INFO - Consumer consumer_1749206791503 joined video room 8f9ae3da-2540-47a7-a273-f7b27e2d58f2 +2025-06-06 12:46:39,877 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749206790797 (role: producer) in room 8f9ae3da-2540-47a7-a273-f7b27e2d58f2 +2025-06-06 12:46:39,877 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749206790797 to consumer consumer_1749206791503 +2025-06-06 12:46:39,912 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749206791503 (role: consumer) in room 8f9ae3da-2540-47a7-a273-f7b27e2d58f2 +2025-06-06 12:46:39,912 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749206791503 to producer producer_1749206790797 +2025-06-06 12:46:47,200 - watchfiles.main - INFO - 1 change detected +2025-06-06 12:46:47,221 - video.core - INFO - Consumer consumer_1749206791503 left video room 8f9ae3da-2540-47a7-a273-f7b27e2d58f2 +2025-06-06 12:46:47,221 - video.core - INFO - Producer producer_1749206790797 left video room 8f9ae3da-2540-47a7-a273-f7b27e2d58f2 +2025-06-06 12:46:47,793 - watchfiles.main - INFO - 4 changes detected +2025-06-06 12:46:54,964 - video.core - INFO - Created video room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 12:46:57,703 - watchfiles.main - INFO - 1 change detected +2025-06-06 12:46:57,796 - video.core - INFO - Created video room 126b0a95-4630-4122-b58b-86e03ef8dc5d +2025-06-06 12:46:58,365 - watchfiles.main - INFO - 4 changes detected +2025-06-06 12:47:06,966 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-06 12:47:13,324 - video.core - INFO - Created video room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 12:47:16,911 - video.core - INFO - Created video room d8f3a203-4d31-4438-9a3c-c92846b0b378 +2025-06-06 12:47:16,921 - video.core - INFO - Producer producer_1749206834779 joined video room d8f3a203-4d31-4438-9a3c-c92846b0b378 +2025-06-06 12:47:19,268 - video.core - INFO - Stream started by producer_1749206834779 in room d8f3a203-4d31-4438-9a3c-c92846b0b378 +2025-06-06 12:47:19,969 - watchfiles.main - INFO - 1 change detected +2025-06-06 12:47:23,403 - video.core - INFO - Consumer consumer_1749206835602 joined video room d8f3a203-4d31-4438-9a3c-c92846b0b378 +2025-06-06 12:47:23,430 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749206834779 (role: producer) in room d8f3a203-4d31-4438-9a3c-c92846b0b378 +2025-06-06 12:47:23,431 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749206834779 to consumer consumer_1749206835602 +2025-06-06 12:47:23,447 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749206835602 (role: consumer) in room d8f3a203-4d31-4438-9a3c-c92846b0b378 +2025-06-06 12:47:23,447 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749206835602 to producer producer_1749206834779 +2025-06-06 12:47:38,500 - watchfiles.main - INFO - 2 changes detected +2025-06-06 12:47:38,583 - video.core - INFO - Consumer consumer_1749206835602 left video room d8f3a203-4d31-4438-9a3c-c92846b0b378 +2025-06-06 12:47:38,584 - video.core - INFO - Producer producer_1749206834779 left video room d8f3a203-4d31-4438-9a3c-c92846b0b378 +2025-06-06 12:47:39,149 - watchfiles.main - INFO - 4 changes detected +2025-06-06 12:47:39,515 - watchfiles.main - INFO - 3 changes detected +2025-06-06 12:47:49,397 - video.core - INFO - Created video room 0a1eddf7-0810-40ec-a856-f90d3f3930cc +2025-06-06 12:47:52,104 - video.core - INFO - Created video room 1547a4ae-6ec5-462c-bff0-56dfd011c842 +2025-06-06 12:47:52,118 - video.core - INFO - Producer producer_1749206870555 joined video room 1547a4ae-6ec5-462c-bff0-56dfd011c842 +2025-06-06 12:47:58,779 - video.core - INFO - Stream started by producer_1749206870555 in room 1547a4ae-6ec5-462c-bff0-56dfd011c842 +2025-06-06 12:47:58,784 - video.core - INFO - Stream started by producer_1749206870555 in room 1547a4ae-6ec5-462c-bff0-56dfd011c842 +2025-06-06 12:48:00,083 - video.core - INFO - Consumer consumer_1749206870756 joined video room 1547a4ae-6ec5-462c-bff0-56dfd011c842 +2025-06-06 12:48:00,098 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749206870555 (role: producer) in room 1547a4ae-6ec5-462c-bff0-56dfd011c842 +2025-06-06 12:48:00,098 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749206870555 to consumer consumer_1749206870756 +2025-06-06 12:48:00,102 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749206870555 (role: producer) in room 1547a4ae-6ec5-462c-bff0-56dfd011c842 +2025-06-06 12:48:00,119 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749206870555 (role: producer) in room 1547a4ae-6ec5-462c-bff0-56dfd011c842 +2025-06-06 12:48:00,131 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749206870756 (role: consumer) in room 1547a4ae-6ec5-462c-bff0-56dfd011c842 +2025-06-06 12:48:00,131 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749206870756 to producer producer_1749206870555 +2025-06-06 12:48:00,137 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749206870756 (role: consumer) in room 1547a4ae-6ec5-462c-bff0-56dfd011c842 +2025-06-06 12:48:01,048 - video.core - INFO - Consumer consumer_1749206870756 left video room 1547a4ae-6ec5-462c-bff0-56dfd011c842 +2025-06-06 12:48:01,214 - video.core - INFO - Producer producer_1749206870555 left video room 1547a4ae-6ec5-462c-bff0-56dfd011c842 +2025-06-06 12:49:53,588 - watchfiles.main - INFO - 1 change detected +2025-06-06 12:49:54,256 - watchfiles.main - INFO - 1 change detected +2025-06-06 12:49:54,620 - watchfiles.main - INFO - 3 changes detected +2025-06-06 12:50:32,715 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-06 12:50:40,107 - video.core - INFO - Created video room 0a1eddf7-0810-40ec-a856-f90d3f3930cc +2025-06-06 12:50:43,787 - video.core - INFO - Created video room 0d5b3dff-363d-4f9c-82cb-da3aac2d4904 +2025-06-06 12:50:43,805 - video.core - INFO - Producer producer_1749207042434 joined video room 0d5b3dff-363d-4f9c-82cb-da3aac2d4904 +2025-06-06 12:50:46,976 - video.core - INFO - Stream started by producer_1749207042434 in room 0d5b3dff-363d-4f9c-82cb-da3aac2d4904 +2025-06-06 12:50:50,312 - video.core - INFO - Consumer consumer_1749207042509 joined video room 0d5b3dff-363d-4f9c-82cb-da3aac2d4904 +2025-06-06 12:50:50,335 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749207042434 (role: producer) in room 0d5b3dff-363d-4f9c-82cb-da3aac2d4904 +2025-06-06 12:50:50,335 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749207042434 to consumer consumer_1749207042509 +2025-06-06 12:50:50,336 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749207042434 (role: producer) in room 0d5b3dff-363d-4f9c-82cb-da3aac2d4904 +2025-06-06 12:50:50,360 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749207042509 (role: consumer) in room 0d5b3dff-363d-4f9c-82cb-da3aac2d4904 +2025-06-06 12:50:50,360 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749207042509 to producer producer_1749207042434 +2025-06-06 12:50:50,363 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749207042509 (role: consumer) in room 0d5b3dff-363d-4f9c-82cb-da3aac2d4904 +2025-06-06 12:54:59,603 - watchfiles.main - INFO - 1 change detected +2025-06-06 12:54:59,672 - video.core - INFO - Producer producer_1749207042434 left video room 0d5b3dff-363d-4f9c-82cb-da3aac2d4904 +2025-06-06 12:54:59,673 - video.core - INFO - Consumer consumer_1749207042509 left video room 0d5b3dff-363d-4f9c-82cb-da3aac2d4904 +2025-06-06 12:55:00,244 - watchfiles.main - INFO - 4 changes detected +2025-06-06 12:55:31,708 - watchfiles.main - INFO - 1 change detected +2025-06-06 12:55:32,369 - watchfiles.main - INFO - 3 changes detected +2025-06-06 12:56:06,218 - watchfiles.main - INFO - 1 change detected +2025-06-06 12:56:06,807 - watchfiles.main - INFO - 3 changes detected +2025-06-06 12:56:17,194 - watchfiles.main - INFO - 1 change detected +2025-06-06 12:56:17,761 - watchfiles.main - INFO - 3 changes detected +2025-06-06 12:56:34,662 - watchfiles.main - INFO - 1 change detected +2025-06-06 12:56:35,306 - watchfiles.main - INFO - 3 changes detected +2025-06-06 12:56:52,820 - watchfiles.main - INFO - 1 change detected +2025-06-06 12:56:53,479 - watchfiles.main - INFO - 3 changes detected +2025-06-06 12:57:07,454 - watchfiles.main - INFO - 1 change detected +2025-06-06 12:57:08,110 - watchfiles.main - INFO - 3 changes detected +2025-06-06 12:57:19,687 - watchfiles.main - INFO - 1 change detected +2025-06-06 12:57:20,341 - watchfiles.main - INFO - 3 changes detected +2025-06-06 12:57:29,851 - watchfiles.main - INFO - 1 change detected +2025-06-06 12:57:30,516 - watchfiles.main - INFO - 3 changes detected +2025-06-06 12:57:44,711 - video.core - INFO - Created video room 0a1eddf7-0810-40ec-a856-f90d3f3930cc +2025-06-06 12:57:47,352 - video.core - INFO - Created video room 135b87b4-97b5-4b0c-a14b-45fe2bddb986 +2025-06-06 12:57:47,360 - video.core - INFO - Producer producer_1749207465525 joined video room 135b87b4-97b5-4b0c-a14b-45fe2bddb986 +2025-06-06 12:57:49,978 - video.core - INFO - Stream started by producer_1749207465525 in room 135b87b4-97b5-4b0c-a14b-45fe2bddb986 +2025-06-06 12:57:51,856 - video.core - INFO - Consumer consumer_1749207465917 joined video room 135b87b4-97b5-4b0c-a14b-45fe2bddb986 +2025-06-06 12:57:51,870 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749207465525 (role: producer) in room 135b87b4-97b5-4b0c-a14b-45fe2bddb986 +2025-06-06 12:57:51,870 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749207465525 to consumer consumer_1749207465917 +2025-06-06 12:57:51,872 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749207465525 (role: producer) in room 135b87b4-97b5-4b0c-a14b-45fe2bddb986 +2025-06-06 12:57:51,903 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749207465917 (role: consumer) in room 135b87b4-97b5-4b0c-a14b-45fe2bddb986 +2025-06-06 12:57:51,903 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749207465917 to producer producer_1749207465525 +2025-06-06 12:57:51,915 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749207465917 (role: consumer) in room 135b87b4-97b5-4b0c-a14b-45fe2bddb986 +2025-06-06 12:57:53,065 - video.core - INFO - Consumer consumer_1749207465917 left video room 135b87b4-97b5-4b0c-a14b-45fe2bddb986 +2025-06-06 12:57:53,252 - video.core - INFO - Producer producer_1749207465525 left video room 135b87b4-97b5-4b0c-a14b-45fe2bddb986 +2025-06-06 12:58:07,104 - watchfiles.main - INFO - 2 changes detected +2025-06-06 12:58:07,704 - watchfiles.main - INFO - 4 changes detected +2025-06-06 12:58:08,070 - watchfiles.main - INFO - 3 changes detected +2025-06-06 12:59:03,523 - watchfiles.main - INFO - 1 change detected +2025-06-06 12:59:04,265 - watchfiles.main - INFO - 3 changes detected +2025-06-06 12:59:32,953 - watchfiles.main - INFO - 1 change detected +2025-06-06 12:59:33,930 - watchfiles.main - INFO - 1 change detected +2025-06-06 12:59:34,295 - watchfiles.main - INFO - 3 changes detected +2025-06-06 12:59:44,316 - watchfiles.main - INFO - 1 change detected +2025-06-06 12:59:45,076 - watchfiles.main - INFO - 3 changes detected +2025-06-06 12:59:49,729 - watchfiles.main - INFO - 1 change detected +2025-06-06 12:59:50,424 - watchfiles.main - INFO - 3 changes detected +2025-06-06 13:00:00,081 - watchfiles.main - INFO - 1 change detected +2025-06-06 13:00:01,816 - watchfiles.main - INFO - 1 change detected +2025-06-06 13:00:02,230 - watchfiles.main - INFO - 3 changes detected +2025-06-06 13:00:06,815 - watchfiles.main - INFO - 1 change detected +2025-06-06 13:00:07,514 - watchfiles.main - INFO - 3 changes detected +2025-06-06 13:00:09,128 - watchfiles.main - INFO - 1 change detected +2025-06-06 13:00:09,874 - watchfiles.main - INFO - 3 changes detected +2025-06-06 13:00:25,181 - watchfiles.main - INFO - 1 change detected +2025-06-06 13:00:26,028 - watchfiles.main - INFO - 3 changes detected +2025-06-06 13:00:45,033 - watchfiles.main - INFO - 1 change detected +2025-06-06 13:00:45,657 - watchfiles.main - INFO - 3 changes detected +2025-06-06 13:02:30,301 - watchfiles.main - INFO - 1 change detected +2025-06-06 13:02:30,970 - watchfiles.main - INFO - 3 changes detected +2025-06-06 13:02:40,633 - watchfiles.main - INFO - 1 change detected +2025-06-06 13:02:41,245 - watchfiles.main - INFO - 3 changes detected +2025-06-06 13:02:43,647 - watchfiles.main - INFO - 1 change detected +2025-06-06 13:02:44,303 - watchfiles.main - INFO - 3 changes detected +2025-06-06 13:02:57,975 - watchfiles.main - INFO - 1 change detected +2025-06-06 13:02:58,626 - watchfiles.main - INFO - 3 changes detected +2025-06-06 13:03:04,355 - video.core - INFO - Created video room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 13:03:07,153 - video.core - INFO - Consumer consumer_1749207786179 joined video room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 13:03:08,905 - video.core - INFO - Producer producer_1749207786273 joined video room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 13:03:11,256 - video.core - INFO - Stream started by producer_1749207786273 in room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 13:03:15,560 - video.core - INFO - Consumer consumer_1749207786179 left video room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 13:03:16,328 - video.core - INFO - Consumer consumer_1749207795609 joined video room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 13:03:16,349 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749207786273 (role: producer) in room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 13:03:16,351 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749207786273 (role: producer) in room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 13:03:16,387 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749207786273 (role: producer) in room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 13:03:16,469 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749207786273 (role: producer) in room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 13:03:18,441 - video.core - INFO - Consumer consumer_1749207795609 left video room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 13:03:18,754 - video.core - INFO - Producer producer_1749207786273 left video room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 13:03:22,044 - video.core - INFO - Created video room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 13:03:27,788 - video.core - INFO - Created video room 98bc6ded-f57f-4a8e-abfb-331013f996eb +2025-06-06 13:03:32,592 - video.core - INFO - Producer producer_1749207810458 joined video room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 13:03:38,117 - video.core - INFO - Stream started by producer_1749207810458 in room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 13:03:41,044 - video.core - INFO - Consumer consumer_1749207810834 joined video room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 13:03:41,060 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749207810458 (role: producer) in room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 13:03:41,063 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749207810458 (role: producer) in room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 13:03:41,082 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749207810458 (role: producer) in room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 13:03:41,190 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749207810458 (role: producer) in room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 13:03:42,693 - video.core - INFO - Consumer consumer_1749207810834 left video room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 13:03:42,849 - video.core - INFO - Producer producer_1749207810458 left video room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 13:04:26,277 - watchfiles.main - INFO - 1 change detected +2025-06-06 13:04:26,957 - watchfiles.main - INFO - 4 changes detected +2025-06-06 13:05:45,264 - video.core - INFO - Created video room 0a1eddf7-0810-40ec-a856-f90d3f3930cc +2025-06-06 13:05:47,773 - video.core - INFO - Producer producer_1749207947046 joined video room 0a1eddf7-0810-40ec-a856-f90d3f3930cc +2025-06-06 13:05:51,390 - video.core - INFO - Stream started by producer_1749207947046 in room 0a1eddf7-0810-40ec-a856-f90d3f3930cc +2025-06-06 13:05:52,227 - video.core - INFO - Consumer consumer_1749207947051 joined video room 0a1eddf7-0810-40ec-a856-f90d3f3930cc +2025-06-06 13:05:52,246 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749207947046 (role: producer) in room 0a1eddf7-0810-40ec-a856-f90d3f3930cc +2025-06-06 13:05:52,246 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749207947046 to consumer consumer_1749207947051 +2025-06-06 13:05:52,249 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749207947046 (role: producer) in room 0a1eddf7-0810-40ec-a856-f90d3f3930cc +2025-06-06 13:05:52,264 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749207947046 (role: producer) in room 0a1eddf7-0810-40ec-a856-f90d3f3930cc +2025-06-06 13:05:52,274 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749207947051 (role: consumer) in room 0a1eddf7-0810-40ec-a856-f90d3f3930cc +2025-06-06 13:05:52,274 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749207947051 to producer producer_1749207947046 +2025-06-06 13:05:52,284 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749207947051 (role: consumer) in room 0a1eddf7-0810-40ec-a856-f90d3f3930cc +2025-06-06 13:05:53,415 - video.core - INFO - Consumer consumer_1749207947051 left video room 0a1eddf7-0810-40ec-a856-f90d3f3930cc +2025-06-06 13:05:53,582 - video.core - INFO - Producer producer_1749207947046 left video room 0a1eddf7-0810-40ec-a856-f90d3f3930cc +2025-06-06 13:05:55,614 - watchfiles.main - INFO - 1 change detected +2025-06-06 13:05:56,189 - watchfiles.main - INFO - 1 change detected +2025-06-06 13:05:56,551 - watchfiles.main - INFO - 3 changes detected +2025-06-06 13:06:07,647 - watchfiles.main - INFO - 1 change detected +2025-06-06 13:06:08,413 - watchfiles.main - INFO - 3 changes detected +2025-06-06 13:06:19,326 - watchfiles.main - INFO - 1 change detected +2025-06-06 13:06:19,965 - watchfiles.main - INFO - 3 changes detected +2025-06-06 13:06:41,454 - watchfiles.main - INFO - 1 change detected +2025-06-06 13:06:42,090 - watchfiles.main - INFO - 3 changes detected +2025-06-06 13:06:56,287 - watchfiles.main - INFO - 1 change detected +2025-06-06 13:06:57,043 - watchfiles.main - INFO - 3 changes detected +2025-06-06 13:07:08,582 - watchfiles.main - INFO - 1 change detected +2025-06-06 13:07:09,334 - watchfiles.main - INFO - 3 changes detected +2025-06-06 13:07:43,653 - watchfiles.main - INFO - 1 change detected +2025-06-06 13:07:44,256 - watchfiles.main - INFO - 3 changes detected +2025-06-06 13:07:48,381 - watchfiles.main - INFO - 1 change detected +2025-06-06 13:07:48,993 - watchfiles.main - INFO - 3 changes detected +2025-06-06 13:08:36,680 - video.core - INFO - Created video room 0a1eddf7-0810-40ec-a856-f90d3f3930cc +2025-06-06 13:08:39,103 - video.core - INFO - Producer producer_1749208118153 joined video room 0a1eddf7-0810-40ec-a856-f90d3f3930cc +2025-06-06 13:08:41,575 - video.core - INFO - Stream started by producer_1749208118153 in room 0a1eddf7-0810-40ec-a856-f90d3f3930cc +2025-06-06 13:08:42,931 - video.core - INFO - Consumer consumer_1749208118441 joined video room 0a1eddf7-0810-40ec-a856-f90d3f3930cc +2025-06-06 13:08:42,940 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749208118153 (role: producer) in room 0a1eddf7-0810-40ec-a856-f90d3f3930cc +2025-06-06 13:08:42,940 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749208118153 to consumer consumer_1749208118441 +2025-06-06 13:08:42,948 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749208118153 (role: producer) in room 0a1eddf7-0810-40ec-a856-f90d3f3930cc +2025-06-06 13:08:42,971 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749208118441 (role: consumer) in room 0a1eddf7-0810-40ec-a856-f90d3f3930cc +2025-06-06 13:08:42,971 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749208118441 to producer producer_1749208118153 +2025-06-06 13:08:42,973 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749208118441 (role: consumer) in room 0a1eddf7-0810-40ec-a856-f90d3f3930cc +2025-06-06 13:08:43,889 - video.core - INFO - Consumer consumer_1749208118441 left video room 0a1eddf7-0810-40ec-a856-f90d3f3930cc +2025-06-06 13:08:44,042 - video.core - INFO - Producer producer_1749208118153 left video room 0a1eddf7-0810-40ec-a856-f90d3f3930cc +2025-06-06 13:08:46,048 - watchfiles.main - INFO - 2 changes detected +2025-06-06 13:08:46,682 - watchfiles.main - INFO - 5 changes detected +2025-06-06 13:08:47,105 - watchfiles.main - INFO - 3 changes detected +2025-06-06 13:09:04,624 - watchfiles.main - INFO - 1 change detected +2025-06-06 13:09:05,457 - watchfiles.main - INFO - 3 changes detected +2025-06-06 13:10:45,391 - watchfiles.main - INFO - 1 change detected +2025-06-06 13:10:46,157 - watchfiles.main - INFO - 3 changes detected +2025-06-06 13:11:00,072 - watchfiles.main - INFO - 1 change detected +2025-06-06 13:11:00,837 - watchfiles.main - INFO - 3 changes detected +2025-06-06 13:11:09,006 - watchfiles.main - INFO - 1 change detected +2025-06-06 13:11:09,723 - watchfiles.main - INFO - 3 changes detected +2025-06-06 13:11:21,498 - watchfiles.main - INFO - 1 change detected +2025-06-06 13:11:22,120 - watchfiles.main - INFO - 3 changes detected +2025-06-06 13:11:33,901 - watchfiles.main - INFO - 1 change detected +2025-06-06 13:11:34,543 - watchfiles.main - INFO - 3 changes detected +2025-06-06 13:11:52,083 - watchfiles.main - INFO - 1 change detected +2025-06-06 13:11:52,703 - watchfiles.main - INFO - 3 changes detected +2025-06-06 13:12:04,806 - watchfiles.main - INFO - 1 change detected +2025-06-06 13:12:05,428 - watchfiles.main - INFO - 3 changes detected +2025-06-06 13:12:14,821 - watchfiles.main - INFO - 1 change detected +2025-06-06 13:12:15,420 - watchfiles.main - INFO - 3 changes detected +2025-06-06 13:12:37,832 - video.core - INFO - Created video room 0a1eddf7-0810-40ec-a856-f90d3f3930cc +2025-06-06 13:12:40,460 - video.core - INFO - Producer producer_1749208359714 joined video room 0a1eddf7-0810-40ec-a856-f90d3f3930cc +2025-06-06 13:12:43,025 - video.core - INFO - Stream started by producer_1749208359714 in room 0a1eddf7-0810-40ec-a856-f90d3f3930cc +2025-06-06 13:12:43,294 - video.core - INFO - Consumer consumer_1749208359714 joined video room 0a1eddf7-0810-40ec-a856-f90d3f3930cc +2025-06-06 13:12:43,302 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749208359714 (role: producer) in room 0a1eddf7-0810-40ec-a856-f90d3f3930cc +2025-06-06 13:12:43,302 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749208359714 to consumer consumer_1749208359714 +2025-06-06 13:12:43,307 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749208359714 (role: producer) in room 0a1eddf7-0810-40ec-a856-f90d3f3930cc +2025-06-06 13:12:43,322 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749208359714 (role: consumer) in room 0a1eddf7-0810-40ec-a856-f90d3f3930cc +2025-06-06 13:12:43,322 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749208359714 to producer producer_1749208359714 +2025-06-06 13:12:43,333 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749208359714 (role: consumer) in room 0a1eddf7-0810-40ec-a856-f90d3f3930cc +2025-06-06 13:12:43,948 - video.core - INFO - Consumer consumer_1749208359714 left video room 0a1eddf7-0810-40ec-a856-f90d3f3930cc +2025-06-06 13:12:44,108 - video.core - INFO - Producer producer_1749208359714 left video room 0a1eddf7-0810-40ec-a856-f90d3f3930cc +2025-06-06 13:13:00,547 - watchfiles.main - INFO - 2 changes detected +2025-06-06 13:13:01,144 - watchfiles.main - INFO - 4 changes detected +2025-06-06 13:13:01,504 - watchfiles.main - INFO - 3 changes detected +2025-06-06 13:14:35,623 - watchfiles.main - INFO - 2 changes detected +2025-06-06 13:14:36,371 - watchfiles.main - INFO - 3 changes detected +2025-06-06 13:14:36,737 - watchfiles.main - INFO - 3 changes detected +2025-06-06 13:15:20,400 - watchfiles.main - INFO - 1 change detected +2025-06-06 13:15:21,178 - watchfiles.main - INFO - 3 changes detected +2025-06-06 13:15:34,177 - watchfiles.main - INFO - 1 change detected +2025-06-06 13:15:34,749 - watchfiles.main - INFO - 3 changes detected +2025-06-06 13:15:41,816 - watchfiles.main - INFO - 1 change detected +2025-06-06 13:15:42,489 - watchfiles.main - INFO - 3 changes detected +2025-06-06 13:16:02,089 - watchfiles.main - INFO - 1 change detected +2025-06-06 13:16:02,608 - watchfiles.main - INFO - 3 changes detected +2025-06-06 13:16:11,202 - watchfiles.main - INFO - 1 change detected +2025-06-06 13:16:11,941 - watchfiles.main - INFO - 3 changes detected +2025-06-06 13:16:39,961 - video.core - INFO - Created video room 98bc6ded-f57f-4a8e-abfb-331013f996eb +2025-06-06 13:16:42,766 - video.core - INFO - Producer producer_1749208601499 joined video room 98bc6ded-f57f-4a8e-abfb-331013f996eb +2025-06-06 13:16:46,891 - video.core - INFO - Consumer consumer_1749208601611 joined video room 98bc6ded-f57f-4a8e-abfb-331013f996eb +2025-06-06 13:16:47,043 - video.core - INFO - Stream started by producer_1749208601499 in room 98bc6ded-f57f-4a8e-abfb-331013f996eb +2025-06-06 13:16:48,799 - video.core - INFO - Consumer consumer_1749208601611 left video room 98bc6ded-f57f-4a8e-abfb-331013f996eb +2025-06-06 13:16:49,340 - video.core - INFO - Producer producer_1749208601499 left video room 98bc6ded-f57f-4a8e-abfb-331013f996eb +2025-06-06 13:16:53,289 - video.core - INFO - Created video room 98bc6ded-f57f-4a8e-abfb-331013f996eb +2025-06-06 13:16:56,090 - video.core - INFO - Producer producer_1749208614978 joined video room 98bc6ded-f57f-4a8e-abfb-331013f996eb +2025-06-06 13:16:59,011 - video.core - INFO - Stream started by producer_1749208614978 in room 98bc6ded-f57f-4a8e-abfb-331013f996eb +2025-06-06 13:16:59,953 - video.core - INFO - Consumer consumer_1749208615214 joined video room 98bc6ded-f57f-4a8e-abfb-331013f996eb +2025-06-06 13:17:00,006 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749208614978 (role: producer) in room 98bc6ded-f57f-4a8e-abfb-331013f996eb +2025-06-06 13:17:00,006 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749208614978 to consumer consumer_1749208615214 +2025-06-06 13:17:00,010 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749208614978 (role: producer) in room 98bc6ded-f57f-4a8e-abfb-331013f996eb +2025-06-06 13:17:00,035 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749208615214 (role: consumer) in room 98bc6ded-f57f-4a8e-abfb-331013f996eb +2025-06-06 13:17:00,035 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749208615214 to producer producer_1749208614978 +2025-06-06 13:17:00,044 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749208615214 (role: consumer) in room 98bc6ded-f57f-4a8e-abfb-331013f996eb +2025-06-06 13:17:00,047 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749208614978 (role: producer) in room 98bc6ded-f57f-4a8e-abfb-331013f996eb +2025-06-06 13:17:00,751 - video.core - INFO - Consumer consumer_1749208615214 left video room 98bc6ded-f57f-4a8e-abfb-331013f996eb +2025-06-06 13:17:00,922 - video.core - INFO - Producer producer_1749208614978 left video room 98bc6ded-f57f-4a8e-abfb-331013f996eb +2025-06-06 13:17:02,955 - watchfiles.main - INFO - 1 change detected +2025-06-06 13:17:03,564 - watchfiles.main - INFO - 4 changes detected +2025-06-06 13:17:03,916 - watchfiles.main - INFO - 4 changes detected +2025-06-06 13:20:46,770 - watchfiles.main - INFO - 1 change detected +2025-06-06 13:20:47,808 - watchfiles.main - INFO - 3 changes detected +2025-06-06 13:20:56,829 - watchfiles.main - INFO - 1 change detected +2025-06-06 13:20:57,650 - watchfiles.main - INFO - 3 changes detected +2025-06-06 13:21:08,149 - watchfiles.main - INFO - 1 change detected +2025-06-06 13:21:08,675 - watchfiles.main - INFO - 3 changes detected +2025-06-06 13:21:19,594 - watchfiles.main - INFO - 1 change detected +2025-06-06 13:21:20,305 - watchfiles.main - INFO - 3 changes detected +2025-06-06 13:22:33,561 - video.core - INFO - Created video room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 13:22:36,521 - video.core - INFO - Producer producer_1749208955409 joined video room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 13:22:39,889 - video.core - INFO - Stream started by producer_1749208955409 in room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 13:22:40,912 - video.core - INFO - Consumer consumer_1749208955866 joined video room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 13:22:40,937 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749208955409 (role: producer) in room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 13:22:40,938 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749208955409 to consumer consumer_1749208955866 +2025-06-06 13:22:40,940 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749208955409 (role: producer) in room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 13:22:40,958 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749208955866 (role: consumer) in room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 13:22:40,958 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749208955866 to producer producer_1749208955409 +2025-06-06 13:22:40,961 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749208955866 (role: consumer) in room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 13:22:41,560 - video.core - INFO - Consumer consumer_1749208955866 left video room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 13:22:41,710 - video.core - INFO - Producer producer_1749208955409 left video room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-06 13:22:46,290 - watchfiles.main - INFO - 1 change detected +2025-06-06 13:22:46,931 - watchfiles.main - INFO - 1 change detected +2025-06-06 13:22:47,289 - watchfiles.main - INFO - 3 changes detected +2025-06-06 13:23:50,648 - watchfiles.main - INFO - 1 change detected +2025-06-06 13:23:51,258 - watchfiles.main - INFO - 3 changes detected +2025-06-06 13:49:14,572 - watchfiles.main - INFO - 23 changes detected +2025-06-06 13:49:15,269 - watchfiles.main - INFO - 479 changes detected +2025-06-06 13:49:16,893 - watchfiles.main - INFO - 3 changes detected +2025-06-06 13:49:17,470 - watchfiles.main - INFO - 16 changes detected +2025-06-06 13:49:31,981 - watchfiles.main - INFO - 25 changes detected +2025-06-06 13:49:33,531 - watchfiles.main - INFO - 12 changes detected +2025-06-06 13:49:36,213 - watchfiles.main - INFO - 16 changes detected +2025-06-06 13:49:38,992 - watchfiles.main - INFO - 47 changes detected +2025-06-06 13:49:39,631 - watchfiles.main - INFO - 405 changes detected +2025-06-06 13:49:44,118 - watchfiles.main - INFO - 7 changes detected +2025-06-06 13:49:44,692 - watchfiles.main - INFO - 4 changes detected +2025-06-06 13:49:45,324 - watchfiles.main - INFO - 4 changes detected +2025-06-06 13:49:45,690 - watchfiles.main - INFO - 4 changes detected +2025-06-06 13:49:46,110 - watchfiles.main - INFO - 4 changes detected +2025-06-06 13:50:57,801 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-06 14:06:39,401 - robotics.core - INFO - Created room b4c2f0a0-e282-415f-9956-a381523b3bee +2025-06-06 14:06:39,415 - robotics.core - INFO - Producer remote-master-TwilightCat871-1749211599386 joined room b4c2f0a0-e282-415f-9956-a381523b3bee +2025-06-06 14:08:22,516 - robotics.core - INFO - Created room 70166cf3-d578-4872-abe4-d2246e685158 +2025-06-06 14:08:22,664 - robotics.core - INFO - Producer remote-master-RiverFenrir051-1749211701625 joined room 70166cf3-d578-4872-abe4-d2246e685158 +2025-06-06 14:09:59,958 - robotics.core - INFO - Producer remote-master-TwilightCat871-1749211599386 left room b4c2f0a0-e282-415f-9956-a381523b3bee +2025-06-06 14:09:59,963 - robotics.core - INFO - Producer remote-master-RiverFenrir051-1749211701625 left room 70166cf3-d578-4872-abe4-d2246e685158 +2025-06-06 14:10:10,247 - robotics.core - INFO - Created room a929228f-bda0-4f29-bc47-2a6edf4a9790 +2025-06-06 14:10:10,255 - robotics.core - INFO - Producer remote-master-SilverAppaloosa570-1749211810239 joined room a929228f-bda0-4f29-bc47-2a6edf4a9790 +2025-06-06 14:10:14,701 - robotics.core - INFO - Consumer remote-slave-a929228f-bda0-4f29-bc47-2a6edf4a9790-1749211814614 joined room a929228f-bda0-4f29-bc47-2a6edf4a9790 +2025-06-06 14:12:17,875 - robotics.core - INFO - Consumer consumer_1749211934535 joined room a929228f-bda0-4f29-bc47-2a6edf4a9790 +2025-06-06 14:12:20,536 - robotics.core - INFO - Consumer consumer_1749211934535 left room a929228f-bda0-4f29-bc47-2a6edf4a9790 +2025-06-06 14:12:21,448 - robotics.core - WARNING - Producer producer_1749211934191 failed to join room a929228f-bda0-4f29-bc47-2a6edf4a9790 - room already has producer remote-master-SilverAppaloosa570-1749211810239 +2025-06-06 14:18:03,092 - robotics.core - INFO - Producer remote-master-SilverAppaloosa570-1749211810239 left room a929228f-bda0-4f29-bc47-2a6edf4a9790 +2025-06-06 14:18:03,114 - robotics.core - INFO - Consumer remote-slave-a929228f-bda0-4f29-bc47-2a6edf4a9790-1749211814614 left room a929228f-bda0-4f29-bc47-2a6edf4a9790 +2025-06-06 14:22:39,338 - robotics.core - INFO - Created room remote-master-CalmCougar299-1749212559329 +2025-06-06 14:22:39,361 - robotics.core - INFO - Producer CalmCougar299 joined room remote-master-CalmCougar299-1749212559329 +2025-06-06 14:22:48,628 - robotics.core - INFO - Producer CalmCougar299 left room remote-master-CalmCougar299-1749212559329 +2025-06-06 14:22:59,281 - robotics.core - INFO - Created room remote-master-MagentaPhoenix181-1749212579277 +2025-06-06 14:22:59,292 - robotics.core - INFO - Producer MagentaPhoenix181 joined room remote-master-MagentaPhoenix181-1749212579277 +2025-06-06 14:24:35,151 - robotics.core - INFO - Created room remote-master-RiverRam171-1749212675143 +2025-06-06 14:24:35,166 - robotics.core - INFO - Producer RiverRam171 joined room remote-master-RiverRam171-1749212675143 +2025-06-06 14:27:16,954 - robotics.core - INFO - Producer MagentaPhoenix181 left room remote-master-MagentaPhoenix181-1749212579277 +2025-06-06 14:27:16,957 - robotics.core - INFO - Producer RiverRam171 left room remote-master-RiverRam171-1749212675143 +2025-06-06 14:27:20,079 - robotics.core - INFO - Created room remote-master-KeenRaven583-1749212840072 +2025-06-06 14:27:20,089 - robotics.core - INFO - Producer KeenRaven583 joined room remote-master-KeenRaven583-1749212840072 +2025-06-06 14:27:27,534 - robotics.core - INFO - Consumer remote-slave-remote-master-KeenRaven583-1749212840072-1749212847515 joined room remote-master-KeenRaven583-1749212840072 +2025-06-06 14:27:38,401 - robotics.core - INFO - Consumer remote-slave-remote-master-KeenRaven583-1749212840072-1749212847515 left room remote-master-KeenRaven583-1749212840072 +2025-06-06 14:27:38,404 - robotics.core - INFO - Producer KeenRaven583 left room remote-master-KeenRaven583-1749212840072 +2025-06-06 14:42:38,684 - robotics.core - INFO - Created room dspkojs +2025-06-06 14:42:42,354 - robotics.core - INFO - Consumer consumer_1749213761367 joined room dspkojs +2025-06-06 14:42:45,986 - robotics.core - INFO - Producer producer_1749213761434 joined room dspkojs +2025-06-06 14:42:54,425 - robotics.core - INFO - Consumer consumer_1749213761367 left room dspkojs +2025-06-06 14:42:54,576 - robotics.core - INFO - Producer producer_1749213761434 left room dspkojs +2025-06-06 14:44:15,826 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-06 15:04:36,439 - robotics.core - INFO - Created room 5640468d-daa5-47e3-8c77-1a4e5419dacc +2025-06-06 15:04:36,462 - robotics.core - INFO - Producer remote-master-WildWolverine386-1749215076410 joined room 5640468d-daa5-47e3-8c77-1a4e5419dacc +2025-06-06 15:04:46,729 - robotics.core - INFO - Created room 5ee22eda-3d8f-4aff-b6d4-9c1017b74bf2 +2025-06-06 15:04:46,739 - robotics.core - INFO - Consumer remote-slave-5640468d-daa5-47e3-8c77-1a4e5419dacc-1749215086725 joined room 5ee22eda-3d8f-4aff-b6d4-9c1017b74bf2 +2025-06-06 15:06:21,178 - robotics.core - INFO - Created room d1d861ce-d3bf-486e-9f94-d79a16f65cd6 +2025-06-06 15:06:21,189 - robotics.core - INFO - Producer remote-master-DesertHammerhead603-1749215181174 joined room d1d861ce-d3bf-486e-9f94-d79a16f65cd6 +2025-06-06 15:06:25,741 - robotics.core - INFO - Producer remote-master-WildWolverine386-1749215076410 left room 5640468d-daa5-47e3-8c77-1a4e5419dacc +2025-06-06 15:06:25,742 - robotics.core - INFO - Consumer remote-slave-5640468d-daa5-47e3-8c77-1a4e5419dacc-1749215086725 left room 5ee22eda-3d8f-4aff-b6d4-9c1017b74bf2 +2025-06-06 15:06:25,742 - robotics.core - INFO - Producer remote-master-DesertHammerhead603-1749215181174 left room d1d861ce-d3bf-486e-9f94-d79a16f65cd6 +2025-06-06 15:06:28,955 - robotics.core - INFO - Created room 07cdcc8b-3c08-4932-9492-49c3621494f6 +2025-06-06 15:06:28,971 - robotics.core - INFO - Producer remote-master-SmartFisher771-1749215188952 joined room 07cdcc8b-3c08-4932-9492-49c3621494f6 +2025-06-06 15:06:35,534 - robotics.core - INFO - Created room 00ea4e66-7f33-4941-8ccd-737543166cf1 +2025-06-06 15:06:35,543 - robotics.core - INFO - Consumer remote-slave-07cdcc8b-3c08-4932-9492-49c3621494f6-1749215195529 joined room 00ea4e66-7f33-4941-8ccd-737543166cf1 +2025-06-06 15:07:12,516 - robotics.core - INFO - Producer remote-master-SmartFisher771-1749215188952 left room 07cdcc8b-3c08-4932-9492-49c3621494f6 +2025-06-06 15:07:12,517 - robotics.core - INFO - Consumer remote-slave-07cdcc8b-3c08-4932-9492-49c3621494f6-1749215195529 left room 00ea4e66-7f33-4941-8ccd-737543166cf1 +2025-06-06 15:07:14,319 - robotics.core - INFO - Created room c939f7c3-f8c8-4744-aba9-ba3a78f8faca +2025-06-06 15:07:14,338 - robotics.core - INFO - Producer remote-master-CloudyCorgi145-1749215234315 joined room c939f7c3-f8c8-4744-aba9-ba3a78f8faca +2025-06-06 15:07:24,679 - robotics.core - INFO - Producer remote-master-CloudyCorgi145-1749215234315 left room c939f7c3-f8c8-4744-aba9-ba3a78f8faca +2025-06-06 15:07:26,705 - robotics.core - INFO - Created room 038054bd-aeed-44e2-8686-be56b1873d5e +2025-06-06 15:07:26,722 - robotics.core - INFO - Producer remote-master-StrongMare822-1749215246701 joined room 038054bd-aeed-44e2-8686-be56b1873d5e +2025-06-06 15:07:33,784 - robotics.core - INFO - Created room 54b12094-b587-411b-86a9-feaca789a68f +2025-06-06 15:07:33,804 - robotics.core - INFO - Consumer remote-slave-038054bd-aeed-44e2-8686-be56b1873d5e-1749215253780 joined room 54b12094-b587-411b-86a9-feaca789a68f +2025-06-06 15:09:13,520 - robotics.core - INFO - Created room sdiojsd +2025-06-06 15:09:19,882 - robotics.core - INFO - Consumer consumer_1749215357621 joined room sdiojsd +2025-06-06 15:09:30,606 - robotics.core - INFO - Producer producer_1749215369355 joined room sdiojsd +2025-06-06 15:09:32,652 - robotics.core - INFO - Consumer consumer_1749215357621 left room sdiojsd +2025-06-06 15:09:33,038 - robotics.core - INFO - Producer producer_1749215369355 left room sdiojsd +2025-06-06 15:09:36,228 - robotics.core - INFO - Created room sdojsd +2025-06-06 15:09:39,331 - robotics.core - INFO - Consumer consumer_1749215378374 joined room sdojsd +2025-06-06 15:09:42,443 - robotics.core - INFO - Producer producer_1749215381182 joined room sdojsd +2025-06-06 15:09:43,459 - robotics.core - INFO - Producer producer_1749215381182 left room sdojsd +2025-06-06 15:09:44,019 - robotics.core - INFO - Consumer consumer_1749215378374 left room sdojsd +2025-06-06 15:09:47,491 - robotics.core - INFO - Created room sdpoksd +2025-06-06 15:09:50,725 - robotics.core - INFO - Producer producer_1749215389238 joined room sdpoksd +2025-06-06 15:09:54,495 - robotics.core - INFO - Consumer consumer_1749215392176 joined room sdpoksd +2025-06-06 15:09:57,470 - robotics.core - INFO - Producer producer_1749215389238 left room sdpoksd +2025-06-06 15:09:57,607 - robotics.core - INFO - Consumer consumer_1749215392176 left room sdpoksd +2025-06-06 15:10:48,252 - robotics.core - INFO - Producer remote-master-StrongMare822-1749215246701 left room 038054bd-aeed-44e2-8686-be56b1873d5e +2025-06-06 15:10:48,256 - robotics.core - INFO - Consumer remote-slave-038054bd-aeed-44e2-8686-be56b1873d5e-1749215253780 left room 54b12094-b587-411b-86a9-feaca789a68f +2025-06-06 15:10:52,416 - robotics.core - INFO - Created room cff868bf-bb66-4909-b420-0386920ec17e +2025-06-06 15:10:52,424 - robotics.core - INFO - Producer remote-master-QuickKudu624-1749215452412 joined room cff868bf-bb66-4909-b420-0386920ec17e +2025-06-06 15:10:58,532 - robotics.core - INFO - Created room 543e685e-e044-4b09-a4dd-9b8589098f01 +2025-06-06 15:10:58,542 - robotics.core - INFO - Consumer remote-slave-cff868bf-bb66-4909-b420-0386920ec17e-1749215458529 joined room 543e685e-e044-4b09-a4dd-9b8589098f01 +2025-06-06 15:11:18,664 - robotics.core - INFO - Consumer consumer_1749215477367 joined room cff868bf-bb66-4909-b420-0386920ec17e +2025-06-06 15:12:12,046 - robotics.core - INFO - Producer remote-master-QuickKudu624-1749215452412 left room cff868bf-bb66-4909-b420-0386920ec17e +2025-06-06 15:12:12,047 - robotics.core - INFO - Consumer remote-slave-cff868bf-bb66-4909-b420-0386920ec17e-1749215458529 left room 543e685e-e044-4b09-a4dd-9b8589098f01 +2025-06-06 15:12:13,983 - robotics.core - INFO - Created room fe161fff-7725-4493-9928-f53f5928897d +2025-06-06 15:12:13,995 - robotics.core - INFO - Producer remote-master-FastSperm059-1749215533979 joined room fe161fff-7725-4493-9928-f53f5928897d +2025-06-06 15:12:26,017 - robotics.core - INFO - Created room 4ef0a34d-9251-447e-a536-15ec2870bd22 +2025-06-06 15:12:26,025 - robotics.core - INFO - Consumer remote-slave-fe161fff-7725-4493-9928-f53f5928897d-1749215546013 joined room 4ef0a34d-9251-447e-a536-15ec2870bd22 +2025-06-06 15:13:44,433 - robotics.core - INFO - Producer remote-master-FastSperm059-1749215533979 left room fe161fff-7725-4493-9928-f53f5928897d +2025-06-06 15:13:44,437 - robotics.core - INFO - Consumer remote-slave-fe161fff-7725-4493-9928-f53f5928897d-1749215546013 left room 4ef0a34d-9251-447e-a536-15ec2870bd22 +2025-06-06 15:13:46,525 - robotics.core - INFO - Created room e89c778b-3220-4f3d-a23e-6e0fa88fcc74 +2025-06-06 15:13:46,544 - robotics.core - INFO - Producer remote-master-DivineMammoth413-1749215626521 joined room e89c778b-3220-4f3d-a23e-6e0fa88fcc74 +2025-06-06 15:13:55,117 - robotics.core - INFO - Created room d876178e-373b-4377-9bd2-27e0cbe02f02 +2025-06-06 15:13:55,128 - robotics.core - INFO - Consumer remote-slave-e89c778b-3220-4f3d-a23e-6e0fa88fcc74-1749215635111 joined room d876178e-373b-4377-9bd2-27e0cbe02f02 +2025-06-06 15:14:07,783 - robotics.core - INFO - Consumer consumer_1749215645072 joined room e89c778b-3220-4f3d-a23e-6e0fa88fcc74 +2025-06-06 15:14:09,592 - robotics.core - INFO - Consumer consumer_1749215645072 left room e89c778b-3220-4f3d-a23e-6e0fa88fcc74 +2025-06-06 15:14:15,639 - robotics.core - INFO - Producer producer_1749215654254 joined room fe161fff-7725-4493-9928-f53f5928897d +2025-06-06 15:14:30,633 - robotics.core - INFO - Consumer consumer_1749215667290 joined room fe161fff-7725-4493-9928-f53f5928897d +2025-06-06 15:14:43,781 - robotics.core - INFO - Consumer consumer_1749215667290 left room fe161fff-7725-4493-9928-f53f5928897d +2025-06-06 15:14:44,150 - robotics.core - INFO - Producer producer_1749215654254 left room fe161fff-7725-4493-9928-f53f5928897d +2025-06-06 15:14:59,458 - robotics.core - INFO - Consumer consumer_1749215694401 joined room e89c778b-3220-4f3d-a23e-6e0fa88fcc74 +2025-06-06 15:15:47,564 - robotics.core - INFO - Created room 8e6a1d37-cc91-4cad-82f4-ec409423cefa +2025-06-06 15:15:47,572 - robotics.core - INFO - Producer remote-master-BrownKraken215-1749215747555 joined room 8e6a1d37-cc91-4cad-82f4-ec409423cefa +2025-06-06 15:16:23,615 - robotics.core - INFO - Consumer consumer_1749215694401 left room e89c778b-3220-4f3d-a23e-6e0fa88fcc74 +2025-06-06 15:28:31,137 - robotics.core - INFO - Producer remote-master-DivineMammoth413-1749215626521 left room e89c778b-3220-4f3d-a23e-6e0fa88fcc74 +2025-06-06 15:28:31,138 - robotics.core - INFO - Consumer remote-slave-e89c778b-3220-4f3d-a23e-6e0fa88fcc74-1749215635111 left room d876178e-373b-4377-9bd2-27e0cbe02f02 +2025-06-06 15:28:31,138 - robotics.core - INFO - Producer remote-master-BrownKraken215-1749215747555 left room 8e6a1d37-cc91-4cad-82f4-ec409423cefa +2025-06-06 15:29:01,233 - robotics.core - INFO - Created room 8efef7ef-0fb5-43e1-a037-d9fe6b1833f8 +2025-06-06 15:29:01,252 - robotics.core - INFO - Consumer remote-master-PureShepherd075-1749216541223 joined room 8efef7ef-0fb5-43e1-a037-d9fe6b1833f8 +2025-06-06 15:29:32,981 - robotics.core - INFO - Consumer remote-master-PureShepherd075-1749216541223 left room 8efef7ef-0fb5-43e1-a037-d9fe6b1833f8 +2025-06-06 15:29:35,453 - robotics.core - INFO - Created room b6b44057-d081-48e8-bcc7-da52aad298de +2025-06-06 15:29:35,473 - robotics.core - INFO - Consumer remote-master-ZenRobin811-1749216575449 joined room b6b44057-d081-48e8-bcc7-da52aad298de +2025-06-06 15:29:43,369 - robotics.core - INFO - Created room bf54e71a-1f11-4056-b3b5-fc11a2649f48 +2025-06-06 15:29:43,386 - robotics.core - INFO - Consumer remote-slave-cff868bf-bb66-4909-b420-0386920ec17e-1749216583365 joined room bf54e71a-1f11-4056-b3b5-fc11a2649f48 +2025-06-06 15:40:26,542 - robotics.core - INFO - Consumer consumer_1749215477367 left room cff868bf-bb66-4909-b420-0386920ec17e +2025-06-06 15:40:30,566 - robotics.core - INFO - Consumer remote-master-ZenRobin811-1749216575449 left room b6b44057-d081-48e8-bcc7-da52aad298de +2025-06-06 15:40:30,567 - robotics.core - INFO - Consumer remote-slave-cff868bf-bb66-4909-b420-0386920ec17e-1749216583365 left room bf54e71a-1f11-4056-b3b5-fc11a2649f48 +2025-06-06 15:54:27,131 - robotics.core - INFO - Created room remote-master-BalancedGecko631-1749218067069 +2025-06-06 15:54:27,241 - robotics.core - INFO - Producer BalancedGecko631 joined room remote-master-BalancedGecko631-1749218067069 +2025-06-06 15:54:38,371 - robotics.core - INFO - Consumer remote-slave-remote-master-BalancedGecko631-1749218067069-1749218078363 joined room remote-master-BalancedGecko631-1749218067069 +2025-06-06 15:56:46,653 - robotics.core - INFO - Consumer remote-slave-remote-master-BalancedGecko631-1749218067069-1749218206634 joined room remote-master-BalancedGecko631-1749218067069 +2025-06-06 15:56:54,729 - robotics.core - WARNING - Producer producer_1749218213771 failed to join room remote-master-BalancedGecko631-1749218067069 - room already has producer BalancedGecko631 +2025-06-06 15:57:10,491 - robotics.core - INFO - Created room sdoijs +2025-06-06 15:57:15,466 - robotics.core - INFO - Producer producer_1749218234561 joined room sdoijs +2025-06-06 15:57:18,291 - robotics.core - INFO - Consumer remote-slave-remote-master-BalancedGecko631-1749218067069-1749218206634 left room remote-master-BalancedGecko631-1749218067069 +2025-06-06 15:57:24,617 - robotics.core - INFO - Consumer remote-slave-sdoijs-1749218244605 joined room sdoijs +2025-06-06 15:57:37,584 - robotics.core - INFO - Created room remote-master-BrightOtter004-1749218257579 +2025-06-06 15:57:37,593 - robotics.core - INFO - Producer BrightOtter004 joined room remote-master-BrightOtter004-1749218257579 +2025-06-06 15:57:39,684 - robotics.core - INFO - Producer producer_1749218234561 left room sdoijs +2025-06-06 15:57:50,562 - robotics.core - WARNING - Producer producer_1749218269285 failed to join room remote-master-BrightOtter004-1749218257579 - room already has producer BrightOtter004 +2025-06-06 15:57:54,392 - robotics.core - INFO - Consumer consumer_1749218273217 joined room remote-master-BrightOtter004-1749218257579 +2025-06-06 15:59:03,735 - robotics.core - INFO - Producer producer_1749218342228 joined room sdoijs +2025-06-06 15:59:15,423 - robotics.core - INFO - Producer producer_1749218342228 left room sdoijs +2025-06-06 15:59:17,853 - robotics.core - INFO - Producer BalancedGecko631 left room remote-master-BalancedGecko631-1749218067069 +2025-06-06 15:59:17,853 - robotics.core - INFO - Consumer remote-slave-remote-master-BalancedGecko631-1749218067069-1749218078363 left room remote-master-BalancedGecko631-1749218067069 +2025-06-06 15:59:17,853 - robotics.core - INFO - Consumer remote-slave-sdoijs-1749218244605 left room sdoijs +2025-06-06 15:59:17,853 - robotics.core - INFO - Producer BrightOtter004 left room remote-master-BrightOtter004-1749218257579 +2025-06-06 15:59:22,804 - robotics.core - INFO - Created room remote-master-SearingCerberus840-1749218362797 +2025-06-06 15:59:22,812 - robotics.core - INFO - Producer SearingCerberus840 joined room remote-master-SearingCerberus840-1749218362797 +2025-06-06 15:59:30,192 - robotics.core - INFO - Consumer consumer_1749218368698 joined room remote-master-SearingCerberus840-1749218362797 +2025-06-06 15:59:46,715 - robotics.core - INFO - Created room qqqq +2025-06-06 15:59:58,267 - robotics.core - INFO - Consumer remote-slave-qqqq-1749218398248 joined room qqqq +2025-06-06 16:00:07,709 - robotics.core - INFO - Producer producer_1749218406809 joined room qqqq +2025-06-06 16:00:19,774 - robotics.core - INFO - Producer producer_1749218406809 left room qqqq +2025-06-06 16:01:26,103 - robotics.core - INFO - Producer producer_1749218485254 joined room qqqq +2025-06-06 16:07:26,630 - robotics.core - INFO - Producer SearingCerberus840 left room remote-master-SearingCerberus840-1749218362797 +2025-06-06 16:07:26,633 - robotics.core - INFO - Consumer remote-slave-qqqq-1749218398248 left room qqqq +2025-06-06 16:08:10,636 - robotics.core - WARNING - Producer remote-slave-qqqq-1749218890626 failed to join room qqqq - room already has producer producer_1749218485254 +2025-06-06 16:09:36,484 - robotics.core - INFO - Created room qqqq +2025-06-06 16:09:37,138 - robotics.core - INFO - Producer remote-slave-qqqq-1749218976436 joined room qqqq +2025-06-06 16:09:38,587 - robotics.core - INFO - Producer remote-slave-qqqq-1749218976436 left room qqqq +2025-06-06 16:09:51,722 - robotics.core - INFO - Created room qqqq +2025-06-06 16:09:51,784 - robotics.core - INFO - Producer remote-slave-qqqq-1749218991688 joined room qqqq +2025-06-06 16:10:20,681 - robotics.core - INFO - Consumer consumer_1749219019796 joined room qqqq +2025-06-06 16:11:39,935 - robotics.core - INFO - Producer remote-slave-qqqq-1749218991688 left room qqqq +2025-06-06 16:11:52,718 - robotics.core - INFO - Created room MistyGriffin109 +2025-06-06 16:11:52,723 - robotics.core - INFO - Consumer remote-master-MistyGriffin109-1749219112707 joined room MistyGriffin109 +2025-06-06 16:12:03,462 - robotics.core - INFO - Created room MistyGriffin109 +2025-06-06 16:12:03,468 - robotics.core - INFO - Producer remote-slave-MistyGriffin109-1749219123457 joined room MistyGriffin109 +2025-06-06 16:12:10,983 - robotics.core - INFO - Consumer consumer_1749219019796 left room qqqq +2025-06-06 16:12:19,364 - robotics.core - INFO - Consumer consumer_1749219138504 joined room MistyGriffin109 +2025-06-06 16:12:21,538 - robotics.core - INFO - Consumer consumer_1749219138504 left room MistyGriffin109 +2025-06-06 16:12:24,691 - robotics.core - WARNING - Producer producer_1749219143743 failed to join room MistyGriffin109 - room already has producer remote-slave-MistyGriffin109-1749219123457 +2025-06-06 16:12:36,016 - robotics.core - INFO - Consumer consumer_1749219150063 joined room MistyGriffin109 +2025-06-06 16:13:34,821 - robotics.core - INFO - Producer remote-slave-MistyGriffin109-1749219123457 left room MistyGriffin109 +2025-06-06 16:15:10,673 - robotics.core - INFO - Created room CalmKiller575 +2025-06-06 16:15:10,680 - robotics.core - INFO - Consumer remote-master-CalmKiller575-1749219310663 joined room CalmKiller575 +2025-06-06 16:15:13,546 - robotics.core - INFO - Consumer consumer_1749219150063 left room MistyGriffin109 +2025-06-06 16:15:30,113 - robotics.core - INFO - Producer producer_1749219329316 joined room CalmKiller575 +2025-06-06 16:16:29,462 - robotics.core - INFO - Consumer remote-master-CalmKiller575-1749219310663 left room CalmKiller575 +2025-06-06 16:16:33,214 - robotics.core - INFO - Created room MagentaWraith332 +2025-06-06 16:16:33,222 - robotics.core - INFO - Consumer remote-master-MagentaWraith332-1749219393205 joined room MagentaWraith332 +2025-06-06 16:16:41,857 - robotics.core - INFO - Created room MagentaWraith332 +2025-06-06 16:16:41,866 - robotics.core - INFO - Producer remote-slave-MagentaWraith332-1749219401855 joined room MagentaWraith332 +2025-06-06 16:16:47,076 - robotics.core - INFO - Producer producer_1749219329316 left room CalmKiller575 +2025-06-06 16:16:55,501 - robotics.core - INFO - Consumer consumer_1749219414548 joined room MagentaWraith332 +2025-06-06 16:17:33,393 - robotics.core - INFO - Created room spdsks +2025-06-06 16:17:44,332 - robotics.core - INFO - Consumer consumer_1749219462066 joined room spdsks +2025-06-06 16:17:47,861 - robotics.core - INFO - Producer producer_1749219466543 joined room spdsks +2025-06-06 16:17:50,193 - robotics.core - INFO - Consumer consumer_1749219462066 left room spdsks +2025-06-06 16:17:50,379 - robotics.core - INFO - Producer producer_1749219466543 left room spdsks +2025-06-06 16:17:51,867 - robotics.core - INFO - Consumer consumer_1749219414548 left room MagentaWraith332 +2025-06-06 16:18:50,212 - robotics.core - INFO - Producer remote-slave-MagentaWraith332-1749219401855 left room MagentaWraith332 +2025-06-06 16:18:52,896 - robotics.core - INFO - Created room SacredIbis421 +2025-06-06 16:18:52,909 - robotics.core - INFO - Consumer remote-master-SacredIbis421-1749219532885 joined room SacredIbis421 +2025-06-06 16:19:05,270 - robotics.core - INFO - Created room SacredIbis421 +2025-06-06 16:19:05,276 - robotics.core - INFO - Producer remote-slave-SacredIbis421-1749219545267 joined room SacredIbis421 +2025-06-06 16:19:35,616 - robotics.core - INFO - Consumer consumer_1749218368698 left room remote-master-SearingCerberus840-1749218362797 +2025-06-06 16:19:46,752 - robotics.core - INFO - Consumer consumer_1749219585528 joined room SacredIbis421 +2025-06-06 16:19:55,019 - robotics.core - INFO - Consumer consumer_1749219585528 left room SacredIbis421 +2025-06-06 16:22:00,042 - robotics.core - INFO - Producer remote-slave-SacredIbis421-1749219545267 left room SacredIbis421 +2025-06-06 16:22:03,469 - robotics.core - INFO - Created room BalancedWallaby756 +2025-06-06 16:22:03,485 - robotics.core - INFO - Consumer remote-master-BalancedWallaby756-1749219723457 joined room BalancedWallaby756 +2025-06-06 16:22:13,296 - robotics.core - INFO - Created room BalancedWallaby756 +2025-06-06 16:22:13,316 - robotics.core - INFO - Producer remote-slave-BalancedWallaby756-1749219733293 joined room BalancedWallaby756 +2025-06-06 16:22:29,210 - robotics.core - INFO - Producer remote-slave-BalancedWallaby756-1749219733293 left room BalancedWallaby756 +2025-06-06 16:25:15,898 - robotics.core - INFO - Producer remote-slave-BalancedWallaby756-1749219915727 joined room BalancedWallaby756 +2025-06-06 16:25:28,386 - robotics.core - INFO - Consumer consumer_1749219920151 joined room BalancedWallaby756 +2025-06-06 16:26:49,043 - robotics.core - INFO - Created room CrystalCardinal619 +2025-06-06 16:26:50,654 - robotics.core - INFO - Consumer remote-master-CrystalCardinal619-1749220008657 joined room CrystalCardinal619 +2025-06-06 16:26:53,173 - robotics.core - INFO - Consumer consumer_1749219920151 left room BalancedWallaby756 +2025-06-06 16:26:54,371 - robotics.core - INFO - Consumer consumer_1749218273217 left room remote-master-BrightOtter004-1749218257579 +2025-06-06 16:27:00,857 - robotics.core - INFO - Producer producer_1749220018365 joined room CrystalCardinal619 +2025-06-06 16:27:09,384 - robotics.core - INFO - Created room LethalKudu817 +2025-06-06 16:27:09,397 - robotics.core - INFO - Consumer remote-master-LethalKudu817-1749220029380 joined room LethalKudu817 +2025-06-06 16:27:10,761 - robotics.core - INFO - Producer producer_1749220018365 left room CrystalCardinal619 +2025-06-06 16:27:17,454 - robotics.core - INFO - Producer producer_1749220036410 joined room LethalKudu817 +2025-06-06 16:28:04,861 - robotics.core - INFO - Producer producer_1749220036410 left room LethalKudu817 +2025-06-06 16:28:15,329 - robotics.core - INFO - Producer remote-slave-LethalKudu817-1749220095310 joined room LethalKudu817 +2025-06-06 16:28:24,322 - robotics.core - WARNING - Producer producer_1749220036410 failed to join room LethalKudu817 - room already has producer remote-slave-LethalKudu817-1749220095310 +2025-06-06 16:28:36,828 - robotics.core - INFO - Producer remote-slave-LethalKudu817-1749220095310 left room LethalKudu817 +2025-06-06 16:28:38,494 - robotics.core - INFO - Producer producer_1749220036410 joined room LethalKudu817 +2025-06-06 16:28:48,579 - robotics.core - INFO - Producer producer_1749220036410 left room LethalKudu817 +2025-06-06 16:28:52,978 - robotics.core - INFO - Producer producer_1749220131909 joined room LethalKudu817 +2025-06-06 16:30:01,117 - robotics.core - INFO - Producer producer_1749220131909 left room LethalKudu817 +2025-06-06 16:30:10,967 - robotics.core - INFO - Producer producer_1749220206545 joined room LethalKudu817 +2025-06-06 16:40:16,172 - robotics.core - INFO - Producer producer_1749220206545 left room LethalKudu817 +2025-06-06 16:40:16,219 - robotics.core - INFO - Consumer remote-master-CrystalCardinal619-1749220008657 left room CrystalCardinal619 +2025-06-06 16:40:16,219 - robotics.core - INFO - Producer remote-slave-BalancedWallaby756-1749219915727 left room BalancedWallaby756 +2025-06-06 16:40:16,220 - robotics.core - INFO - Consumer remote-master-LethalKudu817-1749220029380 left room LethalKudu817 +2025-06-06 16:41:09,237 - robotics.core - INFO - Created room MarbleBeetle838 +2025-06-06 16:41:09,245 - robotics.core - INFO - Consumer remote-master-MarbleBeetle838-1749220869230 joined room MarbleBeetle838 +2025-06-06 16:41:13,058 - robotics.core - INFO - Created room BrightBeaver069 +2025-06-06 16:41:13,080 - robotics.core - INFO - Consumer remote-master-BrightBeaver069-1749220873056 joined room BrightBeaver069 +2025-06-06 16:41:21,775 - robotics.core - INFO - Producer remote-slave-BrightBeaver069-1749220881763 joined room BrightBeaver069 +2025-06-06 16:41:26,042 - robotics.core - INFO - Producer remote-slave-MarbleBeetle838-1749220886037 joined room MarbleBeetle838 +2025-06-06 16:41:38,665 - robotics.core - INFO - Producer remote-slave-MarbleBeetle838-1749220886037 left room MarbleBeetle838 +2025-06-06 16:41:38,667 - robotics.core - INFO - Consumer remote-master-BrightBeaver069-1749220873056 left room BrightBeaver069 +2025-06-06 16:41:38,667 - robotics.core - INFO - Consumer remote-master-MarbleBeetle838-1749220869230 left room MarbleBeetle838 +2025-06-06 16:41:38,668 - robotics.core - INFO - Producer remote-slave-BrightBeaver069-1749220881763 left room BrightBeaver069 +2025-06-07 15:52:13,918 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-07 15:52:15,064 - video.core - INFO - Created video room 017c1e65-f53d-4a0c-afd0-baaede289d00 +2025-06-07 15:52:15,070 - video.core - INFO - Producer producer_1749304333672 joined video room 017c1e65-f53d-4a0c-afd0-baaede289d00 +2025-06-07 15:52:19,943 - video.core - INFO - Stream started by producer_1749304333672 in room 017c1e65-f53d-4a0c-afd0-baaede289d00 +2025-06-07 15:52:35,802 - video.core - INFO - Consumer consumer_1749304321119 joined video room 017c1e65-f53d-4a0c-afd0-baaede289d00 +2025-06-07 15:52:35,824 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749304333672 (role: producer) in room 017c1e65-f53d-4a0c-afd0-baaede289d00 +2025-06-07 15:52:35,824 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749304333672 to consumer consumer_1749304321119 +2025-06-07 15:52:35,825 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749304333672 (role: producer) in room 017c1e65-f53d-4a0c-afd0-baaede289d00 +2025-06-07 15:52:35,850 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749304321119 (role: consumer) in room 017c1e65-f53d-4a0c-afd0-baaede289d00 +2025-06-07 15:52:35,850 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749304321119 to producer producer_1749304333672 +2025-06-07 15:52:35,855 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749304321119 (role: consumer) in room 017c1e65-f53d-4a0c-afd0-baaede289d00 +2025-06-07 15:53:45,879 - video.core - INFO - Producer producer_1749304333672 left video room 017c1e65-f53d-4a0c-afd0-baaede289d00 +2025-06-07 15:53:46,325 - video.core - INFO - Consumer consumer_1749304321119 left video room 017c1e65-f53d-4a0c-afd0-baaede289d00 +2025-06-07 16:12:44,704 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-07 16:13:23,533 - video.core - INFO - Created video room d1e490da-0172-46c9-be60-486eec4b74d1 +2025-06-07 16:13:23,604 - video.core - INFO - Producer producer_1749305603542_pxlh2u2p9 joined video room d1e490da-0172-46c9-be60-486eec4b74d1 +2025-06-07 16:13:27,645 - video.core - INFO - Stream started by producer_1749305603542_pxlh2u2p9 in room d1e490da-0172-46c9-be60-486eec4b74d1 +2025-06-07 16:13:39,167 - video.core - INFO - Consumer consumer_1749305618924_k2dncp54n joined video room d1e490da-0172-46c9-be60-486eec4b74d1 +2025-06-07 16:13:39,440 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749305603542_pxlh2u2p9 (role: producer) in room d1e490da-0172-46c9-be60-486eec4b74d1 +2025-06-07 16:13:39,441 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749305603542_pxlh2u2p9 to consumer consumer_1749305618924_k2dncp54n +2025-06-07 16:13:39,494 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749305603542_pxlh2u2p9 (role: producer) in room d1e490da-0172-46c9-be60-486eec4b74d1 +2025-06-07 16:13:39,568 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749305603542_pxlh2u2p9 (role: producer) in room d1e490da-0172-46c9-be60-486eec4b74d1 +2025-06-07 16:13:39,571 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749305618924_k2dncp54n (role: consumer) in room d1e490da-0172-46c9-be60-486eec4b74d1 +2025-06-07 16:13:39,571 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749305618924_k2dncp54n to producer producer_1749305603542_pxlh2u2p9 +2025-06-07 16:13:39,602 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749305603542_pxlh2u2p9 (role: producer) in room d1e490da-0172-46c9-be60-486eec4b74d1 +2025-06-07 16:13:39,790 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749305603542_pxlh2u2p9 (role: producer) in room d1e490da-0172-46c9-be60-486eec4b74d1 +2025-06-07 16:13:39,802 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749305603542_pxlh2u2p9 (role: producer) in room d1e490da-0172-46c9-be60-486eec4b74d1 +2025-06-07 16:13:39,834 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749305603542_pxlh2u2p9 (role: producer) in room d1e490da-0172-46c9-be60-486eec4b74d1 +2025-06-07 16:13:39,854 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749305618924_k2dncp54n (role: consumer) in room d1e490da-0172-46c9-be60-486eec4b74d1 +2025-06-07 16:13:39,871 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749305618924_k2dncp54n (role: consumer) in room d1e490da-0172-46c9-be60-486eec4b74d1 +2025-06-07 16:14:14,263 - video.core - INFO - Consumer consumer_1749305653149 joined video room d1e490da-0172-46c9-be60-486eec4b74d1 +2025-06-07 16:14:14,275 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749305603542_pxlh2u2p9 (role: producer) in room d1e490da-0172-46c9-be60-486eec4b74d1 +2025-06-07 16:14:14,276 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749305603542_pxlh2u2p9 to consumer consumer_1749305653149 +2025-06-07 16:14:14,315 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749305653149 (role: consumer) in room d1e490da-0172-46c9-be60-486eec4b74d1 +2025-06-07 16:14:14,316 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749305653149 to producer producer_1749305603542_pxlh2u2p9 +2025-06-07 16:14:14,323 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749305653149 (role: consumer) in room d1e490da-0172-46c9-be60-486eec4b74d1 +2025-06-07 16:14:18,370 - video.core - INFO - Consumer consumer_1749305653149 left video room d1e490da-0172-46c9-be60-486eec4b74d1 +2025-06-07 16:14:21,983 - video.core - INFO - Consumer consumer_1749305660954 joined video room d1e490da-0172-46c9-be60-486eec4b74d1 +2025-06-07 16:14:21,994 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749305603542_pxlh2u2p9 (role: producer) in room d1e490da-0172-46c9-be60-486eec4b74d1 +2025-06-07 16:14:21,994 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749305603542_pxlh2u2p9 to consumer consumer_1749305660954 +2025-06-07 16:14:22,024 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749305660954 (role: consumer) in room d1e490da-0172-46c9-be60-486eec4b74d1 +2025-06-07 16:14:22,024 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749305660954 to producer producer_1749305603542_pxlh2u2p9 +2025-06-07 16:14:22,027 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749305660954 (role: consumer) in room d1e490da-0172-46c9-be60-486eec4b74d1 +2025-06-07 16:14:26,942 - video.core - INFO - Consumer consumer_1749305660954 left video room d1e490da-0172-46c9-be60-486eec4b74d1 +2025-06-07 16:14:28,890 - video.core - INFO - Producer producer_1749305603542_pxlh2u2p9 left video room d1e490da-0172-46c9-be60-486eec4b74d1 +2025-06-07 16:14:28,912 - video.core - INFO - Consumer consumer_1749305618924_k2dncp54n left video room d1e490da-0172-46c9-be60-486eec4b74d1 +2025-06-07 16:14:39,743 - video.core - INFO - Deleted video room d1e490da-0172-46c9-be60-486eec4b74d1 +2025-06-07 16:14:43,965 - video.core - INFO - Created video room 24f1a7fe-5e43-4703-827a-3105dd599ffd +2025-06-07 16:14:43,970 - video.core - INFO - Producer producer_1749305681725 joined video room 24f1a7fe-5e43-4703-827a-3105dd599ffd +2025-06-07 16:14:49,109 - video.core - INFO - Created video room 0e3ff007-869d-49a4-af65-c924e80e0d66 +2025-06-07 16:14:49,326 - video.core - INFO - Producer producer_1749305689155_r70rgr5vr joined video room 0e3ff007-869d-49a4-af65-c924e80e0d66 +2025-06-07 16:14:51,083 - video.core - INFO - Stream started by producer_1749305689155_r70rgr5vr in room 0e3ff007-869d-49a4-af65-c924e80e0d66 +2025-06-07 16:15:00,592 - video.core - INFO - Producer producer_1749305689155_r70rgr5vr left video room 0e3ff007-869d-49a4-af65-c924e80e0d66 +2025-06-07 16:16:15,789 - video.core - INFO - Created video room f399747d-ca55-4447-b868-afc02a7ce4b6 +2025-06-07 16:16:15,850 - video.core - INFO - Producer producer_1749305775816_uzraq6g85 joined video room f399747d-ca55-4447-b868-afc02a7ce4b6 +2025-06-07 16:16:17,409 - video.core - INFO - Stream started by producer_1749305775816_uzraq6g85 in room f399747d-ca55-4447-b868-afc02a7ce4b6 +2025-06-07 16:16:23,897 - video.core - INFO - Producer producer_1749305681725 left video room 24f1a7fe-5e43-4703-827a-3105dd599ffd +2025-06-07 16:16:37,994 - video.core - INFO - Created video room 8db760b8-8dd1-4c93-afc7-0176fa63514e +2025-06-07 16:16:38,078 - video.core - INFO - Producer producer_1749305798039_i7799cca2 joined video room 8db760b8-8dd1-4c93-afc7-0176fa63514e +2025-06-07 16:16:50,044 - video.core - INFO - Producer producer_1749305798039_i7799cca2 left video room 8db760b8-8dd1-4c93-afc7-0176fa63514e +2025-06-07 16:17:39,298 - video.core - INFO - Producer producer_1749305775816_uzraq6g85 left video room f399747d-ca55-4447-b868-afc02a7ce4b6 +2025-06-07 16:17:47,831 - video.core - INFO - Deleted video room 24f1a7fe-5e43-4703-827a-3105dd599ffd +2025-06-07 16:17:50,165 - video.core - INFO - Deleted video room 0e3ff007-869d-49a4-af65-c924e80e0d66 +2025-06-07 16:18:04,394 - video.core - INFO - Deleted video room f399747d-ca55-4447-b868-afc02a7ce4b6 +2025-06-07 16:18:05,460 - video.core - INFO - Deleted video room 8db760b8-8dd1-4c93-afc7-0176fa63514e +2025-06-07 16:20:01,825 - video.core - INFO - Created video room 956b6788-1104-419d-94f3-92429254b080 +2025-06-07 16:20:02,165 - video.core - INFO - Producer producer_1749306001878_zcqgo2pt9 joined video room 956b6788-1104-419d-94f3-92429254b080 +2025-06-07 16:20:05,359 - video.core - INFO - Stream started by producer_1749306001878_zcqgo2pt9 in room 956b6788-1104-419d-94f3-92429254b080 +2025-06-07 16:20:28,199 - video.core - INFO - Consumer consumer_1749306025872_ih11vxl6e joined video room 956b6788-1104-419d-94f3-92429254b080 +2025-06-07 16:20:34,129 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749306001878_zcqgo2pt9 (role: producer) in room 956b6788-1104-419d-94f3-92429254b080 +2025-06-07 16:20:34,192 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749306001878_zcqgo2pt9 (role: producer) in room 956b6788-1104-419d-94f3-92429254b080 +2025-06-07 16:20:34,192 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749306001878_zcqgo2pt9 to consumer consumer_1749306025872_ih11vxl6e +2025-06-07 16:20:34,444 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749306001878_zcqgo2pt9 (role: producer) in room 956b6788-1104-419d-94f3-92429254b080 +2025-06-07 16:20:34,532 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749306001878_zcqgo2pt9 (role: producer) in room 956b6788-1104-419d-94f3-92429254b080 +2025-06-07 16:20:35,032 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749306001878_zcqgo2pt9 (role: producer) in room 956b6788-1104-419d-94f3-92429254b080 +2025-06-07 16:20:37,469 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749306025872_ih11vxl6e (role: consumer) in room 956b6788-1104-419d-94f3-92429254b080 +2025-06-07 16:20:37,481 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749306025872_ih11vxl6e to producer producer_1749306001878_zcqgo2pt9 +2025-06-07 16:21:36,621 - video.core - INFO - Consumer consumer_1749306025872_ih11vxl6e left video room 956b6788-1104-419d-94f3-92429254b080 +2025-06-07 16:21:42,788 - video.core - INFO - Producer producer_1749306001878_zcqgo2pt9 left video room 956b6788-1104-419d-94f3-92429254b080 +2025-06-07 16:30:03,829 - video.core - INFO - Created video room 77fddc48-0e02-4331-9fdc-37ab31e26a66 +2025-06-07 16:30:03,864 - video.core - INFO - Producer producer_1749306603841_vjn1jeeiv joined video room 77fddc48-0e02-4331-9fdc-37ab31e26a66 +2025-06-07 16:30:04,981 - video.core - INFO - Producer producer_1749306603841_vjn1jeeiv left video room 77fddc48-0e02-4331-9fdc-37ab31e26a66 +2025-06-07 16:30:10,843 - video.core - INFO - Created video room 72acb61f-6f17-4f34-b15b-fa54f63da480 +2025-06-07 16:30:10,889 - video.core - INFO - Producer producer_1749306610856_yrmspd343 joined video room 72acb61f-6f17-4f34-b15b-fa54f63da480 +2025-06-07 16:30:14,288 - video.core - INFO - Stream started by producer_1749306610856_yrmspd343 in room 72acb61f-6f17-4f34-b15b-fa54f63da480 +2025-06-07 16:31:11,891 - video.core - INFO - Producer producer_1749306610856_yrmspd343 left video room 72acb61f-6f17-4f34-b15b-fa54f63da480 +2025-06-07 16:31:16,252 - video.core - INFO - Created video room 8973f68c-920a-4cf4-86d1-090a40eda216 +2025-06-07 16:31:16,272 - video.core - INFO - Producer producer_1749306676267_a3xllaswn joined video room 8973f68c-920a-4cf4-86d1-090a40eda216 +2025-06-07 16:31:17,831 - video.core - INFO - Stream started by producer_1749306676267_a3xllaswn in room 8973f68c-920a-4cf4-86d1-090a40eda216 +2025-06-07 16:31:50,121 - video.core - INFO - Consumer consumer_1749306710051_amk2ka6rg joined video room 8973f68c-920a-4cf4-86d1-090a40eda216 +2025-06-07 16:31:50,258 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749306676267_a3xllaswn (role: producer) in room 8973f68c-920a-4cf4-86d1-090a40eda216 +2025-06-07 16:31:50,274 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749306676267_a3xllaswn to consumer consumer_1749306710051_amk2ka6rg +2025-06-07 16:31:50,289 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749306676267_a3xllaswn (role: producer) in room 8973f68c-920a-4cf4-86d1-090a40eda216 +2025-06-07 16:31:50,314 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749306676267_a3xllaswn (role: producer) in room 8973f68c-920a-4cf4-86d1-090a40eda216 +2025-06-07 16:31:50,385 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749306676267_a3xllaswn (role: producer) in room 8973f68c-920a-4cf4-86d1-090a40eda216 +2025-06-07 16:31:50,412 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749306710051_amk2ka6rg (role: consumer) in room 8973f68c-920a-4cf4-86d1-090a40eda216 +2025-06-07 16:31:50,418 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749306710051_amk2ka6rg to producer producer_1749306676267_a3xllaswn +2025-06-07 16:31:50,422 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749306676267_a3xllaswn (role: producer) in room 8973f68c-920a-4cf4-86d1-090a40eda216 +2025-06-07 16:31:50,538 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749306676267_a3xllaswn (role: producer) in room 8973f68c-920a-4cf4-86d1-090a40eda216 +2025-06-07 16:31:50,574 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749306710051_amk2ka6rg (role: consumer) in room 8973f68c-920a-4cf4-86d1-090a40eda216 +2025-06-07 16:31:50,577 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749306676267_a3xllaswn (role: producer) in room 8973f68c-920a-4cf4-86d1-090a40eda216 +2025-06-07 16:32:30,174 - video.core - INFO - Producer producer_1749306676267_a3xllaswn left video room 8973f68c-920a-4cf4-86d1-090a40eda216 +2025-06-07 16:32:42,171 - video.core - INFO - Producer producer_1749306761407 joined video room 8973f68c-920a-4cf4-86d1-090a40eda216 +2025-06-07 16:32:44,598 - video.core - INFO - Stream started by producer_1749306761407 in room 8973f68c-920a-4cf4-86d1-090a40eda216 +2025-06-07 16:32:53,491 - video.core - INFO - Consumer consumer_1749306710051_amk2ka6rg left video room 8973f68c-920a-4cf4-86d1-090a40eda216 +2025-06-07 16:32:59,378 - video.core - INFO - Consumer consumer_1749306778430_sohjd67xq joined video room 8973f68c-920a-4cf4-86d1-090a40eda216 +2025-06-07 16:32:59,483 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749306761407 (role: producer) in room 8973f68c-920a-4cf4-86d1-090a40eda216 +2025-06-07 16:32:59,483 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749306761407 to consumer consumer_1749306778430_sohjd67xq +2025-06-07 16:32:59,549 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749306761407 (role: producer) in room 8973f68c-920a-4cf4-86d1-090a40eda216 +2025-06-07 16:32:59,571 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749306778430_sohjd67xq (role: consumer) in room 8973f68c-920a-4cf4-86d1-090a40eda216 +2025-06-07 16:32:59,571 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749306778430_sohjd67xq to producer producer_1749306761407 +2025-06-07 16:32:59,747 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749306761407 (role: producer) in room 8973f68c-920a-4cf4-86d1-090a40eda216 +2025-06-07 16:32:59,785 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749306761407 (role: producer) in room 8973f68c-920a-4cf4-86d1-090a40eda216 +2025-06-07 16:32:59,833 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749306778430_sohjd67xq (role: consumer) in room 8973f68c-920a-4cf4-86d1-090a40eda216 +2025-06-07 16:35:03,578 - video.core - INFO - Consumer consumer_1749306902465_lhtss7lpe joined video room 8973f68c-920a-4cf4-86d1-090a40eda216 +2025-06-07 16:35:03,679 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749306761407 (role: producer) in room 8973f68c-920a-4cf4-86d1-090a40eda216 +2025-06-07 16:35:03,680 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749306761407 to consumer consumer_1749306902465_lhtss7lpe +2025-06-07 16:35:03,833 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749306902465_lhtss7lpe (role: consumer) in room 8973f68c-920a-4cf4-86d1-090a40eda216 +2025-06-07 16:35:03,833 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749306902465_lhtss7lpe to producer producer_1749306761407 +2025-06-07 16:35:04,172 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749306902465_lhtss7lpe (role: consumer) in room 8973f68c-920a-4cf4-86d1-090a40eda216 +2025-06-07 16:35:37,232 - video.core - INFO - Consumer consumer_1749306902465_lhtss7lpe left video room 8973f68c-920a-4cf4-86d1-090a40eda216 +2025-06-07 16:35:54,622 - video.core - INFO - Consumer consumer_1749306952654_91xdpjvuq joined video room 8973f68c-920a-4cf4-86d1-090a40eda216 +2025-06-07 16:35:54,953 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749306761407 (role: producer) in room 8973f68c-920a-4cf4-86d1-090a40eda216 +2025-06-07 16:35:54,953 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749306761407 to consumer consumer_1749306952654_91xdpjvuq +2025-06-07 16:35:55,902 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749306952654_91xdpjvuq (role: consumer) in room 8973f68c-920a-4cf4-86d1-090a40eda216 +2025-06-07 16:35:57,734 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749306952654_91xdpjvuq to producer producer_1749306761407 +2025-06-07 16:35:57,916 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749306952654_91xdpjvuq (role: consumer) in room 8973f68c-920a-4cf4-86d1-090a40eda216 +2025-06-07 16:36:02,188 - video.core - INFO - Consumer consumer_1749306952654_91xdpjvuq left video room 8973f68c-920a-4cf4-86d1-090a40eda216 +2025-06-07 16:36:38,774 - video.core - INFO - Consumer consumer_1749306991396_6mk0fzhve joined video room 8973f68c-920a-4cf4-86d1-090a40eda216 +2025-06-07 16:36:51,266 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749306761407 (role: producer) in room 8973f68c-920a-4cf4-86d1-090a40eda216 +2025-06-07 16:36:51,551 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749306761407 to consumer consumer_1749306991396_6mk0fzhve +2025-06-07 16:36:52,413 - video.core - INFO - Consumer consumer_1749307001835_78u070c56 joined video room 8973f68c-920a-4cf4-86d1-090a40eda216 +2025-06-07 16:36:52,855 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749306761407 (role: producer) in room 8973f68c-920a-4cf4-86d1-090a40eda216 +2025-06-07 16:36:52,870 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749306761407 to consumer consumer_1749307001835_78u070c56 +2025-06-07 16:36:58,960 - video.core - INFO - Consumer consumer_1749306778430_sohjd67xq left video room 8973f68c-920a-4cf4-86d1-090a40eda216 +2025-06-07 16:37:17,548 - video.core - INFO - Producer producer_1749306761407 left video room 8973f68c-920a-4cf4-86d1-090a40eda216 +2025-06-07 16:37:21,369 - video.core - INFO - Created video room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-07 16:37:27,454 - video.core - INFO - Producer producer_1749307045195 joined video room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-07 16:37:30,373 - video.core - INFO - Stream started by producer_1749307045195 in room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-07 16:37:34,253 - video.core - INFO - Consumer consumer_1749307052967_7roi91ss0 joined video room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-07 16:37:34,370 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749307045195 (role: producer) in room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-07 16:37:34,374 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749307045195 to consumer consumer_1749307052967_7roi91ss0 +2025-06-07 16:37:34,669 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749307045195 (role: producer) in room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-07 16:37:34,800 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749307045195 (role: producer) in room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-07 16:37:34,872 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749307052967_7roi91ss0 (role: consumer) in room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-07 16:37:34,873 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749307052967_7roi91ss0 to producer producer_1749307045195 +2025-06-07 16:37:34,981 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749307045195 (role: producer) in room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-07 16:37:35,065 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749307052967_7roi91ss0 (role: consumer) in room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-07 16:38:07,986 - video.core - INFO - Consumer consumer_1749307076812_3eax3pixy joined video room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-07 16:38:19,773 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749307045195 (role: producer) in room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-07 16:38:23,195 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749307045195 to consumer consumer_1749307076812_3eax3pixy +2025-06-07 16:38:23,517 - video.core - INFO - Consumer consumer_1749307076812_3eax3pixy left video room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-07 16:38:23,694 - video.core - INFO - Consumer consumer_1749307052967_7roi91ss0 left video room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-07 16:38:23,834 - video.core - INFO - Consumer consumer_1749306991396_6mk0fzhve left video room 8973f68c-920a-4cf4-86d1-090a40eda216 +2025-06-07 16:38:23,853 - video.core - INFO - Consumer consumer_1749307001835_78u070c56 left video room 8973f68c-920a-4cf4-86d1-090a40eda216 +2025-06-07 16:38:31,479 - video.core - INFO - Producer producer_1749307045195 left video room fb6d5136-b7d3-4263-90cc-cf017723989c +2025-06-07 16:38:34,342 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-07 16:38:47,466 - video.core - INFO - Created video room b5bc9c00-49c0-467c-9ff4-5d6d7a674ad8 +2025-06-07 16:38:47,473 - video.core - INFO - Producer producer_1749307126085 joined video room b5bc9c00-49c0-467c-9ff4-5d6d7a674ad8 +2025-06-07 16:38:51,077 - video.core - INFO - Stream started by producer_1749307126085 in room b5bc9c00-49c0-467c-9ff4-5d6d7a674ad8 +2025-06-07 16:39:01,929 - video.core - INFO - Consumer consumer_1749307139341_p9kqr7bed joined video room b5bc9c00-49c0-467c-9ff4-5d6d7a674ad8 +2025-06-07 16:39:02,066 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749307126085 (role: producer) in room b5bc9c00-49c0-467c-9ff4-5d6d7a674ad8 +2025-06-07 16:39:02,141 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749307126085 to consumer consumer_1749307139341_p9kqr7bed +2025-06-07 16:39:02,213 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749307126085 (role: producer) in room b5bc9c00-49c0-467c-9ff4-5d6d7a674ad8 +2025-06-07 16:39:02,257 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749307126085 (role: producer) in room b5bc9c00-49c0-467c-9ff4-5d6d7a674ad8 +2025-06-07 16:39:02,398 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749307126085 (role: producer) in room b5bc9c00-49c0-467c-9ff4-5d6d7a674ad8 +2025-06-07 16:39:02,754 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749307139341_p9kqr7bed (role: consumer) in room b5bc9c00-49c0-467c-9ff4-5d6d7a674ad8 +2025-06-07 16:39:02,755 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749307139341_p9kqr7bed to producer producer_1749307126085 +2025-06-07 16:39:02,756 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749307139341_p9kqr7bed (role: consumer) in room b5bc9c00-49c0-467c-9ff4-5d6d7a674ad8 +2025-06-07 16:39:26,206 - video.core - INFO - Consumer consumer_1749307165982_1ypwiqh5e joined video room b5bc9c00-49c0-467c-9ff4-5d6d7a674ad8 +2025-06-07 16:39:26,507 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749307126085 (role: producer) in room b5bc9c00-49c0-467c-9ff4-5d6d7a674ad8 +2025-06-07 16:39:26,508 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749307126085 to consumer consumer_1749307165982_1ypwiqh5e +2025-06-07 16:39:27,780 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749307165982_1ypwiqh5e (role: consumer) in room b5bc9c00-49c0-467c-9ff4-5d6d7a674ad8 +2025-06-07 16:39:27,854 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749307165982_1ypwiqh5e to producer producer_1749307126085 +2025-06-07 16:39:28,130 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749307165982_1ypwiqh5e (role: consumer) in room b5bc9c00-49c0-467c-9ff4-5d6d7a674ad8 +2025-06-07 16:39:28,814 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749307165982_1ypwiqh5e (role: consumer) in room b5bc9c00-49c0-467c-9ff4-5d6d7a674ad8 +2025-06-07 16:40:18,870 - video.core - INFO - Consumer consumer_1749307165982_1ypwiqh5e left video room b5bc9c00-49c0-467c-9ff4-5d6d7a674ad8 +2025-06-07 16:40:30,634 - video.core - INFO - Consumer consumer_1749307229712 joined video room b5bc9c00-49c0-467c-9ff4-5d6d7a674ad8 +2025-06-07 16:40:30,645 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749307126085 (role: producer) in room b5bc9c00-49c0-467c-9ff4-5d6d7a674ad8 +2025-06-07 16:40:30,645 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749307126085 to consumer consumer_1749307229712 +2025-06-07 16:40:30,667 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749307229712 (role: consumer) in room b5bc9c00-49c0-467c-9ff4-5d6d7a674ad8 +2025-06-07 16:40:30,667 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749307229712 to producer producer_1749307126085 +2025-06-07 16:40:30,671 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749307229712 (role: consumer) in room b5bc9c00-49c0-467c-9ff4-5d6d7a674ad8 +2025-06-07 16:40:44,249 - video.core - INFO - Consumer consumer_1749307229712 left video room b5bc9c00-49c0-467c-9ff4-5d6d7a674ad8 +2025-06-07 16:40:45,636 - video.core - INFO - Consumer consumer_1749307244354 joined video room b5bc9c00-49c0-467c-9ff4-5d6d7a674ad8 +2025-06-07 16:40:45,654 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749307126085 (role: producer) in room b5bc9c00-49c0-467c-9ff4-5d6d7a674ad8 +2025-06-07 16:40:45,655 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749307126085 to consumer consumer_1749307244354 +2025-06-07 16:40:45,672 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749307244354 (role: consumer) in room b5bc9c00-49c0-467c-9ff4-5d6d7a674ad8 +2025-06-07 16:40:45,672 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749307244354 to producer producer_1749307126085 +2025-06-07 16:40:45,681 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749307244354 (role: consumer) in room b5bc9c00-49c0-467c-9ff4-5d6d7a674ad8 +2025-06-07 16:40:50,163 - video.core - INFO - Consumer consumer_1749307244354 left video room b5bc9c00-49c0-467c-9ff4-5d6d7a674ad8 +2025-06-07 16:41:25,192 - video.core - INFO - Stream stopped by producer_1749307126085 in room b5bc9c00-49c0-467c-9ff4-5d6d7a674ad8 +2025-06-07 16:41:25,908 - video.core - INFO - Producer producer_1749307126085 left video room b5bc9c00-49c0-467c-9ff4-5d6d7a674ad8 +2025-06-07 16:49:26,851 - video.core - INFO - Consumer consumer_1749307139341_p9kqr7bed left video room b5bc9c00-49c0-467c-9ff4-5d6d7a674ad8 +2025-06-07 17:07:04,589 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-07 19:34:21,497 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-07 19:34:43,569 - video.core - INFO - Created video room de626559-cad8-49c3-b8d9-2e883ba89886 +2025-06-07 19:34:44,041 - video.core - INFO - Producer producer_1749317683640_99runmsp9 joined video room de626559-cad8-49c3-b8d9-2e883ba89886 +2025-06-07 19:34:44,835 - video.core - INFO - Stream started by producer_1749317683640_99runmsp9 in room de626559-cad8-49c3-b8d9-2e883ba89886 +2025-06-07 19:35:25,099 - video.core - INFO - Producer producer_1749317683640_99runmsp9 left video room de626559-cad8-49c3-b8d9-2e883ba89886 +2025-06-07 19:35:56,084 - video.core - INFO - Created video room abd6137e-7a0d-4e1e-bb3a-ea9f86532d5f +2025-06-07 19:35:56,093 - video.core - INFO - Producer producer_1749317755097 joined video room abd6137e-7a0d-4e1e-bb3a-ea9f86532d5f +2025-06-07 19:35:59,228 - video.core - INFO - Stream started by producer_1749317755097 in room abd6137e-7a0d-4e1e-bb3a-ea9f86532d5f +2025-06-07 19:36:10,357 - video.core - INFO - Consumer consumer_1749317770001_q4pp276ij joined video room abd6137e-7a0d-4e1e-bb3a-ea9f86532d5f +2025-06-07 19:36:10,602 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749317755097 (role: producer) in room abd6137e-7a0d-4e1e-bb3a-ea9f86532d5f +2025-06-07 19:36:10,603 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749317755097 to consumer consumer_1749317770001_q4pp276ij +2025-06-07 19:36:10,614 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749317755097 (role: producer) in room abd6137e-7a0d-4e1e-bb3a-ea9f86532d5f +2025-06-07 19:36:10,722 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749317755097 (role: producer) in room abd6137e-7a0d-4e1e-bb3a-ea9f86532d5f +2025-06-07 19:36:10,882 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749317755097 (role: producer) in room abd6137e-7a0d-4e1e-bb3a-ea9f86532d5f +2025-06-07 19:36:10,904 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749317770001_q4pp276ij (role: consumer) in room abd6137e-7a0d-4e1e-bb3a-ea9f86532d5f +2025-06-07 19:36:10,904 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749317770001_q4pp276ij to producer producer_1749317755097 +2025-06-07 19:36:10,907 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749317770001_q4pp276ij (role: consumer) in room abd6137e-7a0d-4e1e-bb3a-ea9f86532d5f +2025-06-07 19:36:29,549 - video.core - INFO - Stream stopped by producer_1749317755097 in room abd6137e-7a0d-4e1e-bb3a-ea9f86532d5f +2025-06-07 19:36:39,130 - video.core - INFO - Consumer consumer_1749317770001_q4pp276ij left video room abd6137e-7a0d-4e1e-bb3a-ea9f86532d5f +2025-06-07 19:36:44,050 - video.core - INFO - Created video room 54c6b7c9-3b6a-492b-a250-0e5ba6e97d41 +2025-06-07 19:36:44,661 - video.core - INFO - Producer producer_1749317804056_x28tgu9wh joined video room 54c6b7c9-3b6a-492b-a250-0e5ba6e97d41 +2025-06-07 19:36:46,743 - video.core - INFO - Stream started by producer_1749317804056_x28tgu9wh in room 54c6b7c9-3b6a-492b-a250-0e5ba6e97d41 +2025-06-07 19:36:48,813 - video.core - INFO - Producer producer_1749317755097 left video room abd6137e-7a0d-4e1e-bb3a-ea9f86532d5f +2025-06-07 19:37:00,617 - video.core - INFO - Consumer consumer_1749317819555 joined video room 54c6b7c9-3b6a-492b-a250-0e5ba6e97d41 +2025-06-07 19:37:00,645 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749317804056_x28tgu9wh (role: producer) in room 54c6b7c9-3b6a-492b-a250-0e5ba6e97d41 +2025-06-07 19:37:00,645 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749317804056_x28tgu9wh to consumer consumer_1749317819555 +2025-06-07 19:37:00,650 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749317804056_x28tgu9wh (role: producer) in room 54c6b7c9-3b6a-492b-a250-0e5ba6e97d41 +2025-06-07 19:37:00,656 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749317804056_x28tgu9wh (role: producer) in room 54c6b7c9-3b6a-492b-a250-0e5ba6e97d41 +2025-06-07 19:37:00,676 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749317804056_x28tgu9wh (role: producer) in room 54c6b7c9-3b6a-492b-a250-0e5ba6e97d41 +2025-06-07 19:37:00,682 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749317804056_x28tgu9wh (role: producer) in room 54c6b7c9-3b6a-492b-a250-0e5ba6e97d41 +2025-06-07 19:37:00,716 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749317819555 (role: consumer) in room 54c6b7c9-3b6a-492b-a250-0e5ba6e97d41 +2025-06-07 19:37:00,716 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749317819555 to producer producer_1749317804056_x28tgu9wh +2025-06-07 19:37:00,722 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749317819555 (role: consumer) in room 54c6b7c9-3b6a-492b-a250-0e5ba6e97d41 +2025-06-07 19:37:04,370 - video.core - INFO - Producer producer_1749317804056_x28tgu9wh left video room 54c6b7c9-3b6a-492b-a250-0e5ba6e97d41 +2025-06-07 19:37:06,584 - video.core - INFO - Consumer consumer_1749317819555 left video room 54c6b7c9-3b6a-492b-a250-0e5ba6e97d41 +2025-06-07 20:01:37,608 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-07 22:16:37,127 - video.core - INFO - Created video room 829b4fce-cddf-4d32-a476-8ed13e06be22 +2025-06-07 22:16:37,149 - video.core - INFO - Producer producer_1749327397134_z2cw1i3ku joined video room 829b4fce-cddf-4d32-a476-8ed13e06be22 +2025-06-07 22:16:37,244 - video.core - INFO - Stream started by producer_1749327397134_z2cw1i3ku in room 829b4fce-cddf-4d32-a476-8ed13e06be22 +2025-06-07 22:16:58,260 - video.core - INFO - Consumer consumer_1749327414875 joined video room 829b4fce-cddf-4d32-a476-8ed13e06be22 +2025-06-07 22:16:58,293 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749327397134_z2cw1i3ku (role: producer) in room 829b4fce-cddf-4d32-a476-8ed13e06be22 +2025-06-07 22:16:58,293 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749327397134_z2cw1i3ku to consumer consumer_1749327414875 +2025-06-07 22:16:58,296 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749327397134_z2cw1i3ku (role: producer) in room 829b4fce-cddf-4d32-a476-8ed13e06be22 +2025-06-07 22:16:58,298 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749327397134_z2cw1i3ku (role: producer) in room 829b4fce-cddf-4d32-a476-8ed13e06be22 +2025-06-07 22:16:58,319 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749327414875 (role: consumer) in room 829b4fce-cddf-4d32-a476-8ed13e06be22 +2025-06-07 22:16:58,320 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749327414875 to producer producer_1749327397134_z2cw1i3ku +2025-06-07 22:16:58,325 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749327414875 (role: consumer) in room 829b4fce-cddf-4d32-a476-8ed13e06be22 +2025-06-07 22:17:10,639 - video.core - INFO - Consumer consumer_1749327414875 left video room 829b4fce-cddf-4d32-a476-8ed13e06be22 +2025-06-07 22:21:45,582 - video.core - INFO - Producer producer_1749327397134_z2cw1i3ku left video room 829b4fce-cddf-4d32-a476-8ed13e06be22 +2025-06-07 22:38:15,643 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-07 22:42:34,553 - video.core - INFO - Created video room 26ac86ac-331a-4f1d-aabe-a9f6e3e8549e +2025-06-07 22:42:34,575 - video.core - INFO - Producer producer_1749328954561_f1z843cdb joined video room 26ac86ac-331a-4f1d-aabe-a9f6e3e8549e +2025-06-07 22:42:34,969 - video.core - INFO - Stream started by producer_1749328954561_f1z843cdb in room 26ac86ac-331a-4f1d-aabe-a9f6e3e8549e +2025-06-07 22:42:43,157 - video.core - INFO - Consumer consumer_1749328963084_qekpuwmeb joined video room 26ac86ac-331a-4f1d-aabe-a9f6e3e8549e +2025-06-07 22:42:43,296 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749328954561_f1z843cdb (role: producer) in room 26ac86ac-331a-4f1d-aabe-a9f6e3e8549e +2025-06-07 22:42:43,300 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749328954561_f1z843cdb to consumer consumer_1749328963084_qekpuwmeb +2025-06-07 22:42:43,330 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749328954561_f1z843cdb (role: producer) in room 26ac86ac-331a-4f1d-aabe-a9f6e3e8549e +2025-06-07 22:42:43,477 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749328954561_f1z843cdb (role: producer) in room 26ac86ac-331a-4f1d-aabe-a9f6e3e8549e +2025-06-07 22:42:43,527 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749328954561_f1z843cdb (role: producer) in room 26ac86ac-331a-4f1d-aabe-a9f6e3e8549e +2025-06-07 22:42:43,583 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749328963084_qekpuwmeb (role: consumer) in room 26ac86ac-331a-4f1d-aabe-a9f6e3e8549e +2025-06-07 22:42:43,589 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749328963084_qekpuwmeb to producer producer_1749328954561_f1z843cdb +2025-06-07 22:42:43,629 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749328954561_f1z843cdb (role: producer) in room 26ac86ac-331a-4f1d-aabe-a9f6e3e8549e +2025-06-07 22:42:43,661 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749328954561_f1z843cdb (role: producer) in room 26ac86ac-331a-4f1d-aabe-a9f6e3e8549e +2025-06-07 22:42:43,683 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749328954561_f1z843cdb (role: producer) in room 26ac86ac-331a-4f1d-aabe-a9f6e3e8549e +2025-06-07 22:42:43,769 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749328963084_qekpuwmeb (role: consumer) in room 26ac86ac-331a-4f1d-aabe-a9f6e3e8549e +2025-06-07 22:45:27,903 - video.core - INFO - Consumer consumer_1749328963084_qekpuwmeb left video room 26ac86ac-331a-4f1d-aabe-a9f6e3e8549e +2025-06-07 22:45:27,904 - video.core - INFO - Producer producer_1749328954561_f1z843cdb left video room 26ac86ac-331a-4f1d-aabe-a9f6e3e8549e +2025-06-08 16:05:56,043 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-08 16:07:17,771 - video.core - INFO - Created video room adbfb887-378b-4ef9-a12d-655067fff114 +2025-06-08 16:07:18,001 - video.core - INFO - Producer producer_1749391637809_wiv7mc1i1 joined video room adbfb887-378b-4ef9-a12d-655067fff114 +2025-06-08 16:07:18,609 - video.core - INFO - Stream started by producer_1749391637809_wiv7mc1i1 in room adbfb887-378b-4ef9-a12d-655067fff114 +2025-06-08 16:07:45,221 - video.core - INFO - Producer producer_1749391637809_wiv7mc1i1 left video room adbfb887-378b-4ef9-a12d-655067fff114 +2025-06-08 16:20:53,931 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-08 16:20:56,470 - video.core - INFO - Created video room caf9ea11-d682-4e31-8366-6aff06514f7f +2025-06-08 16:20:56,572 - video.core - INFO - Producer producer_1749392456482_o6gi17kaz joined video room caf9ea11-d682-4e31-8366-6aff06514f7f +2025-06-08 16:20:56,857 - video.core - INFO - Stream started by producer_1749392456482_o6gi17kaz in room caf9ea11-d682-4e31-8366-6aff06514f7f +2025-06-08 16:21:05,740 - video.core - INFO - Consumer consumer_1749392465598_asqmrqhgu joined video room caf9ea11-d682-4e31-8366-6aff06514f7f +2025-06-08 16:21:06,064 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749392456482_o6gi17kaz (role: producer) in room caf9ea11-d682-4e31-8366-6aff06514f7f +2025-06-08 16:21:06,065 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749392456482_o6gi17kaz to consumer consumer_1749392465598_asqmrqhgu +2025-06-08 16:21:06,067 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749392456482_o6gi17kaz (role: producer) in room caf9ea11-d682-4e31-8366-6aff06514f7f +2025-06-08 16:21:06,186 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749392456482_o6gi17kaz (role: producer) in room caf9ea11-d682-4e31-8366-6aff06514f7f +2025-06-08 16:21:06,250 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749392456482_o6gi17kaz (role: producer) in room caf9ea11-d682-4e31-8366-6aff06514f7f +2025-06-08 16:21:06,251 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749392456482_o6gi17kaz (role: producer) in room caf9ea11-d682-4e31-8366-6aff06514f7f +2025-06-08 16:21:06,313 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749392465598_asqmrqhgu (role: consumer) in room caf9ea11-d682-4e31-8366-6aff06514f7f +2025-06-08 16:21:06,314 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749392465598_asqmrqhgu to producer producer_1749392456482_o6gi17kaz +2025-06-08 16:21:06,371 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749392465598_asqmrqhgu (role: consumer) in room caf9ea11-d682-4e31-8366-6aff06514f7f +2025-06-08 16:22:59,623 - video.core - INFO - Consumer consumer_1749392465598_asqmrqhgu left video room caf9ea11-d682-4e31-8366-6aff06514f7f +2025-06-08 16:22:59,746 - video.core - INFO - Producer producer_1749392456482_o6gi17kaz left video room caf9ea11-d682-4e31-8366-6aff06514f7f +2025-06-08 16:23:44,644 - video.core - INFO - Created video room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:23:44,657 - video.core - INFO - Producer producer_1749392624649_cveh0x9k7 joined video room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:23:44,888 - video.core - INFO - Stream started by producer_1749392624649_cveh0x9k7 in room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:23:51,837 - video.core - INFO - Consumer consumer_1749392631749_8t7t19man joined video room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:23:51,956 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749392624649_cveh0x9k7 (role: producer) in room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:23:51,982 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749392624649_cveh0x9k7 to consumer consumer_1749392631749_8t7t19man +2025-06-08 16:23:51,994 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749392624649_cveh0x9k7 (role: producer) in room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:23:52,074 - video.core - INFO - Consumer consumer_1749392631749_8t7t19man left video room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:23:52,113 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749392624649_cveh0x9k7 (role: producer) in room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:23:55,060 - video.core - INFO - Consumer consumer_1749392634782_qp5n64luy joined video room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:23:55,137 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749392624649_cveh0x9k7 (role: producer) in room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:23:55,137 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749392624649_cveh0x9k7 to consumer consumer_1749392634782_qp5n64luy +2025-06-08 16:23:55,332 - video.core - INFO - Consumer consumer_1749392634782_qp5n64luy left video room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:23:56,524 - video.core - INFO - Consumer consumer_1749392636452_7s8qygh6k joined video room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:23:56,633 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749392624649_cveh0x9k7 (role: producer) in room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:23:56,636 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749392624649_cveh0x9k7 to consumer consumer_1749392636452_7s8qygh6k +2025-06-08 16:23:56,705 - video.core - INFO - Consumer consumer_1749392636452_7s8qygh6k left video room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:23:57,498 - video.core - INFO - Consumer consumer_1749392637421_6jf31llsd joined video room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:23:57,566 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749392624649_cveh0x9k7 (role: producer) in room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:23:57,569 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749392624649_cveh0x9k7 to consumer consumer_1749392637421_6jf31llsd +2025-06-08 16:23:57,655 - video.core - INFO - Consumer consumer_1749392637421_6jf31llsd left video room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:23:58,021 - video.core - INFO - Consumer consumer_1749392637999_ohywmm84u joined video room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:23:58,051 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749392624649_cveh0x9k7 (role: producer) in room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:23:58,051 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749392624649_cveh0x9k7 to consumer consumer_1749392637999_ohywmm84u +2025-06-08 16:23:58,084 - video.core - INFO - Consumer consumer_1749392637999_ohywmm84u left video room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:24:11,984 - video.core - INFO - Consumer consumer_1749392651966_je4m95e2i joined video room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:24:12,007 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749392624649_cveh0x9k7 (role: producer) in room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:24:12,007 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749392624649_cveh0x9k7 to consumer consumer_1749392651966_je4m95e2i +2025-06-08 16:24:12,053 - video.core - INFO - Consumer consumer_1749392651966_je4m95e2i left video room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:24:12,655 - video.core - INFO - Consumer consumer_1749392652640_zukd0988l joined video room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:24:12,675 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749392624649_cveh0x9k7 (role: producer) in room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:24:12,675 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749392624649_cveh0x9k7 to consumer consumer_1749392652640_zukd0988l +2025-06-08 16:24:12,715 - video.core - INFO - Consumer consumer_1749392652640_zukd0988l left video room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:24:13,165 - video.core - INFO - Consumer consumer_1749392653160_dbozz8nwt joined video room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:24:13,184 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749392624649_cveh0x9k7 (role: producer) in room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:24:13,184 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749392624649_cveh0x9k7 to consumer consumer_1749392653160_dbozz8nwt +2025-06-08 16:24:13,223 - video.core - INFO - Consumer consumer_1749392653160_dbozz8nwt left video room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:24:13,398 - video.core - INFO - Consumer consumer_1749392653393_f84fpknjt joined video room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:24:13,416 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749392624649_cveh0x9k7 (role: producer) in room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:24:13,417 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749392624649_cveh0x9k7 to consumer consumer_1749392653393_f84fpknjt +2025-06-08 16:24:13,451 - video.core - INFO - Consumer consumer_1749392653393_f84fpknjt left video room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:24:14,296 - video.core - INFO - Consumer consumer_1749392654290_2brntwnwj joined video room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:24:14,308 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749392624649_cveh0x9k7 (role: producer) in room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:24:14,308 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749392624649_cveh0x9k7 to consumer consumer_1749392654290_2brntwnwj +2025-06-08 16:24:14,342 - video.core - INFO - Consumer consumer_1749392654290_2brntwnwj left video room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:24:28,679 - video.core - INFO - Consumer consumer_1749392668421_96v4tmzde joined video room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:24:28,746 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749392624649_cveh0x9k7 (role: producer) in room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:24:28,754 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749392624649_cveh0x9k7 to consumer consumer_1749392668421_96v4tmzde +2025-06-08 16:24:28,832 - video.core - INFO - Consumer consumer_1749392668421_96v4tmzde left video room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:24:29,806 - video.core - INFO - Consumer consumer_1749392669664_o8h3xc1u2 joined video room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:24:29,884 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749392624649_cveh0x9k7 (role: producer) in room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:24:29,888 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749392624649_cveh0x9k7 to consumer consumer_1749392669664_o8h3xc1u2 +2025-06-08 16:24:30,013 - video.core - INFO - Consumer consumer_1749392669664_o8h3xc1u2 left video room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:24:30,442 - video.core - INFO - Consumer consumer_1749392670420_14pm6yfs1 joined video room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:24:30,514 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749392624649_cveh0x9k7 (role: producer) in room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:24:30,514 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749392624649_cveh0x9k7 to consumer consumer_1749392670420_14pm6yfs1 +2025-06-08 16:24:30,564 - video.core - INFO - Consumer consumer_1749392670420_14pm6yfs1 left video room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:24:31,021 - video.core - INFO - Consumer consumer_1749392670974_4tiwwb7t9 joined video room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:24:31,061 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749392624649_cveh0x9k7 (role: producer) in room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:24:31,061 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749392624649_cveh0x9k7 to consumer consumer_1749392670974_4tiwwb7t9 +2025-06-08 16:24:31,111 - video.core - INFO - Consumer consumer_1749392670974_4tiwwb7t9 left video room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:24:31,473 - video.core - INFO - Consumer consumer_1749392671448_sta57w8tt joined video room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:24:31,515 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749392624649_cveh0x9k7 (role: producer) in room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:24:31,515 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749392624649_cveh0x9k7 to consumer consumer_1749392671448_sta57w8tt +2025-06-08 16:24:31,582 - video.core - INFO - Consumer consumer_1749392671448_sta57w8tt left video room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:24:35,034 - video.core - INFO - Consumer consumer_1749392674981_a8g7j1v67 joined video room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:24:35,101 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749392624649_cveh0x9k7 (role: producer) in room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:24:35,102 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749392624649_cveh0x9k7 to consumer consumer_1749392674981_a8g7j1v67 +2025-06-08 16:24:35,160 - video.core - INFO - Consumer consumer_1749392674981_a8g7j1v67 left video room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:24:35,534 - video.core - INFO - Consumer consumer_1749392675519_tus432eub joined video room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:24:35,558 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749392624649_cveh0x9k7 (role: producer) in room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:24:35,558 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749392624649_cveh0x9k7 to consumer consumer_1749392675519_tus432eub +2025-06-08 16:24:35,609 - video.core - INFO - Consumer consumer_1749392675519_tus432eub left video room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:24:46,249 - video.core - INFO - Consumer consumer_1749392685869_mvgctrewt joined video room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:24:46,523 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749392624649_cveh0x9k7 (role: producer) in room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:24:46,529 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749392624649_cveh0x9k7 to consumer consumer_1749392685869_mvgctrewt +2025-06-08 16:24:46,620 - video.core - INFO - Consumer consumer_1749392685869_mvgctrewt left video room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:25:43,580 - video.core - INFO - Consumer consumer_1749392743446_a5qv7dqd7 joined video room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:25:43,625 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749392624649_cveh0x9k7 (role: producer) in room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:25:43,625 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749392624649_cveh0x9k7 to consumer consumer_1749392743446_a5qv7dqd7 +2025-06-08 16:25:43,677 - video.core - INFO - Consumer consumer_1749392743446_a5qv7dqd7 left video room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:25:44,190 - video.core - INFO - Consumer consumer_1749392744151_t36da6m4r joined video room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:25:44,359 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749392624649_cveh0x9k7 (role: producer) in room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:25:44,361 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749392624649_cveh0x9k7 to consumer consumer_1749392744151_t36da6m4r +2025-06-08 16:25:44,674 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749392744151_t36da6m4r (role: consumer) in room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:25:44,759 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749392744151_t36da6m4r to producer producer_1749392624649_cveh0x9k7 +2025-06-08 16:25:45,482 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749392744151_t36da6m4r (role: consumer) in room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:25:53,324 - video.core - INFO - Consumer consumer_1749392744151_t36da6m4r left video room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:25:53,384 - video.core - INFO - Producer producer_1749392624649_cveh0x9k7 left video room cf961cee-5506-4d90-94ee-ed24e048acfa +2025-06-08 16:26:01,609 - video.core - INFO - Created video room bba10ed4-5797-4bc6-b37a-c2657394234b +2025-06-08 16:26:02,241 - video.core - INFO - Producer producer_1749392762091_uzpnhnr25 joined video room bba10ed4-5797-4bc6-b37a-c2657394234b +2025-06-08 16:26:02,756 - video.core - INFO - Stream started by producer_1749392762091_uzpnhnr25 in room bba10ed4-5797-4bc6-b37a-c2657394234b +2025-06-08 16:26:13,768 - video.core - INFO - Consumer consumer_1749392773395_r9dy6b184 joined video room bba10ed4-5797-4bc6-b37a-c2657394234b +2025-06-08 16:26:13,906 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749392762091_uzpnhnr25 (role: producer) in room bba10ed4-5797-4bc6-b37a-c2657394234b +2025-06-08 16:26:14,105 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749392762091_uzpnhnr25 to consumer consumer_1749392773395_r9dy6b184 +2025-06-08 16:26:14,172 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749392762091_uzpnhnr25 (role: producer) in room bba10ed4-5797-4bc6-b37a-c2657394234b +2025-06-08 16:26:14,373 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749392762091_uzpnhnr25 (role: producer) in room bba10ed4-5797-4bc6-b37a-c2657394234b +2025-06-08 16:26:14,415 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749392762091_uzpnhnr25 (role: producer) in room bba10ed4-5797-4bc6-b37a-c2657394234b +2025-06-08 16:26:14,421 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749392773395_r9dy6b184 (role: consumer) in room bba10ed4-5797-4bc6-b37a-c2657394234b +2025-06-08 16:26:14,421 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749392773395_r9dy6b184 to producer producer_1749392762091_uzpnhnr25 +2025-06-08 16:26:14,670 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749392762091_uzpnhnr25 (role: producer) in room bba10ed4-5797-4bc6-b37a-c2657394234b +2025-06-08 16:26:14,725 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749392773395_r9dy6b184 (role: consumer) in room bba10ed4-5797-4bc6-b37a-c2657394234b +2025-06-08 16:34:12,313 - video.core - INFO - Created video room 8d3475b9-6534-4686-a4fc-85054bfb32b2 +2025-06-08 16:34:12,372 - video.core - INFO - Producer producer_1749393252330_4azb29kz1 joined video room 8d3475b9-6534-4686-a4fc-85054bfb32b2 +2025-06-08 16:34:12,577 - video.core - INFO - Stream started by producer_1749393252330_4azb29kz1 in room 8d3475b9-6534-4686-a4fc-85054bfb32b2 +2025-06-08 16:34:17,198 - video.core - INFO - Consumer consumer_1749393257163_5gtn53yyo joined video room 8d3475b9-6534-4686-a4fc-85054bfb32b2 +2025-06-08 16:34:17,276 - video.core - INFO - Consumer consumer_1749393257163_5gtn53yyo left video room 8d3475b9-6534-4686-a4fc-85054bfb32b2 +2025-06-08 16:34:17,332 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749393252330_4azb29kz1 (role: producer) in room 8d3475b9-6534-4686-a4fc-85054bfb32b2 +2025-06-08 16:34:17,334 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749393252330_4azb29kz1 to consumer consumer_1749393257163_5gtn53yyo +2025-06-08 16:34:18,653 - video.core - INFO - Consumer consumer_1749393258639_x5g2av4uu joined video room bba10ed4-5797-4bc6-b37a-c2657394234b +2025-06-08 16:34:18,685 - video.core - INFO - Consumer consumer_1749393258639_x5g2av4uu left video room bba10ed4-5797-4bc6-b37a-c2657394234b +2025-06-08 16:34:18,727 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749392762091_uzpnhnr25 (role: producer) in room bba10ed4-5797-4bc6-b37a-c2657394234b +2025-06-08 16:34:18,727 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749392762091_uzpnhnr25 to consumer consumer_1749393258639_x5g2av4uu +2025-06-08 16:34:19,205 - video.core - INFO - Consumer consumer_1749393259176_0aq71jim4 joined video room bba10ed4-5797-4bc6-b37a-c2657394234b +2025-06-08 16:34:19,237 - video.core - INFO - Consumer consumer_1749393259176_0aq71jim4 left video room bba10ed4-5797-4bc6-b37a-c2657394234b +2025-06-08 16:34:19,322 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749392762091_uzpnhnr25 (role: producer) in room bba10ed4-5797-4bc6-b37a-c2657394234b +2025-06-08 16:34:19,322 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749392762091_uzpnhnr25 to consumer consumer_1749393259176_0aq71jim4 +2025-06-08 16:34:19,774 - video.core - INFO - Consumer consumer_1749393259726_low7qvrbe joined video room 8d3475b9-6534-4686-a4fc-85054bfb32b2 +2025-06-08 16:34:19,816 - video.core - INFO - Consumer consumer_1749393259726_low7qvrbe left video room 8d3475b9-6534-4686-a4fc-85054bfb32b2 +2025-06-08 16:34:19,851 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749393252330_4azb29kz1 (role: producer) in room 8d3475b9-6534-4686-a4fc-85054bfb32b2 +2025-06-08 16:34:19,862 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749393252330_4azb29kz1 to consumer consumer_1749393259726_low7qvrbe +2025-06-08 16:34:20,179 - video.core - INFO - Consumer consumer_1749393260133_7tbjya0nx joined video room 8d3475b9-6534-4686-a4fc-85054bfb32b2 +2025-06-08 16:34:20,309 - video.core - INFO - Consumer consumer_1749393260133_7tbjya0nx left video room 8d3475b9-6534-4686-a4fc-85054bfb32b2 +2025-06-08 16:34:20,427 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749393252330_4azb29kz1 (role: producer) in room 8d3475b9-6534-4686-a4fc-85054bfb32b2 +2025-06-08 16:34:20,428 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749393252330_4azb29kz1 to consumer consumer_1749393260133_7tbjya0nx +2025-06-08 16:34:20,444 - video.core - INFO - Consumer consumer_1749393260333_kirsbwta4 joined video room 8d3475b9-6534-4686-a4fc-85054bfb32b2 +2025-06-08 16:34:20,521 - video.core - INFO - Consumer consumer_1749393260333_kirsbwta4 left video room 8d3475b9-6534-4686-a4fc-85054bfb32b2 +2025-06-08 16:34:20,677 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749393252330_4azb29kz1 (role: producer) in room 8d3475b9-6534-4686-a4fc-85054bfb32b2 +2025-06-08 16:34:20,677 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749393252330_4azb29kz1 to consumer consumer_1749393260333_kirsbwta4 +2025-06-08 16:34:21,265 - video.core - INFO - Consumer consumer_1749393260935_y1knx7a01 joined video room 8d3475b9-6534-4686-a4fc-85054bfb32b2 +2025-06-08 16:34:21,486 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749393252330_4azb29kz1 (role: producer) in room 8d3475b9-6534-4686-a4fc-85054bfb32b2 +2025-06-08 16:34:21,486 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749393252330_4azb29kz1 to consumer consumer_1749393260935_y1knx7a01 +2025-06-08 16:34:21,492 - video.core - INFO - Consumer consumer_1749393260935_y1knx7a01 left video room 8d3475b9-6534-4686-a4fc-85054bfb32b2 +2025-06-08 16:34:21,492 - video.core - ERROR - Error sending message to consumer_1749393260935_y1knx7a01 +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/repo/backend/server/.venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/websockets_impl.py", line 332, in asgi_send + await self.send(data) # type: ignore[arg-type] + ^^^^^^^^^^^^^^^^^^^^^ + File "/Users/julienblanchon/Git/lerobot-arena/repo/backend/server/.venv/lib/python3.12/site-packages/websockets/legacy/protocol.py", line 620, in send + await self.ensure_open() + File "/Users/julienblanchon/Git/lerobot-arena/repo/backend/server/.venv/lib/python3.12/site-packages/websockets/legacy/protocol.py", line 930, in ensure_open + raise self.connection_closed_exc() +websockets.exceptions.ConnectionClosedOK: received 1005 (no status received [internal]); then sent 1005 (no status received [internal]) + +The above exception was the direct cause of the following exception: + +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/repo/backend/server/.venv/lib/python3.12/site-packages/starlette/websockets.py", line 85, in send + await self._send(message) + File "/Users/julienblanchon/Git/lerobot-arena/repo/backend/server/.venv/lib/python3.12/site-packages/starlette/_exception_handler.py", line 39, in sender + await send(message) + File "/Users/julienblanchon/Git/lerobot-arena/repo/backend/server/.venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/websockets_impl.py", line 345, in asgi_send + raise ClientDisconnected from exc +uvicorn.protocols.utils.ClientDisconnected + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "/Users/julienblanchon/Git/lerobot-arena/repo/backend/server/src/video/core.py", line 1159, in _send_to_participant + await self.websocket_connections[participant_id].send_text( + File "/Users/julienblanchon/Git/lerobot-arena/repo/backend/server/.venv/lib/python3.12/site-packages/starlette/websockets.py", line 165, in send_text + await self.send({"type": "websocket.send", "text": data}) + File "/Users/julienblanchon/Git/lerobot-arena/repo/backend/server/.venv/lib/python3.12/site-packages/starlette/websockets.py", line 88, in send + raise WebSocketDisconnect(code=1006) +starlette.websockets.WebSocketDisconnect +2025-06-08 16:34:22,112 - video.core - INFO - Consumer consumer_1749393262062_go7zdlswm joined video room 8d3475b9-6534-4686-a4fc-85054bfb32b2 +2025-06-08 16:34:22,151 - video.core - INFO - Consumer consumer_1749393262062_go7zdlswm left video room 8d3475b9-6534-4686-a4fc-85054bfb32b2 +2025-06-08 16:34:22,180 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749393252330_4azb29kz1 (role: producer) in room 8d3475b9-6534-4686-a4fc-85054bfb32b2 +2025-06-08 16:34:22,182 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749393252330_4azb29kz1 to consumer consumer_1749393262062_go7zdlswm +2025-06-08 16:34:27,535 - video.core - INFO - Producer producer_1749393252330_4azb29kz1 left video room 8d3475b9-6534-4686-a4fc-85054bfb32b2 +2025-06-08 16:34:27,535 - video.core - INFO - Producer producer_1749392762091_uzpnhnr25 left video room bba10ed4-5797-4bc6-b37a-c2657394234b +2025-06-08 16:34:27,536 - video.core - INFO - Consumer consumer_1749392773395_r9dy6b184 left video room bba10ed4-5797-4bc6-b37a-c2657394234b +2025-06-08 16:34:35,391 - video.core - INFO - Created video room ddf25f4d-3f44-4c9c-b76b-a819da51bdad +2025-06-08 16:34:35,428 - video.core - INFO - Producer producer_1749393275396_7le2ck9fc joined video room ddf25f4d-3f44-4c9c-b76b-a819da51bdad +2025-06-08 16:34:35,684 - video.core - INFO - Stream started by producer_1749393275396_7le2ck9fc in room ddf25f4d-3f44-4c9c-b76b-a819da51bdad +2025-06-08 16:34:42,276 - video.core - INFO - Consumer consumer_1749393282260_c27jnl8su joined video room ddf25f4d-3f44-4c9c-b76b-a819da51bdad +2025-06-08 16:34:42,283 - video.core - INFO - Consumer consumer_1749393282260_c27jnl8su left video room ddf25f4d-3f44-4c9c-b76b-a819da51bdad +2025-06-08 16:34:42,309 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749393275396_7le2ck9fc (role: producer) in room ddf25f4d-3f44-4c9c-b76b-a819da51bdad +2025-06-08 16:34:42,309 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749393275396_7le2ck9fc to consumer consumer_1749393282260_c27jnl8su +2025-06-08 16:34:42,790 - video.core - INFO - Consumer consumer_1749393282773_8t5tsmqni joined video room ddf25f4d-3f44-4c9c-b76b-a819da51bdad +2025-06-08 16:34:42,795 - video.core - INFO - Consumer consumer_1749393282773_8t5tsmqni left video room ddf25f4d-3f44-4c9c-b76b-a819da51bdad +2025-06-08 16:34:42,804 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749393275396_7le2ck9fc (role: producer) in room ddf25f4d-3f44-4c9c-b76b-a819da51bdad +2025-06-08 16:34:42,804 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749393275396_7le2ck9fc to consumer consumer_1749393282773_8t5tsmqni +2025-06-08 16:34:49,825 - video.core - INFO - Consumer consumer_1749393289816_rw084b861 joined video room ddf25f4d-3f44-4c9c-b76b-a819da51bdad +2025-06-08 16:34:49,833 - video.core - INFO - Consumer consumer_1749393289816_rw084b861 left video room ddf25f4d-3f44-4c9c-b76b-a819da51bdad +2025-06-08 16:34:49,857 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749393275396_7le2ck9fc (role: producer) in room ddf25f4d-3f44-4c9c-b76b-a819da51bdad +2025-06-08 16:34:49,858 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749393275396_7le2ck9fc to consumer consumer_1749393289816_rw084b861 +2025-06-08 16:34:50,357 - video.core - INFO - Consumer consumer_1749393290335_hz3vsusjq joined video room ddf25f4d-3f44-4c9c-b76b-a819da51bdad +2025-06-08 16:34:50,399 - video.core - INFO - Consumer consumer_1749393290335_hz3vsusjq left video room ddf25f4d-3f44-4c9c-b76b-a819da51bdad +2025-06-08 16:34:50,403 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749393275396_7le2ck9fc (role: producer) in room ddf25f4d-3f44-4c9c-b76b-a819da51bdad +2025-06-08 16:34:50,403 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749393275396_7le2ck9fc to consumer consumer_1749393290335_hz3vsusjq +2025-06-08 16:35:07,562 - video.core - INFO - Consumer consumer_1749393307529_mexa2z9hj joined video room ddf25f4d-3f44-4c9c-b76b-a819da51bdad +2025-06-08 16:35:07,577 - video.core - INFO - Consumer consumer_1749393307529_mexa2z9hj left video room ddf25f4d-3f44-4c9c-b76b-a819da51bdad +2025-06-08 16:35:07,612 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749393275396_7le2ck9fc (role: producer) in room ddf25f4d-3f44-4c9c-b76b-a819da51bdad +2025-06-08 16:35:07,621 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749393275396_7le2ck9fc to consumer consumer_1749393307529_mexa2z9hj +2025-06-08 16:35:07,959 - video.core - INFO - Consumer consumer_1749393307944_bsem2xwq9 joined video room ddf25f4d-3f44-4c9c-b76b-a819da51bdad +2025-06-08 16:35:07,970 - video.core - INFO - Consumer consumer_1749393307944_bsem2xwq9 left video room ddf25f4d-3f44-4c9c-b76b-a819da51bdad +2025-06-08 16:35:07,988 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749393275396_7le2ck9fc (role: producer) in room ddf25f4d-3f44-4c9c-b76b-a819da51bdad +2025-06-08 16:35:07,989 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749393275396_7le2ck9fc to consumer consumer_1749393307944_bsem2xwq9 +2025-06-08 16:35:08,110 - video.core - INFO - Consumer consumer_1749393308093_sntw27ksd joined video room ddf25f4d-3f44-4c9c-b76b-a819da51bdad +2025-06-08 16:35:08,123 - video.core - INFO - Consumer consumer_1749393308093_sntw27ksd left video room ddf25f4d-3f44-4c9c-b76b-a819da51bdad +2025-06-08 16:35:08,148 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749393275396_7le2ck9fc (role: producer) in room ddf25f4d-3f44-4c9c-b76b-a819da51bdad +2025-06-08 16:35:08,148 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749393275396_7le2ck9fc to consumer consumer_1749393308093_sntw27ksd +2025-06-08 16:35:08,264 - video.core - INFO - Consumer consumer_1749393308250_v0yura0we joined video room ddf25f4d-3f44-4c9c-b76b-a819da51bdad +2025-06-08 16:35:08,275 - video.core - INFO - Consumer consumer_1749393308250_v0yura0we left video room ddf25f4d-3f44-4c9c-b76b-a819da51bdad +2025-06-08 16:35:08,299 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749393275396_7le2ck9fc (role: producer) in room ddf25f4d-3f44-4c9c-b76b-a819da51bdad +2025-06-08 16:35:08,299 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749393275396_7le2ck9fc to consumer consumer_1749393308250_v0yura0we +2025-06-08 16:36:31,255 - video.core - INFO - Created video room aa3b87bb-ca8b-48d3-a077-127bb424a115 +2025-06-08 16:36:31,280 - video.core - INFO - Producer producer_1749393391260_0qwzhtnsg joined video room aa3b87bb-ca8b-48d3-a077-127bb424a115 +2025-06-08 16:36:31,530 - video.core - INFO - Stream started by producer_1749393391260_0qwzhtnsg in room aa3b87bb-ca8b-48d3-a077-127bb424a115 +2025-06-08 16:36:36,858 - video.core - INFO - Consumer consumer_1749393396849_x4a3egfu1 joined video room aa3b87bb-ca8b-48d3-a077-127bb424a115 +2025-06-08 16:36:36,885 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749393391260_0qwzhtnsg (role: producer) in room aa3b87bb-ca8b-48d3-a077-127bb424a115 +2025-06-08 16:36:36,886 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749393391260_0qwzhtnsg to consumer consumer_1749393396849_x4a3egfu1 +2025-06-08 16:36:36,894 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749393391260_0qwzhtnsg (role: producer) in room aa3b87bb-ca8b-48d3-a077-127bb424a115 +2025-06-08 16:36:36,895 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749393391260_0qwzhtnsg (role: producer) in room aa3b87bb-ca8b-48d3-a077-127bb424a115 +2025-06-08 16:36:36,929 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749393396849_x4a3egfu1 (role: consumer) in room aa3b87bb-ca8b-48d3-a077-127bb424a115 +2025-06-08 16:36:36,929 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749393396849_x4a3egfu1 to producer producer_1749393391260_0qwzhtnsg +2025-06-08 16:36:36,933 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749393396849_x4a3egfu1 (role: consumer) in room aa3b87bb-ca8b-48d3-a077-127bb424a115 +2025-06-08 16:41:36,781 - video.core - INFO - Producer producer_1749393391260_0qwzhtnsg left video room aa3b87bb-ca8b-48d3-a077-127bb424a115 +2025-06-08 16:41:36,857 - video.core - INFO - Producer producer_1749393275396_7le2ck9fc left video room ddf25f4d-3f44-4c9c-b76b-a819da51bdad +2025-06-08 16:41:36,858 - video.core - INFO - Consumer consumer_1749393396849_x4a3egfu1 left video room aa3b87bb-ca8b-48d3-a077-127bb424a115 +2025-06-08 16:41:51,917 - video.core - INFO - Created video room 93255909-2c75-4de0-bcba-5f1be26f7b1f +2025-06-08 16:41:51,931 - video.core - INFO - Producer producer_1749393711923_ixjk2lfvl joined video room 93255909-2c75-4de0-bcba-5f1be26f7b1f +2025-06-08 16:41:52,132 - video.core - INFO - Stream started by producer_1749393711923_ixjk2lfvl in room 93255909-2c75-4de0-bcba-5f1be26f7b1f +2025-06-08 16:41:57,608 - video.core - INFO - Consumer consumer_1749393717590_74lvlg0u2 joined video room 93255909-2c75-4de0-bcba-5f1be26f7b1f +2025-06-08 16:41:57,628 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749393711923_ixjk2lfvl (role: producer) in room 93255909-2c75-4de0-bcba-5f1be26f7b1f +2025-06-08 16:41:57,628 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749393711923_ixjk2lfvl to consumer consumer_1749393717590_74lvlg0u2 +2025-06-08 16:41:57,631 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749393711923_ixjk2lfvl (role: producer) in room 93255909-2c75-4de0-bcba-5f1be26f7b1f +2025-06-08 16:41:57,634 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749393711923_ixjk2lfvl (role: producer) in room 93255909-2c75-4de0-bcba-5f1be26f7b1f +2025-06-08 16:41:57,680 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749393717590_74lvlg0u2 (role: consumer) in room 93255909-2c75-4de0-bcba-5f1be26f7b1f +2025-06-08 16:41:57,680 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749393717590_74lvlg0u2 to producer producer_1749393711923_ixjk2lfvl +2025-06-08 16:41:57,693 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749393717590_74lvlg0u2 (role: consumer) in room 93255909-2c75-4de0-bcba-5f1be26f7b1f +2025-06-08 16:45:13,655 - video.core - INFO - Producer producer_1749393711923_ixjk2lfvl left video room 93255909-2c75-4de0-bcba-5f1be26f7b1f +2025-06-08 16:45:13,668 - video.core - INFO - Consumer consumer_1749393717590_74lvlg0u2 left video room 93255909-2c75-4de0-bcba-5f1be26f7b1f +2025-06-08 21:16:53,849 - video.core - INFO - Created video room 5d24e662-4d63-42e7-9826-f01d6a2196cb +2025-06-08 21:16:53,924 - video.core - INFO - Producer producer_1749410213863_9tlv29fk1 joined video room 5d24e662-4d63-42e7-9826-f01d6a2196cb +2025-06-08 21:16:54,133 - video.core - INFO - Stream started by producer_1749410213863_9tlv29fk1 in room 5d24e662-4d63-42e7-9826-f01d6a2196cb +2025-06-08 21:17:01,742 - video.core - INFO - Consumer consumer_1749410221724_4ug8alro2 joined video room 5d24e662-4d63-42e7-9826-f01d6a2196cb +2025-06-08 21:17:01,780 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749410213863_9tlv29fk1 (role: producer) in room 5d24e662-4d63-42e7-9826-f01d6a2196cb +2025-06-08 21:17:01,781 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749410213863_9tlv29fk1 to consumer consumer_1749410221724_4ug8alro2 +2025-06-08 21:17:01,788 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749410213863_9tlv29fk1 (role: producer) in room 5d24e662-4d63-42e7-9826-f01d6a2196cb +2025-06-08 21:17:01,822 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749410213863_9tlv29fk1 (role: producer) in room 5d24e662-4d63-42e7-9826-f01d6a2196cb +2025-06-08 21:17:01,844 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749410221724_4ug8alro2 (role: consumer) in room 5d24e662-4d63-42e7-9826-f01d6a2196cb +2025-06-08 21:17:01,845 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749410221724_4ug8alro2 to producer producer_1749410213863_9tlv29fk1 +2025-06-08 21:17:01,847 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749410213863_9tlv29fk1 (role: producer) in room 5d24e662-4d63-42e7-9826-f01d6a2196cb +2025-06-08 21:17:01,873 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749410213863_9tlv29fk1 (role: producer) in room 5d24e662-4d63-42e7-9826-f01d6a2196cb +2025-06-08 21:17:01,877 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749410221724_4ug8alro2 (role: consumer) in room 5d24e662-4d63-42e7-9826-f01d6a2196cb +2025-06-08 21:28:24,331 - video.core - INFO - Producer producer_1749410213863_9tlv29fk1 left video room 5d24e662-4d63-42e7-9826-f01d6a2196cb +2025-06-08 21:28:24,398 - video.core - INFO - Consumer consumer_1749410221724_4ug8alro2 left video room 5d24e662-4d63-42e7-9826-f01d6a2196cb +2025-06-09 23:18:49,340 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-09 23:19:15,717 - robotics.core - INFO - Created room myroom +2025-06-09 23:21:44,578 - robotics.core - INFO - Deleted room myroom +2025-06-09 23:21:49,870 - robotics.core - INFO - Created room robot_input +2025-06-09 23:21:55,501 - robotics.core - INFO - Producer producer_1749504112808 joined room robot_input +2025-06-09 23:34:23,700 - robotics.core - INFO - Producer producer_1749504112808 left room robot_input +2025-06-09 23:34:23,702 - robotics.core - INFO - Deleted room robot_input +2025-06-09 23:46:37,224 - robotics.core - INFO - Created room test-camera +2025-06-09 23:46:37,230 - robotics.core - INFO - Created room test-joint-input +2025-06-09 23:46:37,235 - robotics.core - INFO - Created room test-joint-output +2025-06-09 23:47:19,206 - robotics.core - INFO - Created room act-session-d7500c58-camera +2025-06-09 23:47:19,209 - robotics.core - INFO - Created room act-session-d7500c58-joint-input +2025-06-09 23:47:19,211 - robotics.core - INFO - Created room act-session-d7500c58-joint-output +2025-06-09 23:48:42,894 - robotics.core - INFO - Created room act-session-39f1e52e-camera +2025-06-09 23:48:42,899 - robotics.core - INFO - Created room act-session-39f1e52e-joint-input +2025-06-09 23:48:42,902 - robotics.core - INFO - Created room act-session-39f1e52e-joint-output +2025-06-09 23:48:48,964 - robotics.core - INFO - Consumer act-session-39f1e52e-camera-consumer joined room act-session-39f1e52e-camera +2025-06-09 23:48:48,974 - robotics.core - INFO - Consumer act-session-39f1e52e-joint-input-consumer joined room act-session-39f1e52e-joint-input +2025-06-09 23:48:48,983 - robotics.core - INFO - Producer act-session-39f1e52e-joint-output-producer joined room act-session-39f1e52e-joint-output +2025-06-09 23:49:31,806 - robotics.core - INFO - Deleted room test-camera +2025-06-09 23:49:32,084 - robotics.core - INFO - Deleted room test-joint-input +2025-06-09 23:49:32,240 - robotics.core - INFO - Deleted room test-joint-output +2025-06-09 23:49:32,377 - robotics.core - INFO - Deleted room act-session-d7500c58-camera +2025-06-09 23:49:32,522 - robotics.core - INFO - Deleted room act-session-d7500c58-joint-input +2025-06-09 23:49:32,658 - robotics.core - INFO - Deleted room act-session-d7500c58-joint-output +2025-06-09 23:49:33,357 - robotics.core - INFO - Consumer act-session-39f1e52e-camera-consumer left room act-session-39f1e52e-camera +2025-06-09 23:49:33,357 - robotics.core - INFO - Deleted room act-session-39f1e52e-camera +2025-06-09 23:49:33,539 - robotics.core - INFO - Consumer act-session-39f1e52e-joint-input-consumer left room act-session-39f1e52e-joint-input +2025-06-09 23:49:33,539 - robotics.core - INFO - Deleted room act-session-39f1e52e-joint-input +2025-06-09 23:49:33,706 - robotics.core - INFO - Producer act-session-39f1e52e-joint-output-producer left room act-session-39f1e52e-joint-output +2025-06-09 23:49:33,706 - robotics.core - INFO - Deleted room act-session-39f1e52e-joint-output +2025-06-09 23:49:57,135 - robotics.core - INFO - Created room act-session-27f67357-camera +2025-06-09 23:49:57,140 - robotics.core - INFO - Created room act-session-27f67357-joint-input +2025-06-09 23:49:57,143 - robotics.core - INFO - Created room act-session-27f67357-joint-output +2025-06-09 23:49:58,886 - robotics.core - INFO - Consumer act-session-27f67357-camera-consumer joined room act-session-27f67357-camera +2025-06-09 23:49:58,892 - robotics.core - INFO - Consumer act-session-27f67357-joint-input-consumer joined room act-session-27f67357-joint-input +2025-06-09 23:49:58,896 - robotics.core - INFO - Producer act-session-27f67357-joint-output-producer joined room act-session-27f67357-joint-output +2025-06-09 23:50:26,382 - robotics.core - INFO - Producer producer_1749505824099 joined room act-session-27f67357-camera +2025-06-09 23:50:28,711 - robotics.core - INFO - Producer producer_1749505824825 joined room act-session-27f67357-joint-input +2025-06-09 23:50:32,171 - robotics.core - INFO - Consumer consumer_1749505825463 joined room act-session-27f67357-joint-output +2025-06-09 23:52:24,765 - robotics.core - INFO - Consumer consumer_1749505825463 left room act-session-27f67357-joint-output +2025-06-09 23:52:25,025 - robotics.core - INFO - Producer producer_1749505824825 left room act-session-27f67357-joint-input +2025-06-09 23:52:25,447 - robotics.core - INFO - Producer producer_1749505824099 left room act-session-27f67357-camera +2025-06-09 23:52:26,292 - robotics.core - INFO - Consumer act-session-27f67357-camera-consumer left room act-session-27f67357-camera +2025-06-09 23:52:26,292 - robotics.core - INFO - Deleted room act-session-27f67357-camera +2025-06-09 23:52:26,491 - robotics.core - INFO - Consumer act-session-27f67357-joint-input-consumer left room act-session-27f67357-joint-input +2025-06-09 23:52:26,491 - robotics.core - INFO - Deleted room act-session-27f67357-joint-input +2025-06-09 23:52:26,646 - robotics.core - INFO - Producer act-session-27f67357-joint-output-producer left room act-session-27f67357-joint-output +2025-06-09 23:52:26,646 - robotics.core - INFO - Deleted room act-session-27f67357-joint-output +2025-06-09 23:54:14,183 - video.core - INFO - Created video room act-session-fd646f01-camera +2025-06-09 23:54:14,185 - robotics.core - INFO - Created room act-session-fd646f01-joint-input +2025-06-09 23:54:14,185 - robotics.core - INFO - Created room act-session-fd646f01-joint-output +2025-06-09 23:54:15,868 - robotics.core - INFO - Consumer act-session-fd646f01-joint-input-consumer joined room act-session-fd646f01-joint-input +2025-06-09 23:54:15,874 - robotics.core - INFO - Producer act-session-fd646f01-joint-output-producer joined room act-session-fd646f01-joint-output +2025-06-09 23:54:56,331 - robotics.core - INFO - Consumer act-session-fd646f01-joint-input-consumer left room act-session-fd646f01-joint-input +2025-06-09 23:54:56,350 - robotics.core - INFO - Producer act-session-fd646f01-joint-output-producer left room act-session-fd646f01-joint-output +2025-06-10 00:07:11,227 - video.core - INFO - Created video room d6088a04-762e-417d-962a-1a47adeb7e53 +2025-06-10 00:07:11,232 - video.core - INFO - Deleted video room d6088a04-762e-417d-962a-1a47adeb7e53 +2025-06-10 00:07:11,240 - video.core - INFO - Created video room 7fb81244-0c50-42ac-a258-c8bc75c2634e +2025-06-10 00:07:11,291 - video.core - INFO - Producer producer_4578287616_1749506831 joined video room 7fb81244-0c50-42ac-a258-c8bc75c2634e +2025-06-10 00:07:11,294 - video.core - INFO - Deleted video room 7fb81244-0c50-42ac-a258-c8bc75c2634e +2025-06-10 00:07:11,300 - video.core - INFO - Created video room 0b9b86b4-467c-468c-abcb-2b25fd0acdc6 +2025-06-10 00:07:11,306 - video.core - INFO - Producer producer_4577937312_1749506831 joined video room 0b9b86b4-467c-468c-abcb-2b25fd0acdc6 +2025-06-10 00:07:11,308 - video.core - INFO - Stream started by producer_4577937312_1749506831 in room 0b9b86b4-467c-468c-abcb-2b25fd0acdc6 +2025-06-10 00:07:11,308 - video.core - INFO - Stream stopped by producer_4577937312_1749506831 in room 0b9b86b4-467c-468c-abcb-2b25fd0acdc6 +2025-06-10 00:07:11,309 - video.core - INFO - Deleted video room 0b9b86b4-467c-468c-abcb-2b25fd0acdc6 +2025-06-10 00:07:11,321 - video.core - INFO - Created video room b9935b22-7461-43e9-929c-b81750bdc5ab +2025-06-10 00:07:11,323 - video.core - INFO - Deleted video room b9935b22-7461-43e9-929c-b81750bdc5ab +2025-06-10 00:07:11,327 - video.core - INFO - Created video room dd722f59-1ee0-4b00-a4e9-76d146050e2a +2025-06-10 00:07:11,334 - video.core - INFO - Deleted video room dd722f59-1ee0-4b00-a4e9-76d146050e2a +2025-06-10 00:07:11,403 - video.core - INFO - Created video room c76fd82b-2164-48a3-9a0b-48b175ba7431 +2025-06-10 00:07:11,443 - video.core - INFO - Deleted video room c76fd82b-2164-48a3-9a0b-48b175ba7431 +2025-06-10 00:07:11,449 - video.core - INFO - Created video room aa8d5233-deca-49c8-8a3b-1161ce89f1ac +2025-06-10 00:07:11,465 - video.core - INFO - Producer producer_4578524624_1749506831 joined video room aa8d5233-deca-49c8-8a3b-1161ce89f1ac +2025-06-10 00:07:11,475 - video.core - WARNING - Emergency stop by producer_4578524624_1749506831 in room aa8d5233-deca-49c8-8a3b-1161ce89f1ac: Test emergency stop +2025-06-10 00:07:11,479 - video.core - INFO - Deleted video room aa8d5233-deca-49c8-8a3b-1161ce89f1ac +2025-06-10 00:07:11,487 - video.core - INFO - Created video room 605b3bed-1a5c-40ed-86ef-d69341e7b807 +2025-06-10 00:07:11,493 - video.core - INFO - Producer producer_4579265952_1749506831 joined video room 605b3bed-1a5c-40ed-86ef-d69341e7b807 +2025-06-10 00:07:11,516 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_4579265952_1749506831 (role: producer) in room 605b3bed-1a5c-40ed-86ef-d69341e7b807 +2025-06-10 00:07:11,517 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_4579265952_1749506831 to consumer test_consumer_123 +2025-06-10 00:07:11,519 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_4579265952_1749506831 (role: producer) in room 605b3bed-1a5c-40ed-86ef-d69341e7b807 +2025-06-10 00:07:11,519 - video.core - INFO - Ignoring server WebRTC offer from producer_4579265952_1749506831 - using peer-to-peer +2025-06-10 00:07:11,522 - video.core - INFO - Deleted video room 605b3bed-1a5c-40ed-86ef-d69341e7b807 +2025-06-10 00:07:11,527 - video.core - INFO - Created video room acd9656e-c8f5-4bdf-b90d-4377536a95d5 +2025-06-10 00:07:11,532 - video.core - INFO - Producer producer_4578289920_1749506831 joined video room acd9656e-c8f5-4bdf-b90d-4377536a95d5 +2025-06-10 00:07:11,533 - video.core - INFO - Producer producer_4578289920_1749506831 left video room acd9656e-c8f5-4bdf-b90d-4377536a95d5 +2025-06-10 00:07:11,536 - video.core - INFO - Deleted video room acd9656e-c8f5-4bdf-b90d-4377536a95d5 +2025-06-10 00:07:11,540 - video.core - INFO - Created video room 52949ba9-5195-4af9-afc1-b624720bcca5 +2025-06-10 00:07:11,545 - video.core - INFO - Producer producer_4579269648_1749506831 joined video room 52949ba9-5195-4af9-afc1-b624720bcca5 +2025-06-10 00:07:11,550 - video.core - INFO - Deleted video room 52949ba9-5195-4af9-afc1-b624720bcca5 +2025-06-10 00:07:11,556 - video.core - INFO - Created video room b3ff13e6-bc1b-4dcd-bf78-389be8976805 +2025-06-10 00:07:11,560 - video.core - INFO - Producer producer_4579274688_1749506831 joined video room b3ff13e6-bc1b-4dcd-bf78-389be8976805 +2025-06-10 00:07:11,563 - video.core - INFO - Producer producer_4579274688_1749506831 left video room b3ff13e6-bc1b-4dcd-bf78-389be8976805 +2025-06-10 00:07:11,565 - video.core - INFO - Deleted video room b3ff13e6-bc1b-4dcd-bf78-389be8976805 +2025-06-10 00:08:35,411 - robotics.core - INFO - Created room 4c5d2fc5-a51b-497a-bc9e-4ac1d82c197c +2025-06-10 00:08:35,442 - robotics.core - INFO - Consumer consumer_4394281840 joined room 4c5d2fc5-a51b-497a-bc9e-4ac1d82c197c +2025-06-10 00:08:35,444 - robotics.core - INFO - Consumer consumer_4394281840 left room 4c5d2fc5-a51b-497a-bc9e-4ac1d82c197c +2025-06-10 00:08:35,449 - robotics.core - INFO - Deleted room 4c5d2fc5-a51b-497a-bc9e-4ac1d82c197c +2025-06-10 00:08:35,455 - robotics.core - INFO - Created room 9f350780-d86a-4592-b26c-c33c79790a94 +2025-06-10 00:08:35,461 - robotics.core - INFO - Consumer consumer_4395583200 joined room 9f350780-d86a-4592-b26c-c33c79790a94 +2025-06-10 00:08:35,465 - robotics.core - INFO - Consumer consumer_4395583200 left room 9f350780-d86a-4592-b26c-c33c79790a94 +2025-06-10 00:08:35,465 - robotics.core - INFO - Deleted room 9f350780-d86a-4592-b26c-c33c79790a94 +2025-06-10 00:08:35,489 - robotics.core - INFO - Created room 5802f674-ef43-4730-93c4-492734b70984 +2025-06-10 00:08:35,494 - robotics.core - INFO - Consumer consumer_4395814592 joined room 5802f674-ef43-4730-93c4-492734b70984 +2025-06-10 00:08:35,500 - robotics.core - INFO - Consumer consumer_4395814592 left room 5802f674-ef43-4730-93c4-492734b70984 +2025-06-10 00:08:35,500 - robotics.core - INFO - Deleted room 5802f674-ef43-4730-93c4-492734b70984 +2025-06-10 00:08:35,506 - robotics.core - INFO - Created room 83295e9b-aad3-47dd-9a74-ad0001d1a5b8 +2025-06-10 00:08:35,510 - robotics.core - INFO - Consumer consumer_4395811472 joined room 83295e9b-aad3-47dd-9a74-ad0001d1a5b8 +2025-06-10 00:08:35,612 - robotics.core - INFO - Consumer consumer_4395811472 left room 83295e9b-aad3-47dd-9a74-ad0001d1a5b8 +2025-06-10 00:08:35,716 - robotics.core - INFO - Deleted room 83295e9b-aad3-47dd-9a74-ad0001d1a5b8 +2025-06-10 00:08:35,719 - robotics.core - INFO - Created room f2920a63-f017-4b11-ae2a-a6d1c6ea7a07 +2025-06-10 00:08:35,723 - robotics.core - INFO - Consumer consumer_4395816800 joined room f2920a63-f017-4b11-ae2a-a6d1c6ea7a07 +2025-06-10 00:08:35,725 - robotics.core - INFO - Consumer consumer_4395813728 joined room f2920a63-f017-4b11-ae2a-a6d1c6ea7a07 +2025-06-10 00:08:35,726 - robotics.core - INFO - Consumer consumer_4395816800 left room f2920a63-f017-4b11-ae2a-a6d1c6ea7a07 +2025-06-10 00:08:35,727 - robotics.core - INFO - Consumer consumer_4395813728 left room f2920a63-f017-4b11-ae2a-a6d1c6ea7a07 +2025-06-10 00:08:35,729 - robotics.core - INFO - Deleted room f2920a63-f017-4b11-ae2a-a6d1c6ea7a07 +2025-06-10 00:08:35,737 - robotics.core - INFO - Created room be0b8be8-5e5b-43f1-b703-dccaad904b44 +2025-06-10 00:08:35,742 - robotics.core - INFO - Producer producer_4395823568 joined room be0b8be8-5e5b-43f1-b703-dccaad904b44 +2025-06-10 00:08:35,746 - robotics.core - INFO - Consumer consumer_4395822608 joined room be0b8be8-5e5b-43f1-b703-dccaad904b44 +2025-06-10 00:08:36,052 - robotics.core - INFO - Consumer consumer_4395822608 left room be0b8be8-5e5b-43f1-b703-dccaad904b44 +2025-06-10 00:08:36,053 - robotics.core - INFO - Producer producer_4395823568 left room be0b8be8-5e5b-43f1-b703-dccaad904b44 +2025-06-10 00:08:36,053 - robotics.core - INFO - Deleted room be0b8be8-5e5b-43f1-b703-dccaad904b44 +2025-06-10 00:08:36,058 - robotics.core - INFO - Created room 31c08dac-2ce4-454a-b68e-af4d9d33780c +2025-06-10 00:08:36,063 - robotics.core - INFO - Producer producer_4395812624 joined room 31c08dac-2ce4-454a-b68e-af4d9d33780c +2025-06-10 00:08:36,067 - robotics.core - INFO - Consumer consumer_4395815456 joined room 31c08dac-2ce4-454a-b68e-af4d9d33780c +2025-06-10 00:08:36,372 - robotics.core - INFO - Consumer consumer_4395815456 left room 31c08dac-2ce4-454a-b68e-af4d9d33780c +2025-06-10 00:08:36,373 - robotics.core - INFO - Producer producer_4395812624 left room 31c08dac-2ce4-454a-b68e-af4d9d33780c +2025-06-10 00:08:36,373 - robotics.core - INFO - Deleted room 31c08dac-2ce4-454a-b68e-af4d9d33780c +2025-06-10 00:08:36,377 - robotics.core - INFO - Created room ee3fb0e6-3a02-4ef8-bb18-99a049499ba7 +2025-06-10 00:08:36,382 - robotics.core - INFO - Producer producer_4395822224 joined room ee3fb0e6-3a02-4ef8-bb18-99a049499ba7 +2025-06-10 00:08:36,385 - robotics.core - INFO - Consumer consumer_4395816800 joined room ee3fb0e6-3a02-4ef8-bb18-99a049499ba7 +2025-06-10 00:08:37,054 - robotics.core - INFO - Consumer consumer_4395816800 left room ee3fb0e6-3a02-4ef8-bb18-99a049499ba7 +2025-06-10 00:08:37,054 - robotics.core - INFO - Producer producer_4395822224 left room ee3fb0e6-3a02-4ef8-bb18-99a049499ba7 +2025-06-10 00:08:37,054 - robotics.core - INFO - Deleted room ee3fb0e6-3a02-4ef8-bb18-99a049499ba7 +2025-06-10 00:08:37,059 - robotics.core - INFO - Created room 02b73f9b-f52f-420e-a2e9-d07d3519c269 +2025-06-10 00:08:37,064 - robotics.core - INFO - Producer producer_4395824288 joined room 02b73f9b-f52f-420e-a2e9-d07d3519c269 +2025-06-10 00:08:37,067 - robotics.core - INFO - Consumer consumer_4395822944 joined room 02b73f9b-f52f-420e-a2e9-d07d3519c269 +2025-06-10 00:08:37,170 - robotics.core - WARNING - ๐Ÿšจ Emergency stop triggered by producer_4395824288 in room 02b73f9b-f52f-420e-a2e9-d07d3519c269 +2025-06-10 00:08:37,380 - robotics.core - INFO - Consumer consumer_4395822944 left room 02b73f9b-f52f-420e-a2e9-d07d3519c269 +2025-06-10 00:08:37,380 - robotics.core - INFO - Producer producer_4395824288 left room 02b73f9b-f52f-420e-a2e9-d07d3519c269 +2025-06-10 00:08:37,380 - robotics.core - INFO - Deleted room 02b73f9b-f52f-420e-a2e9-d07d3519c269 +2025-06-10 00:08:37,386 - robotics.core - INFO - Created room ee305307-01f3-4575-8e5b-f07f888cc017 +2025-06-10 00:08:37,391 - robotics.core - INFO - Consumer custom-consumer-456 joined room ee305307-01f3-4575-8e5b-f07f888cc017 +2025-06-10 00:08:37,394 - robotics.core - INFO - Consumer custom-consumer-456 left room ee305307-01f3-4575-8e5b-f07f888cc017 +2025-06-10 00:08:37,394 - robotics.core - INFO - Deleted room ee305307-01f3-4575-8e5b-f07f888cc017 +2025-06-10 00:08:37,399 - robotics.core - INFO - Created room 00c6c7a0-507f-4d68-843e-5b870991a212 +2025-06-10 00:08:37,404 - robotics.core - INFO - Consumer consumer_4395944896 joined room 00c6c7a0-507f-4d68-843e-5b870991a212 +2025-06-10 00:08:37,408 - robotics.core - INFO - Consumer consumer_4395944896 left room 00c6c7a0-507f-4d68-843e-5b870991a212 +2025-06-10 00:08:37,410 - robotics.core - INFO - Deleted room 00c6c7a0-507f-4d68-843e-5b870991a212 +2025-06-10 00:08:37,416 - robotics.core - INFO - Created room 1e9ad0bd-157e-4828-8d89-ccf2044786a9 +2025-06-10 00:08:37,421 - robotics.core - INFO - Consumer consumer_4395823040 joined room 1e9ad0bd-157e-4828-8d89-ccf2044786a9 +2025-06-10 00:08:37,422 - robotics.core - INFO - Consumer consumer_4395823040 left room 1e9ad0bd-157e-4828-8d89-ccf2044786a9 +2025-06-10 00:08:37,426 - robotics.core - INFO - Consumer consumer_4395823040 joined room 1e9ad0bd-157e-4828-8d89-ccf2044786a9 +2025-06-10 00:08:37,429 - robotics.core - INFO - Consumer consumer_4395823040 left room 1e9ad0bd-157e-4828-8d89-ccf2044786a9 +2025-06-10 00:08:37,429 - robotics.core - INFO - Deleted room 1e9ad0bd-157e-4828-8d89-ccf2044786a9 +2025-06-10 00:08:37,435 - robotics.core - INFO - Created room 59f1fcaa-0a93-4282-aec4-b2cdc39d51ac +2025-06-10 00:08:37,439 - robotics.core - INFO - Producer producer_4395950992 joined room 59f1fcaa-0a93-4282-aec4-b2cdc39d51ac +2025-06-10 00:08:37,442 - robotics.core - INFO - Consumer consumer_4395944272 joined room 59f1fcaa-0a93-4282-aec4-b2cdc39d51ac +2025-06-10 00:08:37,751 - robotics.core - INFO - Consumer consumer_4395944272 left room 59f1fcaa-0a93-4282-aec4-b2cdc39d51ac +2025-06-10 00:08:37,751 - robotics.core - INFO - Producer producer_4395950992 left room 59f1fcaa-0a93-4282-aec4-b2cdc39d51ac +2025-06-10 00:08:37,751 - robotics.core - INFO - Deleted room 59f1fcaa-0a93-4282-aec4-b2cdc39d51ac +2025-06-10 00:08:37,758 - robotics.core - INFO - Created room 7c84b35a-5881-4f25-9760-a1fd262db25b +2025-06-10 00:08:37,762 - robotics.core - INFO - Producer producer_4395945568 joined room 7c84b35a-5881-4f25-9760-a1fd262db25b +2025-06-10 00:08:37,763 - robotics.core - INFO - Producer producer_4395945568 left room 7c84b35a-5881-4f25-9760-a1fd262db25b +2025-06-10 00:08:37,766 - robotics.core - INFO - Deleted room 7c84b35a-5881-4f25-9760-a1fd262db25b +2025-06-10 00:08:37,770 - robotics.core - INFO - Created room 33d9d337-2bb0-4e92-afb4-c649eeaa13a6 +2025-06-10 00:08:37,775 - robotics.core - INFO - Producer producer_4395821168 joined room 33d9d337-2bb0-4e92-afb4-c649eeaa13a6 +2025-06-10 00:08:37,776 - robotics.core - INFO - Producer producer_4395821168 left room 33d9d337-2bb0-4e92-afb4-c649eeaa13a6 +2025-06-10 00:08:37,778 - robotics.core - INFO - Deleted room 33d9d337-2bb0-4e92-afb4-c649eeaa13a6 +2025-06-10 00:08:37,783 - robotics.core - INFO - Created room 6f92b06a-a45c-47db-ba49-aa01a791c17a +2025-06-10 00:08:37,789 - robotics.core - INFO - Consumer consumer_4395956656 joined room 6f92b06a-a45c-47db-ba49-aa01a791c17a +2025-06-10 00:08:37,793 - robotics.core - INFO - Consumer consumer_4395956656 left room 6f92b06a-a45c-47db-ba49-aa01a791c17a +2025-06-10 00:08:37,796 - robotics.core - INFO - Deleted room 6f92b06a-a45c-47db-ba49-aa01a791c17a +2025-06-10 00:08:37,802 - robotics.core - INFO - Created room eb810dad-06ca-4fe7-8479-a4b81dc40b33 +2025-06-10 00:08:37,807 - robotics.core - INFO - Producer producer_4395947536 joined room eb810dad-06ca-4fe7-8479-a4b81dc40b33 +2025-06-10 00:08:37,813 - robotics.core - INFO - Consumer consumer_4395948400 joined room eb810dad-06ca-4fe7-8479-a4b81dc40b33 +2025-06-10 00:08:38,117 - robotics.core - INFO - Consumer consumer_4395948400 left room eb810dad-06ca-4fe7-8479-a4b81dc40b33 +2025-06-10 00:08:38,117 - robotics.core - INFO - Producer producer_4395947536 left room eb810dad-06ca-4fe7-8479-a4b81dc40b33 +2025-06-10 00:08:38,120 - robotics.core - INFO - Deleted room eb810dad-06ca-4fe7-8479-a4b81dc40b33 +2025-06-10 00:08:38,124 - robotics.core - INFO - Created room 7ed5ba06-576a-4825-b747-92eb2e5cec69 +2025-06-10 00:08:38,129 - robotics.core - INFO - Producer producer_4395953728 joined room 7ed5ba06-576a-4825-b747-92eb2e5cec69 +2025-06-10 00:08:38,134 - robotics.core - INFO - Consumer consumer_4396236928 joined room 7ed5ba06-576a-4825-b747-92eb2e5cec69 +2025-06-10 00:08:38,134 - robotics.core - INFO - Consumer consumer_4396236928 left room 7ed5ba06-576a-4825-b747-92eb2e5cec69 +2025-06-10 00:08:38,135 - robotics.core - INFO - Producer producer_4395953728 left room 7ed5ba06-576a-4825-b747-92eb2e5cec69 +2025-06-10 00:08:38,137 - robotics.core - INFO - Deleted room 7ed5ba06-576a-4825-b747-92eb2e5cec69 +2025-06-10 00:08:38,141 - robotics.core - INFO - Created room 10b763d1-9507-4957-9131-d55226de4be9 +2025-06-10 00:08:38,144 - robotics.core - INFO - Producer producer_4395821696 joined room 10b763d1-9507-4957-9131-d55226de4be9 +2025-06-10 00:08:38,147 - robotics.core - INFO - Created room 62cc4ba6-5ef5-4a1e-accb-ca4e8b24f4b0 +2025-06-10 00:08:38,151 - robotics.core - INFO - Producer producer_4395951040 joined room 62cc4ba6-5ef5-4a1e-accb-ca4e8b24f4b0 +2025-06-10 00:08:38,152 - robotics.core - INFO - Producer producer_4395821696 left room 10b763d1-9507-4957-9131-d55226de4be9 +2025-06-10 00:08:38,152 - robotics.core - INFO - Producer producer_4395951040 left room 62cc4ba6-5ef5-4a1e-accb-ca4e8b24f4b0 +2025-06-10 00:08:38,154 - robotics.core - INFO - Deleted room 10b763d1-9507-4957-9131-d55226de4be9 +2025-06-10 00:08:38,157 - robotics.core - INFO - Deleted room 62cc4ba6-5ef5-4a1e-accb-ca4e8b24f4b0 +2025-06-10 00:08:38,168 - robotics.core - INFO - Created room 0565ca52-dffa-477e-9bf7-a9dbad0b4d4b +2025-06-10 00:08:38,173 - robotics.core - INFO - Producer producer_4396241152 joined room 0565ca52-dffa-477e-9bf7-a9dbad0b4d4b +2025-06-10 00:08:38,174 - robotics.core - INFO - Producer producer_4396241152 left room 0565ca52-dffa-477e-9bf7-a9dbad0b4d4b +2025-06-10 00:08:38,176 - robotics.core - INFO - Deleted room 0565ca52-dffa-477e-9bf7-a9dbad0b4d4b +2025-06-10 00:08:38,180 - robotics.core - INFO - Created room 1c93df9f-51c1-42d4-ae0c-b23722f9555e +2025-06-10 00:08:38,184 - robotics.core - INFO - Producer producer_4395948976 joined room 1c93df9f-51c1-42d4-ae0c-b23722f9555e +2025-06-10 00:08:38,188 - robotics.core - INFO - Producer producer_4395948976 left room 1c93df9f-51c1-42d4-ae0c-b23722f9555e +2025-06-10 00:08:38,188 - robotics.core - INFO - Deleted room 1c93df9f-51c1-42d4-ae0c-b23722f9555e +2025-06-10 00:08:38,192 - robotics.core - INFO - Created room 627b97ab-e3af-4d34-86f7-1464a1583e84 +2025-06-10 00:08:38,197 - robotics.core - INFO - Producer producer_4395824192 joined room 627b97ab-e3af-4d34-86f7-1464a1583e84 +2025-06-10 00:08:38,201 - robotics.core - INFO - Producer producer_4395824192 left room 627b97ab-e3af-4d34-86f7-1464a1583e84 +2025-06-10 00:08:38,202 - robotics.core - INFO - Deleted room 627b97ab-e3af-4d34-86f7-1464a1583e84 +2025-06-10 00:08:38,206 - robotics.core - INFO - Created room 56775292-4278-490e-b518-2dbca8b4cb12 +2025-06-10 00:08:38,210 - robotics.core - INFO - Producer producer_4395956560 joined room 56775292-4278-490e-b518-2dbca8b4cb12 +2025-06-10 00:08:38,214 - robotics.core - INFO - Producer producer_4395956560 left room 56775292-4278-490e-b518-2dbca8b4cb12 +2025-06-10 00:08:38,214 - robotics.core - INFO - Deleted room 56775292-4278-490e-b518-2dbca8b4cb12 +2025-06-10 00:08:38,219 - robotics.core - INFO - Created room 0954aa9a-6bc8-4f90-97b1-d0ad0feeac23 +2025-06-10 00:08:38,223 - robotics.core - INFO - Producer producer_4395952000 joined room 0954aa9a-6bc8-4f90-97b1-d0ad0feeac23 +2025-06-10 00:08:38,224 - robotics.core - WARNING - ๐Ÿšจ Emergency stop triggered by producer_4395952000 in room 0954aa9a-6bc8-4f90-97b1-d0ad0feeac23 +2025-06-10 00:08:38,225 - robotics.core - WARNING - ๐Ÿšจ Emergency stop triggered by producer_4395952000 in room 0954aa9a-6bc8-4f90-97b1-d0ad0feeac23 +2025-06-10 00:08:38,227 - robotics.core - INFO - Producer producer_4395952000 left room 0954aa9a-6bc8-4f90-97b1-d0ad0feeac23 +2025-06-10 00:08:38,227 - robotics.core - INFO - Deleted room 0954aa9a-6bc8-4f90-97b1-d0ad0feeac23 +2025-06-10 00:08:38,233 - robotics.core - INFO - Created room b2dc232e-77e1-4fd2-93ca-fa863927dad9 +2025-06-10 00:08:38,238 - robotics.core - INFO - Producer producer_4395945376 joined room b2dc232e-77e1-4fd2-93ca-fa863927dad9 +2025-06-10 00:08:38,242 - robotics.core - INFO - Producer producer_4395945376 left room b2dc232e-77e1-4fd2-93ca-fa863927dad9 +2025-06-10 00:08:38,242 - robotics.core - INFO - Deleted room b2dc232e-77e1-4fd2-93ca-fa863927dad9 +2025-06-10 00:08:38,248 - robotics.core - INFO - Created room 5ff31141-3c70-4ca9-8a22-c77e466b568b +2025-06-10 00:08:38,253 - robotics.core - INFO - Producer producer_4395944464 joined room 5ff31141-3c70-4ca9-8a22-c77e466b568b +2025-06-10 00:08:38,355 - robotics.core - INFO - Producer producer_4395944464 left room 5ff31141-3c70-4ca9-8a22-c77e466b568b +2025-06-10 00:08:38,459 - robotics.core - INFO - Deleted room 5ff31141-3c70-4ca9-8a22-c77e466b568b +2025-06-10 00:08:38,465 - robotics.core - INFO - Created room 34accc7c-9b4d-49a9-bc4e-e4c8f500e16c +2025-06-10 00:08:38,470 - robotics.core - INFO - Producer producer_4395955552 joined room 34accc7c-9b4d-49a9-bc4e-e4c8f500e16c +2025-06-10 00:08:38,473 - robotics.core - INFO - Created room a0065ca3-fab1-4cac-85bd-62e5c7f7d79a +2025-06-10 00:08:38,474 - robotics.core - INFO - Producer producer_4395955552 left room 34accc7c-9b4d-49a9-bc4e-e4c8f500e16c +2025-06-10 00:08:38,477 - robotics.core - INFO - Producer producer_4395955552 joined room a0065ca3-fab1-4cac-85bd-62e5c7f7d79a +2025-06-10 00:08:38,478 - robotics.core - INFO - Producer producer_4395955552 left room a0065ca3-fab1-4cac-85bd-62e5c7f7d79a +2025-06-10 00:08:38,479 - robotics.core - INFO - Deleted room a0065ca3-fab1-4cac-85bd-62e5c7f7d79a +2025-06-10 00:08:38,482 - robotics.core - INFO - Deleted room 34accc7c-9b4d-49a9-bc4e-e4c8f500e16c +2025-06-10 00:08:38,488 - robotics.core - INFO - Created room d8f555cb-293e-4f3a-b95f-6e8cd1a22168 +2025-06-10 00:08:38,495 - robotics.core - INFO - Producer producer_4395957568 joined room d8f555cb-293e-4f3a-b95f-6e8cd1a22168 +2025-06-10 00:08:38,498 - robotics.core - INFO - Producer producer_4395957568 left room d8f555cb-293e-4f3a-b95f-6e8cd1a22168 +2025-06-10 00:08:38,500 - robotics.core - INFO - Deleted room d8f555cb-293e-4f3a-b95f-6e8cd1a22168 +2025-06-10 00:08:38,506 - robotics.core - INFO - Created room d09687c4-d225-4ae9-bd7d-784407ab3b19 +2025-06-10 00:08:38,514 - robotics.core - INFO - Producer producer_4395953152 joined room d09687c4-d225-4ae9-bd7d-784407ab3b19 +2025-06-10 00:08:38,519 - robotics.core - WARNING - Producer producer_4395957472 failed to join room d09687c4-d225-4ae9-bd7d-784407ab3b19 - room already has producer producer_4395953152 +2025-06-10 00:08:38,523 - robotics.core - INFO - Producer producer_4395953152 left room d09687c4-d225-4ae9-bd7d-784407ab3b19 +2025-06-10 00:08:38,523 - robotics.core - INFO - Deleted room d09687c4-d225-4ae9-bd7d-784407ab3b19 +2025-06-10 00:08:38,529 - robotics.core - INFO - Created room 5aebbbd8-3210-4d7b-a100-8439e610438a +2025-06-10 00:08:38,534 - robotics.core - INFO - Producer custom-producer-123 joined room 5aebbbd8-3210-4d7b-a100-8439e610438a +2025-06-10 00:08:38,538 - robotics.core - INFO - Producer custom-producer-123 left room 5aebbbd8-3210-4d7b-a100-8439e610438a +2025-06-10 00:08:38,538 - robotics.core - INFO - Deleted room 5aebbbd8-3210-4d7b-a100-8439e610438a +2025-06-10 00:08:38,543 - robotics.core - INFO - Created room 261a6c75-1ecc-498b-9d3e-4d553ee7c54c +2025-06-10 00:08:38,549 - robotics.core - INFO - Producer producer_4395812144 joined room 261a6c75-1ecc-498b-9d3e-4d553ee7c54c +2025-06-10 00:08:38,554 - robotics.core - INFO - Producer producer_4395812144 left room 261a6c75-1ecc-498b-9d3e-4d553ee7c54c +2025-06-10 00:08:38,554 - robotics.core - INFO - Deleted room 261a6c75-1ecc-498b-9d3e-4d553ee7c54c +2025-06-10 00:08:38,560 - robotics.core - INFO - Created room c11505ca-c1f0-48b4-b953-683b1e97f757 +2025-06-10 00:08:38,565 - robotics.core - INFO - Producer producer_4395957472 joined room c11505ca-c1f0-48b4-b953-683b1e97f757 +2025-06-10 00:08:38,679 - robotics.core - INFO - Producer producer_4395957472 left room c11505ca-c1f0-48b4-b953-683b1e97f757 +2025-06-10 00:08:38,679 - robotics.core - INFO - Deleted room c11505ca-c1f0-48b4-b953-683b1e97f757 +2025-06-10 00:08:38,687 - robotics.core - INFO - Created room 85ed86ed-8ea2-46ee-8084-e6a467c85426 +2025-06-10 00:08:38,689 - robotics.core - INFO - Deleted room 85ed86ed-8ea2-46ee-8084-e6a467c85426 +2025-06-10 00:08:38,693 - robotics.core - INFO - Created room test-room-123 +2025-06-10 00:08:38,702 - robotics.core - INFO - Deleted room test-room-123 +2025-06-10 00:08:38,706 - robotics.core - INFO - Created room 96abeb4f-7edc-43d8-bf69-fabf55231750 +2025-06-10 00:08:38,710 - robotics.core - INFO - Deleted room 96abeb4f-7edc-43d8-bf69-fabf55231750 +2025-06-10 00:08:38,715 - robotics.core - INFO - Created room d0b5782d-1075-4c3e-833b-2749848e7887 +2025-06-10 00:08:38,720 - robotics.core - INFO - Deleted room d0b5782d-1075-4c3e-833b-2749848e7887 +2025-06-10 00:08:38,725 - robotics.core - INFO - Created room 1b330068-949c-495d-9358-4d41f84b20cf +2025-06-10 00:08:38,729 - robotics.core - INFO - Deleted room 1b330068-949c-495d-9358-4d41f84b20cf +2025-06-10 00:08:38,734 - robotics.core - INFO - Created room 760fe48b-d44a-4214-8b86-cbeb439171a7 +2025-06-10 00:08:38,738 - robotics.core - INFO - Deleted room 760fe48b-d44a-4214-8b86-cbeb439171a7 +2025-06-10 00:08:38,758 - video.core - INFO - Created video room f51986da-fafd-473b-8569-61f8857a4155 +2025-06-10 00:08:38,761 - video.core - INFO - Deleted video room f51986da-fafd-473b-8569-61f8857a4155 +2025-06-10 00:08:38,765 - video.core - INFO - Created video room 035ce9fb-8e6c-4f6c-a626-8967a991fc5a +2025-06-10 00:08:38,770 - video.core - INFO - Producer producer_4395957232_1749506918 joined video room 035ce9fb-8e6c-4f6c-a626-8967a991fc5a +2025-06-10 00:08:38,773 - video.core - INFO - Deleted video room 035ce9fb-8e6c-4f6c-a626-8967a991fc5a +2025-06-10 00:08:38,778 - video.core - INFO - Created video room f6fb4052-f085-4605-976c-773ae03f2e27 +2025-06-10 00:08:38,783 - video.core - INFO - Producer producer_4396244752_1749506918 joined video room f6fb4052-f085-4605-976c-773ae03f2e27 +2025-06-10 00:08:38,785 - video.core - INFO - Stream started by producer_4396244752_1749506918 in room f6fb4052-f085-4605-976c-773ae03f2e27 +2025-06-10 00:08:38,785 - video.core - INFO - Stream stopped by producer_4396244752_1749506918 in room f6fb4052-f085-4605-976c-773ae03f2e27 +2025-06-10 00:08:38,788 - video.core - INFO - Deleted video room f6fb4052-f085-4605-976c-773ae03f2e27 +2025-06-10 00:08:38,797 - video.core - INFO - Created video room 2675d1aa-2e78-46ed-950b-7570001b262e +2025-06-10 00:08:38,800 - video.core - INFO - Deleted video room 2675d1aa-2e78-46ed-950b-7570001b262e +2025-06-10 00:08:38,805 - video.core - INFO - Created video room 40632896-a092-431f-825b-59aeb22f63db +2025-06-10 00:08:38,811 - video.core - INFO - Deleted video room 40632896-a092-431f-825b-59aeb22f63db +2025-06-10 00:08:38,817 - video.core - INFO - Created video room ffefe22a-032a-498a-86cf-549dc7eca0cd +2025-06-10 00:08:38,825 - video.core - INFO - Deleted video room ffefe22a-032a-498a-86cf-549dc7eca0cd +2025-06-10 00:08:38,830 - video.core - INFO - Created video room fe4bc5da-c819-4bca-adfe-5b8090f98d45 +2025-06-10 00:08:38,835 - video.core - INFO - Producer producer_4396242448_1749506918 joined video room fe4bc5da-c819-4bca-adfe-5b8090f98d45 +2025-06-10 00:08:38,837 - video.core - WARNING - Emergency stop by producer_4396242448_1749506918 in room fe4bc5da-c819-4bca-adfe-5b8090f98d45: Test emergency stop +2025-06-10 00:08:38,839 - video.core - INFO - Deleted video room fe4bc5da-c819-4bca-adfe-5b8090f98d45 +2025-06-10 00:08:38,845 - video.core - INFO - Created video room e3d9dd56-f8ec-4697-a89b-7f57417dfe56 +2025-06-10 00:08:38,850 - video.core - INFO - Producer producer_4396250992_1749506918 joined video room e3d9dd56-f8ec-4697-a89b-7f57417dfe56 +2025-06-10 00:08:38,854 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_4396250992_1749506918 (role: producer) in room e3d9dd56-f8ec-4697-a89b-7f57417dfe56 +2025-06-10 00:08:38,854 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_4396250992_1749506918 to consumer test_consumer_123 +2025-06-10 00:08:38,857 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_4396250992_1749506918 (role: producer) in room e3d9dd56-f8ec-4697-a89b-7f57417dfe56 +2025-06-10 00:08:38,857 - video.core - INFO - Ignoring server WebRTC offer from producer_4396250992_1749506918 - using peer-to-peer +2025-06-10 00:08:38,861 - video.core - INFO - Deleted video room e3d9dd56-f8ec-4697-a89b-7f57417dfe56 +2025-06-10 00:08:38,867 - video.core - INFO - Created video room 6df6b0ff-3edb-4772-aa26-56a2445f06c4 +2025-06-10 00:08:38,871 - video.core - INFO - Producer producer_4396252480_1749506918 joined video room 6df6b0ff-3edb-4772-aa26-56a2445f06c4 +2025-06-10 00:08:38,872 - video.core - INFO - Producer producer_4396252480_1749506918 left video room 6df6b0ff-3edb-4772-aa26-56a2445f06c4 +2025-06-10 00:08:38,874 - video.core - INFO - Deleted video room 6df6b0ff-3edb-4772-aa26-56a2445f06c4 +2025-06-10 00:08:38,879 - video.core - INFO - Created video room 13a4142d-2af6-4016-93e0-dcfd864759d9 +2025-06-10 00:08:38,884 - video.core - INFO - Producer producer_4396435552_1749506918 joined video room 13a4142d-2af6-4016-93e0-dcfd864759d9 +2025-06-10 00:08:38,887 - video.core - INFO - Deleted video room 13a4142d-2af6-4016-93e0-dcfd864759d9 +2025-06-10 00:08:38,892 - video.core - INFO - Created video room 4a13889f-dede-4d9f-b6f2-f44c17b8d214 +2025-06-10 00:08:38,898 - video.core - INFO - Producer producer_4396245376_1749506918 joined video room 4a13889f-dede-4d9f-b6f2-f44c17b8d214 +2025-06-10 00:08:38,899 - video.core - INFO - Producer producer_4396245376_1749506918 left video room 4a13889f-dede-4d9f-b6f2-f44c17b8d214 +2025-06-10 00:08:38,901 - video.core - INFO - Deleted video room 4a13889f-dede-4d9f-b6f2-f44c17b8d214 +2025-06-10 00:12:40,132 - video.core - INFO - Created video room 3e8c43e8-de5d-417f-b37a-c1f1fa3f5f3f +2025-06-10 00:12:40,150 - video.core - INFO - Producer producer_4341677376_1749507160 joined video room 3e8c43e8-de5d-417f-b37a-c1f1fa3f5f3f +2025-06-10 00:12:40,176 - video.core - INFO - Consumer consumer_4342147760_1749507160 joined video room 3e8c43e8-de5d-417f-b37a-c1f1fa3f5f3f +2025-06-10 00:12:40,181 - video.core - INFO - Stream started by producer_4341677376_1749507160 in room 3e8c43e8-de5d-417f-b37a-c1f1fa3f5f3f +2025-06-10 00:12:40,181 - video.core - INFO - Unhandled message type frame_update from producer_4341677376_1749507160 +2025-06-10 00:12:40,203 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_4341677376_1749507160 (role: producer) in room 3e8c43e8-de5d-417f-b37a-c1f1fa3f5f3f +2025-06-10 00:12:40,206 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_4341677376_1749507160 to consumer consumer_4342147760_1749507160 +2025-06-10 00:12:40,231 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_4342147760_1749507160 (role: consumer) in room 3e8c43e8-de5d-417f-b37a-c1f1fa3f5f3f +2025-06-10 00:12:40,231 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_4342147760_1749507160 to producer producer_4341677376_1749507160 +2025-06-10 00:12:40,685 - video.core - INFO - Unhandled message type frame_update from producer_4341677376_1749507160 +2025-06-10 00:12:41,202 - video.core - INFO - Unhandled message type frame_update from producer_4341677376_1749507160 +2025-06-10 00:12:41,733 - video.core - INFO - Stream stopped by producer_4341677376_1749507160 in room 3e8c43e8-de5d-417f-b37a-c1f1fa3f5f3f +2025-06-10 00:12:41,757 - video.core - INFO - Producer producer_4341677376_1749507160 left video room 3e8c43e8-de5d-417f-b37a-c1f1fa3f5f3f +2025-06-10 00:12:41,786 - video.core - INFO - Consumer consumer_4342147760_1749507160 left video room 3e8c43e8-de5d-417f-b37a-c1f1fa3f5f3f +2025-06-10 00:12:41,841 - video.core - INFO - Deleted video room 3e8c43e8-de5d-417f-b37a-c1f1fa3f5f3f +2025-06-10 00:12:43,265 - video.core - INFO - Consumer consumer_1749507162339 joined video room act-session-fd646f01-camera +2025-06-10 00:12:50,108 - video.core - INFO - Consumer consumer_1749507162339 left video room act-session-fd646f01-camera +2025-06-10 00:17:59,342 - video.core - INFO - Deleted video room act-session-fd646f01-camera +2025-06-10 00:22:35,054 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-10 00:36:39,038 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-10 00:37:31,266 - video.core - INFO - Created video room 0092fd99-faa5-4043-b1fa-5cd457ce276a +2025-06-10 00:37:31,382 - video.core - INFO - Producer producer_1749508651_3344 joined video room 0092fd99-faa5-4043-b1fa-5cd457ce276a +2025-06-10 00:37:35,670 - video.core - INFO - Created video room 7c3b19e0-cadc-48ce-9d4a-4e940c475940 +2025-06-10 00:37:35,775 - video.core - INFO - Producer producer_1749508655_1760 joined video room 7c3b19e0-cadc-48ce-9d4a-4e940c475940 +2025-06-10 00:37:35,983 - video.core - INFO - Consumer consumer_1749508655183 joined video room 0092fd99-faa5-4043-b1fa-5cd457ce276a +2025-06-10 00:37:36,387 - video.core - INFO - Producer producer_1749508651_3344 left video room 0092fd99-faa5-4043-b1fa-5cd457ce276a +2025-06-10 00:37:36,448 - video.core - INFO - Consumer consumer_1749508655183 left video room 0092fd99-faa5-4043-b1fa-5cd457ce276a +2025-06-10 00:37:39,515 - video.core - INFO - Consumer consumer_1749508658880 joined video room 7c3b19e0-cadc-48ce-9d4a-4e940c475940 +2025-06-10 00:37:40,862 - video.core - INFO - Producer producer_1749508655_1760 left video room 7c3b19e0-cadc-48ce-9d4a-4e940c475940 +2025-06-10 00:38:00,818 - video.core - INFO - Consumer consumer_1749508658880 left video room 7c3b19e0-cadc-48ce-9d4a-4e940c475940 +2025-06-10 00:38:05,058 - video.core - INFO - Created video room webcam +2025-06-10 00:38:09,857 - video.core - INFO - Producer producer_1749508688088 joined video room webcam +2025-06-10 00:38:16,699 - video.core - INFO - Stream started by producer_1749508688088 in room webcam +2025-06-10 00:38:51,179 - video.core - INFO - Producer producer_1749508688088 left video room webcam +2025-06-10 00:39:05,416 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-10 00:39:19,291 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-10 00:40:20,683 - video.core - INFO - Created video room webcam +2025-06-10 00:40:22,953 - video.core - INFO - Producer producer_1749508822270 joined video room webcam +2025-06-10 00:40:25,299 - video.core - INFO - Stream started by producer_1749508822270 in room webcam +2025-06-10 00:41:24,832 - video.core - INFO - Created video room 5c10bcdf-88c3-4597-8731-80ecfc71d9d2 +2025-06-10 00:41:24,883 - video.core - INFO - Producer producer_1749508884_6912 joined video room 5c10bcdf-88c3-4597-8731-80ecfc71d9d2 +2025-06-10 00:41:29,937 - video.core - INFO - Producer producer_1749508884_6912 left video room 5c10bcdf-88c3-4597-8731-80ecfc71d9d2 +2025-06-10 00:42:04,670 - video.core - INFO - Created video room 4b98d874-047e-4906-80bb-084965696352 +2025-06-10 00:42:04,703 - video.core - INFO - Producer producer_1749508924_6240 joined video room 4b98d874-047e-4906-80bb-084965696352 +2025-06-10 00:42:10,015 - video.core - INFO - Producer producer_1749508924_6240 left video room 4b98d874-047e-4906-80bb-084965696352 +2025-06-10 00:42:13,990 - video.core - INFO - Consumer consumer_1749508933453 joined video room 5c10bcdf-88c3-4597-8731-80ecfc71d9d2 +2025-06-10 00:42:14,698 - video.core - INFO - Consumer consumer_1749508933518 joined video room 4b98d874-047e-4906-80bb-084965696352 +2025-06-10 00:42:20,657 - video.core - INFO - Consumer consumer_1749508933453 left video room 5c10bcdf-88c3-4597-8731-80ecfc71d9d2 +2025-06-10 00:42:20,711 - video.core - INFO - Consumer consumer_1749508933518 left video room 4b98d874-047e-4906-80bb-084965696352 +2025-06-10 00:42:50,953 - video.core - INFO - Consumer consumer_1749508970_6912 joined video room webcam +2025-06-10 00:42:50,998 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749508822270 (role: producer) in room webcam +2025-06-10 00:42:50,998 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749508822270 to consumer consumer_1749508970_6912 +2025-06-10 00:42:51,000 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749508822270 (role: producer) in room webcam +2025-06-10 00:42:51,027 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749508822270 (role: producer) in room webcam +2025-06-10 00:42:51,103 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749508822270 (role: producer) in room webcam +2025-06-10 00:42:56,011 - video.core - INFO - Consumer consumer_1749508970_6912 left video room webcam +2025-06-10 00:46:18,417 - video.core - INFO - Created video room 60513a9f-45d2-4d72-89cf-744fff7a0f7d +2025-06-10 00:46:28,276 - video.core - INFO - Created video room bf689eee-8394-4364-95ba-a40230b6a642 +2025-06-10 00:46:28,376 - video.core - INFO - Producer producer_1749509188_2576 joined video room bf689eee-8394-4364-95ba-a40230b6a642 +2025-06-10 00:46:33,671 - video.core - INFO - Producer producer_1749509188_2576 left video room bf689eee-8394-4364-95ba-a40230b6a642 +2025-06-10 00:46:35,392 - video.core - INFO - Consumer consumer_1749509194998 joined video room bf689eee-8394-4364-95ba-a40230b6a642 +2025-06-10 00:46:37,069 - video.core - INFO - Consumer consumer_1749509195018 joined video room 60513a9f-45d2-4d72-89cf-744fff7a0f7d +2025-06-10 00:46:37,712 - video.core - INFO - Consumer consumer_1749509194913 joined video room 4b98d874-047e-4906-80bb-084965696352 +2025-06-10 00:46:38,469 - video.core - INFO - Consumer consumer_1749509194832 joined video room 5c10bcdf-88c3-4597-8731-80ecfc71d9d2 +2025-06-10 00:46:42,905 - video.core - INFO - Consumer consumer_1749509202_2496 joined video room webcam +2025-06-10 00:46:42,917 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749508822270 (role: producer) in room webcam +2025-06-10 00:46:42,918 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749508822270 to consumer consumer_1749509202_2496 +2025-06-10 00:46:47,970 - video.core - INFO - Consumer consumer_1749509202_2496 left video room webcam +2025-06-10 00:47:24,915 - video.core - INFO - Consumer consumer_1749509244_9184 joined video room webcam +2025-06-10 00:47:24,930 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749508822270 (role: producer) in room webcam +2025-06-10 00:47:24,930 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749508822270 to consumer consumer_1749509244_9184 +2025-06-10 00:47:25,008 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749509244_9184 (role: consumer) in room webcam +2025-06-10 00:47:25,009 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749509244_9184 to producer producer_1749508822270 +2025-06-10 00:47:30,003 - video.core - INFO - Consumer consumer_1749509244_9184 left video room webcam +2025-06-10 00:47:43,652 - video.core - INFO - Created video room 2f3f15f6-be8a-4845-8078-a461688e725b +2025-06-10 00:47:43,749 - video.core - INFO - Producer producer_1749509263_6176 joined video room 2f3f15f6-be8a-4845-8078-a461688e725b +2025-06-10 00:47:48,878 - video.core - INFO - Producer producer_1749509263_6176 left video room 2f3f15f6-be8a-4845-8078-a461688e725b +2025-06-10 00:47:55,357 - video.core - INFO - Consumer consumer_1749509274724 joined video room 2f3f15f6-be8a-4845-8078-a461688e725b +2025-06-10 00:49:18,601 - video.core - INFO - Created video room 07c2f95b-830a-49ee-9064-8b60878dcc86 +2025-06-10 00:49:18,633 - video.core - INFO - Producer producer_1749509358_6528 joined video room 07c2f95b-830a-49ee-9064-8b60878dcc86 +2025-06-10 00:49:23,641 - video.core - INFO - Producer producer_1749509358_6528 left video room 07c2f95b-830a-49ee-9064-8b60878dcc86 +2025-06-10 00:49:33,350 - video.core - INFO - Consumer consumer_1749509373_5680 joined video room webcam +2025-06-10 00:49:33,368 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749508822270 (role: producer) in room webcam +2025-06-10 00:49:33,368 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749508822270 to consumer consumer_1749509373_5680 +2025-06-10 00:49:33,457 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749509373_5680 (role: consumer) in room webcam +2025-06-10 00:49:33,457 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749509373_5680 to producer producer_1749508822270 +2025-06-10 00:49:38,405 - video.core - INFO - Consumer consumer_1749509373_5680 left video room webcam +2025-06-10 00:49:50,267 - video.core - INFO - Created video room 59a55689-eaf3-48fe-90a1-87e0dd2fd0e9 +2025-06-10 00:50:33,002 - video.core - INFO - Created video room 05193649-cff0-4c79-9d76-c6fded922759 +2025-06-10 00:50:49,167 - video.core - INFO - Consumer consumer_1749509449_3728 joined video room webcam +2025-06-10 00:50:49,179 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749508822270 (role: producer) in room webcam +2025-06-10 00:50:49,179 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749508822270 to consumer consumer_1749509449_3728 +2025-06-10 00:50:49,235 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749509449_3728 (role: consumer) in room webcam +2025-06-10 00:50:49,236 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749509449_3728 to producer producer_1749508822270 +2025-06-10 00:50:54,206 - video.core - INFO - Consumer consumer_1749509449_3728 left video room webcam +2025-06-10 00:51:45,782 - video.core - INFO - Created video room 7d1979fb-362a-4b49-b630-03a547fccf36 +2025-06-10 00:51:45,813 - video.core - INFO - Producer producer_1749509505_5328 joined video room 7d1979fb-362a-4b49-b630-03a547fccf36 +2025-06-10 00:51:50,925 - video.core - INFO - Producer producer_1749509505_5328 left video room 7d1979fb-362a-4b49-b630-03a547fccf36 +2025-06-10 00:51:56,732 - video.core - INFO - Consumer consumer_1749509194832 left video room 5c10bcdf-88c3-4597-8731-80ecfc71d9d2 +2025-06-10 00:51:58,412 - video.core - INFO - Consumer consumer_1749509194913 left video room 4b98d874-047e-4906-80bb-084965696352 +2025-06-10 00:51:59,160 - video.core - INFO - Consumer consumer_1749509195018 left video room 60513a9f-45d2-4d72-89cf-744fff7a0f7d +2025-06-10 00:51:59,662 - video.core - INFO - Consumer consumer_1749509194998 left video room bf689eee-8394-4364-95ba-a40230b6a642 +2025-06-10 00:52:00,120 - video.core - INFO - Consumer consumer_1749509274724 left video room 2f3f15f6-be8a-4845-8078-a461688e725b +2025-06-10 00:52:02,348 - video.core - INFO - Deleted video room 5c10bcdf-88c3-4597-8731-80ecfc71d9d2 +2025-06-10 00:52:02,931 - video.core - INFO - Deleted video room 4b98d874-047e-4906-80bb-084965696352 +2025-06-10 00:52:04,054 - video.core - INFO - Deleted video room 60513a9f-45d2-4d72-89cf-744fff7a0f7d +2025-06-10 00:52:04,690 - video.core - INFO - Deleted video room bf689eee-8394-4364-95ba-a40230b6a642 +2025-06-10 00:52:05,176 - video.core - INFO - Deleted video room 2f3f15f6-be8a-4845-8078-a461688e725b +2025-06-10 00:52:05,844 - video.core - INFO - Deleted video room 07c2f95b-830a-49ee-9064-8b60878dcc86 +2025-06-10 00:52:06,492 - video.core - INFO - Deleted video room 59a55689-eaf3-48fe-90a1-87e0dd2fd0e9 +2025-06-10 00:52:07,656 - video.core - INFO - Deleted video room 05193649-cff0-4c79-9d76-c6fded922759 +2025-06-10 00:52:08,598 - video.core - INFO - Deleted video room 7d1979fb-362a-4b49-b630-03a547fccf36 +2025-06-10 00:52:14,153 - video.core - INFO - Created video room 9a9ba40c-1105-4fda-8668-d44f611fb14e +2025-06-10 00:52:14,189 - video.core - INFO - Producer producer_1749509534_6528 joined video room 9a9ba40c-1105-4fda-8668-d44f611fb14e +2025-06-10 00:52:19,256 - video.core - INFO - Producer producer_1749509534_6528 left video room 9a9ba40c-1105-4fda-8668-d44f611fb14e +2025-06-10 00:52:29,082 - video.core - INFO - Consumer consumer_1749509548601 joined video room 9a9ba40c-1105-4fda-8668-d44f611fb14e +2025-06-10 00:54:26,874 - video.core - INFO - Created video room 7c5221e2-1d18-4b1e-b411-7e34c7d95a69 +2025-06-10 00:54:26,916 - video.core - INFO - Producer producer_1749509666_6288 joined video room 7c5221e2-1d18-4b1e-b411-7e34c7d95a69 +2025-06-10 00:54:28,956 - video.core - INFO - Consumer consumer_1749509668_4128 joined video room 7c5221e2-1d18-4b1e-b411-7e34c7d95a69 +2025-06-10 00:54:30,923 - video.core - INFO - Consumer consumer_1749509548601 left video room 9a9ba40c-1105-4fda-8668-d44f611fb14e +2025-06-10 00:54:31,974 - video.core - INFO - Producer producer_1749509666_6288 left video room 7c5221e2-1d18-4b1e-b411-7e34c7d95a69 +2025-06-10 00:54:34,005 - video.core - INFO - Consumer consumer_1749509668_4128 left video room 7c5221e2-1d18-4b1e-b411-7e34c7d95a69 +2025-06-10 00:54:34,168 - video.core - INFO - Consumer consumer_1749509673589 joined video room 7c5221e2-1d18-4b1e-b411-7e34c7d95a69 +2025-06-10 00:54:52,358 - video.core - INFO - Consumer consumer_1749509673589 left video room 7c5221e2-1d18-4b1e-b411-7e34c7d95a69 +2025-06-10 00:55:09,417 - video.core - INFO - Created video room 0925c171-ba2b-429b-bf6a-1cea8f194c23 +2025-06-10 00:55:09,479 - video.core - INFO - Producer producer_1749509709_2976 joined video room 0925c171-ba2b-429b-bf6a-1cea8f194c23 +2025-06-10 00:55:09,981 - video.core - INFO - Producer producer_1749509709_2976 left video room 0925c171-ba2b-429b-bf6a-1cea8f194c23 +2025-06-10 00:55:11,978 - video.core - INFO - Consumer consumer_1749509711_8032 joined video room 0925c171-ba2b-429b-bf6a-1cea8f194c23 +2025-06-10 00:55:12,505 - video.core - INFO - Consumer consumer_1749509711_8032 left video room 0925c171-ba2b-429b-bf6a-1cea8f194c23 +2025-06-10 00:55:17,565 - video.core - INFO - Consumer consumer_1749509716449 joined video room 0925c171-ba2b-429b-bf6a-1cea8f194c23 +2025-06-10 00:55:18,184 - video.core - INFO - Consumer consumer_1749509716540 joined video room 7c5221e2-1d18-4b1e-b411-7e34c7d95a69 +2025-06-10 00:55:18,767 - video.core - INFO - Consumer consumer_1749509716723 joined video room 9a9ba40c-1105-4fda-8668-d44f611fb14e +2025-06-10 00:55:35,020 - video.core - INFO - Consumer consumer_1749509716449 left video room 0925c171-ba2b-429b-bf6a-1cea8f194c23 +2025-06-10 00:55:35,374 - video.core - INFO - Consumer consumer_1749509716540 left video room 7c5221e2-1d18-4b1e-b411-7e34c7d95a69 +2025-06-10 00:55:35,642 - video.core - INFO - Consumer consumer_1749509716723 left video room 9a9ba40c-1105-4fda-8668-d44f611fb14e +2025-06-10 00:55:40,416 - video.core - WARNING - Producer producer_1749509740_368 failed to join room webcam - room already has producer +2025-06-10 00:55:47,648 - video.core - INFO - Consumer consumer_1749509747_9136 joined video room webcam +2025-06-10 00:55:47,660 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749508822270 (role: producer) in room webcam +2025-06-10 00:55:47,661 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749508822270 to consumer consumer_1749509747_9136 +2025-06-10 00:55:47,734 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749509747_9136 (role: consumer) in room webcam +2025-06-10 00:55:47,734 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749509747_9136 to producer producer_1749508822270 +2025-06-10 00:55:48,149 - video.core - INFO - Consumer consumer_1749509747_9136 left video room webcam +2025-06-10 00:56:41,450 - video.core - INFO - Consumer consumer_1749509800_9952 joined video room webcam +2025-06-10 00:56:41,484 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749508822270 (role: producer) in room webcam +2025-06-10 00:56:41,488 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749508822270 to consumer consumer_1749509800_9952 +2025-06-10 00:56:41,648 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749509800_9952 (role: consumer) in room webcam +2025-06-10 00:56:41,649 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749509800_9952 to producer producer_1749508822270 +2025-06-10 00:56:42,382 - video.core - INFO - Consumer consumer_1749509800_9952 left video room webcam +2025-06-10 00:56:56,292 - video.core - INFO - Created video room 07cd3f26-b2eb-4763-9068-0b0831766c71 +2025-06-10 00:56:56,332 - video.core - INFO - Producer producer_1749509816_1824 joined video room 07cd3f26-b2eb-4763-9068-0b0831766c71 +2025-06-10 00:56:56,871 - video.core - INFO - Producer producer_1749509816_1824 left video room 07cd3f26-b2eb-4763-9068-0b0831766c71 +2025-06-10 00:57:07,950 - video.core - INFO - Created video room 9c9e4940-5a6d-463a-a227-c83852bcc30a +2025-06-10 00:57:37,940 - video.core - INFO - Created video room d3a6d20e-87fa-4b93-92f6-9562bfcf72dd +2025-06-10 00:57:37,989 - video.core - INFO - Producer producer_1749509857_3248 joined video room d3a6d20e-87fa-4b93-92f6-9562bfcf72dd +2025-06-10 00:57:38,517 - video.core - INFO - Producer producer_1749509857_3248 left video room d3a6d20e-87fa-4b93-92f6-9562bfcf72dd +2025-06-10 01:00:13,495 - video.core - INFO - Created video room 2f3e3f80-7141-4165-aeca-384a331fca23 +2025-06-10 01:00:13,533 - video.core - INFO - Producer producer_1749510013_7552 joined video room 2f3e3f80-7141-4165-aeca-384a331fca23 +2025-06-10 01:00:14,036 - video.core - INFO - Producer producer_1749510013_7552 left video room 2f3e3f80-7141-4165-aeca-384a331fca23 +2025-06-10 01:00:15,589 - video.core - INFO - Consumer consumer_1749510015_5504 joined video room 2f3e3f80-7141-4165-aeca-384a331fca23 +2025-06-10 01:00:16,105 - video.core - INFO - Consumer consumer_1749510015_5504 left video room 2f3e3f80-7141-4165-aeca-384a331fca23 +2025-06-10 01:00:24,038 - video.core - INFO - Consumer consumer_1749510023692 joined video room 2f3e3f80-7141-4165-aeca-384a331fca23 +2025-06-10 01:00:25,883 - video.core - INFO - Consumer consumer_1749510023692 left video room 2f3e3f80-7141-4165-aeca-384a331fca23 +2025-06-10 01:00:59,568 - video.core - INFO - Created video room 9d900ee4-c9ee-49be-ba8b-e68f300b9c0d +2025-06-10 01:00:59,613 - video.core - INFO - Producer producer_1749510059_3552 joined video room 9d900ee4-c9ee-49be-ba8b-e68f300b9c0d +2025-06-10 01:01:00,114 - video.core - INFO - Producer producer_1749510059_3552 left video room 9d900ee4-c9ee-49be-ba8b-e68f300b9c0d +2025-06-10 01:01:39,309 - video.core - INFO - Created video room 58585006-eea6-4492-8613-5b9dbcd9bf3b +2025-06-10 01:01:39,352 - video.core - INFO - Producer producer_1749510099_2640 joined video room 58585006-eea6-4492-8613-5b9dbcd9bf3b +2025-06-10 01:01:49,229 - video.core - INFO - Consumer consumer_1749510108425 joined video room 58585006-eea6-4492-8613-5b9dbcd9bf3b +2025-06-10 01:01:49,236 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749510099_2640 (role: producer) in room 58585006-eea6-4492-8613-5b9dbcd9bf3b +2025-06-10 01:01:49,243 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749510099_2640 to consumer consumer_1749510108425 +2025-06-10 01:01:49,890 - video.core - INFO - Producer producer_1749510099_2640 left video room 58585006-eea6-4492-8613-5b9dbcd9bf3b +2025-06-10 01:01:54,506 - video.core - INFO - Consumer consumer_1749510108425 left video room 58585006-eea6-4492-8613-5b9dbcd9bf3b +2025-06-10 01:01:59,273 - video.core - INFO - Created video room d9b4546f-7057-40bb-a72b-dc8c76a132f9 +2025-06-10 01:01:59,366 - video.core - INFO - Producer producer_1749510119_6720 joined video room d9b4546f-7057-40bb-a72b-dc8c76a132f9 +2025-06-10 01:01:59,927 - video.core - INFO - Stream started by producer_1749510119_6720 in room d9b4546f-7057-40bb-a72b-dc8c76a132f9 +2025-06-10 01:02:01,378 - video.core - INFO - Consumer consumer_1749510121_32 joined video room d9b4546f-7057-40bb-a72b-dc8c76a132f9 +2025-06-10 01:02:01,552 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749510119_6720 (role: producer) in room d9b4546f-7057-40bb-a72b-dc8c76a132f9 +2025-06-10 01:02:01,553 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749510119_6720 to consumer consumer_1749510121_32 +2025-06-10 01:02:01,614 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749510121_32 (role: consumer) in room d9b4546f-7057-40bb-a72b-dc8c76a132f9 +2025-06-10 01:02:01,614 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749510121_32 to producer producer_1749510119_6720 +2025-06-10 01:02:03,873 - video.core - INFO - Consumer consumer_1749510122977 joined video room d9b4546f-7057-40bb-a72b-dc8c76a132f9 +2025-06-10 01:02:03,892 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749510119_6720 (role: producer) in room d9b4546f-7057-40bb-a72b-dc8c76a132f9 +2025-06-10 01:02:03,892 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749510119_6720 to consumer consumer_1749510122977 +2025-06-10 01:02:03,967 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749510122977 (role: consumer) in room d9b4546f-7057-40bb-a72b-dc8c76a132f9 +2025-06-10 01:02:03,967 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749510122977 to producer producer_1749510119_6720 +2025-06-10 01:02:03,975 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749510122977 (role: consumer) in room d9b4546f-7057-40bb-a72b-dc8c76a132f9 +2025-06-10 01:02:03,999 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749510122977 (role: consumer) in room d9b4546f-7057-40bb-a72b-dc8c76a132f9 +2025-06-10 01:02:04,102 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749510122977 (role: consumer) in room d9b4546f-7057-40bb-a72b-dc8c76a132f9 +2025-06-10 01:02:29,777 - video.core - INFO - Consumer consumer_1749510121_32 left video room d9b4546f-7057-40bb-a72b-dc8c76a132f9 +2025-06-10 01:02:31,895 - video.core - INFO - Stream stopped by producer_1749510119_6720 in room d9b4546f-7057-40bb-a72b-dc8c76a132f9 +2025-06-10 01:02:32,384 - video.core - INFO - Producer producer_1749510119_6720 left video room d9b4546f-7057-40bb-a72b-dc8c76a132f9 +2025-06-10 01:02:42,112 - video.core - INFO - Consumer consumer_1749510122977 left video room d9b4546f-7057-40bb-a72b-dc8c76a132f9 +2025-06-10 01:03:17,064 - video.core - INFO - Created video room 05b6feca-2ab9-4d3e-b756-53fe57bf2d36 +2025-06-10 01:03:17,127 - video.core - INFO - Producer producer_1749510197_8208 joined video room 05b6feca-2ab9-4d3e-b756-53fe57bf2d36 +2025-06-10 01:03:17,690 - video.core - INFO - Stream started by producer_1749510197_8208 in room 05b6feca-2ab9-4d3e-b756-53fe57bf2d36 +2025-06-10 01:03:25,499 - video.core - INFO - Consumer consumer_1749510204517 joined video room 05b6feca-2ab9-4d3e-b756-53fe57bf2d36 +2025-06-10 01:03:25,882 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749510197_8208 (role: producer) in room 05b6feca-2ab9-4d3e-b756-53fe57bf2d36 +2025-06-10 01:03:25,883 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749510197_8208 to consumer consumer_1749510204517 +2025-06-10 01:03:25,967 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749510204517 (role: consumer) in room 05b6feca-2ab9-4d3e-b756-53fe57bf2d36 +2025-06-10 01:03:25,968 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749510204517 to producer producer_1749510197_8208 +2025-06-10 01:03:25,983 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749510204517 (role: consumer) in room 05b6feca-2ab9-4d3e-b756-53fe57bf2d36 +2025-06-10 01:03:26,041 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749510204517 (role: consumer) in room 05b6feca-2ab9-4d3e-b756-53fe57bf2d36 +2025-06-10 01:03:26,057 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749510204517 (role: consumer) in room 05b6feca-2ab9-4d3e-b756-53fe57bf2d36 +2025-06-10 01:03:34,194 - video.core - INFO - Consumer consumer_1749510204517 left video room 05b6feca-2ab9-4d3e-b756-53fe57bf2d36 +2025-06-10 01:03:37,009 - video.core - INFO - Consumer consumer_1749510215967 joined video room 05b6feca-2ab9-4d3e-b756-53fe57bf2d36 +2025-06-10 01:03:37,148 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749510197_8208 (role: producer) in room 05b6feca-2ab9-4d3e-b756-53fe57bf2d36 +2025-06-10 01:03:37,148 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749510197_8208 to consumer consumer_1749510215967 +2025-06-10 01:03:37,172 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749510215967 (role: consumer) in room 05b6feca-2ab9-4d3e-b756-53fe57bf2d36 +2025-06-10 01:03:37,173 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749510215967 to producer producer_1749510197_8208 +2025-06-10 01:03:37,187 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749510215967 (role: consumer) in room 05b6feca-2ab9-4d3e-b756-53fe57bf2d36 +2025-06-10 01:03:37,209 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749510215967 (role: consumer) in room 05b6feca-2ab9-4d3e-b756-53fe57bf2d36 +2025-06-10 01:03:37,306 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749510215967 (role: consumer) in room 05b6feca-2ab9-4d3e-b756-53fe57bf2d36 +2025-06-10 01:03:49,456 - video.core - INFO - Stream stopped by producer_1749510197_8208 in room 05b6feca-2ab9-4d3e-b756-53fe57bf2d36 +2025-06-10 01:03:49,774 - video.core - INFO - Producer producer_1749510197_8208 left video room 05b6feca-2ab9-4d3e-b756-53fe57bf2d36 +2025-06-10 01:04:45,917 - video.core - INFO - Created video room 96853f3e-66f4-43f0-a311-fe1ee7a415d7 +2025-06-10 01:04:45,953 - video.core - INFO - Producer producer_1749510285_1280 joined video room 96853f3e-66f4-43f0-a311-fe1ee7a415d7 +2025-06-10 01:04:46,501 - video.core - INFO - Stream started by producer_1749510285_1280 in room 96853f3e-66f4-43f0-a311-fe1ee7a415d7 +2025-06-10 01:04:47,955 - video.core - INFO - Consumer consumer_1749510287_3856 joined video room 96853f3e-66f4-43f0-a311-fe1ee7a415d7 +2025-06-10 01:04:47,998 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749510285_1280 (role: producer) in room 96853f3e-66f4-43f0-a311-fe1ee7a415d7 +2025-06-10 01:04:47,998 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749510285_1280 to consumer consumer_1749510287_3856 +2025-06-10 01:04:48,027 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749510287_3856 (role: consumer) in room 96853f3e-66f4-43f0-a311-fe1ee7a415d7 +2025-06-10 01:04:48,027 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749510287_3856 to producer producer_1749510285_1280 +2025-06-10 01:04:52,646 - video.core - INFO - Consumer consumer_1749510215967 left video room 05b6feca-2ab9-4d3e-b756-53fe57bf2d36 +2025-06-10 01:04:55,268 - video.core - INFO - Consumer consumer_1749510294466 joined video room 96853f3e-66f4-43f0-a311-fe1ee7a415d7 +2025-06-10 01:04:55,295 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749510285_1280 (role: producer) in room 96853f3e-66f4-43f0-a311-fe1ee7a415d7 +2025-06-10 01:04:55,296 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749510285_1280 to consumer consumer_1749510294466 +2025-06-10 01:04:55,320 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749510294466 (role: consumer) in room 96853f3e-66f4-43f0-a311-fe1ee7a415d7 +2025-06-10 01:04:55,321 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749510294466 to producer producer_1749510285_1280 +2025-06-10 01:04:55,329 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749510294466 (role: consumer) in room 96853f3e-66f4-43f0-a311-fe1ee7a415d7 +2025-06-10 01:04:55,351 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749510294466 (role: consumer) in room 96853f3e-66f4-43f0-a311-fe1ee7a415d7 +2025-06-10 01:04:55,452 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749510294466 (role: consumer) in room 96853f3e-66f4-43f0-a311-fe1ee7a415d7 +2025-06-10 01:05:13,528 - video.core - INFO - Consumer consumer_1749510287_3856 left video room 96853f3e-66f4-43f0-a311-fe1ee7a415d7 +2025-06-10 01:05:15,046 - video.core - INFO - Consumer consumer_1749510294466 left video room 96853f3e-66f4-43f0-a311-fe1ee7a415d7 +2025-06-10 01:05:16,595 - video.core - INFO - Stream stopped by producer_1749510285_1280 in room 96853f3e-66f4-43f0-a311-fe1ee7a415d7 +2025-06-10 01:05:16,596 - video.core - INFO - Producer producer_1749510285_1280 left video room 96853f3e-66f4-43f0-a311-fe1ee7a415d7 +2025-06-10 01:05:16,935 - video.core - INFO - Created video room c2463c10-afae-4ef0-893e-244ca5e6b945 +2025-06-10 01:05:17,038 - video.core - INFO - Producer producer_1749510316_3952 joined video room c2463c10-afae-4ef0-893e-244ca5e6b945 +2025-06-10 01:05:17,573 - video.core - INFO - Stream started by producer_1749510316_3952 in room c2463c10-afae-4ef0-893e-244ca5e6b945 +2025-06-10 01:05:23,028 - video.core - INFO - Consumer consumer_1749510322192 joined video room c2463c10-afae-4ef0-893e-244ca5e6b945 +2025-06-10 01:05:23,081 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749510316_3952 (role: producer) in room c2463c10-afae-4ef0-893e-244ca5e6b945 +2025-06-10 01:05:23,081 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749510316_3952 to consumer consumer_1749510322192 +2025-06-10 01:05:23,109 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749510322192 (role: consumer) in room c2463c10-afae-4ef0-893e-244ca5e6b945 +2025-06-10 01:05:23,110 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749510322192 to producer producer_1749510316_3952 +2025-06-10 01:05:23,128 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749510322192 (role: consumer) in room c2463c10-afae-4ef0-893e-244ca5e6b945 +2025-06-10 01:05:23,135 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749510322192 (role: consumer) in room c2463c10-afae-4ef0-893e-244ca5e6b945 +2025-06-10 01:05:36,163 - video.core - INFO - Producer producer_1749510316_3952 left video room c2463c10-afae-4ef0-893e-244ca5e6b945 +2025-06-10 01:06:14,337 - video.core - INFO - Created video room 7c52a6cb-c31a-49a7-bfc4-f696686141c1 +2025-06-10 01:06:14,366 - video.core - INFO - Producer producer_1749510374_976 joined video room 7c52a6cb-c31a-49a7-bfc4-f696686141c1 +2025-06-10 01:06:14,899 - video.core - INFO - Stream started by producer_1749510374_976 in room 7c52a6cb-c31a-49a7-bfc4-f696686141c1 +2025-06-10 01:06:16,385 - video.core - INFO - Consumer consumer_1749510376_7072 joined video room 7c52a6cb-c31a-49a7-bfc4-f696686141c1 +2025-06-10 01:06:16,426 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749510374_976 (role: producer) in room 7c52a6cb-c31a-49a7-bfc4-f696686141c1 +2025-06-10 01:06:16,426 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749510374_976 to consumer consumer_1749510376_7072 +2025-06-10 01:06:16,453 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749510376_7072 (role: consumer) in room 7c52a6cb-c31a-49a7-bfc4-f696686141c1 +2025-06-10 01:06:16,453 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749510376_7072 to producer producer_1749510374_976 +2025-06-10 01:06:19,485 - video.core - INFO - Consumer consumer_1749510322192 left video room c2463c10-afae-4ef0-893e-244ca5e6b945 +2025-06-10 01:06:21,553 - video.core - INFO - Consumer consumer_1749510380888 joined video room 7c52a6cb-c31a-49a7-bfc4-f696686141c1 +2025-06-10 01:06:21,569 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749510374_976 (role: producer) in room 7c52a6cb-c31a-49a7-bfc4-f696686141c1 +2025-06-10 01:06:21,569 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749510374_976 to consumer consumer_1749510380888 +2025-06-10 01:06:21,602 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749510380888 (role: consumer) in room 7c52a6cb-c31a-49a7-bfc4-f696686141c1 +2025-06-10 01:06:21,602 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749510380888 to producer producer_1749510374_976 +2025-06-10 01:06:21,607 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749510380888 (role: consumer) in room 7c52a6cb-c31a-49a7-bfc4-f696686141c1 +2025-06-10 01:06:21,627 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749510380888 (role: consumer) in room 7c52a6cb-c31a-49a7-bfc4-f696686141c1 +2025-06-10 01:06:21,721 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749510380888 (role: consumer) in room 7c52a6cb-c31a-49a7-bfc4-f696686141c1 +2025-06-10 01:06:42,206 - video.core - INFO - Consumer consumer_1749510376_7072 left video room 7c52a6cb-c31a-49a7-bfc4-f696686141c1 +2025-06-10 01:06:43,669 - video.core - INFO - Consumer consumer_1749510403_5040 joined video room webcam +2025-06-10 01:06:43,686 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749508822270 (role: producer) in room webcam +2025-06-10 01:06:43,686 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749508822270 to consumer consumer_1749510403_5040 +2025-06-10 01:06:43,752 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749510403_5040 (role: consumer) in room webcam +2025-06-10 01:06:43,752 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749510403_5040 to producer producer_1749508822270 +2025-06-10 01:06:45,209 - video.core - INFO - Stream stopped by producer_1749510374_976 in room 7c52a6cb-c31a-49a7-bfc4-f696686141c1 +2025-06-10 01:06:45,210 - video.core - INFO - Producer producer_1749510374_976 left video room 7c52a6cb-c31a-49a7-bfc4-f696686141c1 +2025-06-10 01:06:56,552 - video.core - INFO - Consumer consumer_1749510416_7600 joined video room webcam +2025-06-10 01:06:56,565 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749508822270 (role: producer) in room webcam +2025-06-10 01:06:56,566 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749508822270 to consumer consumer_1749510416_7600 +2025-06-10 01:06:56,624 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749510416_7600 (role: consumer) in room webcam +2025-06-10 01:06:56,627 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749510416_7600 to producer producer_1749508822270 +2025-06-10 01:07:12,076 - video.core - INFO - Consumer consumer_1749510416_7600 left video room webcam +2025-06-10 01:07:42,800 - video.core - INFO - Consumer consumer_1749510403_5040 left video room webcam +2025-06-10 01:08:03,193 - video.core - INFO - Consumer consumer_1749510380888 left video room 7c52a6cb-c31a-49a7-bfc4-f696686141c1 +2025-06-10 01:08:05,960 - video.core - INFO - Created video room db91dcde-9877-45b1-9cca-e3e0cc57a785 +2025-06-10 01:08:06,001 - video.core - INFO - Producer producer_1749510485_5504 joined video room db91dcde-9877-45b1-9cca-e3e0cc57a785 +2025-06-10 01:08:06,551 - video.core - INFO - Stream started by producer_1749510485_5504 in room db91dcde-9877-45b1-9cca-e3e0cc57a785 +2025-06-10 01:08:14,284 - video.core - INFO - Consumer consumer_1749510493621 joined video room db91dcde-9877-45b1-9cca-e3e0cc57a785 +2025-06-10 01:08:14,358 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749510485_5504 (role: producer) in room db91dcde-9877-45b1-9cca-e3e0cc57a785 +2025-06-10 01:08:14,359 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749510485_5504 to consumer consumer_1749510493621 +2025-06-10 01:08:14,382 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749510493621 (role: consumer) in room db91dcde-9877-45b1-9cca-e3e0cc57a785 +2025-06-10 01:08:14,382 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749510493621 to producer producer_1749510485_5504 +2025-06-10 01:08:14,386 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749510493621 (role: consumer) in room db91dcde-9877-45b1-9cca-e3e0cc57a785 +2025-06-10 01:08:14,424 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749510493621 (role: consumer) in room db91dcde-9877-45b1-9cca-e3e0cc57a785 +2025-06-10 01:08:15,832 - video.core - INFO - Producer producer_1749510485_5504 left video room db91dcde-9877-45b1-9cca-e3e0cc57a785 +2025-06-10 01:08:52,812 - video.core - INFO - Consumer consumer_1749510532_7824 joined video room webcam +2025-06-10 01:08:52,837 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749508822270 (role: producer) in room webcam +2025-06-10 01:08:52,837 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749508822270 to consumer consumer_1749510532_7824 +2025-06-10 01:08:52,893 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749510532_7824 (role: consumer) in room webcam +2025-06-10 01:08:52,893 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749510532_7824 to producer producer_1749508822270 +2025-06-10 01:09:04,490 - video.core - INFO - Consumer consumer_1749510532_7824 left video room webcam +2025-06-10 01:09:57,260 - video.core - INFO - Consumer consumer_1749510493621 left video room db91dcde-9877-45b1-9cca-e3e0cc57a785 +2025-06-10 01:11:19,667 - video.core - INFO - Consumer consumer_1749510679_1184 joined video room webcam +2025-06-10 01:11:19,683 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749508822270 (role: producer) in room webcam +2025-06-10 01:11:19,683 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749508822270 to consumer consumer_1749510679_1184 +2025-06-10 01:11:19,756 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749510679_1184 (role: consumer) in room webcam +2025-06-10 01:11:19,756 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749510679_1184 to producer producer_1749508822270 +2025-06-10 01:11:50,172 - video.core - INFO - Consumer consumer_1749510679_1184 left video room webcam +2025-06-10 01:12:31,310 - video.core - INFO - Consumer consumer_1749510750394 joined video room webcam +2025-06-10 01:12:31,369 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749508822270 (role: producer) in room webcam +2025-06-10 01:12:31,369 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749508822270 to consumer consumer_1749510750394 +2025-06-10 01:12:31,572 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749510750394 (role: consumer) in room webcam +2025-06-10 01:12:31,572 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749510750394 to producer producer_1749508822270 +2025-06-10 01:12:31,590 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749510750394 (role: consumer) in room webcam +2025-06-10 01:12:33,330 - video.core - INFO - Consumer consumer_1749510750394 left video room webcam +2025-06-10 01:14:56,268 - video.core - INFO - Consumer consumer_1749510896_3792 joined video room webcam +2025-06-10 01:14:56,289 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749508822270 (role: producer) in room webcam +2025-06-10 01:14:56,290 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749508822270 to consumer consumer_1749510896_3792 +2025-06-10 01:14:56,382 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749510896_3792 (role: consumer) in room webcam +2025-06-10 01:14:56,383 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749510896_3792 to producer producer_1749508822270 +2025-06-10 01:15:11,800 - video.core - INFO - Consumer consumer_1749510896_3792 left video room webcam +2025-06-10 01:15:31,126 - video.core - INFO - Consumer consumer_1749510931_1808 joined video room webcam +2025-06-10 01:15:31,145 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749508822270 (role: producer) in room webcam +2025-06-10 01:15:31,145 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749508822270 to consumer consumer_1749510931_1808 +2025-06-10 01:15:31,194 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749510931_1808 (role: consumer) in room webcam +2025-06-10 01:15:31,195 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749510931_1808 to producer producer_1749508822270 +2025-06-10 01:15:38,038 - video.core - INFO - Consumer consumer_1749510931_1808 left video room webcam +2025-06-10 01:15:44,440 - video.core - INFO - Consumer consumer_1749510944_2784 joined video room webcam +2025-06-10 01:15:44,457 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749508822270 (role: producer) in room webcam +2025-06-10 01:15:44,457 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749508822270 to consumer consumer_1749510944_2784 +2025-06-10 01:15:44,517 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749510944_2784 (role: consumer) in room webcam +2025-06-10 01:15:44,517 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749510944_2784 to producer producer_1749508822270 +2025-06-10 01:15:54,953 - video.core - INFO - Consumer consumer_1749510944_2784 left video room webcam +2025-06-10 01:22:57,921 - video.core - INFO - Consumer consumer_1749511377_9520 joined video room webcam +2025-06-10 01:22:57,935 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749508822270 (role: producer) in room webcam +2025-06-10 01:22:57,935 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749508822270 to consumer consumer_1749511377_9520 +2025-06-10 01:22:58,042 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749511377_9520 (role: consumer) in room webcam +2025-06-10 01:22:58,043 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749511377_9520 to producer producer_1749508822270 +2025-06-10 01:24:07,938 - video.core - INFO - Consumer consumer_1749511377_9520 left video room webcam +2025-06-10 01:25:38,131 - video.core - INFO - Consumer consumer_1749511538_1696 joined video room webcam +2025-06-10 01:25:38,145 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749508822270 (role: producer) in room webcam +2025-06-10 01:25:38,146 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749508822270 to consumer consumer_1749511538_1696 +2025-06-10 01:25:38,190 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749511538_1696 (role: consumer) in room webcam +2025-06-10 01:25:38,190 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749511538_1696 to producer producer_1749508822270 +2025-06-10 01:26:40,152 - video.core - INFO - Consumer consumer_1749511538_1696 left video room webcam +2025-06-10 01:35:39,774 - video.core - INFO - Created video room act-session-b0f0149f-camera +2025-06-10 01:35:39,779 - robotics.core - INFO - Created room act-session-b0f0149f-joint-input +2025-06-10 01:35:39,781 - robotics.core - INFO - Created room act-session-b0f0149f-joint-output +2025-06-10 01:35:41,806 - video.core - INFO - Consumer act-session-b0f0149f-camera-consumer joined video room act-session-b0f0149f-camera +2025-06-10 01:35:42,310 - robotics.core - INFO - Consumer act-session-b0f0149f-joint-input-consumer joined room act-session-b0f0149f-joint-input +2025-06-10 01:35:42,316 - robotics.core - INFO - Producer act-session-b0f0149f-joint-output-producer joined room act-session-b0f0149f-joint-output +2025-06-10 01:35:47,766 - video.core - INFO - Producer producer_1749508822270 left video room webcam +2025-06-10 01:35:51,374 - robotics.core - INFO - Consumer act-session-b0f0149f-joint-input-consumer left room act-session-b0f0149f-joint-input +2025-06-10 01:35:51,374 - video.core - INFO - Consumer act-session-b0f0149f-camera-consumer left video room act-session-b0f0149f-camera +2025-06-10 01:35:51,375 - robotics.core - INFO - Producer act-session-b0f0149f-joint-output-producer left room act-session-b0f0149f-joint-output +2025-06-10 01:36:18,624 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-10 01:36:25,325 - video.core - INFO - Created video room act-session-feff0880-camera +2025-06-10 01:36:25,332 - robotics.core - INFO - Created room act-session-feff0880-joint-input +2025-06-10 01:36:25,338 - robotics.core - INFO - Created room act-session-feff0880-joint-output +2025-06-10 01:36:27,210 - video.core - INFO - Consumer act-session-feff0880-camera-consumer joined video room act-session-feff0880-camera +2025-06-10 01:36:27,715 - robotics.core - INFO - Consumer act-session-feff0880-joint-input-consumer joined room act-session-feff0880-joint-input +2025-06-10 01:36:27,720 - robotics.core - INFO - Producer act-session-feff0880-joint-output-producer joined room act-session-feff0880-joint-output +2025-06-10 01:36:40,229 - video.core - INFO - Producer producer_1749512192973 joined video room act-session-feff0880-camera +2025-06-10 01:36:43,868 - robotics.core - INFO - Producer producer_1749512195846 joined room act-session-feff0880-joint-input +2025-06-10 01:36:45,685 - robotics.core - INFO - Consumer consumer_1749512196573 joined room act-session-feff0880-joint-output +2025-06-10 01:36:50,615 - video.core - INFO - Stream started by producer_1749512192973 in room act-session-feff0880-camera +2025-06-10 01:41:40,110 - robotics.core - INFO - Producer producer_1749512195846 left room act-session-feff0880-joint-input +2025-06-10 01:41:40,112 - robotics.core - INFO - Producer act-session-feff0880-joint-output-producer left room act-session-feff0880-joint-output +2025-06-10 01:41:40,112 - video.core - INFO - Producer producer_1749512192973 left video room act-session-feff0880-camera +2025-06-10 01:41:40,112 - robotics.core - INFO - Consumer consumer_1749512196573 left room act-session-feff0880-joint-output +2025-06-10 01:41:40,112 - video.core - INFO - Consumer act-session-feff0880-camera-consumer left video room act-session-feff0880-camera +2025-06-10 01:41:40,113 - robotics.core - INFO - Consumer act-session-feff0880-joint-input-consumer left room act-session-feff0880-joint-input +2025-06-10 01:41:43,991 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-10 01:53:02,322 - video.core - INFO - Created video room act-session-7aa2fb96-camera +2025-06-10 01:53:02,325 - robotics.core - INFO - Created room act-session-7aa2fb96-joint-input +2025-06-10 01:53:02,327 - robotics.core - INFO - Created room act-session-7aa2fb96-joint-output +2025-06-10 01:54:47,179 - video.core - INFO - Created video room act-session-273b1cea-camera +2025-06-10 01:54:47,183 - robotics.core - INFO - Created room act-session-273b1cea-joint-input +2025-06-10 01:54:47,185 - robotics.core - INFO - Created room act-session-273b1cea-joint-output +2025-06-10 01:54:49,003 - video.core - INFO - Consumer act-session-273b1cea-camera-consumer joined video room act-session-273b1cea-camera +2025-06-10 01:54:49,526 - robotics.core - INFO - Consumer act-session-273b1cea-joint-input-consumer joined room act-session-273b1cea-joint-input +2025-06-10 01:54:49,531 - robotics.core - INFO - Producer act-session-273b1cea-joint-output-producer joined room act-session-273b1cea-joint-output +2025-06-10 01:54:59,881 - robotics.core - INFO - Producer act-session-273b1cea-joint-output-producer left room act-session-273b1cea-joint-output +2025-06-10 01:54:59,881 - video.core - INFO - Consumer act-session-273b1cea-camera-consumer left video room act-session-273b1cea-camera +2025-06-10 01:54:59,882 - robotics.core - INFO - Consumer act-session-273b1cea-joint-input-consumer left room act-session-273b1cea-joint-input +2025-06-10 01:55:04,557 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-10 01:55:13,020 - video.core - INFO - Created video room act-session-d42799e8-camera +2025-06-10 01:55:13,022 - robotics.core - INFO - Created room act-session-d42799e8-joint-input +2025-06-10 01:55:13,023 - robotics.core - INFO - Created room act-session-d42799e8-joint-output +2025-06-10 01:55:15,490 - video.core - INFO - Consumer act-session-d42799e8-camera-consumer joined video room act-session-d42799e8-camera +2025-06-10 01:55:15,997 - robotics.core - INFO - Consumer act-session-d42799e8-joint-input-consumer joined room act-session-d42799e8-joint-input +2025-06-10 01:55:16,007 - robotics.core - INFO - Producer act-session-d42799e8-joint-output-producer joined room act-session-d42799e8-joint-output +2025-06-10 01:55:40,675 - video.core - INFO - Producer producer_1749513330768 joined video room act-session-d42799e8-camera +2025-06-10 01:55:43,443 - video.core - INFO - Stream started by producer_1749513330768 in room act-session-d42799e8-camera +2025-06-10 01:55:44,504 - robotics.core - INFO - Producer producer_1749513338754 joined room act-session-d42799e8-joint-input +2025-06-10 01:55:46,063 - robotics.core - INFO - Consumer consumer_1749513339387 joined room act-session-d42799e8-joint-output +2025-06-10 01:57:59,117 - video.core - INFO - Consumer act-session-d42799e8-camera-consumer left video room act-session-d42799e8-camera +2025-06-10 01:57:59,124 - robotics.core - INFO - Consumer act-session-d42799e8-joint-input-consumer left room act-session-d42799e8-joint-input +2025-06-10 01:57:59,130 - robotics.core - INFO - Producer act-session-d42799e8-joint-output-producer left room act-session-d42799e8-joint-output +2025-06-10 01:58:00,827 - video.core - INFO - Producer producer_1749513330768 left video room act-session-d42799e8-camera +2025-06-10 01:58:00,827 - robotics.core - INFO - Consumer consumer_1749513339387 left room act-session-d42799e8-joint-output +2025-06-10 01:58:00,827 - robotics.core - INFO - Producer producer_1749513338754 left room act-session-d42799e8-joint-input +2025-06-10 01:58:03,320 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-10 01:58:11,387 - video.core - INFO - Created video room act-session-fde89a3c-camera +2025-06-10 01:58:11,392 - robotics.core - INFO - Created room act-session-fde89a3c-joint-input +2025-06-10 01:58:11,395 - robotics.core - INFO - Created room act-session-fde89a3c-joint-output +2025-06-10 01:58:15,253 - video.core - INFO - Consumer act-session-fde89a3c-camera-consumer joined video room act-session-fde89a3c-camera +2025-06-10 01:58:15,759 - robotics.core - INFO - Consumer act-session-fde89a3c-joint-input-consumer joined room act-session-fde89a3c-joint-input +2025-06-10 01:58:15,771 - robotics.core - INFO - Producer act-session-fde89a3c-joint-output-producer joined room act-session-fde89a3c-joint-output +2025-06-10 01:58:18,623 - robotics.core - INFO - Producer producer_1749513497883 joined room act-session-fde89a3c-joint-input +2025-06-10 01:58:19,886 - robotics.core - INFO - Consumer consumer_1749513498058 joined room act-session-fde89a3c-joint-output +2025-06-10 01:58:22,454 - video.core - INFO - Producer producer_1749513501760 joined video room act-session-fde89a3c-camera +2025-06-10 01:58:27,043 - video.core - INFO - Stream started by producer_1749513501760 in room act-session-fde89a3c-camera +2025-06-10 02:00:37,202 - video.core - INFO - Producer producer_1749513501760 left video room act-session-fde89a3c-camera +2025-06-10 02:00:37,204 - robotics.core - INFO - Producer act-session-fde89a3c-joint-output-producer left room act-session-fde89a3c-joint-output +2025-06-10 02:00:37,204 - robotics.core - INFO - Producer producer_1749513497883 left room act-session-fde89a3c-joint-input +2025-06-10 02:00:37,204 - video.core - INFO - Consumer act-session-fde89a3c-camera-consumer left video room act-session-fde89a3c-camera +2025-06-10 02:00:37,205 - robotics.core - INFO - Consumer act-session-fde89a3c-joint-input-consumer left room act-session-fde89a3c-joint-input +2025-06-10 02:00:37,205 - robotics.core - INFO - Consumer consumer_1749513498058 left room act-session-fde89a3c-joint-output +2025-06-10 02:00:40,111 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-10 02:02:39,679 - video.core - INFO - Created video room act-session-a5dfe25d-camera +2025-06-10 02:02:39,683 - robotics.core - INFO - Created room act-session-a5dfe25d-joint-input +2025-06-10 02:02:39,685 - robotics.core - INFO - Created room act-session-a5dfe25d-joint-output +2025-06-10 02:02:41,152 - video.core - INFO - Consumer act-session-a5dfe25d-camera-consumer joined video room act-session-a5dfe25d-camera +2025-06-10 02:02:41,656 - robotics.core - INFO - Consumer act-session-a5dfe25d-joint-input-consumer joined room act-session-a5dfe25d-joint-input +2025-06-10 02:02:41,660 - robotics.core - INFO - Producer act-session-a5dfe25d-joint-output-producer joined room act-session-a5dfe25d-joint-output +2025-06-10 02:02:41,676 - video.core - INFO - Created video room act-session-f4b5662f-camera +2025-06-10 02:02:41,677 - robotics.core - INFO - Created room act-session-f4b5662f-joint-input +2025-06-10 02:02:41,679 - robotics.core - INFO - Created room act-session-f4b5662f-joint-output +2025-06-10 02:02:42,779 - video.core - INFO - Consumer act-session-f4b5662f-camera-consumer joined video room act-session-f4b5662f-camera +2025-06-10 02:02:43,284 - robotics.core - INFO - Consumer act-session-f4b5662f-joint-input-consumer joined room act-session-f4b5662f-joint-input +2025-06-10 02:02:43,292 - robotics.core - INFO - Producer act-session-f4b5662f-joint-output-producer joined room act-session-f4b5662f-joint-output +2025-06-10 02:03:13,494 - video.core - INFO - Producer producer_1749513791189 joined video room act-session-a5dfe25d-camera +2025-06-10 02:03:14,326 - video.core - INFO - Producer producer_1749513791188 joined video room act-session-f4b5662f-camera +2025-06-10 02:03:17,086 - video.core - INFO - Stream started by producer_1749513791189 in room act-session-a5dfe25d-camera +2025-06-10 02:03:17,109 - video.core - INFO - Stream started by producer_1749513791188 in room act-session-f4b5662f-camera +2025-06-10 02:03:24,748 - video.core - INFO - Consumer consumer_1749513804_7792 joined video room act-session-f4b5662f-camera +2025-06-10 02:03:24,812 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749513791188 (role: producer) in room act-session-f4b5662f-camera +2025-06-10 02:03:24,814 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749513791188 to consumer consumer_1749513804_7792 +2025-06-10 02:03:24,816 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749513791188 (role: producer) in room act-session-f4b5662f-camera +2025-06-10 02:03:24,822 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749513791188 (role: producer) in room act-session-f4b5662f-camera +2025-06-10 02:03:24,912 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749513791188 (role: producer) in room act-session-f4b5662f-camera +2025-06-10 02:03:24,915 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749513791188 (role: producer) in room act-session-f4b5662f-camera +2025-06-10 02:03:24,921 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749513791188 (role: producer) in room act-session-f4b5662f-camera +2025-06-10 02:03:24,928 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749513791188 (role: producer) in room act-session-f4b5662f-camera +2025-06-10 02:03:25,028 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749513804_7792 (role: consumer) in room act-session-f4b5662f-camera +2025-06-10 02:03:25,029 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749513804_7792 to producer producer_1749513791188 +2025-06-10 02:03:25,695 - robotics.core - INFO - Producer producer_1749513805181 joined room act-session-a5dfe25d-joint-input +2025-06-10 02:03:26,935 - robotics.core - INFO - Consumer consumer_1749513806123 joined room act-session-a5dfe25d-joint-output +2025-06-10 02:03:27,554 - robotics.core - INFO - Producer producer_1749513805891 joined room act-session-f4b5662f-joint-input +2025-06-10 02:03:28,203 - robotics.core - INFO - Consumer consumer_1749513806422 joined room act-session-f4b5662f-joint-output +2025-06-10 02:04:14,775 - video.core - INFO - Consumer consumer_1749513804_7792 left video room act-session-f4b5662f-camera +2025-06-10 02:04:32,666 - robotics.core - INFO - Producer producer_1749513805891 left room act-session-f4b5662f-joint-input +2025-06-10 02:04:32,673 - robotics.core - INFO - Producer producer_1749513805181 left room act-session-a5dfe25d-joint-input +2025-06-10 02:04:32,673 - robotics.core - INFO - Consumer act-session-a5dfe25d-joint-input-consumer left room act-session-a5dfe25d-joint-input +2025-06-10 02:04:32,727 - video.core - INFO - Consumer act-session-a5dfe25d-camera-consumer left video room act-session-a5dfe25d-camera +2025-06-10 02:04:32,772 - robotics.core - INFO - Consumer act-session-f4b5662f-joint-input-consumer left room act-session-f4b5662f-joint-input +2025-06-10 02:04:32,795 - robotics.core - INFO - Producer act-session-f4b5662f-joint-output-producer left room act-session-f4b5662f-joint-output +2025-06-10 02:04:32,807 - video.core - INFO - Producer producer_1749513791188 left video room act-session-f4b5662f-camera +2025-06-10 02:04:32,859 - video.core - INFO - Consumer act-session-f4b5662f-camera-consumer left video room act-session-f4b5662f-camera +2025-06-10 02:04:32,897 - robotics.core - INFO - Consumer consumer_1749513806422 left room act-session-f4b5662f-joint-output +2025-06-10 02:04:32,898 - video.core - INFO - Producer producer_1749513791189 left video room act-session-a5dfe25d-camera +2025-06-10 02:04:32,898 - robotics.core - INFO - Consumer consumer_1749513806123 left room act-session-a5dfe25d-joint-output +2025-06-10 02:04:32,984 - robotics.core - INFO - Producer act-session-a5dfe25d-joint-output-producer left room act-session-a5dfe25d-joint-output +2025-06-10 02:04:55,888 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-10 02:05:40,679 - video.core - INFO - Created video room act-session-9c784ef6-camera +2025-06-10 02:05:40,692 - robotics.core - INFO - Created room act-session-9c784ef6-joint-input +2025-06-10 02:05:40,698 - robotics.core - INFO - Created room act-session-9c784ef6-joint-output +2025-06-10 02:05:43,251 - video.core - INFO - Consumer act-session-9c784ef6-camera-consumer joined video room act-session-9c784ef6-camera +2025-06-10 02:05:43,757 - robotics.core - INFO - Consumer act-session-9c784ef6-joint-input-consumer joined room act-session-9c784ef6-joint-input +2025-06-10 02:05:43,765 - robotics.core - INFO - Producer act-session-9c784ef6-joint-output-producer joined room act-session-9c784ef6-joint-output +2025-06-10 02:05:44,903 - video.core - INFO - Created video room act-session-acc9b349-camera +2025-06-10 02:05:44,938 - robotics.core - INFO - Created room act-session-acc9b349-joint-input +2025-06-10 02:05:44,986 - robotics.core - INFO - Created room act-session-acc9b349-joint-output +2025-06-10 02:05:50,485 - video.core - INFO - Consumer act-session-acc9b349-camera-consumer joined video room act-session-acc9b349-camera +2025-06-10 02:05:51,035 - robotics.core - INFO - Consumer act-session-acc9b349-joint-input-consumer joined room act-session-acc9b349-joint-input +2025-06-10 02:05:51,053 - robotics.core - INFO - Producer act-session-acc9b349-joint-output-producer joined room act-session-acc9b349-joint-output +2025-06-10 02:06:11,070 - video.core - INFO - Producer producer_1749513968920 joined video room act-session-9c784ef6-camera +2025-06-10 02:06:12,150 - video.core - INFO - Producer producer_1749513969000 joined video room act-session-acc9b349-camera +2025-06-10 02:06:13,934 - video.core - INFO - Consumer consumer_1749513973_3088 joined video room act-session-acc9b349-camera +2025-06-10 02:06:16,414 - video.core - INFO - Stream started by producer_1749513968920 in room act-session-9c784ef6-camera +2025-06-10 02:06:16,582 - video.core - INFO - Stream started by producer_1749513969000 in room act-session-acc9b349-camera +2025-06-10 02:06:24,476 - video.core - INFO - Consumer consumer_1749513973_3088 left video room act-session-acc9b349-camera +2025-06-10 02:06:25,162 - robotics.core - INFO - Producer producer_1749513983035 joined room act-session-9c784ef6-joint-input +2025-06-10 02:06:26,069 - robotics.core - INFO - Producer producer_1749513984223 joined room act-session-acc9b349-joint-input +2025-06-10 02:07:29,981 - robotics.core - INFO - Consumer act-session-9c784ef6-joint-input-consumer left room act-session-9c784ef6-joint-input +2025-06-10 02:07:29,982 - robotics.core - INFO - Producer act-session-acc9b349-joint-output-producer left room act-session-acc9b349-joint-output +2025-06-10 02:07:29,982 - video.core - INFO - Consumer act-session-acc9b349-camera-consumer left video room act-session-acc9b349-camera +2025-06-10 02:07:29,982 - video.core - INFO - Producer producer_1749513969000 left video room act-session-acc9b349-camera +2025-06-10 02:07:29,982 - robotics.core - INFO - Producer act-session-9c784ef6-joint-output-producer left room act-session-9c784ef6-joint-output +2025-06-10 02:07:29,982 - robotics.core - INFO - Producer producer_1749513984223 left room act-session-acc9b349-joint-input +2025-06-10 02:07:29,982 - robotics.core - INFO - Producer producer_1749513983035 left room act-session-9c784ef6-joint-input +2025-06-10 02:07:29,982 - video.core - INFO - Consumer act-session-9c784ef6-camera-consumer left video room act-session-9c784ef6-camera +2025-06-10 02:07:29,983 - robotics.core - INFO - Consumer act-session-acc9b349-joint-input-consumer left room act-session-acc9b349-joint-input +2025-06-10 02:07:29,983 - video.core - INFO - Producer producer_1749513968920 left video room act-session-9c784ef6-camera +2025-06-10 02:07:32,012 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-10 02:07:37,232 - video.core - INFO - Created video room act-session-00349935-camera +2025-06-10 02:07:37,237 - robotics.core - INFO - Created room act-session-00349935-joint-input +2025-06-10 02:07:37,240 - robotics.core - INFO - Created room act-session-00349935-joint-output +2025-06-10 02:07:42,878 - video.core - INFO - Consumer act-session-00349935-camera-consumer joined video room act-session-00349935-camera +2025-06-10 02:07:43,383 - robotics.core - INFO - Consumer act-session-00349935-joint-input-consumer joined room act-session-00349935-joint-input +2025-06-10 02:07:43,393 - robotics.core - INFO - Producer act-session-00349935-joint-output-producer joined room act-session-00349935-joint-output +2025-06-10 02:07:49,833 - video.core - INFO - Producer producer_1749514064897 joined video room act-session-00349935-camera +2025-06-10 02:07:50,936 - robotics.core - INFO - Producer producer_1749514067900 joined room act-session-00349935-joint-input +2025-06-10 02:07:51,911 - robotics.core - INFO - Consumer consumer_1749514069121 joined room act-session-00349935-joint-output +2025-06-10 02:07:54,712 - video.core - INFO - Stream started by producer_1749514064897 in room act-session-00349935-camera +2025-06-10 02:08:57,145 - robotics.core - INFO - Consumer consumer_1749514069121 left room act-session-00349935-joint-output +2025-06-10 02:08:57,149 - robotics.core - INFO - Producer producer_1749514067900 left room act-session-00349935-joint-input +2025-06-10 02:08:57,150 - video.core - INFO - Producer producer_1749514064897 left video room act-session-00349935-camera +2025-06-10 12:02:48,593 - robotics.core - INFO - Consumer act-session-00349935-joint-input-consumer left room act-session-00349935-joint-input +2025-06-10 12:02:48,594 - video.core - INFO - Consumer act-session-00349935-camera-consumer left video room act-session-00349935-camera +2025-06-10 12:02:48,594 - robotics.core - INFO - Producer act-session-00349935-joint-output-producer left room act-session-00349935-joint-output +2025-06-10 12:02:51,924 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-10 12:03:33,574 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-10 12:04:00,158 - video.core - INFO - Created video room webcam +2025-06-10 12:04:03,837 - video.core - INFO - Producer producer_1749549842294 joined video room webcam +2025-06-10 12:04:06,137 - video.core - INFO - Stream started by producer_1749549842294 in room webcam +2025-06-10 12:04:16,595 - video.core - INFO - Consumer consumer_1749549856_5120 joined video room webcam +2025-06-10 12:04:16,614 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749549842294 (role: producer) in room webcam +2025-06-10 12:04:16,614 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749549842294 to consumer consumer_1749549856_5120 +2025-06-10 12:04:16,615 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749549842294 (role: producer) in room webcam +2025-06-10 12:04:16,657 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749549842294 (role: producer) in room webcam +2025-06-10 12:04:16,658 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749549856_5120 (role: consumer) in room webcam +2025-06-10 12:04:16,658 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749549856_5120 to producer producer_1749549842294 +2025-06-10 12:04:21,522 - video.core - INFO - Consumer consumer_1749549856_5120 left video room webcam +2025-06-10 12:04:32,760 - video.core - INFO - Created video room b22f5bc5-caa2-47bb-b4b5-d0411654dc9d +2025-06-10 12:04:32,782 - video.core - INFO - Producer producer_1749549872_5472 joined video room b22f5bc5-caa2-47bb-b4b5-d0411654dc9d +2025-06-10 12:04:33,299 - video.core - INFO - Stream started by producer_1749549872_5472 in room b22f5bc5-caa2-47bb-b4b5-d0411654dc9d +2025-06-10 12:04:36,071 - video.core - INFO - Producer producer_1749549842294 left video room webcam +2025-06-10 12:04:39,968 - video.core - INFO - Consumer consumer_1749549879061 joined video room b22f5bc5-caa2-47bb-b4b5-d0411654dc9d +2025-06-10 12:04:40,005 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749549872_5472 (role: producer) in room b22f5bc5-caa2-47bb-b4b5-d0411654dc9d +2025-06-10 12:04:40,005 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749549872_5472 to consumer consumer_1749549879061 +2025-06-10 12:04:40,020 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749549879061 (role: consumer) in room b22f5bc5-caa2-47bb-b4b5-d0411654dc9d +2025-06-10 12:04:40,021 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749549879061 to producer producer_1749549872_5472 +2025-06-10 12:04:40,022 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749549879061 (role: consumer) in room b22f5bc5-caa2-47bb-b4b5-d0411654dc9d +2025-06-10 12:04:45,889 - video.core - INFO - Producer producer_1749549872_5472 left video room b22f5bc5-caa2-47bb-b4b5-d0411654dc9d +2025-06-10 12:04:52,465 - robotics.core - INFO - Created room 53ba9baa-e462-4a1b-8812-83f1337ae9f4 +2025-06-10 12:04:52,484 - robotics.core - INFO - Producer robot-controller joined room 53ba9baa-e462-4a1b-8812-83f1337ae9f4 +2025-06-10 12:04:52,500 - robotics.core - INFO - Consumer demo-visualizer joined room 53ba9baa-e462-4a1b-8812-83f1337ae9f4 +2025-06-10 12:04:52,603 - robotics.core - INFO - Consumer demo-logger joined room 53ba9baa-e462-4a1b-8812-83f1337ae9f4 +2025-06-10 12:04:52,709 - robotics.core - INFO - Consumer demo-safety-monitor joined room 53ba9baa-e462-4a1b-8812-83f1337ae9f4 +2025-06-10 12:04:57,264 - video.core - INFO - Consumer consumer_1749549879061 left video room b22f5bc5-caa2-47bb-b4b5-d0411654dc9d +2025-06-10 12:04:58,814 - robotics.core - WARNING - ๐Ÿšจ Emergency stop triggered by robot-controller in room 53ba9baa-e462-4a1b-8812-83f1337ae9f4 +2025-06-10 12:05:00,738 - robotics.core - INFO - Consumer consumer_1749549900087 joined room 53ba9baa-e462-4a1b-8812-83f1337ae9f4 +2025-06-10 12:05:03,837 - robotics.core - INFO - Consumer demo-visualizer left room 53ba9baa-e462-4a1b-8812-83f1337ae9f4 +2025-06-10 12:05:03,837 - robotics.core - INFO - Consumer demo-logger left room 53ba9baa-e462-4a1b-8812-83f1337ae9f4 +2025-06-10 12:05:03,838 - robotics.core - INFO - Consumer demo-safety-monitor left room 53ba9baa-e462-4a1b-8812-83f1337ae9f4 +2025-06-10 12:05:03,838 - robotics.core - INFO - Producer robot-controller left room 53ba9baa-e462-4a1b-8812-83f1337ae9f4 +2025-06-10 12:05:06,257 - robotics.core - INFO - Consumer consumer_1749549900087 left room 53ba9baa-e462-4a1b-8812-83f1337ae9f4 +2025-06-10 12:09:52,938 - video.core - INFO - Created video room act-session-cb638131-camera +2025-06-10 12:09:52,942 - robotics.core - INFO - Created room act-session-cb638131-joint-input +2025-06-10 12:09:52,945 - robotics.core - INFO - Created room act-session-cb638131-joint-output +2025-06-10 12:09:54,564 - video.core - INFO - Consumer consumer_1749550194_5088 joined video room act-session-cb638131-camera +2025-06-10 12:09:55,068 - robotics.core - INFO - Consumer act-session-cb638131-joint-input-consumer joined room act-session-cb638131-joint-input +2025-06-10 12:09:55,071 - robotics.core - INFO - Producer act-session-cb638131-joint-output-producer joined room act-session-cb638131-joint-output +2025-06-10 12:10:08,897 - video.core - INFO - Created video room 5ccb449d-b9bb-4b10-9603-b71b99af13fc +2025-06-10 12:10:08,946 - video.core - INFO - Producer producer_1749550208_9040 joined video room 5ccb449d-b9bb-4b10-9603-b71b99af13fc +2025-06-10 12:10:09,483 - video.core - INFO - Stream started by producer_1749550208_9040 in room 5ccb449d-b9bb-4b10-9603-b71b99af13fc +2025-06-10 12:10:39,603 - video.core - INFO - Stream stopped by producer_1749550208_9040 in room 5ccb449d-b9bb-4b10-9603-b71b99af13fc +2025-06-10 12:10:39,684 - video.core - INFO - Producer producer_1749550208_9040 left video room 5ccb449d-b9bb-4b10-9603-b71b99af13fc +2025-06-10 12:10:42,706 - video.core - INFO - Producer producer_1749550242_8592 joined video room act-session-cb638131-camera +2025-06-10 12:10:43,233 - video.core - INFO - Stream started by producer_1749550242_8592 in room act-session-cb638131-camera +2025-06-10 12:11:02,045 - video.core - INFO - Consumer consumer_1749550260879 joined video room act-session-cb638131-camera +2025-06-10 12:11:02,117 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749550242_8592 (role: producer) in room act-session-cb638131-camera +2025-06-10 12:11:02,117 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749550242_8592 to consumer consumer_1749550260879 +2025-06-10 12:11:02,135 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749550260879 (role: consumer) in room act-session-cb638131-camera +2025-06-10 12:11:02,135 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749550260879 to producer producer_1749550242_8592 +2025-06-10 12:11:02,138 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749550260879 (role: consumer) in room act-session-cb638131-camera +2025-06-10 12:11:02,165 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749550260879 (role: consumer) in room act-session-cb638131-camera +2025-06-10 12:11:07,931 - video.core - INFO - Consumer consumer_1749550260879 left video room act-session-cb638131-camera +2025-06-10 12:11:13,278 - video.core - INFO - Stream stopped by producer_1749550242_8592 in room act-session-cb638131-camera +2025-06-10 12:11:13,292 - video.core - INFO - Producer producer_1749550242_8592 left video room act-session-cb638131-camera +2025-06-10 12:11:31,993 - video.core - INFO - Created video room act-session-d3de87b6-camera +2025-06-10 12:11:31,996 - robotics.core - INFO - Created room act-session-d3de87b6-joint-input +2025-06-10 12:11:31,999 - robotics.core - INFO - Created room act-session-d3de87b6-joint-output +2025-06-10 12:11:33,365 - video.core - INFO - Consumer consumer_1749550293_9472 joined video room act-session-d3de87b6-camera +2025-06-10 12:11:33,869 - robotics.core - INFO - Consumer act-session-d3de87b6-joint-input-consumer joined room act-session-d3de87b6-joint-input +2025-06-10 12:11:33,872 - robotics.core - INFO - Producer act-session-d3de87b6-joint-output-producer joined room act-session-d3de87b6-joint-output +2025-06-10 12:11:54,388 - video.core - INFO - Producer producer_1749550310226 joined video room act-session-cb638131-camera +2025-06-10 12:11:56,694 - video.core - INFO - Stream started by producer_1749550310226 in room act-session-cb638131-camera +2025-06-10 12:11:56,848 - video.core - INFO - Producer producer_1749550313217 joined video room act-session-d3de87b6-camera +2025-06-10 12:11:57,881 - video.core - INFO - Stream started by producer_1749550313217 in room act-session-d3de87b6-camera +2025-06-10 12:12:08,326 - video.core - INFO - Producer producer_1749550310226 left video room act-session-cb638131-camera +2025-06-10 12:12:08,550 - video.core - INFO - Producer producer_1749550313217 left video room act-session-d3de87b6-camera +2025-06-10 12:12:33,987 - video.core - INFO - Created video room act-session-a440b338-camera +2025-06-10 12:12:33,991 - robotics.core - INFO - Created room act-session-a440b338-joint-input +2025-06-10 12:12:33,993 - robotics.core - INFO - Created room act-session-a440b338-joint-output +2025-06-10 12:12:36,148 - video.core - INFO - Consumer consumer_1749550356_9056 joined video room act-session-a440b338-camera +2025-06-10 12:12:36,676 - robotics.core - INFO - Consumer act-session-a440b338-joint-input-consumer joined room act-session-a440b338-joint-input +2025-06-10 12:12:36,698 - robotics.core - INFO - Producer act-session-a440b338-joint-output-producer joined room act-session-a440b338-joint-output +2025-06-10 12:12:51,166 - video.core - INFO - Producer producer_1749550370417 joined video room act-session-a440b338-camera +2025-06-10 12:12:53,840 - video.core - INFO - Stream started by producer_1749550370417 in room act-session-a440b338-camera +2025-06-10 12:12:56,334 - robotics.core - INFO - Producer producer_1749550365352 joined room act-session-a440b338-joint-input +2025-06-10 12:12:58,433 - robotics.core - INFO - Consumer consumer_1749550365354 joined room act-session-a440b338-joint-output +2025-06-10 12:13:40,491 - video.core - INFO - Stream stopped by producer_1749550370417 in room act-session-a440b338-camera +2025-06-10 12:13:41,671 - video.core - INFO - Stream started by producer_1749550370417 in room act-session-a440b338-camera +2025-06-10 12:14:04,490 - video.core - INFO - Created video room sdpoksd +2025-06-10 12:14:08,686 - video.core - INFO - Consumer consumer_1749550447801 joined video room sdpoksd +2025-06-10 12:14:09,726 - video.core - INFO - Producer producer_1749550447997 joined video room sdpoksd +2025-06-10 12:14:12,080 - video.core - INFO - Stream started by producer_1749550447997 in room sdpoksd +2025-06-10 12:14:28,100 - video.core - INFO - Consumer consumer_1749550447801 left video room sdpoksd +2025-06-10 12:14:28,736 - video.core - INFO - Producer producer_1749550447997 left video room sdpoksd +2025-06-10 12:14:51,201 - video.core - INFO - Producer producer_1749550370417 left video room act-session-a440b338-camera +2025-06-10 12:14:51,591 - robotics.core - INFO - Producer producer_1749550365352 left room act-session-a440b338-joint-input +2025-06-10 12:14:59,352 - robotics.core - INFO - Producer act-session-cb638131-joint-output-producer left room act-session-cb638131-joint-output +2025-06-10 12:14:59,352 - robotics.core - INFO - Producer act-session-a440b338-joint-output-producer left room act-session-a440b338-joint-output +2025-06-10 12:14:59,352 - robotics.core - INFO - Consumer act-session-a440b338-joint-input-consumer left room act-session-a440b338-joint-input +2025-06-10 12:14:59,353 - robotics.core - INFO - Consumer act-session-d3de87b6-joint-input-consumer left room act-session-d3de87b6-joint-input +2025-06-10 12:14:59,353 - robotics.core - INFO - Consumer consumer_1749550365354 left room act-session-a440b338-joint-output +2025-06-10 12:14:59,353 - robotics.core - INFO - Producer act-session-d3de87b6-joint-output-producer left room act-session-d3de87b6-joint-output +2025-06-10 12:14:59,353 - video.core - INFO - Consumer consumer_1749550293_9472 left video room act-session-d3de87b6-camera +2025-06-10 12:14:59,353 - video.core - INFO - Consumer consumer_1749550356_9056 left video room act-session-a440b338-camera +2025-06-10 12:14:59,354 - robotics.core - INFO - Consumer act-session-cb638131-joint-input-consumer left room act-session-cb638131-joint-input +2025-06-10 12:14:59,354 - video.core - INFO - Consumer consumer_1749550194_5088 left video room act-session-cb638131-camera +2025-06-10 12:37:18,297 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-10 12:37:45,586 - video.core - INFO - Created video room c2de6272-9f87-4c13-9380-cb9d6dbc0919 +2025-06-10 12:37:45,595 - video.core - INFO - Producer producer_1749551862811 joined video room c2de6272-9f87-4c13-9380-cb9d6dbc0919 +2025-06-10 12:37:48,323 - video.core - INFO - Stream started by producer_1749551862811 in room c2de6272-9f87-4c13-9380-cb9d6dbc0919 +2025-06-10 12:37:54,410 - video.core - INFO - Consumer consumer_1749551872791 joined video room c2de6272-9f87-4c13-9380-cb9d6dbc0919 +2025-06-10 12:37:54,441 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749551862811 (role: producer) in room c2de6272-9f87-4c13-9380-cb9d6dbc0919 +2025-06-10 12:37:54,441 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749551862811 to consumer consumer_1749551872791 +2025-06-10 12:37:54,449 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749551862811 (role: producer) in room c2de6272-9f87-4c13-9380-cb9d6dbc0919 +2025-06-10 12:37:54,479 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749551872791 (role: consumer) in room c2de6272-9f87-4c13-9380-cb9d6dbc0919 +2025-06-10 12:37:54,480 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749551872791 to producer producer_1749551862811 +2025-06-10 12:37:54,483 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749551862811 (role: producer) in room c2de6272-9f87-4c13-9380-cb9d6dbc0919 +2025-06-10 12:37:54,489 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749551872791 (role: consumer) in room c2de6272-9f87-4c13-9380-cb9d6dbc0919 +2025-06-10 12:37:58,284 - video.core - INFO - Stream stopped by producer_1749551862811 in room c2de6272-9f87-4c13-9380-cb9d6dbc0919 +2025-06-10 12:38:05,785 - video.core - INFO - Stream started by producer_1749551862811 in room c2de6272-9f87-4c13-9380-cb9d6dbc0919 +2025-06-10 12:43:22,496 - video.core - INFO - Consumer consumer_1749551872791 left video room c2de6272-9f87-4c13-9380-cb9d6dbc0919 +2025-06-10 12:43:22,602 - video.core - INFO - Producer producer_1749551862811 left video room c2de6272-9f87-4c13-9380-cb9d6dbc0919 +2025-06-10 12:43:45,786 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-10 12:43:57,410 - video.core - INFO - Created video room b5118b64-fa62-475e-87ba-e4f6db61192d +2025-06-10 12:43:57,421 - video.core - INFO - Producer producer_1749552236669 joined video room b5118b64-fa62-475e-87ba-e4f6db61192d +2025-06-10 12:44:00,070 - video.core - INFO - Stream started by producer_1749552236669 in room b5118b64-fa62-475e-87ba-e4f6db61192d +2025-06-10 12:44:04,722 - video.core - INFO - Consumer consumer_1749552243641 joined video room b5118b64-fa62-475e-87ba-e4f6db61192d +2025-06-10 12:44:04,756 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749552236669 (role: producer) in room b5118b64-fa62-475e-87ba-e4f6db61192d +2025-06-10 12:44:04,756 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749552236669 to consumer consumer_1749552243641 +2025-06-10 12:44:04,761 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749552236669 (role: producer) in room b5118b64-fa62-475e-87ba-e4f6db61192d +2025-06-10 12:44:04,794 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749552236669 (role: producer) in room b5118b64-fa62-475e-87ba-e4f6db61192d +2025-06-10 12:44:04,797 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749552243641 (role: consumer) in room b5118b64-fa62-475e-87ba-e4f6db61192d +2025-06-10 12:44:04,798 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749552243641 to producer producer_1749552236669 +2025-06-10 12:44:04,810 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749552243641 (role: consumer) in room b5118b64-fa62-475e-87ba-e4f6db61192d +2025-06-10 12:44:08,090 - video.core - INFO - Stream stopped by producer_1749552236669 in room b5118b64-fa62-475e-87ba-e4f6db61192d +2025-06-10 12:44:10,392 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749552236669 (role: producer) in room b5118b64-fa62-475e-87ba-e4f6db61192d +2025-06-10 12:44:10,393 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749552236669 to consumer consumer_1749552243641 +2025-06-10 12:44:10,395 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749552236669 (role: producer) in room b5118b64-fa62-475e-87ba-e4f6db61192d +2025-06-10 12:44:10,396 - video.core - INFO - Stream started by producer_1749552236669 in room b5118b64-fa62-475e-87ba-e4f6db61192d +2025-06-10 12:44:10,418 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749552236669 (role: producer) in room b5118b64-fa62-475e-87ba-e4f6db61192d +2025-06-10 12:44:10,512 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749552236669 (role: producer) in room b5118b64-fa62-475e-87ba-e4f6db61192d +2025-06-10 12:46:40,132 - video.core - INFO - Producer producer_1749552236669 left video room b5118b64-fa62-475e-87ba-e4f6db61192d +2025-06-10 12:46:40,180 - video.core - INFO - Consumer consumer_1749552243641 left video room b5118b64-fa62-475e-87ba-e4f6db61192d +2025-06-10 12:46:44,592 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-10 12:47:06,855 - video.core - INFO - Created video room b72e71e9-bd4f-4d46-b05d-06c51e240a74 +2025-06-10 12:47:06,865 - video.core - INFO - Producer producer_1749552426298 joined video room b72e71e9-bd4f-4d46-b05d-06c51e240a74 +2025-06-10 12:47:10,475 - video.core - INFO - Stream started by producer_1749552426298 in room b72e71e9-bd4f-4d46-b05d-06c51e240a74 +2025-06-10 12:47:15,855 - video.core - INFO - Consumer consumer_1749552435138 joined video room b72e71e9-bd4f-4d46-b05d-06c51e240a74 +2025-06-10 12:47:15,890 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749552426298 (role: producer) in room b72e71e9-bd4f-4d46-b05d-06c51e240a74 +2025-06-10 12:47:15,891 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749552426298 to consumer consumer_1749552435138 +2025-06-10 12:47:15,893 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749552426298 (role: producer) in room b72e71e9-bd4f-4d46-b05d-06c51e240a74 +2025-06-10 12:47:15,906 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749552426298 (role: producer) in room b72e71e9-bd4f-4d46-b05d-06c51e240a74 +2025-06-10 12:47:15,931 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749552435138 (role: consumer) in room b72e71e9-bd4f-4d46-b05d-06c51e240a74 +2025-06-10 12:47:15,931 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749552435138 to producer producer_1749552426298 +2025-06-10 12:47:15,940 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749552435138 (role: consumer) in room b72e71e9-bd4f-4d46-b05d-06c51e240a74 +2025-06-10 12:47:17,984 - video.core - INFO - Stream stopped by producer_1749552426298 in room b72e71e9-bd4f-4d46-b05d-06c51e240a74 +2025-06-10 12:47:22,492 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749552426298 (role: producer) in room b72e71e9-bd4f-4d46-b05d-06c51e240a74 +2025-06-10 12:47:22,493 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749552426298 to consumer consumer_1749552435138 +2025-06-10 12:47:22,494 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749552426298 (role: producer) in room b72e71e9-bd4f-4d46-b05d-06c51e240a74 +2025-06-10 12:47:22,495 - video.core - INFO - Stream started by producer_1749552426298 in room b72e71e9-bd4f-4d46-b05d-06c51e240a74 +2025-06-10 12:47:22,512 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749552426298 (role: producer) in room b72e71e9-bd4f-4d46-b05d-06c51e240a74 +2025-06-10 12:47:22,514 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749552435138 (role: consumer) in room b72e71e9-bd4f-4d46-b05d-06c51e240a74 +2025-06-10 12:47:22,514 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749552435138 to producer producer_1749552426298 +2025-06-10 12:47:22,520 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749552435138 (role: consumer) in room b72e71e9-bd4f-4d46-b05d-06c51e240a74 +2025-06-10 12:47:33,201 - video.core - INFO - Consumer consumer_1749552452677 joined video room b72e71e9-bd4f-4d46-b05d-06c51e240a74 +2025-06-10 12:47:33,226 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749552426298 (role: producer) in room b72e71e9-bd4f-4d46-b05d-06c51e240a74 +2025-06-10 12:47:33,227 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749552426298 to consumer consumer_1749552452677 +2025-06-10 12:47:33,228 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749552426298 (role: producer) in room b72e71e9-bd4f-4d46-b05d-06c51e240a74 +2025-06-10 12:47:33,244 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749552426298 (role: producer) in room b72e71e9-bd4f-4d46-b05d-06c51e240a74 +2025-06-10 12:47:33,297 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749552452677 (role: consumer) in room b72e71e9-bd4f-4d46-b05d-06c51e240a74 +2025-06-10 12:47:33,299 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749552452677 to producer producer_1749552426298 +2025-06-10 12:47:33,329 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749552452677 (role: consumer) in room b72e71e9-bd4f-4d46-b05d-06c51e240a74 +2025-06-10 12:47:33,340 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749552426298 (role: producer) in room b72e71e9-bd4f-4d46-b05d-06c51e240a74 +2025-06-10 12:47:36,220 - video.core - INFO - Consumer consumer_1749552452677 left video room b72e71e9-bd4f-4d46-b05d-06c51e240a74 +2025-06-10 12:47:37,558 - video.core - INFO - Consumer consumer_1749552435138 left video room b72e71e9-bd4f-4d46-b05d-06c51e240a74 +2025-06-10 12:47:38,806 - video.core - INFO - Producer producer_1749552426298 left video room b72e71e9-bd4f-4d46-b05d-06c51e240a74 +2025-06-10 12:47:42,040 - video.core - INFO - Created video room sdpods +2025-06-10 12:47:46,623 - video.core - INFO - Consumer consumer_1749552465590 joined video room sdpods +2025-06-10 12:47:49,642 - video.core - INFO - Producer producer_1749552468466 joined video room sdpods +2025-06-10 12:47:50,814 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749552468466 (role: producer) in room sdpods +2025-06-10 12:47:50,814 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749552468466 to consumer consumer_1749552465590 +2025-06-10 12:47:50,817 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749552465590 (role: consumer) in room sdpods +2025-06-10 12:47:50,817 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749552465590 to producer producer_1749552468466 +2025-06-10 12:47:52,963 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749552468466 (role: producer) in room sdpods +2025-06-10 12:47:52,964 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749552468466 to consumer consumer_1749552465590 +2025-06-10 12:47:52,965 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749552468466 (role: producer) in room sdpods +2025-06-10 12:47:52,968 - video.core - INFO - Stream started by producer_1749552468466 in room sdpods +2025-06-10 12:47:53,013 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749552468466 (role: producer) in room sdpods +2025-06-10 12:47:53,016 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749552465590 (role: consumer) in room sdpods +2025-06-10 12:47:53,016 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749552465590 to producer producer_1749552468466 +2025-06-10 12:47:53,027 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749552465590 (role: consumer) in room sdpods +2025-06-10 12:47:53,039 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749552465590 (role: consumer) in room sdpods +2025-06-10 12:47:54,084 - video.core - INFO - Consumer consumer_1749552465590 left video room sdpods +2025-06-10 12:47:54,485 - video.core - INFO - Producer producer_1749552468466 left video room sdpods +2025-06-10 12:52:00,088 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-10 12:52:14,027 - video.core - INFO - Created video room 3754c570-d64d-43ec-8ddc-2af4e70f5e82 +2025-06-10 12:52:14,148 - video.core - INFO - Producer producer_1749552734_7920 joined video room 3754c570-d64d-43ec-8ddc-2af4e70f5e82 +2025-06-10 12:52:14,653 - video.core - INFO - Stream started by producer_1749552734_7920 in room 3754c570-d64d-43ec-8ddc-2af4e70f5e82 +2025-06-10 12:52:20,826 - video.core - INFO - Producer producer_1749552734_7920 left video room 3754c570-d64d-43ec-8ddc-2af4e70f5e82 +2025-06-10 12:52:28,476 - video.core - INFO - Created video room e911fc33-8c26-4979-98b7-4b511b229edd +2025-06-10 12:52:28,509 - video.core - INFO - Producer producer_1749552748_2512 joined video room e911fc33-8c26-4979-98b7-4b511b229edd +2025-06-10 12:52:29,080 - video.core - INFO - Stream started by producer_1749552748_2512 in room e911fc33-8c26-4979-98b7-4b511b229edd +2025-06-10 12:52:33,553 - video.core - INFO - Consumer consumer_1749552752458 joined video room e911fc33-8c26-4979-98b7-4b511b229edd +2025-06-10 12:52:33,649 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749552748_2512 (role: producer) in room e911fc33-8c26-4979-98b7-4b511b229edd +2025-06-10 12:52:33,650 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749552748_2512 to consumer consumer_1749552752458 +2025-06-10 12:52:33,665 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749552752458 (role: consumer) in room e911fc33-8c26-4979-98b7-4b511b229edd +2025-06-10 12:52:33,665 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749552752458 to producer producer_1749552748_2512 +2025-06-10 12:52:33,668 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749552752458 (role: consumer) in room e911fc33-8c26-4979-98b7-4b511b229edd +2025-06-10 12:52:33,692 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749552752458 (role: consumer) in room e911fc33-8c26-4979-98b7-4b511b229edd +2025-06-10 12:52:39,175 - video.core - INFO - Producer producer_1749552748_2512 left video room e911fc33-8c26-4979-98b7-4b511b229edd +2025-06-10 12:52:41,412 - video.core - INFO - Consumer consumer_1749552752458 left video room e911fc33-8c26-4979-98b7-4b511b229edd +2025-06-10 12:52:47,023 - video.core - INFO - Created video room webcam +2025-06-10 12:52:50,396 - video.core - INFO - Producer producer_1749552769422 joined video room webcam +2025-06-10 12:52:52,557 - video.core - INFO - Stream started by producer_1749552769422 in room webcam +2025-06-10 12:53:03,978 - video.core - INFO - Consumer consumer_1749552783_1488 joined video room webcam +2025-06-10 12:53:04,003 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749552769422 (role: producer) in room webcam +2025-06-10 12:53:04,004 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749552769422 to consumer consumer_1749552783_1488 +2025-06-10 12:53:04,005 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749552769422 (role: producer) in room webcam +2025-06-10 12:53:04,020 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749552769422 (role: producer) in room webcam +2025-06-10 12:53:04,052 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749552783_1488 (role: consumer) in room webcam +2025-06-10 12:53:04,053 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749552783_1488 to producer producer_1749552769422 +2025-06-10 12:53:22,898 - video.core - INFO - Consumer consumer_1749552783_1488 left video room webcam +2025-06-10 12:54:11,283 - video.core - INFO - Consumer consumer_1749552851_6928 joined video room webcam +2025-06-10 12:54:11,308 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749552769422 (role: producer) in room webcam +2025-06-10 12:54:11,309 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749552769422 to consumer consumer_1749552851_6928 +2025-06-10 12:54:11,312 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749552769422 (role: producer) in room webcam +2025-06-10 12:54:11,334 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749552769422 (role: producer) in room webcam +2025-06-10 12:54:11,376 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749552851_6928 (role: consumer) in room webcam +2025-06-10 12:54:11,377 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749552851_6928 to producer producer_1749552769422 +2025-06-10 12:54:19,724 - video.core - INFO - Stream stopped by producer_1749552769422 in room webcam +2025-06-10 12:54:24,505 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749552769422 (role: producer) in room webcam +2025-06-10 12:54:24,505 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749552769422 to consumer consumer_1749552851_6928 +2025-06-10 12:54:24,517 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749552769422 (role: producer) in room webcam +2025-06-10 12:54:24,532 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749552769422 (role: producer) in room webcam +2025-06-10 12:54:24,537 - video.core - INFO - Stream started by producer_1749552769422 in room webcam +2025-06-10 12:54:24,627 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749552769422 (role: producer) in room webcam +2025-06-10 12:54:48,513 - video.core - INFO - Consumer consumer_1749552851_6928 left video room webcam +2025-06-10 12:58:48,166 - video.core - INFO - Consumer consumer_1749553127_9216 joined video room webcam +2025-06-10 12:58:48,200 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749552769422 (role: producer) in room webcam +2025-06-10 12:58:48,200 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749552769422 to consumer consumer_1749553127_9216 +2025-06-10 12:58:48,204 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749552769422 (role: producer) in room webcam +2025-06-10 12:58:48,235 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749552769422 (role: producer) in room webcam +2025-06-10 12:58:48,299 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749553127_9216 (role: consumer) in room webcam +2025-06-10 12:58:48,299 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749553127_9216 to producer producer_1749552769422 +2025-06-10 12:58:48,323 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749552769422 (role: producer) in room webcam +2025-06-10 12:58:54,482 - video.core - INFO - Stream stopped by producer_1749552769422 in room webcam +2025-06-10 12:58:57,785 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749552769422 (role: producer) in room webcam +2025-06-10 12:58:57,785 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749552769422 to consumer consumer_1749553127_9216 +2025-06-10 12:58:57,790 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749552769422 (role: producer) in room webcam +2025-06-10 12:58:57,794 - video.core - INFO - Stream started by producer_1749552769422 in room webcam +2025-06-10 12:58:57,835 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749552769422 (role: producer) in room webcam +2025-06-10 12:58:57,902 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749552769422 (role: producer) in room webcam +2025-06-10 12:59:04,203 - video.core - INFO - Consumer consumer_1749553127_9216 left video room webcam +2025-06-10 13:01:41,764 - video.core - INFO - Consumer consumer_1749553301_9824 joined video room webcam +2025-06-10 13:01:41,792 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749552769422 (role: producer) in room webcam +2025-06-10 13:01:41,793 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749552769422 to consumer consumer_1749553301_9824 +2025-06-10 13:01:41,794 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749552769422 (role: producer) in room webcam +2025-06-10 13:01:41,838 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749552769422 (role: producer) in room webcam +2025-06-10 13:01:41,840 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749553301_9824 (role: consumer) in room webcam +2025-06-10 13:01:41,841 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749553301_9824 to producer producer_1749552769422 +2025-06-10 13:01:41,917 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749552769422 (role: producer) in room webcam +2025-06-10 13:01:46,333 - video.core - INFO - Stream stopped by producer_1749552769422 in room webcam +2025-06-10 13:01:53,989 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749552769422 (role: producer) in room webcam +2025-06-10 13:01:53,990 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749552769422 to consumer consumer_1749553301_9824 +2025-06-10 13:01:53,992 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749552769422 (role: producer) in room webcam +2025-06-10 13:01:53,993 - video.core - INFO - Stream started by producer_1749552769422 in room webcam +2025-06-10 13:01:54,015 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749552769422 (role: producer) in room webcam +2025-06-10 13:01:54,037 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749553301_9824 (role: consumer) in room webcam +2025-06-10 13:01:54,038 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749553301_9824 to producer producer_1749552769422 +2025-06-10 13:02:00,282 - video.core - INFO - Stream stopped by producer_1749552769422 in room webcam +2025-06-10 13:02:04,277 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749552769422 (role: producer) in room webcam +2025-06-10 13:02:04,278 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749552769422 to consumer consumer_1749553301_9824 +2025-06-10 13:02:04,278 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749552769422 (role: producer) in room webcam +2025-06-10 13:02:04,280 - video.core - INFO - Stream started by producer_1749552769422 in room webcam +2025-06-10 13:02:04,303 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749552769422 (role: producer) in room webcam +2025-06-10 13:02:04,338 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749553301_9824 (role: consumer) in room webcam +2025-06-10 13:02:04,338 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749553301_9824 to producer producer_1749552769422 +2025-06-10 13:02:08,390 - video.core - INFO - Stream stopped by producer_1749552769422 in room webcam +2025-06-10 13:02:13,506 - video.core - INFO - Consumer consumer_1749553301_9824 left video room webcam +2025-06-10 13:05:12,892 - video.core - INFO - Created video room consumer-first-test +2025-06-10 13:05:12,978 - video.core - INFO - Consumer consumer_1749553512_9248 joined video room consumer-first-test +2025-06-10 13:05:16,131 - video.core - INFO - Producer producer_1749552769422 left video room webcam +2025-06-10 13:05:23,270 - video.core - INFO - Producer producer_1749553522379 joined video room consumer-first-test +2025-06-10 13:05:24,317 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749553522379 (role: producer) in room consumer-first-test +2025-06-10 13:05:24,318 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749553522379 to consumer consumer_1749553512_9248 +2025-06-10 13:05:26,303 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749553522379 (role: producer) in room consumer-first-test +2025-06-10 13:05:26,303 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749553522379 to consumer consumer_1749553512_9248 +2025-06-10 13:05:26,305 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749553522379 (role: producer) in room consumer-first-test +2025-06-10 13:05:26,306 - video.core - INFO - Stream started by producer_1749553522379 in room consumer-first-test +2025-06-10 13:05:26,335 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749553522379 (role: producer) in room consumer-first-test +2025-06-10 13:05:26,352 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749553512_9248 (role: consumer) in room consumer-first-test +2025-06-10 13:05:26,352 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749553512_9248 to producer producer_1749553522379 +2025-06-10 13:05:43,127 - video.core - INFO - Consumer consumer_1749553512_9248 left video room consumer-first-test +2025-06-10 13:05:44,965 - video.core - INFO - Stream stopped by producer_1749553522379 in room consumer-first-test +2025-06-10 13:05:45,576 - video.core - INFO - Producer producer_1749553522379 left video room consumer-first-test +2025-06-10 13:24:32,655 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-10 13:25:06,792 - robotics.core - INFO - Created room act-session-8b9cc124-camera +2025-06-10 13:25:06,795 - robotics.core - INFO - Created room act-session-8b9cc124-joint-input +2025-06-10 13:25:06,796 - robotics.core - INFO - Created room act-session-8b9cc124-joint-output +2025-06-10 13:25:07,995 - robotics.core - INFO - Consumer act-session-8b9cc124-camera-consumer joined room act-session-8b9cc124-camera +2025-06-10 13:25:07,998 - robotics.core - INFO - Consumer act-session-8b9cc124-joint-input-consumer joined room act-session-8b9cc124-joint-input +2025-06-10 13:25:08,001 - robotics.core - INFO - Producer act-session-8b9cc124-joint-output-producer joined room act-session-8b9cc124-joint-output +2025-06-10 13:28:43,970 - robotics.core - INFO - Consumer act-session-8b9cc124-camera-consumer left room act-session-8b9cc124-camera +2025-06-10 13:28:43,972 - robotics.core - INFO - Consumer act-session-8b9cc124-joint-input-consumer left room act-session-8b9cc124-joint-input +2025-06-10 13:28:43,973 - robotics.core - INFO - Producer act-session-8b9cc124-joint-output-producer left room act-session-8b9cc124-joint-output +2025-06-10 13:28:52,467 - video.core - INFO - Created video room act-session-3d83b88e-camera +2025-06-10 13:28:52,471 - robotics.core - INFO - Created room act-session-3d83b88e-joint-input +2025-06-10 13:28:52,473 - robotics.core - INFO - Created room act-session-3d83b88e-joint-output +2025-06-10 13:28:54,593 - video.core - INFO - Consumer act-session-3d83b88e-camera-consumer joined video room act-session-3d83b88e-camera +2025-06-10 13:28:55,099 - robotics.core - INFO - Consumer act-session-3d83b88e-joint-input-consumer joined room act-session-3d83b88e-joint-input +2025-06-10 13:28:55,107 - robotics.core - INFO - Producer act-session-3d83b88e-joint-output-producer joined room act-session-3d83b88e-joint-output +2025-06-10 13:29:05,077 - video.core - INFO - Consumer act-session-3d83b88e-camera-consumer left video room act-session-3d83b88e-camera +2025-06-10 13:29:05,079 - robotics.core - INFO - Consumer act-session-3d83b88e-joint-input-consumer left room act-session-3d83b88e-joint-input +2025-06-10 13:29:05,080 - robotics.core - INFO - Producer act-session-3d83b88e-joint-output-producer left room act-session-3d83b88e-joint-output +2025-06-10 13:29:13,887 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-10 13:29:20,239 - video.core - INFO - Created video room act-session-af41089a-camera +2025-06-10 13:29:20,244 - robotics.core - INFO - Created room act-session-af41089a-joint-input +2025-06-10 13:29:20,247 - robotics.core - INFO - Created room act-session-af41089a-joint-output +2025-06-10 13:29:23,866 - video.core - INFO - Consumer act-session-af41089a-camera-consumer joined video room act-session-af41089a-camera +2025-06-10 13:29:24,379 - robotics.core - INFO - Consumer act-session-af41089a-joint-input-consumer joined room act-session-af41089a-joint-input +2025-06-10 13:29:24,395 - robotics.core - INFO - Producer act-session-af41089a-joint-output-producer joined room act-session-af41089a-joint-output +2025-06-10 13:29:33,258 - video.core - INFO - Producer producer_1749554970193 joined video room act-session-af41089a-camera +2025-06-10 13:29:34,309 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749554970193 (role: producer) in room act-session-af41089a-camera +2025-06-10 13:29:34,309 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749554970193 to consumer act-session-af41089a-camera-consumer +2025-06-10 13:29:36,150 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749554970193 (role: producer) in room act-session-af41089a-camera +2025-06-10 13:29:36,150 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749554970193 to consumer act-session-af41089a-camera-consumer +2025-06-10 13:29:36,152 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749554970193 (role: producer) in room act-session-af41089a-camera +2025-06-10 13:29:36,153 - video.core - INFO - Stream started by producer_1749554970193 in room act-session-af41089a-camera +2025-06-10 13:29:36,190 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749554970193 (role: producer) in room act-session-af41089a-camera +2025-06-10 13:29:36,209 - video.api - INFO - ๐Ÿ”ง WebRTC signal from act-session-af41089a-camera-consumer (role: consumer) in room act-session-af41089a-camera +2025-06-10 13:29:36,209 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer act-session-af41089a-camera-consumer to producer producer_1749554970193 +2025-06-10 13:29:36,897 - robotics.core - INFO - Producer producer_1749554971380 joined room act-session-af41089a-joint-input +2025-06-10 13:29:37,935 - robotics.core - INFO - Consumer consumer_1749554972097 joined room act-session-af41089a-joint-output +2025-06-10 13:30:35,613 - video.core - INFO - Consumer act-session-af41089a-camera-consumer left video room act-session-af41089a-camera +2025-06-10 13:30:35,631 - robotics.core - INFO - Consumer act-session-af41089a-joint-input-consumer left room act-session-af41089a-joint-input +2025-06-10 13:30:35,773 - robotics.core - INFO - Producer act-session-af41089a-joint-output-producer left room act-session-af41089a-joint-output +2025-06-10 13:32:23,682 - video.core - INFO - Producer producer_1749554970193 left video room act-session-af41089a-camera +2025-06-10 13:32:23,959 - robotics.core - INFO - Producer producer_1749554971380 left room act-session-af41089a-joint-input +2025-06-10 13:32:24,259 - robotics.core - INFO - Consumer consumer_1749554972097 left room act-session-af41089a-joint-output +2025-06-10 13:33:52,452 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-10 13:34:03,328 - video.core - INFO - Created video room act-session-06e90274-camera +2025-06-10 13:34:03,330 - robotics.core - INFO - Created room act-session-06e90274-joint-input +2025-06-10 13:34:03,333 - robotics.core - INFO - Created room act-session-06e90274-joint-output +2025-06-10 13:34:05,573 - video.core - INFO - Consumer act-session-06e90274-camera-consumer joined video room act-session-06e90274-camera +2025-06-10 13:34:06,076 - robotics.core - INFO - Consumer act-session-06e90274-joint-input-consumer joined room act-session-06e90274-joint-input +2025-06-10 13:34:06,082 - robotics.core - INFO - Producer act-session-06e90274-joint-output-producer joined room act-session-06e90274-joint-output +2025-06-10 13:34:15,444 - video.core - INFO - Producer producer_1749555251498 joined video room act-session-06e90274-camera +2025-06-10 13:34:16,496 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749555251498 (role: producer) in room act-session-06e90274-camera +2025-06-10 13:34:16,496 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749555251498 to consumer act-session-06e90274-camera-consumer +2025-06-10 13:34:18,039 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749555251498 (role: producer) in room act-session-06e90274-camera +2025-06-10 13:34:18,040 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749555251498 to consumer act-session-06e90274-camera-consumer +2025-06-10 13:34:18,041 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749555251498 (role: producer) in room act-session-06e90274-camera +2025-06-10 13:34:18,042 - video.core - INFO - Stream started by producer_1749555251498 in room act-session-06e90274-camera +2025-06-10 13:34:18,086 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749555251498 (role: producer) in room act-session-06e90274-camera +2025-06-10 13:34:18,096 - video.api - INFO - ๐Ÿ”ง WebRTC signal from act-session-06e90274-camera-consumer (role: consumer) in room act-session-06e90274-camera +2025-06-10 13:34:18,096 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer act-session-06e90274-camera-consumer to producer producer_1749555251498 +2025-06-10 13:34:18,505 - robotics.core - INFO - Producer producer_1749555254056 joined room act-session-06e90274-joint-input +2025-06-10 13:34:25,734 - robotics.core - INFO - Consumer consumer_1749555254663 joined room act-session-06e90274-joint-output +2025-06-10 13:35:00,971 - video.core - INFO - Consumer act-session-06e90274-camera-consumer left video room act-session-06e90274-camera +2025-06-10 13:35:01,017 - robotics.core - INFO - Consumer act-session-06e90274-joint-input-consumer left room act-session-06e90274-joint-input +2025-06-10 13:35:01,032 - robotics.core - INFO - Producer act-session-06e90274-joint-output-producer left room act-session-06e90274-joint-output +2025-06-10 13:36:47,592 - robotics.core - INFO - Consumer consumer_1749555254663 left room act-session-06e90274-joint-output +2025-06-10 13:36:47,915 - robotics.core - INFO - Producer producer_1749555254056 left room act-session-06e90274-joint-input +2025-06-10 13:36:48,831 - video.core - INFO - Producer producer_1749555251498 left video room act-session-06e90274-camera +2025-06-10 14:17:57,614 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-10 14:18:17,622 - video.core - INFO - Created video room act-session-a546717d-camera +2025-06-10 14:18:17,625 - robotics.core - INFO - Created room act-session-a546717d-joint-input +2025-06-10 14:18:17,627 - robotics.core - INFO - Created room act-session-a546717d-joint-output +2025-06-10 14:18:19,428 - video.core - INFO - Consumer act-session-a546717d-camera-consumer joined video room act-session-a546717d-camera +2025-06-10 14:18:19,934 - robotics.core - INFO - Consumer act-session-a546717d-joint-input-consumer joined room act-session-a546717d-joint-input +2025-06-10 14:18:19,940 - robotics.core - INFO - Producer act-session-a546717d-joint-output-producer joined room act-session-a546717d-joint-output +2025-06-10 14:18:36,987 - video.core - INFO - Producer producer_1749557912268 joined video room act-session-a546717d-camera +2025-06-10 14:18:37,990 - robotics.core - INFO - Producer producer_1749557916063 joined room act-session-a546717d-joint-input +2025-06-10 14:18:38,941 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749557912268 (role: producer) in room act-session-a546717d-camera +2025-06-10 14:18:38,941 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749557912268 to consumer act-session-a546717d-camera-consumer +2025-06-10 14:18:39,072 - robotics.core - INFO - Consumer consumer_1749557916116 joined room act-session-a546717d-joint-output +2025-06-10 14:18:42,232 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749557912268 (role: producer) in room act-session-a546717d-camera +2025-06-10 14:18:42,233 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749557912268 to consumer act-session-a546717d-camera-consumer +2025-06-10 14:18:42,234 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749557912268 (role: producer) in room act-session-a546717d-camera +2025-06-10 14:18:42,236 - video.core - INFO - Stream started by producer_1749557912268 in room act-session-a546717d-camera +2025-06-10 14:18:42,279 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749557912268 (role: producer) in room act-session-a546717d-camera +2025-06-10 14:18:42,332 - video.api - INFO - ๐Ÿ”ง WebRTC signal from act-session-a546717d-camera-consumer (role: consumer) in room act-session-a546717d-camera +2025-06-10 14:18:42,332 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer act-session-a546717d-camera-consumer to producer producer_1749557912268 +2025-06-10 14:19:00,920 - video.core - INFO - Consumer act-session-a546717d-camera-consumer left video room act-session-a546717d-camera +2025-06-10 14:19:00,924 - robotics.core - INFO - Consumer act-session-a546717d-joint-input-consumer left room act-session-a546717d-joint-input +2025-06-10 14:19:00,925 - robotics.core - INFO - Producer act-session-a546717d-joint-output-producer left room act-session-a546717d-joint-output +2025-06-10 14:21:12,033 - robotics.core - INFO - Consumer consumer_1749557916116 left room act-session-a546717d-joint-output +2025-06-10 14:21:12,037 - robotics.core - INFO - Producer producer_1749557916063 left room act-session-a546717d-joint-input +2025-06-10 14:21:12,061 - video.core - INFO - Producer producer_1749557912268 left video room act-session-a546717d-camera +2025-06-10 14:21:15,383 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-10 14:21:34,434 - video.core - INFO - Created video room act-session-73399678-camera +2025-06-10 14:21:34,438 - robotics.core - INFO - Created room act-session-73399678-joint-input +2025-06-10 14:21:34,440 - robotics.core - INFO - Created room act-session-73399678-joint-output +2025-06-10 14:21:36,145 - video.core - INFO - Consumer act-session-73399678-camera-consumer joined video room act-session-73399678-camera +2025-06-10 14:21:36,650 - robotics.core - INFO - Consumer act-session-73399678-joint-input-consumer joined room act-session-73399678-joint-input +2025-06-10 14:21:36,655 - robotics.core - INFO - Producer act-session-73399678-joint-output-producer joined room act-session-73399678-joint-output +2025-06-10 14:21:43,768 - robotics.core - INFO - Producer producer_1749558099308 joined room act-session-73399678-joint-input +2025-06-10 14:21:44,729 - robotics.core - INFO - Consumer consumer_1749558100637 joined room act-session-73399678-joint-output +2025-06-10 14:21:45,512 - video.core - INFO - Producer producer_1749558103200 joined video room act-session-73399678-camera +2025-06-10 14:21:46,548 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749558103200 (role: producer) in room act-session-73399678-camera +2025-06-10 14:21:46,548 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749558103200 to consumer act-session-73399678-camera-consumer +2025-06-10 14:21:48,094 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749558103200 (role: producer) in room act-session-73399678-camera +2025-06-10 14:21:48,094 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749558103200 to consumer act-session-73399678-camera-consumer +2025-06-10 14:21:48,096 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749558103200 (role: producer) in room act-session-73399678-camera +2025-06-10 14:21:48,097 - video.core - INFO - Stream started by producer_1749558103200 in room act-session-73399678-camera +2025-06-10 14:21:48,140 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749558103200 (role: producer) in room act-session-73399678-camera +2025-06-10 14:21:48,158 - video.api - INFO - ๐Ÿ”ง WebRTC signal from act-session-73399678-camera-consumer (role: consumer) in room act-session-73399678-camera +2025-06-10 14:21:48,158 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer act-session-73399678-camera-consumer to producer producer_1749558103200 +2025-06-10 14:22:02,573 - video.core - INFO - Consumer act-session-73399678-camera-consumer left video room act-session-73399678-camera +2025-06-10 14:22:02,595 - robotics.core - INFO - Consumer act-session-73399678-joint-input-consumer left room act-session-73399678-joint-input +2025-06-10 14:22:02,599 - robotics.core - INFO - Producer act-session-73399678-joint-output-producer left room act-session-73399678-joint-output +2025-06-10 14:23:06,053 - video.core - INFO - Producer producer_1749558103200 left video room act-session-73399678-camera +2025-06-10 14:23:06,055 - robotics.core - INFO - Producer producer_1749558099308 left room act-session-73399678-joint-input +2025-06-10 14:23:06,056 - robotics.core - INFO - Consumer consumer_1749558100637 left room act-session-73399678-joint-output +2025-06-10 14:23:09,277 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-10 14:24:06,662 - video.core - INFO - Created video room act-session-3dfd6de7-camera +2025-06-10 14:24:06,673 - robotics.core - INFO - Created room act-session-3dfd6de7-joint-input +2025-06-10 14:24:06,677 - robotics.core - INFO - Created room act-session-3dfd6de7-joint-output +2025-06-10 14:24:08,259 - video.core - INFO - Consumer act-session-3dfd6de7-camera-consumer joined video room act-session-3dfd6de7-camera +2025-06-10 14:24:08,767 - robotics.core - INFO - Consumer act-session-3dfd6de7-joint-input-consumer joined room act-session-3dfd6de7-joint-input +2025-06-10 14:24:08,777 - robotics.core - INFO - Producer act-session-3dfd6de7-joint-output-producer joined room act-session-3dfd6de7-joint-output +2025-06-10 14:24:18,949 - robotics.core - INFO - Producer producer_1749558253762 joined room act-session-3dfd6de7-joint-input +2025-06-10 14:24:19,945 - robotics.core - INFO - Consumer consumer_1749558255515 joined room act-session-3dfd6de7-joint-output +2025-06-10 14:24:20,990 - video.core - INFO - Producer producer_1749558258764 joined video room act-session-3dfd6de7-camera +2025-06-10 14:24:22,030 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749558258764 (role: producer) in room act-session-3dfd6de7-camera +2025-06-10 14:24:22,030 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749558258764 to consumer act-session-3dfd6de7-camera-consumer +2025-06-10 14:24:23,351 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749558258764 (role: producer) in room act-session-3dfd6de7-camera +2025-06-10 14:24:23,352 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749558258764 to consumer act-session-3dfd6de7-camera-consumer +2025-06-10 14:24:23,354 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749558258764 (role: producer) in room act-session-3dfd6de7-camera +2025-06-10 14:24:23,355 - video.core - INFO - Stream started by producer_1749558258764 in room act-session-3dfd6de7-camera +2025-06-10 14:24:23,374 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749558258764 (role: producer) in room act-session-3dfd6de7-camera +2025-06-10 14:24:23,437 - video.api - INFO - ๐Ÿ”ง WebRTC signal from act-session-3dfd6de7-camera-consumer (role: consumer) in room act-session-3dfd6de7-camera +2025-06-10 14:24:23,438 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer act-session-3dfd6de7-camera-consumer to producer producer_1749558258764 +2025-06-10 14:24:56,253 - video.core - INFO - Consumer act-session-3dfd6de7-camera-consumer left video room act-session-3dfd6de7-camera +2025-06-10 14:24:56,255 - robotics.core - INFO - Consumer act-session-3dfd6de7-joint-input-consumer left room act-session-3dfd6de7-joint-input +2025-06-10 14:24:56,257 - robotics.core - INFO - Producer act-session-3dfd6de7-joint-output-producer left room act-session-3dfd6de7-joint-output +2025-06-10 14:34:35,817 - video.core - INFO - Producer producer_1749558258764 left video room act-session-3dfd6de7-camera +2025-06-10 14:35:10,735 - robotics.core - INFO - Created room QuickChicken101 +2025-06-10 14:35:10,746 - robotics.core - INFO - Consumer remote-master-QuickChicken101-1749558910719 joined room QuickChicken101 +2025-06-10 14:35:15,677 - robotics.core - INFO - Consumer remote-master-QuickChicken101-1749558910719 left room QuickChicken101 +2025-06-10 14:35:25,418 - robotics.core - WARNING - Producer remote-slave-act-session-3dfd6de7-joint-input-1749558925399 failed to join room act-session-3dfd6de7-joint-input - room already has producer producer_1749558253762 +2025-06-10 14:35:52,753 - robotics.core - INFO - Consumer consumer_1749558255515 left room act-session-3dfd6de7-joint-output +2025-06-10 14:35:52,783 - robotics.core - INFO - Producer producer_1749558253762 left room act-session-3dfd6de7-joint-input +2025-06-10 14:36:20,510 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-10 14:39:11,373 - robotics.core - INFO - Created room test +2025-06-10 14:39:16,181 - robotics.core - INFO - Producer remote-slave-test-1749559155908 joined room test +2025-06-10 14:39:23,010 - robotics.core - WARNING - Producer producer_1749559162156 failed to join room test - room already has producer remote-slave-test-1749559155908 +2025-06-10 14:39:24,488 - robotics.core - WARNING - Producer producer_1749559162156 failed to join room test - room already has producer remote-slave-test-1749559155908 +2025-06-10 14:39:30,253 - robotics.core - INFO - Consumer consumer_1749559169086 joined room test +2025-06-10 14:54:23,732 - robotics.core - INFO - Consumer consumer_1749559169086 left room test +2025-06-10 14:54:23,770 - robotics.core - INFO - Producer remote-slave-test-1749559155908 left room test +2025-06-10 14:55:32,399 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-10 14:57:20,753 - video.core - INFO - Created video room act-session-5a1d5317-camera +2025-06-10 14:57:20,768 - robotics.core - INFO - Created room act-session-5a1d5317-joint-input +2025-06-10 14:57:20,779 - robotics.core - INFO - Created room act-session-5a1d5317-joint-output +2025-06-10 14:57:24,215 - video.core - INFO - Consumer act-session-5a1d5317-camera-consumer joined video room act-session-5a1d5317-camera +2025-06-10 14:57:24,722 - robotics.core - INFO - Consumer act-session-5a1d5317-joint-input-consumer joined room act-session-5a1d5317-joint-input +2025-06-10 14:57:24,733 - robotics.core - INFO - Producer act-session-5a1d5317-joint-output-producer joined room act-session-5a1d5317-joint-output +2025-06-10 14:57:52,241 - robotics.core - INFO - Created room BalancedBanshee035 +2025-06-10 14:57:52,267 - robotics.core - INFO - Consumer remote-master-BalancedBanshee035-1749560272225 joined room BalancedBanshee035 +2025-06-10 14:58:01,703 - robotics.core - INFO - Consumer remote-master-BalancedBanshee035-1749560272225 left room BalancedBanshee035 +2025-06-10 15:14:28,616 - robotics.core - INFO - Created room BlazingEagle811 +2025-06-10 15:14:41,016 - robotics.core - INFO - Created room BlazingEagle811 +2025-06-10 15:14:43,253 - robotics.core - INFO - Consumer remote-master-BlazingEagle811-1749561280707 joined room BlazingEagle811 +2025-06-10 15:15:23,074 - robotics.core - INFO - Consumer remote-master-BlazingEagle811-1749561280707 left room BlazingEagle811 +2025-06-10 15:15:31,470 - robotics.core - INFO - Producer producer_1749561320096 joined room act-session-5a1d5317-joint-input +2025-06-10 15:15:32,572 - robotics.core - INFO - Consumer consumer_1749561324614 joined room act-session-5a1d5317-joint-output +2025-06-10 15:15:37,669 - video.core - INFO - Producer producer_1749561336264 joined video room act-session-5a1d5317-camera +2025-06-10 15:15:38,755 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749561336264 (role: producer) in room act-session-5a1d5317-camera +2025-06-10 15:15:38,755 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749561336264 to consumer act-session-5a1d5317-camera-consumer +2025-06-10 15:15:41,567 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749561336264 (role: producer) in room act-session-5a1d5317-camera +2025-06-10 15:15:41,567 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749561336264 to consumer act-session-5a1d5317-camera-consumer +2025-06-10 15:15:41,569 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749561336264 (role: producer) in room act-session-5a1d5317-camera +2025-06-10 15:15:41,572 - video.core - INFO - Stream started by producer_1749561336264 in room act-session-5a1d5317-camera +2025-06-10 15:15:41,610 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749561336264 (role: producer) in room act-session-5a1d5317-camera +2025-06-10 15:15:41,685 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749561336264 (role: producer) in room act-session-5a1d5317-camera +2025-06-10 15:15:41,890 - video.api - INFO - ๐Ÿ”ง WebRTC signal from act-session-5a1d5317-camera-consumer (role: consumer) in room act-session-5a1d5317-camera +2025-06-10 15:15:41,891 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer act-session-5a1d5317-camera-consumer to producer producer_1749561336264 +2025-06-10 15:15:58,974 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749561336264 (role: producer) in room act-session-5a1d5317-camera +2025-06-10 15:15:59,584 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749561336264 to consumer act-session-5a1d5317-camera-consumer +2025-06-10 15:16:00,297 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749561336264 (role: producer) in room act-session-5a1d5317-camera +2025-06-10 15:16:00,363 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749561336264 (role: producer) in room act-session-5a1d5317-camera +2025-06-10 15:16:00,397 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749561336264 (role: producer) in room act-session-5a1d5317-camera +2025-06-10 15:16:03,054 - video.api - INFO - ๐Ÿ”ง WebRTC signal from act-session-5a1d5317-camera-consumer (role: consumer) in room act-session-5a1d5317-camera +2025-06-10 15:16:03,054 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer act-session-5a1d5317-camera-consumer to producer producer_1749561336264 +2025-06-10 15:16:20,930 - robotics.core - INFO - Producer producer_1749561320096 left room act-session-5a1d5317-joint-input +2025-06-10 15:16:20,941 - robotics.core - INFO - Consumer act-session-5a1d5317-joint-input-consumer left room act-session-5a1d5317-joint-input +2025-06-10 15:16:20,941 - robotics.core - INFO - Consumer consumer_1749561324614 left room act-session-5a1d5317-joint-output +2025-06-10 15:16:20,942 - robotics.core - INFO - Producer act-session-5a1d5317-joint-output-producer left room act-session-5a1d5317-joint-output +2025-06-10 15:16:20,942 - video.core - INFO - Producer producer_1749561336264 left video room act-session-5a1d5317-camera +2025-06-10 15:16:20,942 - video.core - INFO - Consumer act-session-5a1d5317-camera-consumer left video room act-session-5a1d5317-camera +2025-06-10 15:16:45,815 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-10 15:18:05,633 - video.core - INFO - Created video room act-session-5eb2703b-camera +2025-06-10 15:18:05,637 - robotics.core - INFO - Created room act-session-5eb2703b-joint-input +2025-06-10 15:18:05,640 - robotics.core - INFO - Created room act-session-5eb2703b-joint-output +2025-06-10 15:18:07,927 - video.core - INFO - Consumer act-session-5eb2703b-camera-consumer joined video room act-session-5eb2703b-camera +2025-06-10 15:18:08,432 - robotics.core - INFO - Consumer act-session-5eb2703b-joint-input-consumer joined room act-session-5eb2703b-joint-input +2025-06-10 15:18:08,440 - robotics.core - INFO - Producer act-session-5eb2703b-joint-output-producer joined room act-session-5eb2703b-joint-output +2025-06-10 15:18:23,595 - robotics.core - INFO - Created room IndigoGargoyle407 +2025-06-10 15:18:23,662 - robotics.core - INFO - Consumer remote-master-IndigoGargoyle407-1749561503539 joined room IndigoGargoyle407 +2025-06-10 15:18:41,111 - robotics.core - INFO - Producer remote-slave-act-session-5eb2703b-joint-input-1749561520776 joined room act-session-5eb2703b-joint-input +2025-06-10 15:18:54,946 - robotics.core - WARNING - Producer remote-slave-act-session-5eb2703b-joint-output-1749561534238 failed to join room act-session-5eb2703b-joint-output - room already has producer act-session-5eb2703b-joint-output-producer +2025-06-10 15:18:55,092 - robotics.core - WARNING - Producer remote-slave-act-session-5eb2703b-joint-output-1749561534986 failed to join room act-session-5eb2703b-joint-output - room already has producer act-session-5eb2703b-joint-output-producer +2025-06-10 15:19:15,537 - robotics.core - WARNING - Producer remote-slave-act-session-5eb2703b-joint-input-1749561554484 failed to join room act-session-5eb2703b-joint-input - room already has producer remote-slave-act-session-5eb2703b-joint-input-1749561520776 +2025-06-10 15:19:20,582 - robotics.core - WARNING - Producer remote-slave-act-session-5eb2703b-joint-output-1749561560268 failed to join room act-session-5eb2703b-joint-output - room already has producer act-session-5eb2703b-joint-output-producer +2025-06-10 15:19:31,926 - video.core - INFO - Producer producer_1749561571169 joined video room act-session-5eb2703b-camera +2025-06-10 15:19:33,044 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749561571169 (role: producer) in room act-session-5eb2703b-camera +2025-06-10 15:19:33,051 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749561571169 to consumer act-session-5eb2703b-camera-consumer +2025-06-10 15:19:34,867 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749561571169 (role: producer) in room act-session-5eb2703b-camera +2025-06-10 15:19:34,867 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749561571169 to consumer act-session-5eb2703b-camera-consumer +2025-06-10 15:19:34,868 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749561571169 (role: producer) in room act-session-5eb2703b-camera +2025-06-10 15:19:34,870 - video.core - INFO - Stream started by producer_1749561571169 in room act-session-5eb2703b-camera +2025-06-10 15:19:34,923 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749561571169 (role: producer) in room act-session-5eb2703b-camera +2025-06-10 15:19:34,978 - video.api - INFO - ๐Ÿ”ง WebRTC signal from act-session-5eb2703b-camera-consumer (role: consumer) in room act-session-5eb2703b-camera +2025-06-10 15:19:34,979 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer act-session-5eb2703b-camera-consumer to producer producer_1749561571169 +2025-06-10 15:19:34,984 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749561571169 (role: producer) in room act-session-5eb2703b-camera +2025-06-10 15:19:42,626 - video.core - INFO - Consumer consumer_1749561581114_etc8g0gcy joined video room act-session-5eb2703b-camera +2025-06-10 15:19:42,735 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749561571169 (role: producer) in room act-session-5eb2703b-camera +2025-06-10 15:19:42,736 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749561571169 to consumer consumer_1749561581114_etc8g0gcy +2025-06-10 15:19:42,886 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749561571169 (role: producer) in room act-session-5eb2703b-camera +2025-06-10 15:19:42,888 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749561571169 (role: producer) in room act-session-5eb2703b-camera +2025-06-10 15:19:42,896 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749561571169 (role: producer) in room act-session-5eb2703b-camera +2025-06-10 15:19:43,073 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749561581114_etc8g0gcy (role: consumer) in room act-session-5eb2703b-camera +2025-06-10 15:19:43,088 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749561581114_etc8g0gcy to producer producer_1749561571169 +2025-06-10 15:19:43,092 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749561581114_etc8g0gcy (role: consumer) in room act-session-5eb2703b-camera +2025-06-10 15:20:14,006 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749561571169 (role: producer) in room act-session-5eb2703b-camera +2025-06-10 15:20:14,205 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749561571169 to consumer act-session-5eb2703b-camera-consumer +2025-06-10 15:20:14,372 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749561571169 (role: producer) in room act-session-5eb2703b-camera +2025-06-10 15:20:14,375 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749561571169 (role: producer) in room act-session-5eb2703b-camera +2025-06-10 15:20:14,377 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749561571169 (role: producer) in room act-session-5eb2703b-camera +2025-06-10 15:20:31,874 - video.api - INFO - ๐Ÿ”ง WebRTC signal from act-session-5eb2703b-camera-consumer (role: consumer) in room act-session-5eb2703b-camera +2025-06-10 15:20:32,173 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer act-session-5eb2703b-camera-consumer to producer producer_1749561571169 +2025-06-10 15:20:54,816 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749561571169 (role: producer) in room act-session-5eb2703b-camera +2025-06-10 15:20:54,860 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749561571169 (role: producer) in room act-session-5eb2703b-camera +2025-06-10 15:20:54,860 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749561571169 to consumer act-session-5eb2703b-camera-consumer +2025-06-10 15:20:55,019 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749561571169 (role: producer) in room act-session-5eb2703b-camera +2025-06-10 15:20:55,114 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749561571169 (role: producer) in room act-session-5eb2703b-camera +2025-06-10 15:21:02,201 - robotics.core - INFO - Consumer consumer_1749561661331 joined room act-session-5eb2703b-joint-output +2025-06-10 15:21:02,964 - video.api - INFO - ๐Ÿ”ง WebRTC signal from act-session-5eb2703b-camera-consumer (role: consumer) in room act-session-5eb2703b-camera +2025-06-10 15:21:02,964 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer act-session-5eb2703b-camera-consumer to producer producer_1749561571169 +2025-06-10 15:21:20,159 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749561571169 (role: producer) in room act-session-5eb2703b-camera +2025-06-10 15:21:20,170 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749561571169 to consumer act-session-5eb2703b-camera-consumer +2025-06-10 15:21:20,186 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749561571169 (role: producer) in room act-session-5eb2703b-camera +2025-06-10 15:21:20,189 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749561571169 (role: producer) in room act-session-5eb2703b-camera +2025-06-10 15:21:20,195 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749561571169 (role: producer) in room act-session-5eb2703b-camera +2025-06-10 15:21:20,679 - video.api - INFO - ๐Ÿ”ง WebRTC signal from act-session-5eb2703b-camera-consumer (role: consumer) in room act-session-5eb2703b-camera +2025-06-10 15:21:20,680 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer act-session-5eb2703b-camera-consumer to producer producer_1749561571169 +2025-06-10 15:21:31,221 - robotics.core - INFO - Consumer consumer_1749561690572 joined room act-session-5eb2703b-joint-input +2025-06-10 15:22:09,553 - video.core - INFO - Consumer act-session-5eb2703b-camera-consumer left video room act-session-5eb2703b-camera +2025-06-10 15:22:09,556 - robotics.core - INFO - Consumer act-session-5eb2703b-joint-input-consumer left room act-session-5eb2703b-joint-input +2025-06-10 15:22:09,559 - robotics.core - INFO - Producer act-session-5eb2703b-joint-output-producer left room act-session-5eb2703b-joint-output +2025-06-10 15:23:04,024 - robotics.core - INFO - Consumer remote-master-IndigoGargoyle407-1749561503539 left room IndigoGargoyle407 +2025-06-10 15:23:04,053 - robotics.core - INFO - Producer remote-slave-act-session-5eb2703b-joint-input-1749561520776 left room act-session-5eb2703b-joint-input +2025-06-10 15:23:04,053 - video.core - INFO - Producer producer_1749561571169 left video room act-session-5eb2703b-camera +2025-06-10 15:23:04,053 - robotics.core - INFO - Consumer consumer_1749561661331 left room act-session-5eb2703b-joint-output +2025-06-10 15:23:04,053 - robotics.core - INFO - Consumer consumer_1749561690572 left room act-session-5eb2703b-joint-input +2025-06-10 15:23:04,053 - video.core - INFO - Consumer consumer_1749561581114_etc8g0gcy left video room act-session-5eb2703b-camera +2025-06-10 15:23:13,570 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-10 15:23:45,070 - video.core - INFO - Created video room act-session-db314f12-camera +2025-06-10 15:23:45,074 - robotics.core - INFO - Created room act-session-db314f12-joint-input +2025-06-10 15:23:45,076 - robotics.core - INFO - Created room act-session-db314f12-joint-output +2025-06-10 15:23:47,510 - video.core - INFO - Consumer act-session-db314f12-camera-consumer joined video room act-session-db314f12-camera +2025-06-10 15:23:48,018 - robotics.core - INFO - Consumer act-session-db314f12-joint-input-consumer joined room act-session-db314f12-joint-input +2025-06-10 15:23:48,026 - robotics.core - INFO - Producer act-session-db314f12-joint-output-producer joined room act-session-db314f12-joint-output +2025-06-10 15:23:57,014 - robotics.core - INFO - Created room DivineHornet528 +2025-06-10 15:23:57,081 - robotics.core - INFO - Consumer remote-master-DivineHornet528-1749561836965 joined room DivineHornet528 +2025-06-10 15:24:10,615 - robotics.core - INFO - Producer remote-slave-act-session-db314f12-joint-input-1749561850601 joined room act-session-db314f12-joint-input +2025-06-10 15:24:36,693 - video.core - INFO - Producer producer_1749561875994 joined video room act-session-db314f12-camera +2025-06-10 15:24:37,752 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749561875994 (role: producer) in room act-session-db314f12-camera +2025-06-10 15:24:37,752 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749561875994 to consumer act-session-db314f12-camera-consumer +2025-06-10 15:24:38,996 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749561875994 (role: producer) in room act-session-db314f12-camera +2025-06-10 15:24:38,996 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749561875994 to consumer act-session-db314f12-camera-consumer +2025-06-10 15:24:38,998 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749561875994 (role: producer) in room act-session-db314f12-camera +2025-06-10 15:24:39,010 - video.core - INFO - Stream started by producer_1749561875994 in room act-session-db314f12-camera +2025-06-10 15:24:39,047 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749561875994 (role: producer) in room act-session-db314f12-camera +2025-06-10 15:24:39,114 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749561875994 (role: producer) in room act-session-db314f12-camera +2025-06-10 15:24:39,122 - video.api - INFO - ๐Ÿ”ง WebRTC signal from act-session-db314f12-camera-consumer (role: consumer) in room act-session-db314f12-camera +2025-06-10 15:24:39,122 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer act-session-db314f12-camera-consumer to producer producer_1749561875994 +2025-06-10 15:24:42,336 - video.core - INFO - Consumer consumer_1749561881103_askgt3icn joined video room act-session-db314f12-camera +2025-06-10 15:24:42,587 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749561875994 (role: producer) in room act-session-db314f12-camera +2025-06-10 15:24:42,590 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749561875994 to consumer consumer_1749561881103_askgt3icn +2025-06-10 15:24:42,592 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749561875994 (role: producer) in room act-session-db314f12-camera +2025-06-10 15:24:42,594 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749561875994 (role: producer) in room act-session-db314f12-camera +2025-06-10 15:24:42,642 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749561875994 (role: producer) in room act-session-db314f12-camera +2025-06-10 15:24:42,745 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749561881103_askgt3icn (role: consumer) in room act-session-db314f12-camera +2025-06-10 15:24:42,746 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749561881103_askgt3icn to producer producer_1749561875994 +2025-06-10 15:24:42,826 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749561881103_askgt3icn (role: consumer) in room act-session-db314f12-camera +2025-06-10 15:24:43,554 - robotics.core - INFO - Consumer consumer_1749561868640 joined room act-session-db314f12-joint-input +2025-06-10 15:24:44,543 - robotics.core - INFO - Consumer consumer_1749561869045 joined room act-session-db314f12-joint-output +2025-06-10 15:25:02,675 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749561875994 (role: producer) in room act-session-db314f12-camera +2025-06-10 15:25:02,679 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749561875994 to consumer act-session-db314f12-camera-consumer +2025-06-10 15:25:02,686 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749561875994 (role: producer) in room act-session-db314f12-camera +2025-06-10 15:25:02,691 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749561875994 (role: producer) in room act-session-db314f12-camera +2025-06-10 15:25:02,784 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749561875994 (role: producer) in room act-session-db314f12-camera +2025-06-10 15:25:02,817 - video.api - INFO - ๐Ÿ”ง WebRTC signal from act-session-db314f12-camera-consumer (role: consumer) in room act-session-db314f12-camera +2025-06-10 15:25:02,817 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer act-session-db314f12-camera-consumer to producer producer_1749561875994 +2025-06-10 15:25:15,120 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749561875994 (role: producer) in room act-session-db314f12-camera +2025-06-10 15:25:15,124 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749561875994 to consumer act-session-db314f12-camera-consumer +2025-06-10 15:25:15,129 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749561875994 (role: producer) in room act-session-db314f12-camera +2025-06-10 15:25:15,149 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749561875994 (role: producer) in room act-session-db314f12-camera +2025-06-10 15:25:15,211 - video.api - INFO - ๐Ÿ”ง WebRTC signal from act-session-db314f12-camera-consumer (role: consumer) in room act-session-db314f12-camera +2025-06-10 15:25:15,212 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer act-session-db314f12-camera-consumer to producer producer_1749561875994 +2025-06-10 15:25:15,238 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749561875994 (role: producer) in room act-session-db314f12-camera +2025-06-10 15:25:24,452 - robotics.core - INFO - Consumer remote-master-DivineHornet528-1749561836965 left room DivineHornet528 +2025-06-10 15:25:26,097 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749561875994 (role: producer) in room act-session-db314f12-camera +2025-06-10 15:25:26,098 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749561875994 to consumer act-session-db314f12-camera-consumer +2025-06-10 15:25:26,195 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749561875994 (role: producer) in room act-session-db314f12-camera +2025-06-10 15:25:26,314 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749561875994 (role: producer) in room act-session-db314f12-camera +2025-06-10 15:25:26,364 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749561875994 (role: producer) in room act-session-db314f12-camera +2025-06-10 15:25:51,540 - video.api - INFO - ๐Ÿ”ง WebRTC signal from act-session-db314f12-camera-consumer (role: consumer) in room act-session-db314f12-camera +2025-06-10 15:25:51,570 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer act-session-db314f12-camera-consumer to producer producer_1749561875994 +2025-06-10 15:26:09,131 - video.core - INFO - Consumer act-session-db314f12-camera-consumer left video room act-session-db314f12-camera +2025-06-10 15:26:13,293 - video.core - INFO - Producer producer_1749561875994 left video room act-session-db314f12-camera +2025-06-10 15:26:13,932 - video.core - INFO - Consumer consumer_1749561881103_askgt3icn left video room act-session-db314f12-camera +2025-06-10 15:26:14,313 - robotics.core - INFO - Consumer act-session-db314f12-joint-input-consumer left room act-session-db314f12-joint-input +2025-06-10 15:26:18,489 - robotics.core - INFO - Consumer consumer_1749561868640 left room act-session-db314f12-joint-input +2025-06-10 15:26:18,498 - robotics.core - INFO - Producer act-session-db314f12-joint-output-producer left room act-session-db314f12-joint-output +2025-06-10 15:26:18,507 - robotics.core - INFO - Consumer consumer_1749561869045 left room act-session-db314f12-joint-output +2025-06-10 15:26:18,510 - robotics.core - INFO - Producer remote-slave-act-session-db314f12-joint-input-1749561850601 left room act-session-db314f12-joint-input +2025-06-10 15:27:15,617 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-10 15:27:30,510 - video.core - INFO - Created video room myroom +2025-06-10 15:27:35,592 - robotics.core - INFO - Created room myrobot +2025-06-10 15:27:39,047 - robotics.core - INFO - Producer producer_1749562057805 joined room myrobot +2025-06-10 15:28:28,281 - robotics.core - WARNING - Producer remote-slave-myrobot-1749562108259 failed to join room myrobot - room already has producer producer_1749562057805 +2025-06-10 15:55:43,939 - robotics.core - INFO - Created room myrobot +2025-06-10 15:55:44,019 - robotics.core - INFO - Consumer remote-master-myrobot-1749563743874 joined room myrobot +2025-06-10 15:56:10,223 - robotics.core - INFO - Consumer consumer_1749563769393 joined room myrobot +2025-06-10 15:56:24,885 - robotics.core - INFO - Created room HighlandTarantula967-EnchantedZebra180 +2025-06-10 15:56:25,542 - robotics.core - INFO - Producer remote-slave-HighlandTarantula967-EnchantedZebra180-1749563785453 joined room HighlandTarantula967-EnchantedZebra180 +2025-06-10 15:56:33,011 - robotics.core - INFO - Consumer consumer_1749563792228 joined room HighlandTarantula967-EnchantedZebra180 +2025-06-10 15:58:53,647 - robotics.core - INFO - Consumer consumer_1749563792228 left room HighlandTarantula967-EnchantedZebra180 +2025-06-10 15:58:54,888 - robotics.core - INFO - Consumer consumer_1749563769393 left room myrobot +2025-06-10 15:58:57,254 - robotics.core - INFO - Consumer remote-master-myrobot-1749563743874 left room myrobot +2025-06-10 15:58:57,520 - robotics.core - INFO - Producer remote-slave-HighlandTarantula967-EnchantedZebra180-1749563785453 left room HighlandTarantula967-EnchantedZebra180 +2025-06-10 15:59:25,462 - robotics.core - INFO - Created room testrobot +2025-06-10 15:59:29,846 - robotics.core - INFO - Producer producer_1749563969057 joined room myrobot +2025-06-10 15:59:35,975 - robotics.core - INFO - Created room myrobot +2025-06-10 15:59:36,015 - robotics.core - INFO - Consumer remote-master-myrobot-1749563975970 joined room myrobot +2025-06-10 16:00:00,075 - robotics.core - INFO - Consumer remote-master-myrobot-1749563975970 left room myrobot +2025-06-10 16:03:08,590 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-10 16:03:48,111 - video.core - INFO - Created video room act-session-27e8c5ce-camera +2025-06-10 16:03:48,113 - robotics.core - INFO - Created room act-session-27e8c5ce-joint-input +2025-06-10 16:03:48,121 - robotics.core - INFO - Created room act-session-27e8c5ce-joint-output +2025-06-10 16:03:49,772 - video.core - INFO - Consumer act-session-27e8c5ce-camera-consumer joined video room act-session-27e8c5ce-camera +2025-06-10 16:03:50,278 - robotics.core - INFO - Consumer act-session-27e8c5ce-joint-input-consumer joined room act-session-27e8c5ce-joint-input +2025-06-10 16:03:50,283 - robotics.core - INFO - Producer act-session-27e8c5ce-joint-output-producer joined room act-session-27e8c5ce-joint-output +2025-06-10 16:04:11,704 - video.core - INFO - Producer producer_1749564249979 joined video room act-session-27e8c5ce-camera +2025-06-10 16:04:12,881 - robotics.core - INFO - Consumer consumer_1749564247141 joined room act-session-27e8c5ce-joint-input +2025-06-10 16:04:13,563 - robotics.core - INFO - Consumer consumer_1749564247389 joined room act-session-27e8c5ce-joint-output +2025-06-10 16:04:13,666 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749564249979 (role: producer) in room act-session-27e8c5ce-camera +2025-06-10 16:04:13,666 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749564249979 to consumer act-session-27e8c5ce-camera-consumer +2025-06-10 16:04:16,368 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749564249979 (role: producer) in room act-session-27e8c5ce-camera +2025-06-10 16:04:16,368 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749564249979 to consumer act-session-27e8c5ce-camera-consumer +2025-06-10 16:04:16,369 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749564249979 (role: producer) in room act-session-27e8c5ce-camera +2025-06-10 16:04:16,372 - video.core - INFO - Stream started by producer_1749564249979 in room act-session-27e8c5ce-camera +2025-06-10 16:04:16,413 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749564249979 (role: producer) in room act-session-27e8c5ce-camera +2025-06-10 16:04:16,419 - video.api - INFO - ๐Ÿ”ง WebRTC signal from act-session-27e8c5ce-camera-consumer (role: consumer) in room act-session-27e8c5ce-camera +2025-06-10 16:04:16,419 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer act-session-27e8c5ce-camera-consumer to producer producer_1749564249979 +2025-06-10 16:04:41,443 - robotics.core - INFO - Created room act-session-27e8c5ce-joint-output +2025-06-10 16:04:41,488 - robotics.core - INFO - Consumer remote-master-act-session-27e8c5ce-joint-output-1749564281438 joined room act-session-27e8c5ce-joint-output +2025-06-10 16:04:56,691 - robotics.core - INFO - Producer remote-slave-act-session-27e8c5ce-joint-input-1749564296673 joined room act-session-27e8c5ce-joint-input +2025-06-10 16:05:02,574 - video.core - INFO - Consumer consumer_1749564302545_sfc4fment joined video room act-session-27e8c5ce-camera +2025-06-10 16:05:02,611 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749564249979 (role: producer) in room act-session-27e8c5ce-camera +2025-06-10 16:05:02,611 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749564249979 to consumer consumer_1749564302545_sfc4fment +2025-06-10 16:05:02,614 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749564249979 (role: producer) in room act-session-27e8c5ce-camera +2025-06-10 16:05:02,636 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749564249979 (role: producer) in room act-session-27e8c5ce-camera +2025-06-10 16:05:02,714 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749564302545_sfc4fment (role: consumer) in room act-session-27e8c5ce-camera +2025-06-10 16:05:02,715 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749564302545_sfc4fment to producer producer_1749564249979 +2025-06-10 16:05:02,718 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749564302545_sfc4fment (role: consumer) in room act-session-27e8c5ce-camera +2025-06-10 16:05:04,255 - video.core - INFO - Consumer consumer_1749564302545_sfc4fment left video room act-session-27e8c5ce-camera +2025-06-10 16:05:04,316 - video.core - INFO - Consumer consumer_1749564304277_8irvv5d3e joined video room act-session-27e8c5ce-camera +2025-06-10 16:05:04,341 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749564249979 (role: producer) in room act-session-27e8c5ce-camera +2025-06-10 16:05:04,341 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749564249979 to consumer consumer_1749564304277_8irvv5d3e +2025-06-10 16:05:04,345 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749564249979 (role: producer) in room act-session-27e8c5ce-camera +2025-06-10 16:05:04,365 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749564249979 (role: producer) in room act-session-27e8c5ce-camera +2025-06-10 16:05:04,419 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749564304277_8irvv5d3e (role: consumer) in room act-session-27e8c5ce-camera +2025-06-10 16:05:04,420 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749564304277_8irvv5d3e to producer producer_1749564249979 +2025-06-10 16:05:04,433 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749564304277_8irvv5d3e (role: consumer) in room act-session-27e8c5ce-camera +2025-06-10 16:05:05,027 - video.core - INFO - Consumer consumer_1749564304277_8irvv5d3e left video room act-session-27e8c5ce-camera +2025-06-10 16:05:05,096 - video.core - INFO - Consumer consumer_1749564305048_wwznynest joined video room act-session-27e8c5ce-camera +2025-06-10 16:05:05,119 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749564249979 (role: producer) in room act-session-27e8c5ce-camera +2025-06-10 16:05:05,119 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749564249979 to consumer consumer_1749564305048_wwznynest +2025-06-10 16:05:05,123 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749564249979 (role: producer) in room act-session-27e8c5ce-camera +2025-06-10 16:05:05,156 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749564249979 (role: producer) in room act-session-27e8c5ce-camera +2025-06-10 16:05:05,210 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749564305048_wwznynest (role: consumer) in room act-session-27e8c5ce-camera +2025-06-10 16:05:05,210 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749564305048_wwznynest to producer producer_1749564249979 +2025-06-10 16:05:05,221 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749564305048_wwznynest (role: consumer) in room act-session-27e8c5ce-camera +2025-06-10 16:05:47,345 - robotics.core - INFO - Producer remote-slave-act-session-27e8c5ce-joint-input-1749564296673 left room act-session-27e8c5ce-joint-input +2025-06-10 16:06:43,270 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749564249979 (role: producer) in room act-session-27e8c5ce-camera +2025-06-10 16:06:43,568 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749564249979 to consumer act-session-27e8c5ce-camera-consumer +2025-06-10 16:06:43,586 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749564249979 (role: producer) in room act-session-27e8c5ce-camera +2025-06-10 16:06:43,880 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749564249979 (role: producer) in room act-session-27e8c5ce-camera +2025-06-10 16:06:43,944 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749564249979 (role: producer) in room act-session-27e8c5ce-camera +2025-06-10 16:06:46,726 - video.api - INFO - ๐Ÿ”ง WebRTC signal from act-session-27e8c5ce-camera-consumer (role: consumer) in room act-session-27e8c5ce-camera +2025-06-10 16:06:46,726 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer act-session-27e8c5ce-camera-consumer to producer producer_1749564249979 +2025-06-10 16:07:05,506 - robotics.core - INFO - Consumer consumer_1749564247141 left room act-session-27e8c5ce-joint-input +2025-06-10 16:07:06,605 - robotics.core - INFO - Consumer consumer_1749564425740 joined room act-session-27e8c5ce-joint-input +2025-06-10 16:07:09,695 - robotics.core - INFO - Consumer consumer_1749564428983 joined room act-session-27e8c5ce-joint-output +2025-06-10 16:07:48,475 - video.core - INFO - Consumer act-session-27e8c5ce-camera-consumer left video room act-session-27e8c5ce-camera +2025-06-10 16:07:48,477 - robotics.core - INFO - Consumer act-session-27e8c5ce-joint-input-consumer left room act-session-27e8c5ce-joint-input +2025-06-10 16:07:50,174 - robotics.core - INFO - Consumer consumer_1749564425740 left room act-session-27e8c5ce-joint-input +2025-06-10 16:07:50,175 - video.core - INFO - Producer producer_1749564249979 left video room act-session-27e8c5ce-camera +2025-06-10 16:07:50,178 - video.core - INFO - Consumer consumer_1749564305048_wwznynest left video room act-session-27e8c5ce-camera +2025-06-10 16:07:50,179 - robotics.core - INFO - Consumer consumer_1749564428983 left room act-session-27e8c5ce-joint-output +2025-06-10 16:07:50,179 - robotics.core - INFO - Consumer remote-master-act-session-27e8c5ce-joint-output-1749564281438 left room act-session-27e8c5ce-joint-output +2025-06-10 17:01:44,424 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-10 17:42:31,962 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-10 17:43:08,414 - video.core - INFO - Created video room act-session-ff9a037e-camera +2025-06-10 17:43:08,439 - robotics.core - INFO - Created room act-session-ff9a037e-joint-input +2025-06-10 17:43:08,451 - robotics.core - INFO - Created room act-session-ff9a037e-joint-output +2025-06-10 17:43:12,447 - video.core - INFO - Consumer act-session-ff9a037e-camera-consumer joined video room act-session-ff9a037e-camera +2025-06-10 17:43:13,008 - robotics.core - INFO - Consumer act-session-ff9a037e-joint-input-consumer joined room act-session-ff9a037e-joint-input +2025-06-10 17:43:13,057 - robotics.core - INFO - Producer act-session-ff9a037e-joint-output-producer joined room act-session-ff9a037e-joint-output +2025-06-10 17:43:17,696 - video.core - INFO - Producer producer_1749570197006 joined video room act-session-ff9a037e-camera +2025-06-10 17:43:18,771 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749570197006 (role: producer) in room act-session-ff9a037e-camera +2025-06-10 17:43:18,771 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749570197006 to consumer act-session-ff9a037e-camera-consumer +2025-06-10 17:43:21,963 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749570197006 (role: producer) in room act-session-ff9a037e-camera +2025-06-10 17:43:21,964 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749570197006 to consumer act-session-ff9a037e-camera-consumer +2025-06-10 17:43:21,970 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749570197006 (role: producer) in room act-session-ff9a037e-camera +2025-06-10 17:43:21,996 - video.core - INFO - Stream started by producer_1749570197006 in room act-session-ff9a037e-camera +2025-06-10 17:43:22,034 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749570197006 (role: producer) in room act-session-ff9a037e-camera +2025-06-10 17:43:22,085 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749570197006 (role: producer) in room act-session-ff9a037e-camera +2025-06-10 17:43:22,132 - video.api - INFO - ๐Ÿ”ง WebRTC signal from act-session-ff9a037e-camera-consumer (role: consumer) in room act-session-ff9a037e-camera +2025-06-10 17:43:22,132 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer act-session-ff9a037e-camera-consumer to producer producer_1749570197006 +2025-06-10 17:43:56,663 - robotics.core - INFO - Created room act-session-ff9a037e-joint-output +2025-06-10 17:43:56,864 - robotics.core - INFO - Consumer remote-master-act-session-ff9a037e-joint-output-1749570236233 joined room act-session-ff9a037e-joint-output +2025-06-10 17:44:06,038 - robotics.core - INFO - Producer remote-slave-act-session-ff9a037e-joint-input-1749570245981 joined room act-session-ff9a037e-joint-input +2025-06-10 17:44:14,667 - video.core - INFO - Consumer consumer_1749570254638_pbnwx99it joined video room act-session-ff9a037e-camera +2025-06-10 17:44:14,741 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749570197006 (role: producer) in room act-session-ff9a037e-camera +2025-06-10 17:44:14,747 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749570197006 to consumer consumer_1749570254638_pbnwx99it +2025-06-10 17:44:14,752 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749570197006 (role: producer) in room act-session-ff9a037e-camera +2025-06-10 17:44:14,765 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749570197006 (role: producer) in room act-session-ff9a037e-camera +2025-06-10 17:44:14,852 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749570197006 (role: producer) in room act-session-ff9a037e-camera +2025-06-10 17:44:14,944 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749570254638_pbnwx99it (role: consumer) in room act-session-ff9a037e-camera +2025-06-10 17:44:14,946 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1749570254638_pbnwx99it to producer producer_1749570197006 +2025-06-10 17:44:15,029 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1749570254638_pbnwx99it (role: consumer) in room act-session-ff9a037e-camera +2025-06-10 17:44:31,688 - robotics.core - INFO - Created room act-session-ff9a037e-joint-input +2025-06-10 17:44:31,998 - robotics.core - INFO - Consumer remote-master-act-session-ff9a037e-joint-input-1749570271513 joined room act-session-ff9a037e-joint-input +2025-06-10 17:44:38,803 - robotics.core - INFO - Consumer consumer_1749570278376 joined room act-session-ff9a037e-joint-input +2025-06-10 17:44:39,656 - robotics.core - INFO - Consumer consumer_1749570278390 joined room act-session-ff9a037e-joint-output +2025-06-10 17:45:21,344 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749570197006 (role: producer) in room act-session-ff9a037e-camera +2025-06-10 17:45:21,512 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1749570197006 to consumer act-session-ff9a037e-camera-consumer +2025-06-10 17:45:21,539 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749570197006 (role: producer) in room act-session-ff9a037e-camera +2025-06-10 17:45:21,559 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749570197006 (role: producer) in room act-session-ff9a037e-camera +2025-06-10 17:45:21,584 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1749570197006 (role: producer) in room act-session-ff9a037e-camera +2025-06-10 17:45:31,447 - video.api - INFO - ๐Ÿ”ง WebRTC signal from act-session-ff9a037e-camera-consumer (role: consumer) in room act-session-ff9a037e-camera +2025-06-10 17:45:31,450 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer act-session-ff9a037e-camera-consumer to producer producer_1749570197006 +2025-06-10 17:46:08,244 - video.core - INFO - Consumer act-session-ff9a037e-camera-consumer left video room act-session-ff9a037e-camera +2025-06-10 17:46:08,784 - robotics.core - INFO - Consumer consumer_1749570278376 left room act-session-ff9a037e-joint-input +2025-06-10 17:46:08,784 - robotics.core - INFO - Consumer consumer_1749570278390 left room act-session-ff9a037e-joint-output +2025-06-10 17:46:08,784 - robotics.core - INFO - Consumer remote-master-act-session-ff9a037e-joint-output-1749570236233 left room act-session-ff9a037e-joint-output +2025-06-10 17:46:08,784 - video.core - INFO - Consumer consumer_1749570254638_pbnwx99it left video room act-session-ff9a037e-camera +2025-06-10 17:46:08,784 - robotics.core - INFO - Consumer remote-master-act-session-ff9a037e-joint-input-1749570271513 left room act-session-ff9a037e-joint-input +2025-06-10 17:46:08,785 - video.core - INFO - Producer producer_1749570197006 left video room act-session-ff9a037e-camera +2025-06-19 10:22:20,086 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-19 10:28:22,177 - robotics.core - INFO - Created room demo-robot +2025-06-19 10:28:22,210 - robotics.core - INFO - Producer remote-output-demo-robot-1750321702166 joined room demo-robot +2025-06-19 10:28:27,167 - robotics.core - INFO - Consumer consumer_1750321706244 joined room demo-robot +2025-06-19 10:28:43,876 - robotics.core - INFO - Producer remote-output-demo-robot-1750321702166 left room demo-robot +2025-06-19 10:28:46,448 - robotics.core - INFO - Consumer consumer_1750321706244 left room demo-robot +2025-06-19 10:28:48,296 - robotics.core - INFO - Deleted room demo-robot +2025-06-19 10:28:50,097 - robotics.core - INFO - Created room demo-robot +2025-06-19 10:28:50,119 - robotics.core - INFO - Consumer remote-input-demo-robot-1750321730094 joined room demo-robot +2025-06-19 10:28:55,261 - robotics.core - INFO - Producer producer_1750321733697 joined room demo-robot +2025-06-19 10:30:08,795 - robotics.core - INFO - Producer producer_1750321733697 left room demo-robot +2025-06-19 10:30:43,262 - robotics.core - INFO - Producer producer_1750321809105 joined room demo-robot +2025-06-19 10:31:21,438 - robotics.core - INFO - Producer producer_1750321809105 left room demo-robot +2025-06-19 10:31:28,917 - robotics.core - INFO - Producer producer_1750321881437 joined room demo-robot +2025-06-19 10:31:37,252 - robotics.core - INFO - Producer producer_1750321881437 left room demo-robot +2025-06-19 10:31:38,693 - robotics.core - INFO - Consumer remote-input-demo-robot-1750321730094 left room demo-robot +2025-06-19 10:31:45,397 - robotics.core - INFO - Deleted room demo-robot +2025-06-19 10:32:26,797 - robotics.core - INFO - Created room demo-robot +2025-06-19 10:32:26,817 - robotics.core - INFO - Consumer remote-input-demo-robot-1750321946792 joined room demo-robot +2025-06-19 10:32:33,055 - robotics.core - INFO - Producer producer_1750321952299 joined room demo-robot +2025-06-19 10:35:20,986 - robotics.core - INFO - Consumer remote-input-demo-robot-1750321946792 left room demo-robot +2025-06-19 10:46:24,898 - robotics.core - INFO - Producer producer_1750321952299 left room demo-robot +2025-06-19 16:08:22,832 - robotics.core - INFO - Created room CrimsonFox925 +2025-06-19 16:08:22,903 - robotics.core - INFO - Consumer remote-consumer-CrimsonFox925-1750342102742 joined room CrimsonFox925 +2025-06-19 16:08:25,476 - robotics.core - INFO - Consumer remote-consumer-CrimsonFox925-1750342102742 left room CrimsonFox925 +2025-06-19 16:08:34,166 - robotics.core - INFO - Producer producer_1750342113069 joined room CrimsonFox925 +2025-06-19 16:08:43,083 - robotics.core - INFO - Created room PeacefulFisher827 +2025-06-19 16:08:43,099 - robotics.core - INFO - Consumer remote-consumer-PeacefulFisher827-1750342123077 joined room PeacefulFisher827 +2025-06-19 16:08:43,914 - robotics.core - INFO - Consumer remote-consumer-PeacefulFisher827-1750342123077 left room PeacefulFisher827 +2025-06-19 16:08:44,371 - robotics.core - INFO - Producer producer_1750342113069 left room CrimsonFox925 +2025-06-19 16:08:47,399 - robotics.core - INFO - Producer producer_1750342126606 joined room PeacefulFisher827 +2025-06-19 16:09:02,442 - robotics.core - INFO - Created room CosmicShark409 +2025-06-19 16:09:02,456 - robotics.core - INFO - Consumer remote-consumer-CosmicShark409-1750342142436 joined room CosmicShark409 +2025-06-19 16:09:04,362 - robotics.core - INFO - Consumer remote-consumer-CosmicShark409-1750342142436 left room CosmicShark409 +2025-06-19 16:09:23,034 - robotics.core - INFO - Producer producer_1750342126606 left room PeacefulFisher827 +2025-06-19 16:09:28,617 - robotics.core - INFO - Created room DivineBronco352 +2025-06-19 16:09:28,631 - robotics.core - INFO - Consumer remote-consumer-DivineBronco352-1750342168613 joined room DivineBronco352 +2025-06-19 16:09:33,855 - robotics.core - INFO - Producer producer_1750342173037 joined room DivineBronco352 +2025-06-19 16:09:44,066 - robotics.core - INFO - Consumer remote-consumer-DivineBronco352-1750342168613 left room DivineBronco352 +2025-06-19 16:09:57,461 - robotics.core - INFO - Created room YellowMoth796 +2025-06-19 16:09:57,481 - robotics.core - INFO - Producer remote-producer-YellowMoth796-1750342197457 joined room YellowMoth796 +2025-06-19 16:09:59,974 - robotics.core - INFO - Producer producer_1750342173037 left room DivineBronco352 +2025-06-19 16:10:09,880 - robotics.core - INFO - Consumer consumer_1750342209148 joined room YellowMoth796 +2025-06-19 16:10:22,452 - robotics.core - INFO - Producer remote-producer-YellowMoth796-1750342197457 left room YellowMoth796 +2025-06-19 16:20:53,096 - robotics.core - INFO - Created room IcyAppaloosa702 +2025-06-19 16:20:53,128 - robotics.core - INFO - Consumer remote-consumer-IcyAppaloosa702-1750342853054 joined room IcyAppaloosa702 +2025-06-19 16:20:56,259 - robotics.core - INFO - Consumer remote-consumer-IcyAppaloosa702-1750342853054 left room IcyAppaloosa702 +2025-06-19 16:24:50,525 - robotics.core - INFO - Created room MountainWasp014 +2025-06-19 16:24:50,546 - robotics.core - INFO - Producer remote-producer-MountainWasp014-1750343090515 joined room MountainWasp014 +2025-06-19 16:24:51,724 - robotics.core - INFO - Producer remote-producer-MountainWasp014-1750343090515 left room MountainWasp014 +2025-06-19 16:24:53,535 - robotics.core - INFO - Created room MountainWasp014 +2025-06-19 16:24:53,548 - robotics.core - INFO - Producer remote-producer-MountainWasp014-1750343093532 joined room MountainWasp014 +2025-06-19 16:24:58,046 - robotics.core - INFO - Created room MountainWasp014 +2025-06-19 16:24:58,061 - robotics.core - INFO - Producer remote-producer-MountainWasp014-1750343098043 joined room MountainWasp014 +2025-06-19 16:25:01,006 - robotics.core - INFO - Created room MountainWasp014 +2025-06-19 16:25:01,028 - robotics.core - INFO - Consumer remote-consumer-MountainWasp014-1750343101003 joined room MountainWasp014 +2025-06-19 16:25:02,343 - robotics.core - INFO - Consumer remote-consumer-MountainWasp014-1750343101003 left room MountainWasp014 +2025-06-19 16:54:22,463 - robotics.core - INFO - Created room SearingHound229 +2025-06-19 16:54:22,573 - robotics.core - INFO - Consumer remote-consumer-SearingHound229-1750344861947 joined room SearingHound229 +2025-06-19 16:54:23,721 - robotics.core - INFO - Consumer remote-consumer-SearingHound229-1750344861947 left room SearingHound229 +2025-06-19 16:54:46,520 - robotics.core - INFO - Created room CalmPeacock944 +2025-06-19 16:54:46,636 - robotics.core - INFO - Producer remote-producer-CalmPeacock944-1750344886340 joined room CalmPeacock944 +2025-06-19 16:54:47,686 - robotics.core - INFO - Producer remote-producer-CalmPeacock944-1750344886340 left room CalmPeacock944 +2025-06-19 16:56:53,419 - robotics.core - INFO - Consumer consumer_1750342209148 left room YellowMoth796 +2025-06-19 17:57:51,950 - video.core - INFO - Created video room act-session-a01da744-camera +2025-06-19 17:57:51,961 - robotics.core - INFO - Created room act-session-a01da744-joint-input +2025-06-19 17:57:51,963 - robotics.core - INFO - Created room act-session-a01da744-joint-output +2025-06-19 17:57:52,984 - video.core - INFO - Consumer act-session-a01da744-camera-consumer joined video room act-session-a01da744-camera +2025-06-19 17:57:53,494 - robotics.core - INFO - Consumer act-session-a01da744-joint-input-consumer joined room act-session-a01da744-joint-input +2025-06-19 17:57:53,500 - robotics.core - INFO - Producer act-session-a01da744-joint-output-producer joined room act-session-a01da744-joint-output +2025-06-19 17:57:53,514 - video.core - INFO - Producer robot-camera joined video room act-session-a01da744-camera +2025-06-19 17:57:54,025 - robotics.core - INFO - Producer robot-joints joined room act-session-a01da744-joint-input +2025-06-19 17:57:54,033 - robotics.core - INFO - Consumer robot-controller joined room act-session-a01da744-joint-output +2025-06-19 17:57:56,082 - video.core - INFO - Stream started by robot-camera in room act-session-a01da744-camera +2025-06-19 17:58:26,109 - video.core - INFO - Producer robot-camera left video room act-session-a01da744-camera +2025-06-19 17:58:26,112 - robotics.core - INFO - Producer robot-joints left room act-session-a01da744-joint-input +2025-06-19 17:58:26,113 - robotics.core - INFO - Consumer robot-controller left room act-session-a01da744-joint-output +2025-06-19 17:58:26,152 - video.core - INFO - Consumer act-session-a01da744-camera-consumer left video room act-session-a01da744-camera +2025-06-19 17:58:26,152 - robotics.core - INFO - Consumer act-session-a01da744-joint-input-consumer left room act-session-a01da744-joint-input +2025-06-19 17:58:26,153 - robotics.core - INFO - Producer act-session-a01da744-joint-output-producer left room act-session-a01da744-joint-output +2025-06-19 18:00:02,194 - video.core - INFO - Created video room act-session-f4c6f46e-camera +2025-06-19 18:00:02,199 - robotics.core - INFO - Created room act-session-f4c6f46e-joint-input +2025-06-19 18:00:02,200 - robotics.core - INFO - Created room act-session-f4c6f46e-joint-output +2025-06-19 18:00:03,748 - video.core - INFO - Consumer act-session-f4c6f46e-camera-consumer joined video room act-session-f4c6f46e-camera +2025-06-19 18:00:04,256 - robotics.core - INFO - Consumer act-session-f4c6f46e-joint-input-consumer joined room act-session-f4c6f46e-joint-input +2025-06-19 18:00:04,263 - robotics.core - INFO - Producer act-session-f4c6f46e-joint-output-producer joined room act-session-f4c6f46e-joint-output +2025-06-19 18:00:04,303 - video.core - INFO - Producer robot-camera joined video room act-session-f4c6f46e-camera +2025-06-19 18:00:04,797 - robotics.core - INFO - Producer robot-joints joined room act-session-f4c6f46e-joint-input +2025-06-19 18:00:04,808 - robotics.core - INFO - Consumer robot-controller joined room act-session-f4c6f46e-joint-output +2025-06-19 18:00:06,660 - video.core - INFO - Producer producer_1750348805490 joined video room act-session-a01da744-camera +2025-06-19 18:00:06,850 - video.core - INFO - Stream started by robot-camera in room act-session-f4c6f46e-camera +2025-06-19 18:00:10,227 - video.core - WARNING - Producer producer_1750348805818 failed to join room act-session-f4c6f46e-camera - room already has producer +2025-06-19 18:00:10,709 - video.core - INFO - Stream started by producer_1750348805490 in room act-session-a01da744-camera +2025-06-19 18:00:11,047 - video.core - WARNING - Producer producer_1750348805818 failed to join room act-session-f4c6f46e-camera - room already has producer +2025-06-19 18:00:15,034 - video.core - WARNING - Producer producer_1750348799780 failed to join room act-session-a01da744-camera - room already has producer +2025-06-19 18:00:36,865 - video.core - INFO - Producer robot-camera left video room act-session-f4c6f46e-camera +2025-06-19 18:00:36,866 - robotics.core - INFO - Producer robot-joints left room act-session-f4c6f46e-joint-input +2025-06-19 18:00:36,868 - robotics.core - INFO - Consumer robot-controller left room act-session-f4c6f46e-joint-output +2025-06-19 18:00:36,905 - video.core - INFO - Consumer act-session-f4c6f46e-camera-consumer left video room act-session-f4c6f46e-camera +2025-06-19 18:00:36,905 - robotics.core - INFO - Consumer act-session-f4c6f46e-joint-input-consumer left room act-session-f4c6f46e-joint-input +2025-06-19 18:00:36,906 - robotics.core - INFO - Producer act-session-f4c6f46e-joint-output-producer left room act-session-f4c6f46e-joint-output +2025-06-19 18:02:25,473 - video.core - INFO - Producer producer_1750348944034 joined video room act-session-f4c6f46e-camera +2025-06-19 18:02:26,671 - video.core - INFO - Stream started by producer_1750348944034 in room act-session-f4c6f46e-camera +2025-06-19 18:02:31,845 - video.core - INFO - Created video room act-session-07c0dcc6-camera +2025-06-19 18:02:31,847 - robotics.core - INFO - Created room act-session-07c0dcc6-joint-input +2025-06-19 18:02:31,848 - robotics.core - INFO - Created room act-session-07c0dcc6-joint-output +2025-06-19 18:02:34,628 - video.core - INFO - Consumer act-session-07c0dcc6-camera-consumer joined video room act-session-07c0dcc6-camera +2025-06-19 18:02:35,161 - robotics.core - INFO - Consumer act-session-07c0dcc6-joint-input-consumer joined room act-session-07c0dcc6-joint-input +2025-06-19 18:02:35,197 - robotics.core - INFO - Producer act-session-07c0dcc6-joint-output-producer joined room act-session-07c0dcc6-joint-output +2025-06-19 18:02:35,230 - video.core - INFO - Producer robot-camera joined video room act-session-07c0dcc6-camera +2025-06-19 18:02:35,771 - robotics.core - INFO - Producer robot-joints joined room act-session-07c0dcc6-joint-input +2025-06-19 18:02:35,775 - robotics.core - INFO - Consumer robot-controller joined room act-session-07c0dcc6-joint-output +2025-06-19 18:02:36,804 - video.api - INFO - ๐Ÿ”ง WebRTC signal from robot-camera (role: producer) in room act-session-07c0dcc6-camera +2025-06-19 18:02:36,805 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer robot-camera to consumer act-session-07c0dcc6-camera-consumer +2025-06-19 18:02:42,885 - video.api - INFO - ๐Ÿ”ง WebRTC signal from robot-camera (role: producer) in room act-session-07c0dcc6-camera +2025-06-19 18:02:42,887 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer robot-camera to consumer act-session-07c0dcc6-camera-consumer +2025-06-19 18:02:42,895 - video.core - INFO - Stream started by robot-camera in room act-session-07c0dcc6-camera +2025-06-19 18:02:47,967 - video.api - INFO - ๐Ÿ”ง WebRTC signal from act-session-07c0dcc6-camera-consumer (role: consumer) in room act-session-07c0dcc6-camera +2025-06-19 18:02:47,968 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer act-session-07c0dcc6-camera-consumer to producer robot-camera +2025-06-19 18:03:07,815 - video.core - INFO - Stream stopped by robot-camera in room act-session-07c0dcc6-camera +2025-06-19 18:03:07,855 - video.core - INFO - Producer robot-camera left video room act-session-07c0dcc6-camera +2025-06-19 18:03:07,856 - robotics.core - INFO - Producer robot-joints left room act-session-07c0dcc6-joint-input +2025-06-19 18:03:07,856 - robotics.core - INFO - Consumer robot-controller left room act-session-07c0dcc6-joint-output +2025-06-19 18:03:07,876 - video.core - INFO - Consumer act-session-07c0dcc6-camera-consumer left video room act-session-07c0dcc6-camera +2025-06-19 18:03:07,876 - robotics.core - INFO - Consumer act-session-07c0dcc6-joint-input-consumer left room act-session-07c0dcc6-joint-input +2025-06-19 18:03:07,877 - robotics.core - INFO - Producer act-session-07c0dcc6-joint-output-producer left room act-session-07c0dcc6-joint-output +2025-06-19 18:05:27,969 - video.core - INFO - Created video room act-session-0076855e-camera +2025-06-19 18:05:27,971 - robotics.core - INFO - Created room act-session-0076855e-joint-input +2025-06-19 18:05:27,973 - robotics.core - INFO - Created room act-session-0076855e-joint-output +2025-06-19 18:05:29,007 - video.core - INFO - Consumer act-session-0076855e-camera-consumer joined video room act-session-0076855e-camera +2025-06-19 18:05:29,745 - robotics.core - INFO - Consumer act-session-0076855e-joint-input-consumer joined room act-session-0076855e-joint-input +2025-06-19 18:05:29,760 - robotics.core - INFO - Producer act-session-0076855e-joint-output-producer joined room act-session-0076855e-joint-output +2025-06-19 18:05:29,805 - video.core - INFO - Producer robot-camera joined video room act-session-0076855e-camera +2025-06-19 18:05:30,312 - robotics.core - INFO - Producer robot-joints joined room act-session-0076855e-joint-input +2025-06-19 18:05:30,318 - robotics.core - INFO - Consumer robot-controller joined room act-session-0076855e-joint-output +2025-06-19 18:05:31,317 - video.api - INFO - ๐Ÿ”ง WebRTC signal from robot-camera (role: producer) in room act-session-0076855e-camera +2025-06-19 18:05:31,317 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer robot-camera to consumer act-session-0076855e-camera-consumer +2025-06-19 18:05:32,160 - video.core - WARNING - Producer producer_1750349131211 failed to join room act-session-0076855e-camera - room already has producer +2025-06-19 18:05:32,637 - video.core - WARNING - Producer producer_1750349131211 failed to join room act-session-0076855e-camera - room already has producer +2025-06-19 18:05:33,441 - video.core - INFO - Producer producer_1750349131427 joined video room act-session-07c0dcc6-camera +2025-06-19 18:05:34,539 - video.core - INFO - Stream started by producer_1750349131427 in room act-session-07c0dcc6-camera +2025-06-19 18:05:37,357 - video.api - INFO - ๐Ÿ”ง WebRTC signal from robot-camera (role: producer) in room act-session-0076855e-camera +2025-06-19 18:05:37,357 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer robot-camera to consumer act-session-0076855e-camera-consumer +2025-06-19 18:05:37,362 - video.core - INFO - Stream started by robot-camera in room act-session-0076855e-camera +2025-06-19 18:05:42,396 - video.api - INFO - ๐Ÿ”ง WebRTC signal from act-session-0076855e-camera-consumer (role: consumer) in room act-session-0076855e-camera +2025-06-19 18:05:42,396 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer act-session-0076855e-camera-consumer to producer robot-camera +2025-06-19 18:06:02,425 - video.core - INFO - Stream stopped by robot-camera in room act-session-0076855e-camera +2025-06-19 18:06:02,466 - video.core - INFO - Producer robot-camera left video room act-session-0076855e-camera +2025-06-19 18:06:02,469 - robotics.core - INFO - Producer robot-joints left room act-session-0076855e-joint-input +2025-06-19 18:06:02,470 - robotics.core - INFO - Consumer robot-controller left room act-session-0076855e-joint-output +2025-06-19 18:06:02,515 - video.core - INFO - Consumer act-session-0076855e-camera-consumer left video room act-session-0076855e-camera +2025-06-19 18:06:02,516 - robotics.core - INFO - Consumer act-session-0076855e-joint-input-consumer left room act-session-0076855e-joint-input +2025-06-19 18:06:02,517 - robotics.core - INFO - Producer act-session-0076855e-joint-output-producer left room act-session-0076855e-joint-output +2025-06-19 18:07:13,236 - video.core - INFO - Producer producer_1750349231953 joined video room act-session-0076855e-camera +2025-06-19 18:07:14,346 - video.core - INFO - Stream started by producer_1750349231953 in room act-session-0076855e-camera +2025-06-19 18:07:46,229 - video.core - INFO - Created video room act-session-6673a64f-camera +2025-06-19 18:07:46,231 - robotics.core - INFO - Created room act-session-6673a64f-joint-input +2025-06-19 18:07:46,233 - robotics.core - INFO - Created room act-session-6673a64f-joint-output +2025-06-19 18:07:47,192 - video.core - INFO - Consumer act-session-6673a64f-camera-consumer joined video room act-session-6673a64f-camera +2025-06-19 18:07:47,695 - robotics.core - INFO - Consumer act-session-6673a64f-joint-input-consumer joined room act-session-6673a64f-joint-input +2025-06-19 18:07:47,699 - robotics.core - INFO - Producer act-session-6673a64f-joint-output-producer joined room act-session-6673a64f-joint-output +2025-06-19 18:07:47,717 - video.core - INFO - Producer robot-camera joined video room act-session-6673a64f-camera +2025-06-19 18:07:48,222 - robotics.core - INFO - Producer robot-joints joined room act-session-6673a64f-joint-input +2025-06-19 18:07:48,225 - robotics.core - INFO - Consumer robot-controller joined room act-session-6673a64f-joint-output +2025-06-19 18:07:49,233 - video.api - INFO - ๐Ÿ”ง WebRTC signal from robot-camera (role: producer) in room act-session-6673a64f-camera +2025-06-19 18:07:49,233 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer robot-camera to consumer act-session-6673a64f-camera-consumer +2025-06-19 18:07:55,261 - video.api - INFO - ๐Ÿ”ง WebRTC signal from robot-camera (role: producer) in room act-session-6673a64f-camera +2025-06-19 18:07:55,261 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer robot-camera to consumer act-session-6673a64f-camera-consumer +2025-06-19 18:07:55,262 - video.core - INFO - Stream started by robot-camera in room act-session-6673a64f-camera +2025-06-19 18:08:00,268 - video.api - INFO - ๐Ÿ”ง WebRTC signal from act-session-6673a64f-camera-consumer (role: consumer) in room act-session-6673a64f-camera +2025-06-19 18:08:00,268 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer act-session-6673a64f-camera-consumer to producer robot-camera +2025-06-19 18:08:13,123 - video.core - INFO - Consumer act-session-6673a64f-camera-consumer left video room act-session-6673a64f-camera +2025-06-19 18:08:13,124 - robotics.core - INFO - Consumer act-session-6673a64f-joint-input-consumer left room act-session-6673a64f-joint-input +2025-06-19 18:08:13,125 - robotics.core - INFO - Producer act-session-6673a64f-joint-output-producer left room act-session-6673a64f-joint-output +2025-06-19 18:08:14,559 - video.core - INFO - Producer robot-camera left video room act-session-6673a64f-camera +2025-06-19 18:08:14,560 - robotics.core - INFO - Producer robot-joints left room act-session-6673a64f-joint-input +2025-06-19 18:08:14,561 - robotics.core - INFO - Consumer robot-controller left room act-session-6673a64f-joint-output +2025-06-19 18:08:18,611 - video.core - INFO - Producer producer_1750349231953 left video room act-session-0076855e-camera +2025-06-19 18:08:18,612 - video.core - INFO - Producer producer_1750349131427 left video room act-session-07c0dcc6-camera +2025-06-19 18:08:18,612 - video.core - INFO - Producer producer_1750348805490 left video room act-session-a01da744-camera +2025-06-19 18:08:18,612 - video.core - INFO - Producer producer_1750348944034 left video room act-session-f4c6f46e-camera +2025-06-19 18:08:20,632 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-19 18:09:06,509 - video.core - INFO - Created video room act-session-ebd2b0fd-camera +2025-06-19 18:09:06,511 - robotics.core - INFO - Created room act-session-ebd2b0fd-joint-input +2025-06-19 18:09:06,512 - robotics.core - INFO - Created room act-session-ebd2b0fd-joint-output +2025-06-19 18:09:07,470 - video.core - INFO - Consumer act-session-ebd2b0fd-camera-consumer joined video room act-session-ebd2b0fd-camera +2025-06-19 18:09:07,984 - robotics.core - INFO - Consumer act-session-ebd2b0fd-joint-input-consumer joined room act-session-ebd2b0fd-joint-input +2025-06-19 18:09:07,992 - robotics.core - INFO - Producer act-session-ebd2b0fd-joint-output-producer joined room act-session-ebd2b0fd-joint-output +2025-06-19 18:09:08,016 - video.core - INFO - Producer robot-camera joined video room act-session-ebd2b0fd-camera +2025-06-19 18:09:08,519 - robotics.core - INFO - Producer robot-joints joined room act-session-ebd2b0fd-joint-input +2025-06-19 18:09:08,521 - robotics.core - INFO - Consumer robot-controller joined room act-session-ebd2b0fd-joint-output +2025-06-19 18:09:09,641 - video.api - INFO - ๐Ÿ”ง WebRTC signal from robot-camera (role: producer) in room act-session-ebd2b0fd-camera +2025-06-19 18:09:09,642 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer robot-camera to consumer act-session-ebd2b0fd-camera-consumer +2025-06-19 18:09:13,473 - video.core - INFO - Consumer consumer_1750349352698 joined video room act-session-ebd2b0fd-camera +2025-06-19 18:09:15,517 - video.core - INFO - Consumer consumer_1750349352698 left video room act-session-ebd2b0fd-camera +2025-06-19 18:09:15,580 - video.api - INFO - ๐Ÿ”ง WebRTC signal from robot-camera (role: producer) in room act-session-ebd2b0fd-camera +2025-06-19 18:09:15,580 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer robot-camera to consumer act-session-ebd2b0fd-camera-consumer +2025-06-19 18:09:15,584 - video.core - INFO - Stream started by robot-camera in room act-session-ebd2b0fd-camera +2025-06-19 18:09:18,518 - video.api - INFO - ๐Ÿ”ง WebRTC signal from robot-camera (role: producer) in room act-session-ebd2b0fd-camera +2025-06-19 18:09:18,518 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer robot-camera to consumer consumer_1750349352698 +2025-06-19 18:09:20,606 - video.api - INFO - ๐Ÿ”ง WebRTC signal from act-session-ebd2b0fd-camera-consumer (role: consumer) in room act-session-ebd2b0fd-camera +2025-06-19 18:09:20,608 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer act-session-ebd2b0fd-camera-consumer to producer robot-camera +2025-06-19 18:09:35,652 - video.core - INFO - Consumer consumer_1750349374644 joined video room act-session-ebd2b0fd-camera +2025-06-19 18:09:36,951 - video.core - INFO - Consumer consumer_1750349374644 left video room act-session-ebd2b0fd-camera +2025-06-19 18:09:40,599 - video.core - INFO - Stream stopped by robot-camera in room act-session-ebd2b0fd-camera +2025-06-19 18:09:40,636 - video.core - INFO - Producer robot-camera left video room act-session-ebd2b0fd-camera +2025-06-19 18:09:40,637 - robotics.core - INFO - Producer robot-joints left room act-session-ebd2b0fd-joint-input +2025-06-19 18:09:40,638 - robotics.core - INFO - Consumer robot-controller left room act-session-ebd2b0fd-joint-output +2025-06-19 18:09:40,655 - video.core - INFO - Consumer act-session-ebd2b0fd-camera-consumer left video room act-session-ebd2b0fd-camera +2025-06-19 18:09:40,655 - robotics.core - INFO - Consumer act-session-ebd2b0fd-joint-input-consumer left room act-session-ebd2b0fd-joint-input +2025-06-19 18:09:40,655 - robotics.core - INFO - Producer act-session-ebd2b0fd-joint-output-producer left room act-session-ebd2b0fd-joint-output +2025-06-19 18:09:57,056 - robotics.core - INFO - Deleted room act-session-ebd2b0fd-joint-input +2025-06-19 18:09:57,545 - robotics.core - INFO - Deleted room act-session-ebd2b0fd-joint-output +2025-06-19 18:09:59,349 - video.core - INFO - Deleted video room act-session-ebd2b0fd-camera +2025-06-19 18:10:02,848 - video.core - INFO - Created video room act-session-8559040c-camera +2025-06-19 18:10:02,851 - robotics.core - INFO - Created room act-session-8559040c-joint-input +2025-06-19 18:10:02,852 - robotics.core - INFO - Created room act-session-8559040c-joint-output +2025-06-19 18:10:03,870 - video.core - INFO - Consumer act-session-8559040c-camera-consumer joined video room act-session-8559040c-camera +2025-06-19 18:10:04,372 - robotics.core - INFO - Consumer act-session-8559040c-joint-input-consumer joined room act-session-8559040c-joint-input +2025-06-19 18:10:04,374 - robotics.core - INFO - Producer act-session-8559040c-joint-output-producer joined room act-session-8559040c-joint-output +2025-06-19 18:10:04,388 - video.core - INFO - Producer robot-camera joined video room act-session-8559040c-camera +2025-06-19 18:10:04,901 - robotics.core - INFO - Producer robot-joints joined room act-session-8559040c-joint-input +2025-06-19 18:10:04,908 - robotics.core - INFO - Consumer robot-controller joined room act-session-8559040c-joint-output +2025-06-19 18:10:05,908 - video.api - INFO - ๐Ÿ”ง WebRTC signal from robot-camera (role: producer) in room act-session-8559040c-camera +2025-06-19 18:10:05,908 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer robot-camera to consumer act-session-8559040c-camera-consumer +2025-06-19 18:10:07,703 - video.core - WARNING - Producer producer_1750349405897 failed to join room act-session-8559040c-camera - room already has producer +2025-06-19 18:10:08,991 - video.core - WARNING - Producer producer_1750349405897 failed to join room act-session-8559040c-camera - room already has producer +2025-06-19 18:10:09,549 - video.core - WARNING - Producer producer_1750349405897 failed to join room act-session-8559040c-camera - room already has producer +2025-06-19 18:10:09,738 - video.core - WARNING - Producer producer_1750349405897 failed to join room act-session-8559040c-camera - room already has producer +2025-06-19 18:10:09,978 - video.core - WARNING - Producer producer_1750349405897 failed to join room act-session-8559040c-camera - room already has producer +2025-06-19 18:10:10,549 - video.core - WARNING - Producer producer_1750349405897 failed to join room act-session-8559040c-camera - room already has producer +2025-06-19 18:10:11,971 - video.api - INFO - ๐Ÿ”ง WebRTC signal from robot-camera (role: producer) in room act-session-8559040c-camera +2025-06-19 18:10:11,972 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer robot-camera to consumer act-session-8559040c-camera-consumer +2025-06-19 18:10:11,978 - video.core - INFO - Stream started by robot-camera in room act-session-8559040c-camera +2025-06-19 18:10:17,033 - video.api - INFO - ๐Ÿ”ง WebRTC signal from act-session-8559040c-camera-consumer (role: consumer) in room act-session-8559040c-camera +2025-06-19 18:10:17,033 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer act-session-8559040c-camera-consumer to producer robot-camera +2025-06-19 18:10:30,254 - video.core - INFO - Consumer consumer_1750349429421 joined video room act-session-8559040c-camera +2025-06-19 18:10:35,339 - video.api - INFO - ๐Ÿ”ง WebRTC signal from robot-camera (role: producer) in room act-session-8559040c-camera +2025-06-19 18:10:35,340 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer robot-camera to consumer consumer_1750349429421 +2025-06-19 18:10:35,481 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750349429421 (role: consumer) in room act-session-8559040c-camera +2025-06-19 18:10:35,482 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1750349429421 to producer robot-camera +2025-06-19 18:10:35,497 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750349429421 (role: consumer) in room act-session-8559040c-camera +2025-06-19 18:10:35,508 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750349429421 (role: consumer) in room act-session-8559040c-camera +2025-06-19 18:10:35,539 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750349429421 (role: consumer) in room act-session-8559040c-camera +2025-06-19 18:10:35,549 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750349429421 (role: consumer) in room act-session-8559040c-camera +2025-06-19 18:10:35,556 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750349429421 (role: consumer) in room act-session-8559040c-camera +2025-06-19 18:10:35,559 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750349429421 (role: consumer) in room act-session-8559040c-camera +2025-06-19 18:10:35,564 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750349429421 (role: consumer) in room act-session-8559040c-camera +2025-06-19 18:10:37,969 - video.core - INFO - Stream stopped by robot-camera in room act-session-8559040c-camera +2025-06-19 18:10:38,006 - video.core - INFO - Producer robot-camera left video room act-session-8559040c-camera +2025-06-19 18:10:38,007 - robotics.core - INFO - Producer robot-joints left room act-session-8559040c-joint-input +2025-06-19 18:10:38,007 - robotics.core - INFO - Consumer robot-controller left room act-session-8559040c-joint-output +2025-06-19 18:10:38,036 - video.core - INFO - Consumer act-session-8559040c-camera-consumer left video room act-session-8559040c-camera +2025-06-19 18:10:38,037 - robotics.core - INFO - Consumer act-session-8559040c-joint-input-consumer left room act-session-8559040c-joint-input +2025-06-19 18:10:38,037 - robotics.core - INFO - Producer act-session-8559040c-joint-output-producer left room act-session-8559040c-joint-output +2025-06-19 18:10:47,488 - video.core - INFO - Consumer consumer_1750349429421 left video room act-session-8559040c-camera +2025-06-19 18:10:58,435 - video.core - INFO - Created video room act-session-ff4fd054-camera +2025-06-19 18:10:58,436 - robotics.core - INFO - Created room act-session-ff4fd054-joint-input +2025-06-19 18:10:58,437 - robotics.core - INFO - Created room act-session-ff4fd054-joint-output +2025-06-19 18:10:59,445 - video.core - INFO - Consumer act-session-ff4fd054-camera-consumer joined video room act-session-ff4fd054-camera +2025-06-19 18:10:59,951 - robotics.core - INFO - Consumer act-session-ff4fd054-joint-input-consumer joined room act-session-ff4fd054-joint-input +2025-06-19 18:10:59,957 - robotics.core - INFO - Producer act-session-ff4fd054-joint-output-producer joined room act-session-ff4fd054-joint-output +2025-06-19 18:10:59,986 - video.core - INFO - Producer robot-camera joined video room act-session-ff4fd054-camera +2025-06-19 18:11:00,504 - robotics.core - INFO - Producer robot-joints joined room act-session-ff4fd054-joint-input +2025-06-19 18:11:00,509 - robotics.core - INFO - Consumer robot-controller joined room act-session-ff4fd054-joint-output +2025-06-19 18:11:01,514 - video.api - INFO - ๐Ÿ”ง WebRTC signal from robot-camera (role: producer) in room act-session-ff4fd054-camera +2025-06-19 18:11:01,515 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer robot-camera to consumer act-session-ff4fd054-camera-consumer +2025-06-19 18:11:02,357 - video.core - INFO - Consumer consumer_1750349461591 joined video room act-session-ff4fd054-camera +2025-06-19 18:11:02,367 - video.api - INFO - ๐Ÿ”ง WebRTC signal from robot-camera (role: producer) in room act-session-ff4fd054-camera +2025-06-19 18:11:02,368 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer robot-camera to consumer consumer_1750349461591 +2025-06-19 18:11:04,516 - video.core - INFO - Consumer consumer_1750349461591 left video room act-session-ff4fd054-camera +2025-06-19 18:11:05,362 - video.core - INFO - Consumer consumer_1750349464587 joined video room act-session-ff4fd054-camera +2025-06-19 18:11:07,810 - video.api - INFO - ๐Ÿ”ง WebRTC signal from robot-camera (role: producer) in room act-session-ff4fd054-camera +2025-06-19 18:11:07,811 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer robot-camera to consumer act-session-ff4fd054-camera-consumer +2025-06-19 18:11:10,409 - video.api - INFO - ๐Ÿ”ง WebRTC signal from robot-camera (role: producer) in room act-session-ff4fd054-camera +2025-06-19 18:11:10,410 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer robot-camera to consumer consumer_1750349464587 +2025-06-19 18:11:10,462 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750349464587 (role: consumer) in room act-session-ff4fd054-camera +2025-06-19 18:11:10,463 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1750349464587 to producer robot-camera +2025-06-19 18:11:10,470 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750349464587 (role: consumer) in room act-session-ff4fd054-camera +2025-06-19 18:11:10,476 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750349464587 (role: consumer) in room act-session-ff4fd054-camera +2025-06-19 18:11:10,479 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750349464587 (role: consumer) in room act-session-ff4fd054-camera +2025-06-19 18:11:10,481 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750349464587 (role: consumer) in room act-session-ff4fd054-camera +2025-06-19 18:11:12,837 - video.api - INFO - ๐Ÿ”ง WebRTC signal from robot-camera (role: producer) in room act-session-ff4fd054-camera +2025-06-19 18:11:12,838 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer robot-camera to consumer consumer_1750349461591 +2025-06-19 18:11:12,842 - video.core - INFO - Stream started by robot-camera in room act-session-ff4fd054-camera +2025-06-19 18:11:12,843 - video.api - INFO - ๐Ÿ”ง WebRTC signal from act-session-ff4fd054-camera-consumer (role: consumer) in room act-session-ff4fd054-camera +2025-06-19 18:11:12,843 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer act-session-ff4fd054-camera-consumer to producer robot-camera +2025-06-19 18:11:32,560 - video.core - INFO - Stream stopped by robot-camera in room act-session-ff4fd054-camera +2025-06-19 18:11:32,623 - video.core - INFO - Producer robot-camera left video room act-session-ff4fd054-camera +2025-06-19 18:11:32,633 - robotics.core - INFO - Producer robot-joints left room act-session-ff4fd054-joint-input +2025-06-19 18:11:32,634 - robotics.core - INFO - Consumer robot-controller left room act-session-ff4fd054-joint-output +2025-06-19 18:11:32,652 - video.core - INFO - Consumer act-session-ff4fd054-camera-consumer left video room act-session-ff4fd054-camera +2025-06-19 18:11:32,652 - robotics.core - INFO - Consumer act-session-ff4fd054-joint-input-consumer left room act-session-ff4fd054-joint-input +2025-06-19 18:11:32,652 - robotics.core - INFO - Producer act-session-ff4fd054-joint-output-producer left room act-session-ff4fd054-joint-output +2025-06-19 18:11:59,581 - video.core - INFO - Consumer consumer_1750349464587 left video room act-session-ff4fd054-camera +2025-06-19 18:12:09,120 - video.core - INFO - Deleted video room act-session-8559040c-camera +2025-06-19 18:12:09,868 - video.core - INFO - Deleted video room act-session-ff4fd054-camera +2025-06-19 18:13:59,587 - video.core - INFO - Created video room act-session-f51497ea-camera +2025-06-19 18:13:59,589 - robotics.core - INFO - Created room act-session-f51497ea-joint-input +2025-06-19 18:13:59,590 - robotics.core - INFO - Created room act-session-f51497ea-joint-output +2025-06-19 18:14:02,522 - video.core - INFO - Consumer act-session-f51497ea-camera-consumer joined video room act-session-f51497ea-camera +2025-06-19 18:14:03,034 - robotics.core - INFO - Consumer act-session-f51497ea-joint-input-consumer joined room act-session-f51497ea-joint-input +2025-06-19 18:14:03,047 - robotics.core - INFO - Producer act-session-f51497ea-joint-output-producer joined room act-session-f51497ea-joint-output +2025-06-19 18:14:03,117 - video.core - INFO - Producer robot-camera joined video room act-session-f51497ea-camera +2025-06-19 18:14:03,183 - video.core - INFO - Consumer consumer_1750349642500 joined video room act-session-f51497ea-camera +2025-06-19 18:14:03,196 - video.api - INFO - ๐Ÿ”ง WebRTC signal from robot-camera (role: producer) in room act-session-f51497ea-camera +2025-06-19 18:14:03,196 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer robot-camera to consumer consumer_1750349642500 +2025-06-19 18:14:03,628 - robotics.core - INFO - Producer robot-joints joined room act-session-f51497ea-joint-input +2025-06-19 18:14:03,642 - robotics.core - INFO - Consumer robot-controller joined room act-session-f51497ea-joint-output +2025-06-19 18:14:04,632 - video.api - INFO - ๐Ÿ”ง WebRTC signal from robot-camera (role: producer) in room act-session-f51497ea-camera +2025-06-19 18:14:04,632 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer robot-camera to consumer act-session-f51497ea-camera-consumer +2025-06-19 18:14:06,128 - video.core - INFO - Consumer consumer_1750349642500 left video room act-session-f51497ea-camera +2025-06-19 18:14:06,842 - video.core - INFO - Consumer consumer_1750349646225 joined video room act-session-f51497ea-camera +2025-06-19 18:14:10,714 - video.api - INFO - ๐Ÿ”ง WebRTC signal from robot-camera (role: producer) in room act-session-f51497ea-camera +2025-06-19 18:14:10,714 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer robot-camera to consumer act-session-f51497ea-camera-consumer +2025-06-19 18:14:10,742 - video.core - INFO - Consumer consumer_1750349646225 left video room act-session-f51497ea-camera +2025-06-19 18:14:11,449 - video.core - INFO - Consumer consumer_1750349650992 joined video room act-session-f51497ea-camera +2025-06-19 18:14:11,856 - video.api - INFO - ๐Ÿ”ง WebRTC signal from robot-camera (role: producer) in room act-session-f51497ea-camera +2025-06-19 18:14:11,857 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer robot-camera to consumer consumer_1750349646225 +2025-06-19 18:14:14,217 - video.core - INFO - Consumer consumer_1750349650992 left video room act-session-f51497ea-camera +2025-06-19 18:14:15,731 - video.api - INFO - ๐Ÿ”ง WebRTC signal from robot-camera (role: producer) in room act-session-f51497ea-camera +2025-06-19 18:14:15,732 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer robot-camera to consumer consumer_1750349642500 +2025-06-19 18:14:15,737 - video.core - INFO - Stream started by robot-camera in room act-session-f51497ea-camera +2025-06-19 18:14:16,012 - video.core - INFO - Consumer consumer_1750349655347 joined video room act-session-f51497ea-camera +2025-06-19 18:14:16,213 - video.api - INFO - ๐Ÿ”ง WebRTC signal from act-session-f51497ea-camera-consumer (role: consumer) in room act-session-f51497ea-camera +2025-06-19 18:14:16,213 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer act-session-f51497ea-camera-consumer to producer robot-camera +2025-06-19 18:14:16,870 - video.api - INFO - ๐Ÿ”ง WebRTC signal from robot-camera (role: producer) in room act-session-f51497ea-camera +2025-06-19 18:14:16,871 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer robot-camera to consumer consumer_1750349650992 +2025-06-19 18:14:21,881 - video.api - INFO - ๐Ÿ”ง WebRTC signal from robot-camera (role: producer) in room act-session-f51497ea-camera +2025-06-19 18:14:21,882 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer robot-camera to consumer consumer_1750349655347 +2025-06-19 18:14:21,920 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750349655347 (role: consumer) in room act-session-f51497ea-camera +2025-06-19 18:14:21,921 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1750349655347 to producer robot-camera +2025-06-19 18:14:21,925 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750349655347 (role: consumer) in room act-session-f51497ea-camera +2025-06-19 18:14:21,932 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750349655347 (role: consumer) in room act-session-f51497ea-camera +2025-06-19 18:14:21,933 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750349655347 (role: consumer) in room act-session-f51497ea-camera +2025-06-19 18:14:21,945 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750349655347 (role: consumer) in room act-session-f51497ea-camera +2025-06-19 18:14:35,689 - video.core - INFO - Stream stopped by robot-camera in room act-session-f51497ea-camera +2025-06-19 18:14:35,720 - video.core - INFO - Producer robot-camera left video room act-session-f51497ea-camera +2025-06-19 18:14:35,720 - robotics.core - INFO - Producer robot-joints left room act-session-f51497ea-joint-input +2025-06-19 18:14:35,721 - robotics.core - INFO - Consumer robot-controller left room act-session-f51497ea-joint-output +2025-06-19 18:14:35,739 - video.core - INFO - Consumer act-session-f51497ea-camera-consumer left video room act-session-f51497ea-camera +2025-06-19 18:14:35,740 - robotics.core - INFO - Consumer act-session-f51497ea-joint-input-consumer left room act-session-f51497ea-joint-input +2025-06-19 18:14:35,741 - robotics.core - INFO - Producer act-session-f51497ea-joint-output-producer left room act-session-f51497ea-joint-output +2025-06-19 18:17:25,915 - video.core - INFO - Created video room act-session-7ba548f3-camera +2025-06-19 18:17:25,917 - robotics.core - INFO - Created room act-session-7ba548f3-joint-input +2025-06-19 18:17:25,919 - robotics.core - INFO - Created room act-session-7ba548f3-joint-output +2025-06-19 18:17:26,974 - video.core - INFO - Consumer act-session-7ba548f3-camera-consumer joined video room act-session-7ba548f3-camera +2025-06-19 18:17:27,280 - video.core - INFO - Consumer consumer_1750349655347 left video room act-session-f51497ea-camera +2025-06-19 18:17:27,480 - robotics.core - INFO - Consumer act-session-7ba548f3-joint-input-consumer joined room act-session-7ba548f3-joint-input +2025-06-19 18:17:27,491 - robotics.core - INFO - Producer act-session-7ba548f3-joint-output-producer joined room act-session-7ba548f3-joint-output +2025-06-19 18:17:27,510 - video.core - INFO - Producer robot-camera joined video room act-session-7ba548f3-camera +2025-06-19 18:17:28,021 - robotics.core - INFO - Producer robot-joints joined room act-session-7ba548f3-joint-input +2025-06-19 18:17:28,032 - robotics.core - INFO - Consumer robot-controller joined room act-session-7ba548f3-joint-output +2025-06-19 18:17:29,034 - video.api - INFO - ๐Ÿ”ง WebRTC signal from robot-camera (role: producer) in room act-session-7ba548f3-camera +2025-06-19 18:17:29,034 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer robot-camera to consumer act-session-7ba548f3-camera-consumer +2025-06-19 18:17:33,702 - video.core - INFO - Consumer consumer_1750349852750 joined video room act-session-7ba548f3-camera +2025-06-19 18:17:35,580 - video.api - INFO - ๐Ÿ”ง WebRTC signal from robot-camera (role: producer) in room act-session-7ba548f3-camera +2025-06-19 18:17:35,581 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer robot-camera to consumer act-session-7ba548f3-camera-consumer +2025-06-19 18:17:35,583 - video.core - INFO - Stream started by robot-camera in room act-session-7ba548f3-camera +2025-06-19 18:17:38,779 - video.api - INFO - ๐Ÿ”ง WebRTC signal from robot-camera (role: producer) in room act-session-7ba548f3-camera +2025-06-19 18:17:38,779 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer robot-camera to consumer consumer_1750349852750 +2025-06-19 18:17:38,804 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750349852750 (role: consumer) in room act-session-7ba548f3-camera +2025-06-19 18:17:38,804 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1750349852750 to producer robot-camera +2025-06-19 18:17:38,805 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750349852750 (role: consumer) in room act-session-7ba548f3-camera +2025-06-19 18:17:38,806 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750349852750 (role: consumer) in room act-session-7ba548f3-camera +2025-06-19 18:17:38,811 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750349852750 (role: consumer) in room act-session-7ba548f3-camera +2025-06-19 18:17:38,825 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750349852750 (role: consumer) in room act-session-7ba548f3-camera +2025-06-19 18:17:40,600 - video.api - INFO - ๐Ÿ”ง WebRTC signal from act-session-7ba548f3-camera-consumer (role: consumer) in room act-session-7ba548f3-camera +2025-06-19 18:17:40,600 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer act-session-7ba548f3-camera-consumer to producer robot-camera +2025-06-19 18:18:00,151 - video.core - INFO - Stream stopped by robot-camera in room act-session-7ba548f3-camera +2025-06-19 18:18:00,221 - video.core - INFO - Producer robot-camera left video room act-session-7ba548f3-camera +2025-06-19 18:18:00,223 - robotics.core - INFO - Producer robot-joints left room act-session-7ba548f3-joint-input +2025-06-19 18:18:00,224 - robotics.core - INFO - Consumer robot-controller left room act-session-7ba548f3-joint-output +2025-06-19 18:18:00,242 - video.core - INFO - Consumer act-session-7ba548f3-camera-consumer left video room act-session-7ba548f3-camera +2025-06-19 18:18:00,243 - robotics.core - INFO - Consumer act-session-7ba548f3-joint-input-consumer left room act-session-7ba548f3-joint-input +2025-06-19 18:18:00,243 - robotics.core - INFO - Producer act-session-7ba548f3-joint-output-producer left room act-session-7ba548f3-joint-output +2025-06-19 18:19:24,795 - video.core - INFO - Consumer consumer_1750349852750 left video room act-session-7ba548f3-camera +2025-06-19 18:19:30,087 - video.core - INFO - Created video room act-session-b0be79e6-camera +2025-06-19 18:19:30,089 - robotics.core - INFO - Created room act-session-b0be79e6-joint-input +2025-06-19 18:19:30,090 - robotics.core - INFO - Created room act-session-b0be79e6-joint-output +2025-06-19 18:19:31,097 - video.core - INFO - Consumer act-session-b0be79e6-camera-consumer joined video room act-session-b0be79e6-camera +2025-06-19 18:19:31,604 - robotics.core - INFO - Consumer act-session-b0be79e6-joint-input-consumer joined room act-session-b0be79e6-joint-input +2025-06-19 18:19:31,613 - robotics.core - INFO - Producer act-session-b0be79e6-joint-output-producer joined room act-session-b0be79e6-joint-output +2025-06-19 18:19:31,642 - video.core - INFO - Producer robot-camera joined video room act-session-b0be79e6-camera +2025-06-19 18:19:32,156 - robotics.core - INFO - Producer robot-joints joined room act-session-b0be79e6-joint-input +2025-06-19 18:19:32,164 - robotics.core - INFO - Consumer robot-controller joined room act-session-b0be79e6-joint-output +2025-06-19 18:19:33,170 - video.api - INFO - ๐Ÿ”ง WebRTC signal from robot-camera (role: producer) in room act-session-b0be79e6-camera +2025-06-19 18:19:33,171 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer robot-camera to consumer act-session-b0be79e6-camera-consumer +2025-06-19 18:19:36,431 - video.core - INFO - Consumer consumer_1750349975823 joined video room act-session-b0be79e6-camera +2025-06-19 18:19:39,436 - video.api - INFO - ๐Ÿ”ง WebRTC signal from robot-camera (role: producer) in room act-session-b0be79e6-camera +2025-06-19 18:19:39,437 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer robot-camera to consumer act-session-b0be79e6-camera-consumer +2025-06-19 18:19:39,440 - video.core - INFO - Stream started by robot-camera in room act-session-b0be79e6-camera +2025-06-19 18:19:41,501 - video.api - INFO - ๐Ÿ”ง WebRTC signal from robot-camera (role: producer) in room act-session-b0be79e6-camera +2025-06-19 18:19:41,501 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer robot-camera to consumer consumer_1750349975823 +2025-06-19 18:19:41,535 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750349975823 (role: consumer) in room act-session-b0be79e6-camera +2025-06-19 18:19:41,535 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1750349975823 to producer robot-camera +2025-06-19 18:19:41,538 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750349975823 (role: consumer) in room act-session-b0be79e6-camera +2025-06-19 18:19:41,541 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750349975823 (role: consumer) in room act-session-b0be79e6-camera +2025-06-19 18:19:41,542 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750349975823 (role: consumer) in room act-session-b0be79e6-camera +2025-06-19 18:19:44,462 - video.api - INFO - ๐Ÿ”ง WebRTC signal from act-session-b0be79e6-camera-consumer (role: consumer) in room act-session-b0be79e6-camera +2025-06-19 18:19:44,462 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer act-session-b0be79e6-camera-consumer to producer robot-camera +2025-06-19 18:20:04,291 - video.core - INFO - Stream stopped by robot-camera in room act-session-b0be79e6-camera +2025-06-19 18:20:04,312 - video.core - INFO - Producer robot-camera left video room act-session-b0be79e6-camera +2025-06-19 18:20:04,313 - robotics.core - INFO - Producer robot-joints left room act-session-b0be79e6-joint-input +2025-06-19 18:20:04,313 - robotics.core - INFO - Consumer robot-controller left room act-session-b0be79e6-joint-output +2025-06-19 18:20:04,333 - video.core - INFO - Consumer act-session-b0be79e6-camera-consumer left video room act-session-b0be79e6-camera +2025-06-19 18:20:04,334 - robotics.core - INFO - Consumer act-session-b0be79e6-joint-input-consumer left room act-session-b0be79e6-joint-input +2025-06-19 18:20:04,334 - robotics.core - INFO - Producer act-session-b0be79e6-joint-output-producer left room act-session-b0be79e6-joint-output +2025-06-19 18:21:40,560 - video.core - INFO - Created video room act-session-7a53c60d-camera +2025-06-19 18:21:40,563 - robotics.core - INFO - Created room act-session-7a53c60d-joint-input +2025-06-19 18:21:40,565 - robotics.core - INFO - Created room act-session-7a53c60d-joint-output +2025-06-19 18:21:41,961 - video.core - INFO - Consumer act-session-7a53c60d-camera-consumer joined video room act-session-7a53c60d-camera +2025-06-19 18:21:42,055 - video.core - INFO - Consumer consumer_1750349975823 left video room act-session-b0be79e6-camera +2025-06-19 18:21:42,466 - robotics.core - INFO - Consumer act-session-7a53c60d-joint-input-consumer joined room act-session-7a53c60d-joint-input +2025-06-19 18:21:42,470 - robotics.core - INFO - Producer act-session-7a53c60d-joint-output-producer joined room act-session-7a53c60d-joint-output +2025-06-19 18:21:42,495 - video.core - INFO - Producer robot-camera joined video room act-session-7a53c60d-camera +2025-06-19 18:21:43,006 - robotics.core - INFO - Producer robot-joints joined room act-session-7a53c60d-joint-input +2025-06-19 18:21:43,012 - robotics.core - INFO - Consumer robot-controller joined room act-session-7a53c60d-joint-output +2025-06-19 18:21:44,013 - video.api - INFO - ๐Ÿ”ง WebRTC signal from robot-camera (role: producer) in room act-session-7a53c60d-camera +2025-06-19 18:21:44,013 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer robot-camera to consumer act-session-7a53c60d-camera-consumer +2025-06-19 18:21:50,091 - video.api - INFO - ๐Ÿ”ง WebRTC signal from robot-camera (role: producer) in room act-session-7a53c60d-camera +2025-06-19 18:21:50,092 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer robot-camera to consumer act-session-7a53c60d-camera-consumer +2025-06-19 18:21:50,098 - video.core - INFO - Stream started by robot-camera in room act-session-7a53c60d-camera +2025-06-19 18:21:55,124 - video.api - INFO - ๐Ÿ”ง WebRTC signal from act-session-7a53c60d-camera-consumer (role: consumer) in room act-session-7a53c60d-camera +2025-06-19 18:21:55,124 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer act-session-7a53c60d-camera-consumer to producer robot-camera +2025-06-19 18:22:09,893 - video.core - INFO - Consumer consumer_1750350129142 joined video room act-session-7a53c60d-camera +2025-06-19 18:22:14,295 - video.core - INFO - Consumer consumer_1750350129142 left video room act-session-7a53c60d-camera +2025-06-19 18:22:14,912 - video.api - INFO - ๐Ÿ”ง WebRTC signal from robot-camera (role: producer) in room act-session-7a53c60d-camera +2025-06-19 18:22:14,912 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer robot-camera to consumer consumer_1750350129142 +2025-06-19 18:22:15,056 - video.core - INFO - Stream stopped by robot-camera in room act-session-7a53c60d-camera +2025-06-19 18:22:15,080 - video.core - INFO - Producer robot-camera left video room act-session-7a53c60d-camera +2025-06-19 18:22:15,080 - robotics.core - INFO - Producer robot-joints left room act-session-7a53c60d-joint-input +2025-06-19 18:22:15,081 - robotics.core - INFO - Consumer robot-controller left room act-session-7a53c60d-joint-output +2025-06-19 18:22:15,100 - video.core - INFO - Consumer act-session-7a53c60d-camera-consumer left video room act-session-7a53c60d-camera +2025-06-19 18:22:15,100 - robotics.core - INFO - Consumer act-session-7a53c60d-joint-input-consumer left room act-session-7a53c60d-joint-input +2025-06-19 18:22:15,100 - robotics.core - INFO - Producer act-session-7a53c60d-joint-output-producer left room act-session-7a53c60d-joint-output +2025-06-19 18:22:15,433 - video.core - INFO - Consumer consumer_1750350134436 joined video room act-session-7a53c60d-camera +2025-06-19 18:22:49,073 - video.core - INFO - Created video room act-session-ac708530-camera +2025-06-19 18:22:49,075 - robotics.core - INFO - Created room act-session-ac708530-joint-input +2025-06-19 18:22:49,077 - robotics.core - INFO - Created room act-session-ac708530-joint-output +2025-06-19 18:22:51,038 - video.core - INFO - Consumer consumer_1750350134436 left video room act-session-7a53c60d-camera +2025-06-19 18:22:51,465 - video.core - INFO - Consumer act-session-ac708530-camera-consumer joined video room act-session-ac708530-camera +2025-06-19 18:22:51,972 - robotics.core - INFO - Consumer act-session-ac708530-joint-input-consumer joined room act-session-ac708530-joint-input +2025-06-19 18:22:51,981 - robotics.core - INFO - Producer act-session-ac708530-joint-output-producer joined room act-session-ac708530-joint-output +2025-06-19 18:22:52,022 - video.core - INFO - Producer robot-camera joined video room act-session-ac708530-camera +2025-06-19 18:22:52,526 - robotics.core - INFO - Producer robot-joints joined room act-session-ac708530-joint-input +2025-06-19 18:22:52,530 - robotics.core - INFO - Consumer robot-controller joined room act-session-ac708530-joint-output +2025-06-19 18:22:54,568 - video.core - INFO - Stream started by robot-camera in room act-session-ac708530-camera +2025-06-19 18:22:54,876 - video.core - INFO - Consumer consumer_1750350174160 joined video room act-session-ac708530-camera +2025-06-19 18:22:59,920 - video.api - INFO - ๐Ÿ”ง WebRTC signal from robot-camera (role: producer) in room act-session-ac708530-camera +2025-06-19 18:22:59,921 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer robot-camera to consumer consumer_1750350174160 +2025-06-19 18:22:59,972 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750350174160 (role: consumer) in room act-session-ac708530-camera +2025-06-19 18:22:59,973 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1750350174160 to producer robot-camera +2025-06-19 18:22:59,976 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750350174160 (role: consumer) in room act-session-ac708530-camera +2025-06-19 18:22:59,978 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750350174160 (role: consumer) in room act-session-ac708530-camera +2025-06-19 18:22:59,981 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750350174160 (role: consumer) in room act-session-ac708530-camera +2025-06-19 18:22:59,997 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750350174160 (role: consumer) in room act-session-ac708530-camera +2025-06-19 18:23:11,993 - video.core - INFO - Producer robot-camera left video room act-session-ac708530-camera +2025-06-19 18:23:11,995 - robotics.core - INFO - Producer robot-joints left room act-session-ac708530-joint-input +2025-06-19 18:23:11,995 - robotics.core - INFO - Consumer robot-controller left room act-session-ac708530-joint-output +2025-06-19 18:23:12,015 - video.core - INFO - Consumer act-session-ac708530-camera-consumer left video room act-session-ac708530-camera +2025-06-19 18:23:12,016 - robotics.core - INFO - Consumer act-session-ac708530-joint-input-consumer left room act-session-ac708530-joint-input +2025-06-19 18:23:12,016 - robotics.core - INFO - Producer act-session-ac708530-joint-output-producer left room act-session-ac708530-joint-output +2025-06-19 18:25:38,102 - video.core - INFO - Created video room act-session-304125ec-camera +2025-06-19 18:25:38,105 - robotics.core - INFO - Created room act-session-304125ec-joint-input +2025-06-19 18:25:38,106 - robotics.core - INFO - Created room act-session-304125ec-joint-output +2025-06-19 18:25:39,085 - video.core - INFO - Consumer act-session-304125ec-camera-consumer joined video room act-session-304125ec-camera +2025-06-19 18:25:39,597 - robotics.core - INFO - Consumer act-session-304125ec-joint-input-consumer joined room act-session-304125ec-joint-input +2025-06-19 18:25:39,607 - robotics.core - INFO - Producer act-session-304125ec-joint-output-producer joined room act-session-304125ec-joint-output +2025-06-19 18:25:39,631 - video.core - INFO - Producer robot-camera joined video room act-session-304125ec-camera +2025-06-19 18:25:40,142 - robotics.core - INFO - Producer robot-joints joined room act-session-304125ec-joint-input +2025-06-19 18:25:40,152 - robotics.core - INFO - Consumer robot-controller joined room act-session-304125ec-joint-output +2025-06-19 18:25:42,190 - video.core - INFO - Stream started by robot-camera in room act-session-304125ec-camera +2025-06-19 18:25:53,632 - video.core - INFO - Consumer consumer_1750350174160 left video room act-session-ac708530-camera +2025-06-19 18:26:12,252 - video.core - INFO - Producer robot-camera left video room act-session-304125ec-camera +2025-06-19 18:26:12,256 - robotics.core - INFO - Producer robot-joints left room act-session-304125ec-joint-input +2025-06-19 18:26:12,256 - robotics.core - INFO - Consumer robot-controller left room act-session-304125ec-joint-output +2025-06-19 18:26:12,278 - video.core - INFO - Consumer act-session-304125ec-camera-consumer left video room act-session-304125ec-camera +2025-06-19 18:26:12,278 - robotics.core - INFO - Consumer act-session-304125ec-joint-input-consumer left room act-session-304125ec-joint-input +2025-06-19 18:26:12,279 - robotics.core - INFO - Producer act-session-304125ec-joint-output-producer left room act-session-304125ec-joint-output +2025-06-19 18:28:43,735 - video.core - INFO - Created video room act-session-67b628aa-camera +2025-06-19 18:28:43,738 - robotics.core - INFO - Created room act-session-67b628aa-joint-input +2025-06-19 18:28:43,739 - robotics.core - INFO - Created room act-session-67b628aa-joint-output +2025-06-19 18:28:44,687 - video.core - INFO - Consumer act-session-67b628aa-camera-consumer joined video room act-session-67b628aa-camera +2025-06-19 18:28:45,190 - robotics.core - INFO - Consumer act-session-67b628aa-joint-input-consumer joined room act-session-67b628aa-joint-input +2025-06-19 18:28:45,192 - robotics.core - INFO - Producer act-session-67b628aa-joint-output-producer joined room act-session-67b628aa-joint-output +2025-06-19 18:28:45,213 - video.core - INFO - Producer robot-camera joined video room act-session-67b628aa-camera +2025-06-19 18:28:45,717 - robotics.core - INFO - Producer robot-joints joined room act-session-67b628aa-joint-input +2025-06-19 18:28:45,724 - robotics.core - INFO - Consumer robot-controller joined room act-session-67b628aa-joint-output +2025-06-19 18:28:48,787 - video.core - INFO - Stream started by robot-camera in room act-session-67b628aa-camera +2025-06-19 18:29:13,333 - video.core - INFO - Consumer consumer_1750350552470 joined video room act-session-67b628aa-camera +2025-06-19 18:29:15,725 - video.core - INFO - Consumer consumer_1750350552470 left video room act-session-67b628aa-camera +2025-06-19 18:29:16,903 - video.core - INFO - Consumer consumer_1750350555882 joined video room act-session-67b628aa-camera +2025-06-19 18:29:18,366 - video.api - INFO - ๐Ÿ”ง WebRTC signal from robot-camera (role: producer) in room act-session-67b628aa-camera +2025-06-19 18:29:18,366 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer robot-camera to consumer consumer_1750350552470 +2025-06-19 18:29:18,785 - video.core - INFO - Stream stopped by robot-camera in room act-session-67b628aa-camera +2025-06-19 18:29:18,815 - robotics.core - INFO - Producer robot-joints left room act-session-67b628aa-joint-input +2025-06-19 18:29:18,816 - robotics.core - INFO - Consumer robot-controller left room act-session-67b628aa-joint-output +2025-06-19 18:29:18,816 - video.core - INFO - Producer robot-camera left video room act-session-67b628aa-camera +2025-06-19 18:29:18,835 - video.core - INFO - Consumer act-session-67b628aa-camera-consumer left video room act-session-67b628aa-camera +2025-06-19 18:29:18,836 - robotics.core - INFO - Consumer act-session-67b628aa-joint-input-consumer left room act-session-67b628aa-joint-input +2025-06-19 18:29:18,836 - robotics.core - INFO - Producer act-session-67b628aa-joint-output-producer left room act-session-67b628aa-joint-output +2025-06-19 18:29:28,489 - video.core - INFO - Consumer consumer_1750350555882 left video room act-session-67b628aa-camera +2025-06-19 18:31:23,746 - video.core - INFO - Deleted video room act-session-f51497ea-camera +2025-06-19 18:31:23,880 - video.core - INFO - Deleted video room act-session-7ba548f3-camera +2025-06-19 18:31:24,009 - video.core - INFO - Deleted video room act-session-b0be79e6-camera +2025-06-19 18:31:24,609 - video.core - INFO - Deleted video room act-session-7a53c60d-camera +2025-06-19 18:31:24,900 - video.core - INFO - Deleted video room act-session-ac708530-camera +2025-06-19 18:31:25,130 - video.core - INFO - Deleted video room act-session-304125ec-camera +2025-06-19 18:31:25,954 - video.core - INFO - Deleted video room act-session-67b628aa-camera +2025-06-19 18:31:55,530 - video.core - INFO - Created video room act-session-9d77dafa-camera +2025-06-19 18:31:55,532 - robotics.core - INFO - Created room act-session-9d77dafa-joint-input +2025-06-19 18:31:55,534 - robotics.core - INFO - Created room act-session-9d77dafa-joint-output +2025-06-19 18:31:56,431 - video.core - INFO - Consumer act-session-9d77dafa-camera-consumer joined video room act-session-9d77dafa-camera +2025-06-19 18:31:56,943 - robotics.core - INFO - Consumer act-session-9d77dafa-joint-input-consumer joined room act-session-9d77dafa-joint-input +2025-06-19 18:31:56,950 - robotics.core - INFO - Producer act-session-9d77dafa-joint-output-producer joined room act-session-9d77dafa-joint-output +2025-06-19 18:31:56,970 - video.core - INFO - Producer robot-camera joined video room act-session-9d77dafa-camera +2025-06-19 18:31:57,476 - robotics.core - INFO - Producer robot-joints joined room act-session-9d77dafa-joint-input +2025-06-19 18:31:57,479 - robotics.core - INFO - Consumer robot-controller joined room act-session-9d77dafa-joint-output +2025-06-19 18:32:02,510 - video.core - INFO - Stream started by robot-camera in room act-session-9d77dafa-camera +2025-06-19 18:32:07,309 - video.core - INFO - Consumer consumer_1750350726567 joined video room act-session-9d77dafa-camera +2025-06-19 18:32:12,346 - video.api - INFO - ๐Ÿ”ง WebRTC signal from robot-camera (role: producer) in room act-session-9d77dafa-camera +2025-06-19 18:32:12,347 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer robot-camera to consumer consumer_1750350726567 +2025-06-19 18:32:12,384 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750350726567 (role: consumer) in room act-session-9d77dafa-camera +2025-06-19 18:32:12,385 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1750350726567 to producer robot-camera +2025-06-19 18:32:12,392 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750350726567 (role: consumer) in room act-session-9d77dafa-camera +2025-06-19 18:32:12,393 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750350726567 (role: consumer) in room act-session-9d77dafa-camera +2025-06-19 18:32:12,394 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750350726567 (role: consumer) in room act-session-9d77dafa-camera +2025-06-19 18:32:32,526 - video.core - INFO - Stream stopped by robot-camera in room act-session-9d77dafa-camera +2025-06-19 18:32:32,549 - video.core - INFO - Producer robot-camera left video room act-session-9d77dafa-camera +2025-06-19 18:32:32,550 - robotics.core - INFO - Producer robot-joints left room act-session-9d77dafa-joint-input +2025-06-19 18:32:32,550 - robotics.core - INFO - Consumer robot-controller left room act-session-9d77dafa-joint-output +2025-06-19 18:32:32,574 - video.core - INFO - Consumer act-session-9d77dafa-camera-consumer left video room act-session-9d77dafa-camera +2025-06-19 18:32:32,575 - robotics.core - INFO - Consumer act-session-9d77dafa-joint-input-consumer left room act-session-9d77dafa-joint-input +2025-06-19 18:32:32,576 - robotics.core - INFO - Producer act-session-9d77dafa-joint-output-producer left room act-session-9d77dafa-joint-output +2025-06-19 18:34:43,662 - video.core - INFO - Consumer consumer_1750350726567 left video room act-session-9d77dafa-camera +2025-06-19 18:36:23,923 - video.core - INFO - Created video room demo-session-1750350983-camera +2025-06-19 18:36:23,926 - robotics.core - INFO - Created room demo-session-1750350983-joint-input +2025-06-19 18:36:23,927 - robotics.core - INFO - Created room demo-session-1750350983-joint-output +2025-06-19 18:36:39,617 - video.core - INFO - Created video room demo-session-1750350999-camera +2025-06-19 18:36:39,619 - robotics.core - INFO - Created room demo-session-1750350999-joint-input +2025-06-19 18:36:39,620 - robotics.core - INFO - Created room demo-session-1750350999-joint-output +2025-06-19 18:38:05,070 - video.core - INFO - Created video room demo-session-1750351085-camera +2025-06-19 18:38:05,072 - robotics.core - INFO - Created room demo-session-1750351085-joint-input +2025-06-19 18:38:05,073 - robotics.core - INFO - Created room demo-session-1750351085-joint-output +2025-06-19 18:38:06,069 - video.core - INFO - Consumer demo-session-1750351085-camera-consumer joined video room demo-session-1750351085-camera +2025-06-19 18:38:06,581 - robotics.core - INFO - Consumer demo-session-1750351085-joint-input-consumer joined room demo-session-1750351085-joint-input +2025-06-19 18:38:06,595 - robotics.core - INFO - Producer demo-session-1750351085-joint-output-producer joined room demo-session-1750351085-joint-output +2025-06-19 18:38:06,620 - video.core - INFO - Producer robot-camera joined video room demo-session-1750351085-camera +2025-06-19 18:38:07,137 - robotics.core - INFO - Producer robot-joints joined room demo-session-1750351085-joint-input +2025-06-19 18:38:07,143 - robotics.core - INFO - Consumer robot-controller joined room demo-session-1750351085-joint-output +2025-06-19 18:38:09,178 - video.core - INFO - Stream started by robot-camera in room demo-session-1750351085-camera +2025-06-19 18:38:38,851 - video.core - INFO - Stream stopped by robot-camera in room demo-session-1750351085-camera +2025-06-19 18:38:38,854 - video.core - INFO - Producer robot-camera left video room demo-session-1750351085-camera +2025-06-19 18:38:38,856 - robotics.core - INFO - Consumer robot-controller left room demo-session-1750351085-joint-output +2025-06-19 18:38:38,856 - robotics.core - INFO - Producer robot-joints left room demo-session-1750351085-joint-input +2025-06-19 18:38:38,897 - video.core - INFO - Consumer demo-session-1750351085-camera-consumer left video room demo-session-1750351085-camera +2025-06-19 18:38:38,897 - robotics.core - INFO - Consumer demo-session-1750351085-joint-input-consumer left room demo-session-1750351085-joint-input +2025-06-19 18:38:38,897 - robotics.core - INFO - Producer demo-session-1750351085-joint-output-producer left room demo-session-1750351085-joint-output +2025-06-19 18:39:20,253 - video.core - INFO - Created video room test-camera +2025-06-19 18:39:20,256 - robotics.core - INFO - Created room test-joint-input +2025-06-19 18:39:20,258 - robotics.core - INFO - Created room test-joint-output +2025-06-19 18:40:48,722 - video.core - INFO - Created video room test-camera +2025-06-19 18:40:48,725 - robotics.core - INFO - Created room test-joint-input +2025-06-19 18:40:48,726 - robotics.core - INFO - Created room test-joint-output +2025-06-19 18:40:49,827 - video.core - INFO - Consumer test-camera-consumer joined video room test-camera +2025-06-19 18:40:50,332 - robotics.core - INFO - Consumer test-joint-input-consumer joined room test-joint-input +2025-06-19 18:40:50,336 - robotics.core - INFO - Producer test-joint-output-producer joined room test-joint-output +2025-06-19 18:41:53,528 - video.core - INFO - Producer producer_1750351304076 joined video room test-camera +2025-06-19 18:41:54,486 - robotics.core - INFO - Producer producer_1750351310333 joined room test-joint-input +2025-06-19 18:41:55,289 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750351304076 (role: producer) in room test-camera +2025-06-19 18:41:55,289 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750351304076 to consumer test-camera-consumer +2025-06-19 18:41:55,429 - robotics.core - INFO - Consumer consumer_1750351312390 joined room test-joint-output +2025-06-19 18:41:59,853 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750351304076 (role: producer) in room test-camera +2025-06-19 18:41:59,854 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750351304076 to consumer test-camera-consumer +2025-06-19 18:41:59,856 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750351304076 (role: producer) in room test-camera +2025-06-19 18:41:59,857 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750351304076 (role: producer) in room test-camera +2025-06-19 18:41:59,858 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750351304076 (role: producer) in room test-camera +2025-06-19 18:41:59,859 - video.core - INFO - Stream started by producer_1750351304076 in room test-camera +2025-06-19 18:41:59,901 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750351304076 (role: producer) in room test-camera +2025-06-19 18:41:59,983 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750351304076 (role: producer) in room test-camera +2025-06-19 18:41:59,984 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750351304076 (role: producer) in room test-camera +2025-06-19 18:41:59,984 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750351304076 (role: producer) in room test-camera +2025-06-19 18:42:04,899 - video.api - INFO - ๐Ÿ”ง WebRTC signal from test-camera-consumer (role: consumer) in room test-camera +2025-06-19 18:42:04,899 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer test-camera-consumer to producer producer_1750351304076 +2025-06-19 18:43:46,643 - video.core - INFO - Consumer test-camera-consumer left video room test-camera +2025-06-19 18:43:46,645 - robotics.core - INFO - Consumer test-joint-input-consumer left room test-joint-input +2025-06-19 18:43:46,646 - robotics.core - INFO - Producer test-joint-output-producer left room test-joint-output +2025-06-19 18:43:56,577 - robotics.core - INFO - Consumer consumer_1750351312390 left room test-joint-output +2025-06-19 18:43:56,578 - video.core - INFO - Producer producer_1750351304076 left video room test-camera +2025-06-19 18:43:56,579 - robotics.core - INFO - Producer producer_1750351310333 left room test-joint-input +2025-06-19 20:00:59,964 - video.core - INFO - Created video room my-robot-session-camera +2025-06-19 20:00:59,968 - robotics.core - INFO - Created room my-robot-session-joint-input +2025-06-19 20:00:59,969 - robotics.core - INFO - Created room my-robot-session-joint-output +2025-06-19 20:01:18,935 - video.core - INFO - Created video room my-robot-session-camera +2025-06-19 20:01:18,938 - robotics.core - INFO - Created room my-robot-session-joint-input +2025-06-19 20:01:18,940 - robotics.core - INFO - Created room my-robot-session-joint-output +2025-06-19 20:01:19,948 - video.core - INFO - Consumer my-robot-session-camera-consumer joined video room my-robot-session-camera +2025-06-19 20:01:20,453 - robotics.core - INFO - Consumer my-robot-session-joint-input-consumer joined room my-robot-session-joint-input +2025-06-19 20:01:20,456 - robotics.core - INFO - Producer my-robot-session-joint-output-producer joined room my-robot-session-joint-output +2025-06-19 20:01:32,719 - robotics.core - INFO - Deleted room act-session-8559040c-joint-input +2025-06-19 20:01:33,017 - robotics.core - INFO - Deleted room act-session-8559040c-joint-output +2025-06-19 20:01:33,159 - robotics.core - INFO - Deleted room act-session-ff4fd054-joint-input +2025-06-19 20:01:33,300 - robotics.core - INFO - Deleted room act-session-ff4fd054-joint-output +2025-06-19 20:01:33,439 - robotics.core - INFO - Deleted room act-session-f51497ea-joint-input +2025-06-19 20:01:33,573 - robotics.core - INFO - Deleted room act-session-f51497ea-joint-output +2025-06-19 20:01:33,715 - robotics.core - INFO - Deleted room act-session-7ba548f3-joint-input +2025-06-19 20:01:33,852 - robotics.core - INFO - Deleted room act-session-7ba548f3-joint-output +2025-06-19 20:01:33,998 - robotics.core - INFO - Deleted room act-session-b0be79e6-joint-input +2025-06-19 20:01:34,143 - robotics.core - INFO - Deleted room act-session-b0be79e6-joint-output +2025-06-19 20:01:34,292 - robotics.core - INFO - Deleted room act-session-7a53c60d-joint-input +2025-06-19 20:01:34,431 - robotics.core - INFO - Deleted room act-session-7a53c60d-joint-output +2025-06-19 20:01:34,583 - robotics.core - INFO - Deleted room act-session-ac708530-joint-input +2025-06-19 20:01:34,720 - robotics.core - INFO - Deleted room act-session-ac708530-joint-output +2025-06-19 20:01:34,864 - robotics.core - INFO - Deleted room act-session-304125ec-joint-input +2025-06-19 20:01:35,160 - robotics.core - INFO - Deleted room act-session-304125ec-joint-output +2025-06-19 20:01:35,298 - robotics.core - INFO - Deleted room act-session-67b628aa-joint-input +2025-06-19 20:01:35,450 - robotics.core - INFO - Deleted room act-session-67b628aa-joint-output +2025-06-19 20:01:35,595 - robotics.core - INFO - Deleted room act-session-9d77dafa-joint-input +2025-06-19 20:01:35,747 - robotics.core - INFO - Deleted room act-session-9d77dafa-joint-output +2025-06-19 20:01:36,040 - robotics.core - INFO - Deleted room demo-session-1750350983-joint-input +2025-06-19 20:01:36,180 - robotics.core - INFO - Deleted room demo-session-1750350983-joint-output +2025-06-19 20:01:36,332 - robotics.core - INFO - Deleted room demo-session-1750350999-joint-input +2025-06-19 20:01:36,485 - robotics.core - INFO - Deleted room demo-session-1750350999-joint-output +2025-06-19 20:01:36,629 - robotics.core - INFO - Deleted room demo-session-1750351085-joint-input +2025-06-19 20:01:36,772 - robotics.core - INFO - Deleted room demo-session-1750351085-joint-output +2025-06-19 20:01:36,933 - robotics.core - INFO - Deleted room test-joint-input +2025-06-19 20:01:37,075 - robotics.core - INFO - Deleted room test-joint-output +2025-06-19 20:01:37,232 - robotics.core - INFO - Consumer my-robot-session-joint-input-consumer left room my-robot-session-joint-input +2025-06-19 20:01:37,232 - robotics.core - INFO - Deleted room my-robot-session-joint-input +2025-06-19 20:01:37,391 - robotics.core - INFO - Producer my-robot-session-joint-output-producer left room my-robot-session-joint-output +2025-06-19 20:01:37,391 - robotics.core - INFO - Deleted room my-robot-session-joint-output +2025-06-19 20:01:39,586 - video.core - INFO - Deleted video room act-session-9d77dafa-camera +2025-06-19 20:01:39,738 - video.core - INFO - Deleted video room demo-session-1750350983-camera +2025-06-19 20:01:39,892 - video.core - INFO - Deleted video room demo-session-1750350999-camera +2025-06-19 20:01:40,036 - video.core - INFO - Deleted video room demo-session-1750351085-camera +2025-06-19 20:01:40,190 - video.core - INFO - Deleted video room test-camera +2025-06-19 20:01:40,349 - video.core - INFO - Deleted video room my-robot-session-camera +2025-06-19 20:02:01,449 - video.core - INFO - Created video room my-robot-session-camera +2025-06-19 20:02:01,451 - robotics.core - INFO - Created room my-robot-session-joint-input +2025-06-19 20:02:01,453 - robotics.core - INFO - Created room my-robot-session-joint-output +2025-06-19 20:02:02,317 - video.core - INFO - Consumer my-robot-session-camera-consumer joined video room my-robot-session-camera +2025-06-19 20:02:02,820 - robotics.core - INFO - Consumer my-robot-session-joint-input-consumer joined room my-robot-session-joint-input +2025-06-19 20:02:02,829 - robotics.core - INFO - Producer my-robot-session-joint-output-producer joined room my-robot-session-joint-output +2025-06-19 20:02:07,825 - robotics.core - INFO - Created room AncientCheetah779 +2025-06-19 20:02:07,838 - robotics.core - INFO - Consumer remote-consumer-AncientCheetah779-1750356127819 joined room AncientCheetah779 +2025-06-19 20:02:09,045 - robotics.core - INFO - Consumer remote-consumer-AncientCheetah779-1750356127819 left room AncientCheetah779 +2025-06-19 20:02:44,925 - video.core - INFO - Producer producer_1750356164040 joined video room my-robot-session-camera +2025-06-19 20:02:45,970 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750356164040 (role: producer) in room my-robot-session-camera +2025-06-19 20:02:45,970 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750356164040 to consumer my-robot-session-camera-consumer +2025-06-19 20:02:47,289 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750356164040 (role: producer) in room my-robot-session-camera +2025-06-19 20:02:47,289 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750356164040 to consumer my-robot-session-camera-consumer +2025-06-19 20:02:47,291 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750356164040 (role: producer) in room my-robot-session-camera +2025-06-19 20:02:47,292 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750356164040 (role: producer) in room my-robot-session-camera +2025-06-19 20:02:47,293 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750356164040 (role: producer) in room my-robot-session-camera +2025-06-19 20:02:47,293 - video.core - INFO - Stream started by producer_1750356164040 in room my-robot-session-camera +2025-06-19 20:02:47,330 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750356164040 (role: producer) in room my-robot-session-camera +2025-06-19 20:02:47,403 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750356164040 (role: producer) in room my-robot-session-camera +2025-06-19 20:02:47,405 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750356164040 (role: producer) in room my-robot-session-camera +2025-06-19 20:02:47,405 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750356164040 (role: producer) in room my-robot-session-camera +2025-06-19 20:02:48,137 - robotics.core - INFO - Producer producer_1750356160942 joined room my-robot-session-joint-input +2025-06-19 20:02:52,320 - video.api - INFO - ๐Ÿ”ง WebRTC signal from my-robot-session-camera-consumer (role: consumer) in room my-robot-session-camera +2025-06-19 20:02:52,321 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer my-robot-session-camera-consumer to producer producer_1750356164040 +2025-06-19 20:02:57,720 - robotics.core - INFO - Consumer consumer_1750356161579 joined room my-robot-session-joint-output +2025-06-19 20:03:44,080 - video.core - INFO - Consumer my-robot-session-camera-consumer left video room my-robot-session-camera +2025-06-19 20:03:44,082 - robotics.core - INFO - Consumer my-robot-session-joint-input-consumer left room my-robot-session-joint-input +2025-06-19 20:03:44,083 - robotics.core - INFO - Producer my-robot-session-joint-output-producer left room my-robot-session-joint-output +2025-06-19 20:03:45,845 - robotics.core - INFO - Consumer consumer_1750356161579 left room my-robot-session-joint-output +2025-06-19 20:03:46,585 - robotics.core - INFO - Producer producer_1750356160942 left room my-robot-session-joint-input +2025-06-19 20:07:15,517 - video.core - INFO - Producer producer_1750356164040 left video room my-robot-session-camera +2025-06-19 20:07:16,550 - video.core - INFO - Deleted video room my-robot-session-camera +2025-06-19 20:07:18,249 - robotics.core - INFO - Deleted room my-robot-session-joint-input +2025-06-19 20:07:18,402 - robotics.core - INFO - Deleted room my-robot-session-joint-output +2025-06-19 20:07:18,548 - robotics.core - INFO - Deleted room AncientCheetah779 +2025-06-19 20:11:46,836 - robotics.core - INFO - Created room ArcticIbis317 +2025-06-19 20:11:59,688 - robotics.core - INFO - Created room ArcticIbis317 +2025-06-19 20:11:59,795 - robotics.core - INFO - Created room ArcticIbis317 +2025-06-19 20:12:04,659 - robotics.core - INFO - Consumer remote-consumer-ArcticIbis317-1750356719780 joined room ArcticIbis317 +2025-06-19 20:12:12,454 - robotics.core - INFO - Consumer remote-consumer-ArcticIbis317-1750356719780 left room ArcticIbis317 +2025-06-19 20:12:12,456 - robotics.core - INFO - Deleted room ArcticIbis317 +2025-06-19 20:13:07,283 - video.core - INFO - Created video room my-robot-session-camera +2025-06-19 20:13:07,292 - robotics.core - INFO - Created room my-robot-session-joint-input +2025-06-19 20:13:07,297 - robotics.core - INFO - Created room my-robot-session-joint-output +2025-06-19 20:13:10,623 - video.core - INFO - Consumer my-robot-session-camera-consumer joined video room my-robot-session-camera +2025-06-19 20:13:11,133 - robotics.core - INFO - Consumer my-robot-session-joint-input-consumer joined room my-robot-session-joint-input +2025-06-19 20:13:11,138 - robotics.core - INFO - Producer my-robot-session-joint-output-producer joined room my-robot-session-joint-output +2025-06-19 20:13:27,645 - robotics.core - INFO - Created room my-robot-session-joint-output +2025-06-19 20:13:27,658 - robotics.core - INFO - Consumer remote-consumer-my-robot-session-joint-output-1750356807641 joined room my-robot-session-joint-output +2025-06-19 20:13:43,229 - robotics.core - INFO - Created room my-robot-session-joint-input +2025-06-19 20:13:43,255 - robotics.core - INFO - Producer remote-producer-my-robot-session-joint-input-1750356823225 joined room my-robot-session-joint-input +2025-06-19 20:13:51,185 - robotics.core - INFO - Consumer consumer_1750356829431 joined room my-robot-session-joint-input +2025-06-19 20:13:51,897 - robotics.core - INFO - Consumer consumer_1750356830011 joined room my-robot-session-joint-output +2025-06-19 20:14:06,461 - video.core - INFO - Producer producer_1750356845658 joined video room my-robot-session-camera +2025-06-19 20:14:07,497 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750356845658 (role: producer) in room my-robot-session-camera +2025-06-19 20:14:07,498 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750356845658 to consumer my-robot-session-camera-consumer +2025-06-19 20:14:09,144 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750356845658 (role: producer) in room my-robot-session-camera +2025-06-19 20:14:09,144 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750356845658 to consumer my-robot-session-camera-consumer +2025-06-19 20:14:09,145 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750356845658 (role: producer) in room my-robot-session-camera +2025-06-19 20:14:09,146 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750356845658 (role: producer) in room my-robot-session-camera +2025-06-19 20:14:09,147 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750356845658 (role: producer) in room my-robot-session-camera +2025-06-19 20:14:09,147 - video.core - INFO - Stream started by producer_1750356845658 in room my-robot-session-camera +2025-06-19 20:14:09,191 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750356845658 (role: producer) in room my-robot-session-camera +2025-06-19 20:14:09,268 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750356845658 (role: producer) in room my-robot-session-camera +2025-06-19 20:14:09,269 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750356845658 (role: producer) in room my-robot-session-camera +2025-06-19 20:14:09,269 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750356845658 (role: producer) in room my-robot-session-camera +2025-06-19 20:14:14,181 - video.api - INFO - ๐Ÿ”ง WebRTC signal from my-robot-session-camera-consumer (role: consumer) in room my-robot-session-camera +2025-06-19 20:14:14,181 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer my-robot-session-camera-consumer to producer producer_1750356845658 +2025-06-19 20:15:02,492 - video.core - INFO - Consumer my-robot-session-camera-consumer left video room my-robot-session-camera +2025-06-19 20:15:12,436 - robotics.core - INFO - Consumer consumer_1750356829431 left room my-robot-session-joint-input +2025-06-19 20:15:12,882 - robotics.core - INFO - Consumer consumer_1750356830011 left room my-robot-session-joint-output +2025-06-19 20:15:13,703 - video.core - INFO - Producer producer_1750356845658 left video room my-robot-session-camera +2025-06-19 20:15:16,577 - robotics.core - INFO - Producer remote-producer-my-robot-session-joint-input-1750356823225 left room my-robot-session-joint-input +2025-06-19 20:15:16,578 - robotics.core - INFO - Consumer remote-consumer-my-robot-session-joint-output-1750356807641 left room my-robot-session-joint-output +2025-06-19 20:39:47,398 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-19 20:40:14,121 - video.core - INFO - Created video room my-robot-session-camera +2025-06-19 20:40:14,125 - robotics.core - INFO - Created room my-robot-session-joint-input +2025-06-19 20:40:14,129 - robotics.core - INFO - Created room my-robot-session-joint-output +2025-06-19 20:40:15,747 - video.core - INFO - Consumer my-robot-session-camera-consumer joined video room my-robot-session-camera +2025-06-19 20:40:16,251 - robotics.core - INFO - Consumer my-robot-session-joint-input-consumer joined room my-robot-session-joint-input +2025-06-19 20:40:16,254 - robotics.core - INFO - Producer my-robot-session-joint-output-producer joined room my-robot-session-joint-output +2025-06-19 20:40:30,436 - robotics.core - INFO - Created room my-robot-session-joint-output +2025-06-19 20:40:30,463 - robotics.core - INFO - Consumer remote-consumer-my-robot-session-joint-output-1750358430431 joined room my-robot-session-joint-output +2025-06-19 20:40:36,617 - robotics.core - INFO - Created room my-robot-session-joint-input +2025-06-19 20:40:36,630 - robotics.core - INFO - Producer remote-producer-my-robot-session-joint-input-1750358436609 joined room my-robot-session-joint-input +2025-06-19 20:40:43,388 - video.core - INFO - Producer producer_1750358442462 joined video room my-robot-session-camera +2025-06-19 20:40:44,436 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750358442462 (role: producer) in room my-robot-session-camera +2025-06-19 20:40:44,436 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750358442462 to consumer my-robot-session-camera-consumer +2025-06-19 20:40:47,876 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750358442462 (role: producer) in room my-robot-session-camera +2025-06-19 20:40:47,877 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750358442462 to consumer my-robot-session-camera-consumer +2025-06-19 20:40:47,879 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750358442462 (role: producer) in room my-robot-session-camera +2025-06-19 20:40:47,880 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750358442462 (role: producer) in room my-robot-session-camera +2025-06-19 20:40:47,881 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750358442462 (role: producer) in room my-robot-session-camera +2025-06-19 20:40:47,882 - video.core - INFO - Stream started by producer_1750358442462 in room my-robot-session-camera +2025-06-19 20:40:47,915 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750358442462 (role: producer) in room my-robot-session-camera +2025-06-19 20:40:48,012 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750358442462 (role: producer) in room my-robot-session-camera +2025-06-19 20:40:48,012 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750358442462 (role: producer) in room my-robot-session-camera +2025-06-19 20:40:48,013 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750358442462 (role: producer) in room my-robot-session-camera +2025-06-19 20:40:52,945 - video.api - INFO - ๐Ÿ”ง WebRTC signal from my-robot-session-camera-consumer (role: consumer) in room my-robot-session-camera +2025-06-19 20:40:52,945 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer my-robot-session-camera-consumer to producer producer_1750358442462 +2025-06-19 20:41:07,673 - robotics.core - INFO - Consumer consumer_1750358466787 joined room my-robot-session-joint-input +2025-06-19 20:41:08,759 - robotics.core - INFO - Consumer consumer_1750358466833 joined room my-robot-session-joint-output +2025-06-19 20:45:37,203 - robotics.core - INFO - Consumer remote-consumer-my-robot-session-joint-output-1750358430431 left room my-robot-session-joint-output +2025-06-19 20:45:37,206 - robotics.core - INFO - Producer remote-producer-my-robot-session-joint-input-1750358436609 left room my-robot-session-joint-input +2025-06-19 20:47:13,638 - video.core - INFO - Consumer my-robot-session-camera-consumer left video room my-robot-session-camera +2025-06-19 20:47:20,284 - robotics.core - INFO - Consumer consumer_1750358466787 left room my-robot-session-joint-input +2025-06-19 20:47:20,284 - robotics.core - INFO - Deleted room my-robot-session-joint-input +2025-06-19 20:47:20,906 - robotics.core - INFO - Consumer consumer_1750358466833 left room my-robot-session-joint-output +2025-06-19 20:47:20,906 - robotics.core - INFO - Deleted room my-robot-session-joint-output +2025-06-19 20:47:23,595 - video.core - INFO - Producer producer_1750358442462 left video room my-robot-session-camera +2025-06-19 20:47:24,369 - video.core - INFO - Deleted video room my-robot-session-camera +2025-06-19 20:47:34,594 - video.core - INFO - Created video room my-robot-session-camera +2025-06-19 20:47:34,612 - robotics.core - INFO - Created room my-robot-session-joint-input +2025-06-19 20:47:34,613 - robotics.core - INFO - Created room my-robot-session-joint-output +2025-06-19 20:47:36,669 - video.core - INFO - Consumer my-robot-session-camera-consumer joined video room my-robot-session-camera +2025-06-19 20:47:37,271 - robotics.core - INFO - Consumer my-robot-session-joint-input-consumer joined room my-robot-session-joint-input +2025-06-19 20:47:37,433 - robotics.core - INFO - Producer my-robot-session-joint-output-producer joined room my-robot-session-joint-output +2025-06-19 20:47:58,910 - robotics.core - INFO - Created room my-robot-session-joint-output +2025-06-19 20:47:58,925 - robotics.core - INFO - Consumer remote-consumer-my-robot-session-joint-output-1750358878903 joined room my-robot-session-joint-output +2025-06-19 20:48:03,975 - robotics.core - INFO - Created room my-robot-session-joint-input +2025-06-19 20:48:03,985 - robotics.core - INFO - Producer remote-producer-my-robot-session-joint-input-1750358883945 joined room my-robot-session-joint-input +2025-06-19 20:48:07,547 - video.core - INFO - Producer producer_1750358886807 joined video room my-robot-session-camera +2025-06-19 20:48:08,578 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750358886807 (role: producer) in room my-robot-session-camera +2025-06-19 20:48:08,578 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750358886807 to consumer my-robot-session-camera-consumer +2025-06-19 20:48:10,150 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750358886807 (role: producer) in room my-robot-session-camera +2025-06-19 20:48:10,150 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750358886807 to consumer my-robot-session-camera-consumer +2025-06-19 20:48:10,151 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750358886807 (role: producer) in room my-robot-session-camera +2025-06-19 20:48:10,152 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750358886807 (role: producer) in room my-robot-session-camera +2025-06-19 20:48:10,153 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750358886807 (role: producer) in room my-robot-session-camera +2025-06-19 20:48:10,162 - video.core - INFO - Stream started by producer_1750358886807 in room my-robot-session-camera +2025-06-19 20:48:10,202 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750358886807 (role: producer) in room my-robot-session-camera +2025-06-19 20:48:10,269 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750358886807 (role: producer) in room my-robot-session-camera +2025-06-19 20:48:10,271 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750358886807 (role: producer) in room my-robot-session-camera +2025-06-19 20:48:10,273 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750358886807 (role: producer) in room my-robot-session-camera +2025-06-19 20:48:15,214 - video.api - INFO - ๐Ÿ”ง WebRTC signal from my-robot-session-camera-consumer (role: consumer) in room my-robot-session-camera +2025-06-19 20:48:15,214 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer my-robot-session-camera-consumer to producer producer_1750358886807 +2025-06-19 20:48:41,777 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750358886807 (role: producer) in room my-robot-session-camera +2025-06-19 20:48:41,844 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750358886807 to consumer my-robot-session-camera-consumer +2025-06-19 20:48:41,884 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750358886807 (role: producer) in room my-robot-session-camera +2025-06-19 20:48:41,893 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750358886807 (role: producer) in room my-robot-session-camera +2025-06-19 20:48:41,900 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750358886807 (role: producer) in room my-robot-session-camera +2025-06-19 20:48:42,030 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750358886807 (role: producer) in room my-robot-session-camera +2025-06-19 20:48:42,065 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750358886807 (role: producer) in room my-robot-session-camera +2025-06-19 20:48:42,069 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750358886807 (role: producer) in room my-robot-session-camera +2025-06-19 20:48:42,122 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750358886807 (role: producer) in room my-robot-session-camera +2025-06-19 20:49:06,009 - video.core - INFO - Consumer my-robot-session-camera-consumer left video room my-robot-session-camera +2025-06-19 20:49:23,255 - robotics.core - INFO - Consumer remote-consumer-my-robot-session-joint-output-1750358878903 left room my-robot-session-joint-output +2025-06-19 20:49:23,269 - robotics.core - INFO - Producer remote-producer-my-robot-session-joint-input-1750358883945 left room my-robot-session-joint-input +2025-06-19 20:53:09,115 - video.core - INFO - Producer producer_1750358886807 left video room my-robot-session-camera +2025-06-19 20:53:10,486 - video.core - INFO - Deleted video room my-robot-session-camera +2025-06-19 20:53:12,928 - robotics.core - INFO - Deleted room my-robot-session-joint-input +2025-06-19 20:53:13,550 - robotics.core - INFO - Deleted room my-robot-session-joint-output +2025-06-19 21:13:09,393 - robotics.core - INFO - Created room DemonicSquid394 +2025-06-19 21:13:09,414 - robotics.core - INFO - Consumer remote-consumer-DemonicSquid394-1750360389380 joined room DemonicSquid394 +2025-06-19 21:13:27,138 - robotics.core - INFO - Consumer remote-consumer-DemonicSquid394-1750360389380 left room DemonicSquid394 +2025-06-19 21:13:41,060 - robotics.core - INFO - Created room FlameEchidna157 +2025-06-19 21:13:41,094 - robotics.core - INFO - Consumer remote-consumer-FlameEchidna157-1750360421053 joined room FlameEchidna157 +2025-06-19 21:14:09,284 - robotics.core - INFO - Producer producer_1750360448422 joined room FlameEchidna157 +2025-06-19 21:14:38,794 - robotics.core - INFO - Consumer consumer_1750360477754 joined room FlameEchidna157 +2025-06-19 21:14:46,335 - robotics.core - INFO - Producer producer_1750360448422 left room FlameEchidna157 +2025-06-19 21:14:46,641 - robotics.core - INFO - Consumer consumer_1750360477754 left room FlameEchidna157 +2025-06-19 21:14:48,906 - robotics.core - INFO - Consumer remote-consumer-FlameEchidna157-1750360421053 left room FlameEchidna157 +2025-06-19 22:23:30,883 - video.core - INFO - Created video room my-robot-session-camera +2025-06-19 22:23:30,892 - robotics.core - INFO - Created room my-robot-session-joint-input +2025-06-19 22:23:30,894 - robotics.core - INFO - Created room my-robot-session-joint-output +2025-06-19 22:23:33,963 - video.core - INFO - Consumer my-robot-session-camera-consumer joined video room my-robot-session-camera +2025-06-19 22:23:34,467 - robotics.core - INFO - Consumer my-robot-session-joint-input-consumer joined room my-robot-session-joint-input +2025-06-19 22:23:34,471 - robotics.core - INFO - Producer my-robot-session-joint-output-producer joined room my-robot-session-joint-output +2025-06-19 22:24:10,593 - robotics.core - INFO - Created room my-robot-session-joint-input +2025-06-19 22:24:10,629 - robotics.core - INFO - Producer remote-producer-my-robot-session-joint-input-1750364650588 joined room my-robot-session-joint-input +2025-06-19 22:24:14,308 - robotics.core - INFO - Created room my-robot-session-joint-output +2025-06-19 22:24:14,320 - robotics.core - INFO - Consumer remote-consumer-my-robot-session-joint-output-1750364654306 joined room my-robot-session-joint-output +2025-06-19 22:24:23,858 - robotics.core - INFO - Created room my-robot-session-joint-output +2025-06-19 22:24:23,872 - robotics.core - INFO - Consumer remote-consumer-my-robot-session-joint-output-1750364663855 joined room my-robot-session-joint-output +2025-06-19 22:25:28,081 - video.core - INFO - Producer producer_1750364727443 joined video room my-robot-session-camera +2025-06-19 22:25:29,127 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750364727443 (role: producer) in room my-robot-session-camera +2025-06-19 22:25:29,127 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750364727443 to consumer my-robot-session-camera-consumer +2025-06-19 22:25:32,770 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750364727443 (role: producer) in room my-robot-session-camera +2025-06-19 22:25:32,770 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750364727443 to consumer my-robot-session-camera-consumer +2025-06-19 22:25:32,771 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750364727443 (role: producer) in room my-robot-session-camera +2025-06-19 22:25:32,772 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750364727443 (role: producer) in room my-robot-session-camera +2025-06-19 22:25:32,773 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750364727443 (role: producer) in room my-robot-session-camera +2025-06-19 22:25:32,774 - video.core - INFO - Stream started by producer_1750364727443 in room my-robot-session-camera +2025-06-19 22:25:32,818 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750364727443 (role: producer) in room my-robot-session-camera +2025-06-19 22:25:32,895 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750364727443 (role: producer) in room my-robot-session-camera +2025-06-19 22:25:32,896 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750364727443 (role: producer) in room my-robot-session-camera +2025-06-19 22:25:32,897 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750364727443 (role: producer) in room my-robot-session-camera +2025-06-19 22:25:37,817 - video.api - INFO - ๐Ÿ”ง WebRTC signal from my-robot-session-camera-consumer (role: consumer) in room my-robot-session-camera +2025-06-19 22:25:37,817 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer my-robot-session-camera-consumer to producer producer_1750364727443 +2025-06-19 22:27:33,742 - robotics.core - INFO - Producer remote-producer-my-robot-session-joint-input-1750364650588 left room my-robot-session-joint-input +2025-06-19 22:27:33,744 - robotics.core - INFO - Consumer remote-consumer-my-robot-session-joint-output-1750364663855 left room my-robot-session-joint-output +2025-06-19 22:27:40,509 - robotics.core - INFO - Created room my-robot-session-joint-output +2025-06-19 22:27:40,520 - robotics.core - INFO - Consumer remote-consumer-my-robot-session-joint-output-1750364860504 joined room my-robot-session-joint-output +2025-06-19 22:27:53,369 - robotics.core - INFO - Created room my-robot-session-joint-input +2025-06-19 22:27:53,383 - robotics.core - INFO - Producer remote-producer-my-robot-session-joint-input-1750364873365 joined room my-robot-session-joint-input +2025-06-19 22:28:09,580 - robotics.core - INFO - Created room my-robot-session-joint-output +2025-06-19 22:28:09,599 - robotics.core - INFO - Consumer remote-consumer-my-robot-session-joint-output-1750364889577 joined room my-robot-session-joint-output +2025-06-19 22:29:52,996 - video.core - INFO - Created video room my-robot-session2-camera +2025-06-19 22:29:53,000 - robotics.core - INFO - Created room my-robot-session2-joint-input +2025-06-19 22:29:53,003 - robotics.core - INFO - Created room my-robot-session2-joint-output +2025-06-19 22:29:55,316 - video.core - INFO - Consumer my-robot-session2-camera-consumer joined video room my-robot-session2-camera +2025-06-19 22:29:55,601 - robotics.core - INFO - Producer remote-producer-my-robot-session-joint-input-1750364873365 left room my-robot-session-joint-input +2025-06-19 22:29:55,601 - robotics.core - INFO - Consumer remote-consumer-my-robot-session-joint-output-1750364889577 left room my-robot-session-joint-output +2025-06-19 22:29:55,829 - robotics.core - INFO - Consumer my-robot-session2-joint-input-consumer joined room my-robot-session2-joint-input +2025-06-19 22:29:55,833 - robotics.core - INFO - Producer my-robot-session2-joint-output-producer joined room my-robot-session2-joint-output +2025-06-19 22:30:13,760 - robotics.core - INFO - Created room my-robot-session2-joint-output +2025-06-19 22:30:13,775 - robotics.core - INFO - Consumer remote-consumer-my-robot-session2-joint-output-1750365013754 joined room my-robot-session2-joint-output +2025-06-19 22:30:20,247 - robotics.core - INFO - Created room my-robot-session2-joint-input +2025-06-19 22:30:20,266 - robotics.core - INFO - Producer remote-producer-my-robot-session2-joint-input-1750365020243 joined room my-robot-session2-joint-input +2025-06-19 22:31:04,453 - video.core - INFO - Producer producer_1750364727443 left video room my-robot-session-camera +2025-06-19 22:31:07,892 - video.core - INFO - Producer producer_1750365067174 joined video room my-robot-session2-camera +2025-06-19 22:31:08,915 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750365067174 (role: producer) in room my-robot-session2-camera +2025-06-19 22:31:08,916 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750365067174 to consumer my-robot-session2-camera-consumer +2025-06-19 22:31:10,981 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750365067174 (role: producer) in room my-robot-session2-camera +2025-06-19 22:31:10,982 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750365067174 to consumer my-robot-session2-camera-consumer +2025-06-19 22:31:10,983 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750365067174 (role: producer) in room my-robot-session2-camera +2025-06-19 22:31:10,984 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750365067174 (role: producer) in room my-robot-session2-camera +2025-06-19 22:31:10,985 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750365067174 (role: producer) in room my-robot-session2-camera +2025-06-19 22:31:10,986 - video.core - INFO - Stream started by producer_1750365067174 in room my-robot-session2-camera +2025-06-19 22:31:11,027 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750365067174 (role: producer) in room my-robot-session2-camera +2025-06-19 22:31:11,096 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750365067174 (role: producer) in room my-robot-session2-camera +2025-06-19 22:31:11,097 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750365067174 (role: producer) in room my-robot-session2-camera +2025-06-19 22:31:11,098 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750365067174 (role: producer) in room my-robot-session2-camera +2025-06-19 22:31:16,017 - video.api - INFO - ๐Ÿ”ง WebRTC signal from my-robot-session2-camera-consumer (role: consumer) in room my-robot-session2-camera +2025-06-19 22:31:16,017 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer my-robot-session2-camera-consumer to producer producer_1750365067174 +2025-06-19 22:31:47,627 - robotics.core - INFO - Consumer remote-consumer-my-robot-session2-joint-output-1750365013754 left room my-robot-session2-joint-output +2025-06-19 22:32:24,541 - robotics.core - INFO - Created room my-robot-session2-joint-output +2025-06-19 22:32:24,551 - robotics.core - INFO - Consumer remote-consumer-my-robot-session2-joint-output-1750365144536 joined room my-robot-session2-joint-output +2025-06-19 22:33:46,969 - robotics.core - INFO - Consumer consumer_1750365226011 joined room my-robot-session2-joint-input +2025-06-19 22:34:41,924 - robotics.core - INFO - Producer remote-producer-my-robot-session2-joint-input-1750365020243 left room my-robot-session2-joint-input +2025-06-19 22:34:41,943 - robotics.core - INFO - Consumer remote-consumer-my-robot-session2-joint-output-1750365144536 left room my-robot-session2-joint-output +2025-06-19 22:37:34,535 - robotics.core - INFO - Consumer consumer_1750365226011 left room my-robot-session2-joint-input +2025-06-19 22:37:35,112 - video.core - INFO - Producer producer_1750365067174 left video room my-robot-session2-camera +2025-06-19 22:39:12,060 - video.core - INFO - Created video room my-robot-session3-camera +2025-06-19 22:39:12,063 - robotics.core - INFO - Created room my-robot-session3-joint-input +2025-06-19 22:39:12,065 - robotics.core - INFO - Created room my-robot-session3-joint-output +2025-06-19 22:39:13,579 - video.core - INFO - Consumer my-robot-session3-camera-consumer joined video room my-robot-session3-camera +2025-06-19 22:39:14,083 - robotics.core - INFO - Consumer my-robot-session3-joint-input-consumer joined room my-robot-session3-joint-input +2025-06-19 22:39:14,090 - robotics.core - INFO - Producer my-robot-session3-joint-output-producer joined room my-robot-session3-joint-output +2025-06-19 22:39:31,804 - robotics.core - INFO - Created room my-robot-session3-joint-output +2025-06-19 22:39:31,813 - robotics.core - INFO - Consumer remote-consumer-my-robot-session3-joint-output-1750365571797 joined room my-robot-session3-joint-output +2025-06-19 22:41:01,912 - robotics.core - INFO - Created room my-robot-session3-joint-input +2025-06-19 22:41:01,932 - robotics.core - INFO - Producer remote-producer-my-robot-session3-joint-input-1750365661907 joined room my-robot-session3-joint-input +2025-06-19 22:41:51,970 - robotics.core - INFO - Created room my-robot-session3-joint-input +2025-06-19 22:41:51,983 - robotics.core - INFO - Producer remote-producer-my-robot-session3-joint-input-1750365711965 joined room my-robot-session3-joint-input +2025-06-19 22:41:57,661 - robotics.core - INFO - Producer remote-producer-my-robot-session3-joint-input-1750365711965 left room my-robot-session3-joint-input +2025-06-19 22:42:10,667 - video.core - INFO - Producer producer_1750365730075 joined video room my-robot-session3-camera +2025-06-19 22:42:11,703 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750365730075 (role: producer) in room my-robot-session3-camera +2025-06-19 22:42:11,704 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750365730075 to consumer my-robot-session3-camera-consumer +2025-06-19 22:42:15,573 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750365730075 (role: producer) in room my-robot-session3-camera +2025-06-19 22:42:15,573 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750365730075 to consumer my-robot-session3-camera-consumer +2025-06-19 22:42:15,575 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750365730075 (role: producer) in room my-robot-session3-camera +2025-06-19 22:42:15,576 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750365730075 (role: producer) in room my-robot-session3-camera +2025-06-19 22:42:15,578 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750365730075 (role: producer) in room my-robot-session3-camera +2025-06-19 22:42:15,579 - video.core - INFO - Stream started by producer_1750365730075 in room my-robot-session3-camera +2025-06-19 22:42:15,622 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750365730075 (role: producer) in room my-robot-session3-camera +2025-06-19 22:42:15,703 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750365730075 (role: producer) in room my-robot-session3-camera +2025-06-19 22:42:15,704 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750365730075 (role: producer) in room my-robot-session3-camera +2025-06-19 22:42:15,704 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750365730075 (role: producer) in room my-robot-session3-camera +2025-06-19 22:42:20,714 - video.api - INFO - ๐Ÿ”ง WebRTC signal from my-robot-session3-camera-consumer (role: consumer) in room my-robot-session3-camera +2025-06-19 22:42:20,722 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer my-robot-session3-camera-consumer to producer producer_1750365730075 +2025-06-19 22:44:02,733 - robotics.core - INFO - Consumer consumer_1750365841531 joined room my-robot-session3-joint-input +2025-06-19 22:44:04,117 - robotics.core - INFO - Consumer consumer_1750365841531 left room my-robot-session3-joint-input +2025-06-19 22:44:09,722 - robotics.core - INFO - Consumer consumer_1750365848882 joined room my-robot-session3-joint-output +2025-06-19 22:44:30,222 - robotics.core - INFO - Consumer consumer_1750365848882 left room my-robot-session3-joint-output +2025-06-19 22:44:41,324 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750365730075 (role: producer) in room my-robot-session3-camera +2025-06-19 22:44:41,329 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750365730075 to consumer my-robot-session3-camera-consumer +2025-06-19 22:44:41,343 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750365730075 (role: producer) in room my-robot-session3-camera +2025-06-19 22:44:41,353 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750365730075 (role: producer) in room my-robot-session3-camera +2025-06-19 22:44:41,358 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750365730075 (role: producer) in room my-robot-session3-camera +2025-06-19 22:44:41,360 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750365730075 (role: producer) in room my-robot-session3-camera +2025-06-19 22:44:41,364 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750365730075 (role: producer) in room my-robot-session3-camera +2025-06-19 22:44:41,365 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750365730075 (role: producer) in room my-robot-session3-camera +2025-06-19 22:44:41,366 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750365730075 (role: producer) in room my-robot-session3-camera +2025-06-19 22:44:47,632 - video.core - INFO - Consumer my-robot-session-camera-consumer left video room my-robot-session-camera +2025-06-19 22:44:47,653 - video.core - INFO - Consumer my-robot-session2-camera-consumer left video room my-robot-session2-camera +2025-06-19 22:44:47,869 - video.core - INFO - Consumer my-robot-session3-camera-consumer left video room my-robot-session3-camera +2025-06-19 22:45:36,287 - robotics.core - INFO - Created room my-robot-session3-joint-input +2025-06-19 22:45:36,305 - robotics.core - INFO - Producer remote-producer-my-robot-session3-joint-input-1750365936283 joined room my-robot-session3-joint-input +2025-06-19 22:45:49,868 - robotics.core - INFO - Consumer remote-consumer-my-robot-session3-joint-output-1750365571797 left room my-robot-session3-joint-output +2025-06-19 22:46:47,988 - video.core - INFO - Producer producer_1750365730075 left video room my-robot-session3-camera +2025-06-19 22:46:48,166 - robotics.core - INFO - Producer remote-producer-my-robot-session3-joint-input-1750365936283 left room my-robot-session3-joint-input +2025-06-19 23:51:01,820 - video.core - INFO - Created video room my-robot-session4-camera +2025-06-19 23:51:01,825 - robotics.core - INFO - Created room my-robot-session4-joint-input +2025-06-19 23:51:01,830 - robotics.core - INFO - Created room my-robot-session4-joint-output +2025-06-19 23:51:02,977 - video.core - INFO - Consumer my-robot-session4-camera-consumer joined video room my-robot-session4-camera +2025-06-19 23:51:03,485 - robotics.core - INFO - Consumer my-robot-session4-joint-input-consumer joined room my-robot-session4-joint-input +2025-06-19 23:51:03,490 - robotics.core - INFO - Producer my-robot-session4-joint-output-producer joined room my-robot-session4-joint-output +2025-06-19 23:51:13,920 - robotics.core - INFO - Created room my-robot-session4-joint-output +2025-06-19 23:51:13,937 - robotics.core - INFO - Consumer remote-consumer-my-robot-session4-joint-output-1750369873915 joined room my-robot-session4-joint-output +2025-06-19 23:51:19,012 - robotics.core - INFO - Created room my-robot-session4-joint-input +2025-06-19 23:51:19,023 - robotics.core - INFO - Producer remote-producer-my-robot-session4-joint-input-1750369879009 joined room my-robot-session4-joint-input +2025-06-19 23:51:26,081 - video.core - INFO - Producer producer_1750369885427 joined video room my-robot-session4-camera +2025-06-19 23:51:27,122 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750369885427 (role: producer) in room my-robot-session4-camera +2025-06-19 23:51:27,122 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750369885427 to consumer my-robot-session4-camera-consumer +2025-06-19 23:51:29,202 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750369885427 (role: producer) in room my-robot-session4-camera +2025-06-19 23:51:29,202 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750369885427 to consumer my-robot-session4-camera-consumer +2025-06-19 23:51:29,204 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750369885427 (role: producer) in room my-robot-session4-camera +2025-06-19 23:51:29,206 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750369885427 (role: producer) in room my-robot-session4-camera +2025-06-19 23:51:29,209 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750369885427 (role: producer) in room my-robot-session4-camera +2025-06-19 23:51:29,210 - video.core - INFO - Stream started by producer_1750369885427 in room my-robot-session4-camera +2025-06-19 23:51:29,239 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750369885427 (role: producer) in room my-robot-session4-camera +2025-06-19 23:51:29,330 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750369885427 (role: producer) in room my-robot-session4-camera +2025-06-19 23:51:29,369 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750369885427 (role: producer) in room my-robot-session4-camera +2025-06-19 23:51:29,382 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750369885427 (role: producer) in room my-robot-session4-camera +2025-06-19 23:51:34,239 - video.api - INFO - ๐Ÿ”ง WebRTC signal from my-robot-session4-camera-consumer (role: consumer) in room my-robot-session4-camera +2025-06-19 23:51:34,239 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer my-robot-session4-camera-consumer to producer producer_1750369885427 +2025-06-19 23:51:36,851 - robotics.core - INFO - Consumer remote-consumer-my-robot-session4-joint-output-1750369873915 left room my-robot-session4-joint-output +2025-06-19 23:51:36,851 - robotics.core - INFO - Producer remote-producer-my-robot-session4-joint-input-1750369879009 left room my-robot-session4-joint-input +2025-06-19 23:51:37,336 - video.core - INFO - Producer producer_1750369885427 left video room my-robot-session4-camera +2025-06-19 23:51:54,038 - video.core - INFO - Created video room my-robot-session5-camera +2025-06-19 23:51:54,040 - robotics.core - INFO - Created room my-robot-session5-joint-input +2025-06-19 23:51:54,041 - robotics.core - INFO - Created room my-robot-session5-joint-output +2025-06-19 23:51:54,892 - video.core - INFO - Consumer my-robot-session5-camera-consumer joined video room my-robot-session5-camera +2025-06-19 23:51:55,404 - robotics.core - INFO - Consumer my-robot-session5-joint-input-consumer joined room my-robot-session5-joint-input +2025-06-19 23:51:55,413 - robotics.core - INFO - Producer my-robot-session5-joint-output-producer joined room my-robot-session5-joint-output +2025-06-19 23:52:02,162 - robotics.core - INFO - Created room my-robot-session5-joint-output +2025-06-19 23:52:02,175 - robotics.core - INFO - Consumer remote-consumer-my-robot-session5-joint-output-1750369922159 joined room my-robot-session5-joint-output +2025-06-19 23:52:05,713 - robotics.core - INFO - Created room my-robot-session5-joint-input +2025-06-19 23:52:05,722 - robotics.core - INFO - Producer remote-producer-my-robot-session5-joint-input-1750369925709 joined room my-robot-session5-joint-input +2025-06-19 23:52:10,282 - video.core - INFO - Producer producer_1750369929414 joined video room my-robot-session5-camera +2025-06-19 23:52:11,302 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750369929414 (role: producer) in room my-robot-session5-camera +2025-06-19 23:52:11,303 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750369929414 to consumer my-robot-session5-camera-consumer +2025-06-19 23:52:12,873 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750369929414 (role: producer) in room my-robot-session5-camera +2025-06-19 23:52:12,873 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750369929414 to consumer my-robot-session5-camera-consumer +2025-06-19 23:52:12,875 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750369929414 (role: producer) in room my-robot-session5-camera +2025-06-19 23:52:12,876 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750369929414 (role: producer) in room my-robot-session5-camera +2025-06-19 23:52:12,877 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750369929414 (role: producer) in room my-robot-session5-camera +2025-06-19 23:52:12,878 - video.core - INFO - Stream started by producer_1750369929414 in room my-robot-session5-camera +2025-06-19 23:52:12,896 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750369929414 (role: producer) in room my-robot-session5-camera +2025-06-19 23:52:12,997 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750369929414 (role: producer) in room my-robot-session5-camera +2025-06-19 23:52:12,998 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750369929414 (role: producer) in room my-robot-session5-camera +2025-06-19 23:52:12,999 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750369929414 (role: producer) in room my-robot-session5-camera +2025-06-19 23:52:17,902 - video.api - INFO - ๐Ÿ”ง WebRTC signal from my-robot-session5-camera-consumer (role: consumer) in room my-robot-session5-camera +2025-06-19 23:52:17,902 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer my-robot-session5-camera-consumer to producer producer_1750369929414 +2025-06-19 23:52:33,387 - video.core - INFO - Consumer my-robot-session4-camera-consumer left video room my-robot-session4-camera +2025-06-19 23:52:33,432 - video.core - INFO - Consumer my-robot-session5-camera-consumer left video room my-robot-session5-camera +2025-06-19 23:52:55,414 - video.core - INFO - Created video room my-robot-session6-camera +2025-06-19 23:52:55,417 - robotics.core - INFO - Created room my-robot-session6-joint-input +2025-06-19 23:52:55,419 - robotics.core - INFO - Created room my-robot-session6-joint-output +2025-06-19 23:52:56,312 - video.core - INFO - Consumer my-robot-session6-camera-consumer joined video room my-robot-session6-camera +2025-06-19 23:52:56,821 - robotics.core - INFO - Consumer my-robot-session6-joint-input-consumer joined room my-robot-session6-joint-input +2025-06-19 23:52:56,825 - robotics.core - INFO - Producer my-robot-session6-joint-output-producer joined room my-robot-session6-joint-output +2025-06-19 23:52:58,976 - robotics.core - INFO - Consumer remote-consumer-my-robot-session5-joint-output-1750369922159 left room my-robot-session5-joint-output +2025-06-19 23:52:58,977 - robotics.core - INFO - Producer remote-producer-my-robot-session5-joint-input-1750369925709 left room my-robot-session5-joint-input +2025-06-19 23:53:00,832 - video.core - INFO - Producer producer_1750369929414 left video room my-robot-session5-camera +2025-06-19 23:53:08,301 - robotics.core - INFO - Created room my-robot-session6-joint-output +2025-06-19 23:53:08,322 - robotics.core - INFO - Consumer remote-consumer-my-robot-session6-joint-output-1750369988297 joined room my-robot-session6-joint-output +2025-06-19 23:53:12,050 - robotics.core - INFO - Created room my-robot-session6-joint-input +2025-06-19 23:53:12,070 - robotics.core - INFO - Producer remote-producer-my-robot-session6-joint-input-1750369992047 joined room my-robot-session6-joint-input +2025-06-19 23:53:15,826 - video.core - INFO - Producer producer_1750369995193 joined video room my-robot-session6-camera +2025-06-19 23:53:16,846 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750369995193 (role: producer) in room my-robot-session6-camera +2025-06-19 23:53:16,847 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750369995193 to consumer my-robot-session6-camera-consumer +2025-06-19 23:53:18,478 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750369995193 (role: producer) in room my-robot-session6-camera +2025-06-19 23:53:18,479 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750369995193 to consumer my-robot-session6-camera-consumer +2025-06-19 23:53:18,482 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750369995193 (role: producer) in room my-robot-session6-camera +2025-06-19 23:53:18,484 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750369995193 (role: producer) in room my-robot-session6-camera +2025-06-19 23:53:18,487 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750369995193 (role: producer) in room my-robot-session6-camera +2025-06-19 23:53:18,488 - video.core - INFO - Stream started by producer_1750369995193 in room my-robot-session6-camera +2025-06-19 23:53:18,509 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750369995193 (role: producer) in room my-robot-session6-camera +2025-06-19 23:53:18,589 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750369995193 (role: producer) in room my-robot-session6-camera +2025-06-19 23:53:18,590 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750369995193 (role: producer) in room my-robot-session6-camera +2025-06-19 23:53:18,591 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750369995193 (role: producer) in room my-robot-session6-camera +2025-06-19 23:53:23,526 - video.api - INFO - ๐Ÿ”ง WebRTC signal from my-robot-session6-camera-consumer (role: consumer) in room my-robot-session6-camera +2025-06-19 23:53:23,526 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer my-robot-session6-camera-consumer to producer producer_1750369995193 +2025-06-19 23:53:35,307 - video.core - INFO - Consumer my-robot-session6-camera-consumer left video room my-robot-session6-camera +2025-06-19 23:57:50,386 - video.core - INFO - Created video room my-robot-session6-first +2025-06-19 23:57:50,389 - video.core - INFO - Created video room my-robot-session6-second +2025-06-19 23:57:50,391 - robotics.core - INFO - Created room my-robot-session6-joint-input +2025-06-19 23:57:50,392 - robotics.core - INFO - Created room my-robot-session6-joint-output +2025-06-19 23:57:51,336 - video.core - INFO - Consumer my-robot-session6-first-consumer joined video room my-robot-session6-first +2025-06-19 23:57:51,849 - video.core - INFO - Consumer my-robot-session6-second-consumer joined video room my-robot-session6-second +2025-06-19 23:57:52,352 - robotics.core - INFO - Consumer my-robot-session6-joint-input-consumer joined room my-robot-session6-joint-input +2025-06-19 23:57:52,362 - robotics.core - INFO - Producer my-robot-session6-joint-output-producer joined room my-robot-session6-joint-output +2025-06-19 23:57:54,413 - video.core - INFO - Producer producer_1750369995193 left video room my-robot-session6-camera +2025-06-19 23:58:00,686 - video.core - INFO - Producer producer_1750370279246 joined video room my-robot-session6-first +2025-06-19 23:58:01,729 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370279246 (role: producer) in room my-robot-session6-first +2025-06-19 23:58:01,729 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750370279246 to consumer my-robot-session6-first-consumer +2025-06-19 23:58:03,064 - video.core - INFO - Producer producer_1750370279767 joined video room my-robot-session6-second +2025-06-19 23:58:03,288 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370279246 (role: producer) in room my-robot-session6-first +2025-06-19 23:58:03,288 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750370279246 to consumer my-robot-session6-first-consumer +2025-06-19 23:58:03,289 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370279246 (role: producer) in room my-robot-session6-first +2025-06-19 23:58:03,290 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370279246 (role: producer) in room my-robot-session6-first +2025-06-19 23:58:03,291 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370279246 (role: producer) in room my-robot-session6-first +2025-06-19 23:58:03,292 - video.core - INFO - Stream started by producer_1750370279246 in room my-robot-session6-first +2025-06-19 23:58:03,333 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370279246 (role: producer) in room my-robot-session6-first +2025-06-19 23:58:03,404 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370279246 (role: producer) in room my-robot-session6-first +2025-06-19 23:58:03,405 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370279246 (role: producer) in room my-robot-session6-first +2025-06-19 23:58:03,407 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370279246 (role: producer) in room my-robot-session6-first +2025-06-19 23:58:04,064 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370279767 (role: producer) in room my-robot-session6-second +2025-06-19 23:58:04,064 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750370279767 to consumer my-robot-session6-second-consumer +2025-06-19 23:58:04,065 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370279767 (role: producer) in room my-robot-session6-second +2025-06-19 23:58:04,065 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370279767 (role: producer) in room my-robot-session6-second +2025-06-19 23:58:04,066 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370279767 (role: producer) in room my-robot-session6-second +2025-06-19 23:58:04,069 - video.core - INFO - Stream started by producer_1750370279767 in room my-robot-session6-second +2025-06-19 23:58:04,082 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370279767 (role: producer) in room my-robot-session6-second +2025-06-19 23:58:04,187 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370279767 (role: producer) in room my-robot-session6-second +2025-06-19 23:58:04,187 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370279767 (role: producer) in room my-robot-session6-second +2025-06-19 23:58:04,188 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370279767 (role: producer) in room my-robot-session6-second +2025-06-19 23:58:08,511 - video.api - INFO - ๐Ÿ”ง WebRTC signal from my-robot-session6-first-consumer (role: consumer) in room my-robot-session6-first +2025-06-19 23:58:08,512 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer my-robot-session6-first-consumer to producer producer_1750370279246 +2025-06-19 23:58:09,097 - video.api - INFO - ๐Ÿ”ง WebRTC signal from my-robot-session6-second-consumer (role: consumer) in room my-robot-session6-second +2025-06-19 23:58:09,102 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer my-robot-session6-second-consumer to producer producer_1750370279767 +2025-06-19 23:58:11,267 - robotics.core - INFO - Created room my-robot-session6-joint-output +2025-06-19 23:58:11,288 - robotics.core - INFO - Consumer remote-consumer-my-robot-session6-joint-output-1750370291265 joined room my-robot-session6-joint-output +2025-06-19 23:58:17,842 - robotics.core - INFO - Created room my-robot-session6-joint-input +2025-06-19 23:58:17,852 - robotics.core - INFO - Producer remote-producer-my-robot-session6-joint-input-1750370297840 joined room my-robot-session6-joint-input +2025-06-19 23:59:10,111 - robotics.core - INFO - Consumer consumer_1750370349132 joined room my-robot-session6-joint-input +2025-06-19 23:59:30,536 - robotics.core - INFO - Consumer consumer_1750370369713 joined room my-robot-session6-joint-output +2025-06-20 00:01:17,139 - video.core - INFO - Consumer my-robot-session6-first-consumer left video room my-robot-session6-first +2025-06-20 00:01:17,150 - video.core - INFO - Consumer my-robot-session6-second-consumer left video room my-robot-session6-second +2025-06-20 00:06:42,386 - video.core - INFO - Created video room my-robot-session7-first +2025-06-20 00:06:42,388 - video.core - INFO - Created video room my-robot-session7-second +2025-06-20 00:06:42,390 - robotics.core - INFO - Created room my-robot-session7-joint-input +2025-06-20 00:06:42,391 - robotics.core - INFO - Created room my-robot-session7-joint-output +2025-06-20 00:06:43,690 - video.core - INFO - Consumer my-robot-session7-first-consumer joined video room my-robot-session7-first +2025-06-20 00:06:44,198 - video.core - INFO - Consumer my-robot-session7-second-consumer joined video room my-robot-session7-second +2025-06-20 00:06:44,704 - robotics.core - INFO - Consumer my-robot-session7-joint-input-consumer joined room my-robot-session7-joint-input +2025-06-20 00:06:44,711 - robotics.core - INFO - Producer my-robot-session7-joint-output-producer joined room my-robot-session7-joint-output +2025-06-20 00:06:46,425 - video.core - INFO - Producer producer_1750370279246 left video room my-robot-session6-first +2025-06-20 00:06:46,794 - video.core - INFO - Producer producer_1750370279767 left video room my-robot-session6-second +2025-06-20 00:06:47,486 - robotics.core - INFO - Consumer consumer_1750370349132 left room my-robot-session6-joint-input +2025-06-20 00:06:48,133 - robotics.core - INFO - Consumer consumer_1750370369713 left room my-robot-session6-joint-output +2025-06-20 00:06:52,811 - robotics.core - INFO - Consumer remote-consumer-my-robot-session6-joint-output-1750370291265 left room my-robot-session6-joint-output +2025-06-20 00:06:52,812 - robotics.core - INFO - Producer remote-producer-my-robot-session6-joint-input-1750370297840 left room my-robot-session6-joint-input +2025-06-20 00:06:58,256 - video.core - INFO - Producer producer_1750370817067 joined video room my-robot-session7-second +2025-06-20 00:06:59,051 - video.core - INFO - Producer producer_1750370817411 joined video room my-robot-session7-first +2025-06-20 00:06:59,365 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370817067 (role: producer) in room my-robot-session7-second +2025-06-20 00:06:59,366 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750370817067 to consumer my-robot-session7-second-consumer +2025-06-20 00:07:00,884 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370817411 (role: producer) in room my-robot-session7-first +2025-06-20 00:07:00,884 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750370817411 to consumer my-robot-session7-first-consumer +2025-06-20 00:07:01,538 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370817067 (role: producer) in room my-robot-session7-second +2025-06-20 00:07:01,538 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750370817067 to consumer my-robot-session7-second-consumer +2025-06-20 00:07:01,540 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370817067 (role: producer) in room my-robot-session7-second +2025-06-20 00:07:01,543 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370817067 (role: producer) in room my-robot-session7-second +2025-06-20 00:07:01,546 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370817067 (role: producer) in room my-robot-session7-second +2025-06-20 00:07:01,548 - video.core - INFO - Stream started by producer_1750370817067 in room my-robot-session7-second +2025-06-20 00:07:01,579 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370817067 (role: producer) in room my-robot-session7-second +2025-06-20 00:07:01,654 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370817067 (role: producer) in room my-robot-session7-second +2025-06-20 00:07:01,655 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370817067 (role: producer) in room my-robot-session7-second +2025-06-20 00:07:01,656 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370817067 (role: producer) in room my-robot-session7-second +2025-06-20 00:07:02,032 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370817411 (role: producer) in room my-robot-session7-first +2025-06-20 00:07:02,032 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750370817411 to consumer my-robot-session7-first-consumer +2025-06-20 00:07:02,033 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370817411 (role: producer) in room my-robot-session7-first +2025-06-20 00:07:02,034 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370817411 (role: producer) in room my-robot-session7-first +2025-06-20 00:07:02,035 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370817411 (role: producer) in room my-robot-session7-first +2025-06-20 00:07:02,036 - video.core - INFO - Stream started by producer_1750370817411 in room my-robot-session7-first +2025-06-20 00:07:02,056 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370817411 (role: producer) in room my-robot-session7-first +2025-06-20 00:07:02,152 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370817411 (role: producer) in room my-robot-session7-first +2025-06-20 00:07:02,152 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370817411 (role: producer) in room my-robot-session7-first +2025-06-20 00:07:02,153 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370817411 (role: producer) in room my-robot-session7-first +2025-06-20 00:07:06,589 - video.api - INFO - ๐Ÿ”ง WebRTC signal from my-robot-session7-second-consumer (role: consumer) in room my-robot-session7-second +2025-06-20 00:07:06,590 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer my-robot-session7-second-consumer to producer producer_1750370817067 +2025-06-20 00:07:07,200 - video.api - INFO - ๐Ÿ”ง WebRTC signal from my-robot-session7-first-consumer (role: consumer) in room my-robot-session7-first +2025-06-20 00:07:07,200 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer my-robot-session7-first-consumer to producer producer_1750370817411 +2025-06-20 00:07:11,130 - robotics.core - INFO - Created room my-robot-session7-joint-output +2025-06-20 00:07:11,150 - robotics.core - INFO - Consumer remote-consumer-my-robot-session7-joint-output-1750370831124 joined room my-robot-session7-joint-output +2025-06-20 00:07:15,012 - robotics.core - INFO - Created room my-robot-session7-joint-input +2025-06-20 00:07:15,024 - robotics.core - INFO - Producer remote-producer-my-robot-session7-joint-input-1750370835008 joined room my-robot-session7-joint-input +2025-06-20 00:07:50,078 - video.core - INFO - Consumer my-robot-session7-first-consumer left video room my-robot-session7-first +2025-06-20 00:07:50,085 - video.core - INFO - Consumer my-robot-session7-second-consumer left video room my-robot-session7-second +2025-06-20 00:08:31,867 - video.core - INFO - Created video room my-robot-session8-first +2025-06-20 00:08:31,869 - video.core - INFO - Created video room my-robot-session8-second +2025-06-20 00:08:31,870 - robotics.core - INFO - Created room my-robot-session8-joint-input +2025-06-20 00:08:31,871 - robotics.core - INFO - Created room my-robot-session8-joint-output +2025-06-20 00:08:33,529 - video.core - INFO - Consumer my-robot-session8-first-consumer joined video room my-robot-session8-first +2025-06-20 00:08:33,696 - robotics.core - INFO - Consumer remote-consumer-my-robot-session7-joint-output-1750370831124 left room my-robot-session7-joint-output +2025-06-20 00:08:33,696 - robotics.core - INFO - Producer remote-producer-my-robot-session7-joint-input-1750370835008 left room my-robot-session7-joint-input +2025-06-20 00:08:34,076 - video.core - INFO - Consumer my-robot-session8-second-consumer joined video room my-robot-session8-second +2025-06-20 00:08:34,569 - video.core - INFO - Producer producer_1750370817067 left video room my-robot-session7-second +2025-06-20 00:08:34,586 - robotics.core - INFO - Consumer my-robot-session8-joint-input-consumer joined room my-robot-session8-joint-input +2025-06-20 00:08:34,598 - robotics.core - INFO - Producer my-robot-session8-joint-output-producer joined room my-robot-session8-joint-output +2025-06-20 00:08:34,790 - video.core - INFO - Producer producer_1750370817411 left video room my-robot-session7-first +2025-06-20 00:08:40,028 - video.core - INFO - Producer producer_1750370917903 joined video room my-robot-session8-second +2025-06-20 00:08:40,628 - video.core - INFO - Producer producer_1750370918814 joined video room my-robot-session8-first +2025-06-20 00:08:41,066 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370917903 (role: producer) in room my-robot-session8-second +2025-06-20 00:08:41,066 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750370917903 to consumer my-robot-session8-second-consumer +2025-06-20 00:08:41,908 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370918814 (role: producer) in room my-robot-session8-first +2025-06-20 00:08:41,910 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750370918814 to consumer my-robot-session8-first-consumer +2025-06-20 00:08:43,091 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370917903 (role: producer) in room my-robot-session8-second +2025-06-20 00:08:43,091 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750370917903 to consumer my-robot-session8-second-consumer +2025-06-20 00:08:43,095 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370917903 (role: producer) in room my-robot-session8-second +2025-06-20 00:08:43,096 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370917903 (role: producer) in room my-robot-session8-second +2025-06-20 00:08:43,097 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370917903 (role: producer) in room my-robot-session8-second +2025-06-20 00:08:43,098 - video.core - INFO - Stream started by producer_1750370917903 in room my-robot-session8-second +2025-06-20 00:08:43,118 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370917903 (role: producer) in room my-robot-session8-second +2025-06-20 00:08:43,219 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370917903 (role: producer) in room my-robot-session8-second +2025-06-20 00:08:43,219 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370917903 (role: producer) in room my-robot-session8-second +2025-06-20 00:08:43,220 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370917903 (role: producer) in room my-robot-session8-second +2025-06-20 00:08:43,296 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370918814 (role: producer) in room my-robot-session8-first +2025-06-20 00:08:43,296 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750370918814 to consumer my-robot-session8-first-consumer +2025-06-20 00:08:43,301 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370918814 (role: producer) in room my-robot-session8-first +2025-06-20 00:08:43,308 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370918814 (role: producer) in room my-robot-session8-first +2025-06-20 00:08:43,309 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370918814 (role: producer) in room my-robot-session8-first +2025-06-20 00:08:43,310 - video.core - INFO - Stream started by producer_1750370918814 in room my-robot-session8-first +2025-06-20 00:08:43,326 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370918814 (role: producer) in room my-robot-session8-first +2025-06-20 00:08:43,420 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370918814 (role: producer) in room my-robot-session8-first +2025-06-20 00:08:43,422 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370918814 (role: producer) in room my-robot-session8-first +2025-06-20 00:08:43,422 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370918814 (role: producer) in room my-robot-session8-first +2025-06-20 00:08:48,135 - video.api - INFO - ๐Ÿ”ง WebRTC signal from my-robot-session8-second-consumer (role: consumer) in room my-robot-session8-second +2025-06-20 00:08:48,136 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer my-robot-session8-second-consumer to producer producer_1750370917903 +2025-06-20 00:08:48,462 - video.api - INFO - ๐Ÿ”ง WebRTC signal from my-robot-session8-first-consumer (role: consumer) in room my-robot-session8-first +2025-06-20 00:08:48,462 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer my-robot-session8-first-consumer to producer producer_1750370918814 +2025-06-20 00:09:34,082 - robotics.core - INFO - Created room my-robot-session8-joint-input +2025-06-20 00:09:34,125 - robotics.core - INFO - Producer remote-producer-my-robot-session8-joint-input-1750370974059 joined room my-robot-session8-joint-input +2025-06-20 00:09:44,050 - robotics.core - INFO - Created room my-robot-session8-joint-output +2025-06-20 00:09:44,066 - robotics.core - INFO - Consumer remote-consumer-my-robot-session8-joint-output-1750370983976 joined room my-robot-session8-joint-output +2025-06-20 00:10:42,103 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370917903 (role: producer) in room my-robot-session8-second +2025-06-20 00:10:42,169 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750370917903 to consumer my-robot-session8-second-consumer +2025-06-20 00:10:42,258 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370917903 (role: producer) in room my-robot-session8-second +2025-06-20 00:10:42,260 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370917903 (role: producer) in room my-robot-session8-second +2025-06-20 00:10:42,264 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370917903 (role: producer) in room my-robot-session8-second +2025-06-20 00:10:42,299 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370917903 (role: producer) in room my-robot-session8-second +2025-06-20 00:10:42,336 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370917903 (role: producer) in room my-robot-session8-second +2025-06-20 00:10:42,339 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370917903 (role: producer) in room my-robot-session8-second +2025-06-20 00:10:42,343 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370917903 (role: producer) in room my-robot-session8-second +2025-06-20 00:10:43,014 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370918814 (role: producer) in room my-robot-session8-first +2025-06-20 00:10:43,014 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750370918814 to consumer my-robot-session8-first-consumer +2025-06-20 00:10:43,026 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370918814 (role: producer) in room my-robot-session8-first +2025-06-20 00:10:43,027 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370918814 (role: producer) in room my-robot-session8-first +2025-06-20 00:10:43,030 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370918814 (role: producer) in room my-robot-session8-first +2025-06-20 00:10:43,047 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370918814 (role: producer) in room my-robot-session8-first +2025-06-20 00:10:43,216 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370918814 (role: producer) in room my-robot-session8-first +2025-06-20 00:10:43,266 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370918814 (role: producer) in room my-robot-session8-first +2025-06-20 00:10:43,269 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370918814 (role: producer) in room my-robot-session8-first +2025-06-20 00:10:49,283 - video.api - INFO - ๐Ÿ”ง WebRTC signal from my-robot-session8-second-consumer (role: consumer) in room my-robot-session8-second +2025-06-20 00:10:49,285 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer my-robot-session8-second-consumer to producer producer_1750370917903 +2025-06-20 00:10:49,309 - video.api - INFO - ๐Ÿ”ง WebRTC signal from my-robot-session8-first-consumer (role: consumer) in room my-robot-session8-first +2025-06-20 00:10:49,310 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer my-robot-session8-first-consumer to producer producer_1750370918814 +2025-06-20 00:11:29,461 - robotics.core - INFO - Consumer consumer_1750371087750 joined room my-robot-session8-joint-input +2025-06-20 00:11:30,472 - robotics.core - INFO - Consumer consumer_1750371088213 joined room my-robot-session8-joint-output +2025-06-20 00:11:52,690 - robotics.core - INFO - Producer remote-producer-my-robot-session8-joint-input-1750370974059 left room my-robot-session8-joint-input +2025-06-20 00:11:52,691 - robotics.core - INFO - Consumer remote-consumer-my-robot-session8-joint-output-1750370983976 left room my-robot-session8-joint-output +2025-06-20 00:12:09,930 - robotics.core - INFO - Created room my-robot-session8-joint-output +2025-06-20 00:12:09,943 - robotics.core - INFO - Consumer remote-consumer-my-robot-session8-joint-output-1750371129927 joined room my-robot-session8-joint-output +2025-06-20 00:12:14,241 - robotics.core - INFO - Created room my-robot-session8-joint-input +2025-06-20 00:12:14,268 - robotics.core - INFO - Producer remote-producer-my-robot-session8-joint-input-1750371134234 joined room my-robot-session8-joint-input +2025-06-20 00:12:53,442 - robotics.core - INFO - Consumer consumer_1750371172000 joined room my-robot-session8-joint-input +2025-06-20 00:12:54,065 - robotics.core - INFO - Consumer consumer_1750371172016 joined room my-robot-session8-joint-output +2025-06-20 00:13:35,693 - robotics.core - INFO - Producer remote-producer-my-robot-session8-joint-input-1750371134234 left room my-robot-session8-joint-input +2025-06-20 00:13:41,567 - robotics.core - INFO - Consumer remote-consumer-my-robot-session8-joint-output-1750371129927 left room my-robot-session8-joint-output +2025-06-20 00:14:03,067 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370917903 (role: producer) in room my-robot-session8-second +2025-06-20 00:14:03,167 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750370917903 to consumer my-robot-session8-second-consumer +2025-06-20 00:14:03,200 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370917903 (role: producer) in room my-robot-session8-second +2025-06-20 00:14:03,207 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370917903 (role: producer) in room my-robot-session8-second +2025-06-20 00:14:03,219 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370917903 (role: producer) in room my-robot-session8-second +2025-06-20 00:14:03,242 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370917903 (role: producer) in room my-robot-session8-second +2025-06-20 00:14:03,263 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370917903 (role: producer) in room my-robot-session8-second +2025-06-20 00:14:03,264 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370917903 (role: producer) in room my-robot-session8-second +2025-06-20 00:14:03,265 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370917903 (role: producer) in room my-robot-session8-second +2025-06-20 00:14:03,707 - robotics.core - INFO - Created room my-robot-session8-joint-output +2025-06-20 00:14:04,607 - robotics.core - INFO - Consumer remote-consumer-my-robot-session8-joint-output-1750371243691 joined room my-robot-session8-joint-output +2025-06-20 00:14:25,339 - robotics.core - INFO - Created room my-robot-session8-joint-input +2025-06-20 00:14:26,517 - robotics.core - INFO - Producer remote-producer-my-robot-session8-joint-input-1750371265287 joined room my-robot-session8-joint-input +2025-06-20 00:14:42,431 - video.api - INFO - ๐Ÿ”ง WebRTC signal from my-robot-session8-second-consumer (role: consumer) in room my-robot-session8-second +2025-06-20 00:14:42,433 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer my-robot-session8-second-consumer to producer producer_1750370917903 +2025-06-20 00:15:28,245 - robotics.core - INFO - Consumer consumer_1750371326956 joined room my-robot-session8-joint-input +2025-06-20 00:15:28,834 - robotics.core - INFO - Consumer consumer_1750371327311 joined room my-robot-session8-joint-output +2025-06-20 00:15:43,925 - robotics.core - INFO - Consumer remote-consumer-my-robot-session8-joint-output-1750371243691 left room my-robot-session8-joint-output +2025-06-20 00:15:43,935 - robotics.core - INFO - Created room my-robot-session8-joint-output +2025-06-20 00:15:43,976 - robotics.core - INFO - Consumer remote-consumer-my-robot-session8-joint-output-1750371343931 joined room my-robot-session8-joint-output +2025-06-20 00:15:45,842 - robotics.core - INFO - Consumer remote-consumer-my-robot-session8-joint-output-1750371343931 left room my-robot-session8-joint-output +2025-06-20 00:16:24,279 - robotics.core - INFO - Consumer consumer_1750371326956 left room my-robot-session8-joint-input +2025-06-20 00:16:33,746 - robotics.core - INFO - Created room my-robot-session7-joint-output +2025-06-20 00:16:33,784 - robotics.core - INFO - Consumer remote-consumer-my-robot-session7-joint-output-1750371393741 joined room my-robot-session7-joint-output +2025-06-20 00:16:38,423 - robotics.core - INFO - Producer producer_1750371397364 joined room my-robot-session7-joint-output +2025-06-20 00:16:55,987 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370917903 (role: producer) in room my-robot-session8-second +2025-06-20 00:16:55,989 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750370917903 to consumer my-robot-session8-second-consumer +2025-06-20 00:16:56,260 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370918814 (role: producer) in room my-robot-session8-first +2025-06-20 00:16:56,271 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750370918814 to consumer my-robot-session8-first-consumer +2025-06-20 00:16:56,350 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370917903 (role: producer) in room my-robot-session8-second +2025-06-20 00:16:56,368 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370917903 (role: producer) in room my-robot-session8-second +2025-06-20 00:16:56,397 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370918814 (role: producer) in room my-robot-session8-first +2025-06-20 00:16:56,406 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370918814 (role: producer) in room my-robot-session8-first +2025-06-20 00:16:56,416 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370917903 (role: producer) in room my-robot-session8-second +2025-06-20 00:16:56,417 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370918814 (role: producer) in room my-robot-session8-first +2025-06-20 00:16:56,418 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370917903 (role: producer) in room my-robot-session8-second +2025-06-20 00:16:56,420 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370918814 (role: producer) in room my-robot-session8-first +2025-06-20 00:16:56,461 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370918814 (role: producer) in room my-robot-session8-first +2025-06-20 00:16:56,476 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370917903 (role: producer) in room my-robot-session8-second +2025-06-20 00:16:56,480 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370918814 (role: producer) in room my-robot-session8-first +2025-06-20 00:16:56,495 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370917903 (role: producer) in room my-robot-session8-second +2025-06-20 00:16:56,511 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370918814 (role: producer) in room my-robot-session8-first +2025-06-20 00:16:56,515 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370917903 (role: producer) in room my-robot-session8-second +2025-06-20 00:17:12,318 - video.api - INFO - ๐Ÿ”ง WebRTC signal from my-robot-session8-second-consumer (role: consumer) in room my-robot-session8-second +2025-06-20 00:17:12,324 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer my-robot-session8-second-consumer to producer producer_1750370917903 +2025-06-20 00:17:12,346 - video.api - INFO - ๐Ÿ”ง WebRTC signal from my-robot-session8-first-consumer (role: consumer) in room my-robot-session8-first +2025-06-20 00:17:12,413 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer my-robot-session8-first-consumer to producer producer_1750370918814 +2025-06-20 00:17:31,922 - robotics.core - INFO - Producer producer_1750371397364 left room my-robot-session7-joint-output +2025-06-20 00:17:40,577 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370917903 (role: producer) in room my-robot-session8-second +2025-06-20 00:17:40,943 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370917903 (role: producer) in room my-robot-session8-second +2025-06-20 00:17:40,950 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750370917903 to consumer my-robot-session8-second-consumer +2025-06-20 00:17:41,083 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370918814 (role: producer) in room my-robot-session8-first +2025-06-20 00:17:41,083 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750370918814 to consumer my-robot-session8-first-consumer +2025-06-20 00:17:41,087 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370918814 (role: producer) in room my-robot-session8-first +2025-06-20 00:17:41,088 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370917903 (role: producer) in room my-robot-session8-second +2025-06-20 00:17:41,123 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370917903 (role: producer) in room my-robot-session8-second +2025-06-20 00:17:41,125 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370918814 (role: producer) in room my-robot-session8-first +2025-06-20 00:17:41,128 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370917903 (role: producer) in room my-robot-session8-second +2025-06-20 00:17:41,145 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370917903 (role: producer) in room my-robot-session8-second +2025-06-20 00:17:41,232 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370918814 (role: producer) in room my-robot-session8-first +2025-06-20 00:17:41,233 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370917903 (role: producer) in room my-robot-session8-second +2025-06-20 00:17:41,488 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370917903 (role: producer) in room my-robot-session8-second +2025-06-20 00:17:42,048 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370918814 (role: producer) in room my-robot-session8-first +2025-06-20 00:17:42,259 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370918814 (role: producer) in room my-robot-session8-first +2025-06-20 00:17:42,410 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370918814 (role: producer) in room my-robot-session8-first +2025-06-20 00:17:42,458 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750370918814 (role: producer) in room my-robot-session8-first +2025-06-20 00:17:55,713 - robotics.core - INFO - Consumer remote-consumer-my-robot-session7-joint-output-1750371393741 left room my-robot-session7-joint-output +2025-06-20 00:17:55,766 - video.core - INFO - Producer producer_1750370918814 left video room my-robot-session8-first +2025-06-20 00:17:55,828 - video.core - INFO - Producer producer_1750370917903 left video room my-robot-session8-second +2025-06-20 00:17:55,991 - robotics.core - INFO - Producer remote-producer-my-robot-session8-joint-input-1750371265287 left room my-robot-session8-joint-input +2025-06-20 00:17:56,785 - video.api - INFO - ๐Ÿ”ง WebRTC signal from my-robot-session8-first-consumer (role: consumer) in room my-robot-session8-first +2025-06-20 00:17:56,795 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer my-robot-session8-first-consumer to producer producer_1750370918814 +2025-06-20 00:17:56,942 - video.api - INFO - ๐Ÿ”ง WebRTC signal from my-robot-session8-second-consumer (role: consumer) in room my-robot-session8-second +2025-06-20 00:17:56,942 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer my-robot-session8-second-consumer to producer producer_1750370917903 +2025-06-20 14:23:57,450 - video.core - INFO - Consumer my-robot-session8-first-consumer left video room my-robot-session8-first +2025-06-20 14:23:57,454 - video.core - INFO - Consumer my-robot-session8-second-consumer left video room my-robot-session8-second +2025-06-20 14:26:37,824 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-20 14:26:48,808 - video.core - INFO - Created video room my-robot-session-first +2025-06-20 14:26:48,813 - video.core - INFO - Created video room my-robot-session-second +2025-06-20 14:26:48,814 - robotics.core - INFO - Created room my-robot-session-joint-input +2025-06-20 14:26:48,815 - robotics.core - INFO - Created room my-robot-session-joint-output +2025-06-20 14:26:51,062 - video.core - INFO - Consumer my-robot-session-first-consumer joined video room my-robot-session-first +2025-06-20 14:26:51,681 - video.core - INFO - Consumer my-robot-session-second-consumer joined video room my-robot-session-second +2025-06-20 14:26:52,210 - robotics.core - INFO - Consumer my-robot-session-joint-input-consumer joined room my-robot-session-joint-input +2025-06-20 14:26:52,240 - robotics.core - INFO - Producer my-robot-session-joint-output-producer joined room my-robot-session-joint-output +2025-06-20 14:27:05,455 - video.core - INFO - Producer producer_1750422424148 joined video room my-robot-session-first +2025-06-20 14:27:06,622 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750422424148 (role: producer) in room my-robot-session-first +2025-06-20 14:27:06,622 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750422424148 to consumer my-robot-session-first-consumer +2025-06-20 14:27:08,089 - video.core - INFO - Producer producer_1750422424635 joined video room my-robot-session-second +2025-06-20 14:27:08,284 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750422424148 (role: producer) in room my-robot-session-first +2025-06-20 14:27:08,284 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750422424148 to consumer my-robot-session-first-consumer +2025-06-20 14:27:08,284 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750422424148 (role: producer) in room my-robot-session-first +2025-06-20 14:27:08,285 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750422424148 (role: producer) in room my-robot-session-first +2025-06-20 14:27:08,286 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750422424148 (role: producer) in room my-robot-session-first +2025-06-20 14:27:08,286 - video.core - INFO - Stream started by producer_1750422424148 in room my-robot-session-first +2025-06-20 14:27:08,321 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750422424148 (role: producer) in room my-robot-session-first +2025-06-20 14:27:08,406 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750422424148 (role: producer) in room my-robot-session-first +2025-06-20 14:27:08,407 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750422424148 (role: producer) in room my-robot-session-first +2025-06-20 14:27:08,408 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750422424148 (role: producer) in room my-robot-session-first +2025-06-20 14:27:09,051 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750422424635 (role: producer) in room my-robot-session-second +2025-06-20 14:27:09,059 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750422424635 to consumer my-robot-session-second-consumer +2025-06-20 14:27:09,060 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750422424635 (role: producer) in room my-robot-session-second +2025-06-20 14:27:09,061 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750422424635 (role: producer) in room my-robot-session-second +2025-06-20 14:27:09,061 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750422424635 (role: producer) in room my-robot-session-second +2025-06-20 14:27:09,062 - video.core - INFO - Stream started by producer_1750422424635 in room my-robot-session-second +2025-06-20 14:27:09,071 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750422424635 (role: producer) in room my-robot-session-second +2025-06-20 14:27:09,169 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750422424635 (role: producer) in room my-robot-session-second +2025-06-20 14:27:09,169 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750422424635 (role: producer) in room my-robot-session-second +2025-06-20 14:27:09,169 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750422424635 (role: producer) in room my-robot-session-second +2025-06-20 14:27:13,311 - video.api - INFO - ๐Ÿ”ง WebRTC signal from my-robot-session-first-consumer (role: consumer) in room my-robot-session-first +2025-06-20 14:27:13,311 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer my-robot-session-first-consumer to producer producer_1750422424148 +2025-06-20 14:27:14,256 - video.api - INFO - ๐Ÿ”ง WebRTC signal from my-robot-session-second-consumer (role: consumer) in room my-robot-session-second +2025-06-20 14:27:14,257 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer my-robot-session-second-consumer to producer producer_1750422424635 +2025-06-20 14:28:14,437 - robotics.core - INFO - Created room my-robot-session-joint-input +2025-06-20 14:28:14,449 - robotics.core - INFO - Producer remote-producer-my-robot-session-joint-input-1750422494432 joined room my-robot-session-joint-input +2025-06-20 14:28:18,755 - robotics.core - INFO - Created room my-robot-session-joint-output +2025-06-20 14:28:18,768 - robotics.core - INFO - Consumer remote-consumer-my-robot-session-joint-output-1750422498751 joined room my-robot-session-joint-output +2025-06-20 14:30:00,008 - video.core - INFO - Producer producer_1750422424148 left video room my-robot-session-first +2025-06-20 14:30:00,465 - video.core - INFO - Producer producer_1750422424635 left video room my-robot-session-second +2025-06-20 14:30:03,008 - robotics.core - INFO - Producer remote-producer-my-robot-session-joint-input-1750422494432 left room my-robot-session-joint-input +2025-06-20 14:30:03,009 - robotics.core - INFO - Consumer remote-consumer-my-robot-session-joint-output-1750422498751 left room my-robot-session-joint-output +2025-06-20 14:33:48,827 - robotics.core - INFO - Created room my-robot-session-joint-input +2025-06-20 14:33:48,839 - robotics.core - INFO - Producer remote-producer-my-robot-session-joint-input-1750422828819 joined room my-robot-session-joint-input +2025-06-20 14:33:53,980 - robotics.core - INFO - Created room my-robot-session-joint-output +2025-06-20 14:33:53,999 - robotics.core - INFO - Consumer remote-consumer-my-robot-session-joint-output-1750422833978 joined room my-robot-session-joint-output +2025-06-20 14:34:40,662 - robotics.core - INFO - Consumer consumer_1750422878086 joined room my-robot-session-joint-input +2025-06-20 14:34:41,581 - robotics.core - INFO - Producer producer_1750422879145 joined room my-robot-session-joint-output +2025-06-20 14:36:41,872 - robotics.core - INFO - Producer remote-producer-my-robot-session-joint-input-1750422828819 left room my-robot-session-joint-input +2025-06-20 14:36:50,333 - robotics.core - INFO - Created room my-robot-session-joint-input +2025-06-20 14:36:50,351 - robotics.core - INFO - Producer remote-producer-my-robot-session-joint-input-1750423010330 joined room my-robot-session-joint-input +2025-06-20 14:37:03,188 - robotics.core - INFO - Consumer consumer_1750423022578 joined room my-robot-session-joint-input +2025-06-20 14:37:26,342 - robotics.core - INFO - Producer producer_1750422879145 left room my-robot-session-joint-output +2025-06-20 14:37:27,458 - robotics.core - INFO - Consumer consumer_1750423022578 left room my-robot-session-joint-input +2025-06-20 14:37:29,895 - robotics.core - INFO - Consumer remote-consumer-my-robot-session-joint-output-1750422833978 left room my-robot-session-joint-output +2025-06-20 14:37:29,896 - robotics.core - INFO - Producer remote-producer-my-robot-session-joint-input-1750423010330 left room my-robot-session-joint-input +2025-06-20 14:37:43,468 - video.core - INFO - Created video room my-robot-session2-first +2025-06-20 14:37:43,471 - video.core - INFO - Created video room my-robot-session2-second +2025-06-20 14:37:43,473 - robotics.core - INFO - Created room my-robot-session2-joint-input +2025-06-20 14:37:43,475 - robotics.core - INFO - Created room my-robot-session2-joint-output +2025-06-20 14:37:44,847 - video.core - INFO - Consumer my-robot-session2-first-consumer joined video room my-robot-session2-first +2025-06-20 14:37:45,352 - video.core - INFO - Consumer my-robot-session2-second-consumer joined video room my-robot-session2-second +2025-06-20 14:37:45,856 - robotics.core - INFO - Consumer my-robot-session2-joint-input-consumer joined room my-robot-session2-joint-input +2025-06-20 14:37:45,859 - robotics.core - INFO - Producer my-robot-session2-joint-output-producer joined room my-robot-session2-joint-output +2025-06-20 14:37:49,937 - video.core - INFO - Producer producer_1750423068441 joined video room my-robot-session2-first +2025-06-20 14:37:50,691 - video.core - INFO - Producer producer_1750423068826 joined video room my-robot-session2-second +2025-06-20 14:37:51,640 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750423068441 (role: producer) in room my-robot-session2-first +2025-06-20 14:37:51,640 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750423068441 to consumer my-robot-session2-first-consumer +2025-06-20 14:37:51,717 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750423068826 (role: producer) in room my-robot-session2-second +2025-06-20 14:37:51,717 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750423068826 to consumer my-robot-session2-second-consumer +2025-06-20 14:37:53,015 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750423068826 (role: producer) in room my-robot-session2-second +2025-06-20 14:37:53,015 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750423068826 to consumer my-robot-session2-second-consumer +2025-06-20 14:37:53,018 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750423068441 (role: producer) in room my-robot-session2-first +2025-06-20 14:37:53,018 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750423068441 to consumer my-robot-session2-first-consumer +2025-06-20 14:37:53,019 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750423068826 (role: producer) in room my-robot-session2-second +2025-06-20 14:37:53,022 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750423068441 (role: producer) in room my-robot-session2-first +2025-06-20 14:37:53,024 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750423068441 (role: producer) in room my-robot-session2-first +2025-06-20 14:37:53,025 - video.core - INFO - Stream started by producer_1750423068826 in room my-robot-session2-second +2025-06-20 14:37:53,025 - video.core - INFO - Stream started by producer_1750423068441 in room my-robot-session2-first +2025-06-20 14:37:53,026 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750423068826 (role: producer) in room my-robot-session2-second +2025-06-20 14:37:53,028 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750423068441 (role: producer) in room my-robot-session2-first +2025-06-20 14:37:53,033 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750423068826 (role: producer) in room my-robot-session2-second +2025-06-20 14:37:53,061 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750423068826 (role: producer) in room my-robot-session2-second +2025-06-20 14:37:53,062 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750423068441 (role: producer) in room my-robot-session2-first +2025-06-20 14:37:53,145 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750423068826 (role: producer) in room my-robot-session2-second +2025-06-20 14:37:53,145 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750423068441 (role: producer) in room my-robot-session2-first +2025-06-20 14:37:53,146 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750423068441 (role: producer) in room my-robot-session2-first +2025-06-20 14:37:53,148 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750423068826 (role: producer) in room my-robot-session2-second +2025-06-20 14:37:53,149 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750423068441 (role: producer) in room my-robot-session2-first +2025-06-20 14:37:53,150 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750423068826 (role: producer) in room my-robot-session2-second +2025-06-20 14:37:58,055 - video.api - INFO - ๐Ÿ”ง WebRTC signal from my-robot-session2-second-consumer (role: consumer) in room my-robot-session2-second +2025-06-20 14:37:58,056 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer my-robot-session2-second-consumer to producer producer_1750423068826 +2025-06-20 14:37:58,057 - video.api - INFO - ๐Ÿ”ง WebRTC signal from my-robot-session2-first-consumer (role: consumer) in room my-robot-session2-first +2025-06-20 14:37:58,057 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer my-robot-session2-first-consumer to producer producer_1750423068441 +2025-06-20 14:38:12,290 - robotics.core - INFO - Created room my-robot-session2-joint-output +2025-06-20 14:38:12,307 - robotics.core - INFO - Consumer remote-consumer-my-robot-session2-joint-output-1750423092283 joined room my-robot-session2-joint-output +2025-06-20 14:38:17,291 - robotics.core - INFO - Created room my-robot-session2-joint-input +2025-06-20 14:38:17,302 - robotics.core - INFO - Producer remote-producer-my-robot-session2-joint-input-1750423097287 joined room my-robot-session2-joint-input +2025-06-20 14:39:08,568 - robotics.core - INFO - Consumer consumer_1750423147504 joined room my-robot-session2-joint-input +2025-06-20 14:39:09,094 - robotics.core - INFO - Consumer consumer_1750423147600 joined room my-robot-session2-joint-output +2025-06-20 14:40:08,156 - robotics.core - INFO - Producer producer_1750423207188 joined room my-robot-session2-joint-output +2025-06-20 14:41:07,028 - video.core - INFO - Producer producer_1750423068441 left video room my-robot-session2-first +2025-06-20 14:41:07,414 - video.core - INFO - Producer producer_1750423068826 left video room my-robot-session2-second +2025-06-20 15:02:45,618 - robotics.core - INFO - Producer producer_1750423207188 left room my-robot-session2-joint-output +2025-06-20 15:02:45,671 - robotics.core - INFO - Consumer consumer_1750423147504 left room my-robot-session2-joint-input +2025-06-20 15:02:45,673 - robotics.core - INFO - Producer remote-producer-my-robot-session2-joint-input-1750423097287 left room my-robot-session2-joint-input +2025-06-20 15:02:45,673 - robotics.core - INFO - Consumer remote-consumer-my-robot-session2-joint-output-1750423092283 left room my-robot-session2-joint-output +2025-06-20 15:02:45,675 - robotics.core - INFO - Consumer consumer_1750423147600 left room my-robot-session2-joint-output +2025-06-20 16:58:09,093 - video.core - INFO - Consumer my-robot-session2-first-consumer left video room my-robot-session2-first +2025-06-20 16:58:09,096 - video.core - INFO - Consumer my-robot-session2-second-consumer left video room my-robot-session2-second +2025-06-20 16:58:09,097 - video.core - INFO - Consumer my-robot-session-second-consumer left video room my-robot-session-second +2025-06-20 16:58:09,097 - video.core - INFO - Consumer my-robot-session-first-consumer left video room my-robot-session-first +2025-06-20 18:46:26,891 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-20 18:46:30,462 - robotics.core - INFO - Created room PurpleSphinx151 +2025-06-20 18:46:30,481 - robotics.core - INFO - Consumer remote-consumer-PurpleSphinx151-1750437990457 joined room PurpleSphinx151 +2025-06-20 18:46:33,045 - robotics.core - INFO - Created room PurpleSphinx151 +2025-06-20 18:46:33,064 - robotics.core - INFO - Producer remote-producer-PurpleSphinx151-1750437993041 joined room PurpleSphinx151 +2025-06-20 18:47:43,926 - robotics.core - INFO - Producer remote-producer-PurpleSphinx151-1750437993041 left room PurpleSphinx151 +2025-06-20 19:38:20,454 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-20 19:39:04,842 - video.core - INFO - Created video room my-robot-session2-first +2025-06-20 19:39:04,844 - video.core - INFO - Created video room my-robot-session2-second +2025-06-20 19:39:04,846 - robotics.core - INFO - Created room my-robot-session2-joint-input +2025-06-20 19:39:04,848 - robotics.core - INFO - Created room my-robot-session2-joint-output +2025-06-20 19:39:05,849 - video.core - INFO - Consumer my-robot-session2-first-consumer joined video room my-robot-session2-first +2025-06-20 19:39:06,366 - video.core - INFO - Consumer my-robot-session2-second-consumer joined video room my-robot-session2-second +2025-06-20 19:39:06,874 - robotics.core - INFO - Consumer my-robot-session2-joint-input-consumer joined room my-robot-session2-joint-input +2025-06-20 19:39:06,882 - robotics.core - INFO - Producer my-robot-session2-joint-output-producer joined room my-robot-session2-joint-output +2025-06-20 19:39:27,642 - video.core - INFO - Producer producer_1750441150501 joined video room my-robot-session2-first +2025-06-20 19:39:28,678 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750441150501 (role: producer) in room my-robot-session2-first +2025-06-20 19:39:28,678 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750441150501 to consumer my-robot-session2-first-consumer +2025-06-20 19:39:31,441 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750441150501 (role: producer) in room my-robot-session2-first +2025-06-20 19:39:31,441 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750441150501 to consumer my-robot-session2-first-consumer +2025-06-20 19:39:31,443 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750441150501 (role: producer) in room my-robot-session2-first +2025-06-20 19:39:31,444 - video.core - INFO - Stream started by producer_1750441150501 in room my-robot-session2-first +2025-06-20 19:39:31,480 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750441150501 (role: producer) in room my-robot-session2-first +2025-06-20 19:39:31,498 - video.api - INFO - ๐Ÿ”ง WebRTC signal from my-robot-session2-first-consumer (role: consumer) in room my-robot-session2-first +2025-06-20 19:39:31,498 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer my-robot-session2-first-consumer to producer producer_1750441150501 +2025-06-20 19:39:36,714 - video.core - INFO - Producer producer_1750441175790 joined video room my-robot-session2-second +2025-06-20 19:39:37,736 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750441175790 (role: producer) in room my-robot-session2-second +2025-06-20 19:39:37,736 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750441175790 to consumer my-robot-session2-second-consumer +2025-06-20 19:39:37,902 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750441175790 (role: producer) in room my-robot-session2-second +2025-06-20 19:39:37,902 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750441175790 to consumer my-robot-session2-second-consumer +2025-06-20 19:39:37,904 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750441175790 (role: producer) in room my-robot-session2-second +2025-06-20 19:39:37,907 - video.core - INFO - Stream started by producer_1750441175790 in room my-robot-session2-second +2025-06-20 19:39:37,924 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750441175790 (role: producer) in room my-robot-session2-second +2025-06-20 19:39:37,933 - video.api - INFO - ๐Ÿ”ง WebRTC signal from my-robot-session2-second-consumer (role: consumer) in room my-robot-session2-second +2025-06-20 19:39:37,933 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer my-robot-session2-second-consumer to producer producer_1750441175790 +2025-06-20 19:41:56,947 - robotics.core - INFO - Created room InfernalLynx088 +2025-06-20 19:41:56,963 - robotics.core - INFO - Producer remote-producer-InfernalLynx088-1750441316943 joined room InfernalLynx088 +2025-06-20 19:42:00,168 - robotics.core - INFO - Producer remote-producer-InfernalLynx088-1750441316943 left room InfernalLynx088 +2025-06-20 19:42:03,319 - robotics.core - INFO - Created room InfernalLynx088 +2025-06-20 19:42:03,852 - robotics.core - INFO - Created room InfernalLynx088 +2025-06-20 19:42:03,960 - robotics.core - INFO - Created room InfernalLynx088 +2025-06-20 19:42:03,968 - robotics.core - INFO - Producer remote-producer-InfernalLynx088-1750441323928 joined room InfernalLynx088 +2025-06-20 19:42:05,699 - robotics.core - INFO - Producer remote-producer-InfernalLynx088-1750441323928 left room InfernalLynx088 +2025-06-20 19:43:48,747 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750441175790 (role: producer) in room my-robot-session2-second +2025-06-20 19:43:48,798 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750441175790 to consumer my-robot-session2-second-consumer +2025-06-20 19:43:48,965 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750441175790 (role: producer) in room my-robot-session2-second +2025-06-20 19:43:49,149 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750441175790 (role: producer) in room my-robot-session2-second +2025-06-20 19:43:49,162 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750441175790 (role: producer) in room my-robot-session2-second +2025-06-20 19:43:51,944 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750441150501 (role: producer) in room my-robot-session2-first +2025-06-20 19:43:51,945 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750441150501 to consumer my-robot-session2-first-consumer +2025-06-20 19:43:51,946 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750441150501 (role: producer) in room my-robot-session2-first +2025-06-20 19:43:52,012 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750441150501 (role: producer) in room my-robot-session2-first +2025-06-20 19:43:52,061 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750441150501 (role: producer) in room my-robot-session2-first +2025-06-20 19:43:53,365 - video.api - INFO - ๐Ÿ”ง WebRTC signal from my-robot-session2-second-consumer (role: consumer) in room my-robot-session2-second +2025-06-20 19:43:53,404 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer my-robot-session2-second-consumer to producer producer_1750441175790 +2025-06-20 19:43:53,411 - video.api - INFO - ๐Ÿ”ง WebRTC signal from my-robot-session2-first-consumer (role: consumer) in room my-robot-session2-first +2025-06-20 19:43:53,411 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer my-robot-session2-first-consumer to producer producer_1750441150501 +2025-06-20 19:46:24,201 - robotics.core - INFO - Created room my-robot-session2-joint-input +2025-06-20 19:46:24,284 - robotics.core - INFO - Producer remote-producer-my-robot-session2-joint-input-1750441583410 joined room my-robot-session2-joint-input +2025-06-20 19:46:32,563 - robotics.core - INFO - Created room my-robot-session2-joint-output +2025-06-20 19:46:32,641 - robotics.core - INFO - Consumer remote-consumer-my-robot-session2-joint-output-1750441591633 joined room my-robot-session2-joint-output +2025-06-20 19:47:35,358 - robotics.core - INFO - Producer producer_1750441654587 joined room my-robot-session2-joint-output +2025-06-20 19:47:56,745 - robotics.core - INFO - Consumer consumer_1750441675909 joined room my-robot-session2-joint-input +2025-06-20 19:54:33,525 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750441175790 (role: producer) in room my-robot-session2-second +2025-06-20 19:54:33,584 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750441175790 to consumer my-robot-session2-second-consumer +2025-06-20 19:54:34,025 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750441175790 (role: producer) in room my-robot-session2-second +2025-06-20 19:54:34,448 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750441150501 (role: producer) in room my-robot-session2-first +2025-06-20 19:54:34,459 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750441150501 to consumer my-robot-session2-first-consumer +2025-06-20 19:54:34,464 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750441150501 (role: producer) in room my-robot-session2-first +2025-06-20 19:54:34,494 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750441150501 (role: producer) in room my-robot-session2-first +2025-06-20 19:54:34,547 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750441175790 (role: producer) in room my-robot-session2-second +2025-06-20 19:54:34,551 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750441150501 (role: producer) in room my-robot-session2-first +2025-06-20 19:54:34,576 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750441175790 (role: producer) in room my-robot-session2-second +2025-06-20 19:54:50,992 - video.api - INFO - ๐Ÿ”ง WebRTC signal from my-robot-session2-first-consumer (role: consumer) in room my-robot-session2-first +2025-06-20 19:54:50,997 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer my-robot-session2-first-consumer to producer producer_1750441150501 +2025-06-20 19:54:51,000 - video.api - INFO - ๐Ÿ”ง WebRTC signal from my-robot-session2-second-consumer (role: consumer) in room my-robot-session2-second +2025-06-20 19:54:51,068 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer my-robot-session2-second-consumer to producer producer_1750441175790 +2025-06-20 19:55:05,098 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750441175790 (role: producer) in room my-robot-session2-second +2025-06-20 19:55:05,110 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750441175790 to consumer my-robot-session2-second-consumer +2025-06-20 19:55:05,116 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750441175790 (role: producer) in room my-robot-session2-second +2025-06-20 19:55:05,166 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750441175790 (role: producer) in room my-robot-session2-second +2025-06-20 19:55:05,169 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750441175790 (role: producer) in room my-robot-session2-second +2025-06-20 19:55:11,144 - video.api - INFO - ๐Ÿ”ง WebRTC signal from my-robot-session2-second-consumer (role: consumer) in room my-robot-session2-second +2025-06-20 19:55:11,149 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer my-robot-session2-second-consumer to producer producer_1750441175790 +2025-06-20 19:57:26,894 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750441150501 (role: producer) in room my-robot-session2-first +2025-06-20 19:57:27,007 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750441150501 to consumer my-robot-session2-first-consumer +2025-06-20 19:57:27,112 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750441150501 (role: producer) in room my-robot-session2-first +2025-06-20 19:57:27,589 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750441150501 (role: producer) in room my-robot-session2-first +2025-06-20 19:57:28,013 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750441150501 (role: producer) in room my-robot-session2-first +2025-06-20 19:57:38,599 - robotics.core - INFO - Producer remote-producer-my-robot-session2-joint-input-1750441583410 left room my-robot-session2-joint-input +2025-06-20 19:57:38,636 - robotics.core - INFO - Consumer remote-consumer-my-robot-session2-joint-output-1750441591633 left room my-robot-session2-joint-output +2025-06-20 19:57:44,576 - video.api - INFO - ๐Ÿ”ง WebRTC signal from my-robot-session2-first-consumer (role: consumer) in room my-robot-session2-first +2025-06-20 19:57:44,592 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer my-robot-session2-first-consumer to producer producer_1750441150501 +2025-06-20 20:05:04,597 - robotics.core - INFO - Created room my-robot-session2-joint-output +2025-06-20 20:05:04,621 - robotics.core - INFO - Consumer remote-consumer-my-robot-session2-joint-output-1750442704592 joined room my-robot-session2-joint-output +2025-06-20 20:05:30,163 - video.core - INFO - Producer producer_1750441150501 left video room my-robot-session2-first +2025-06-20 20:05:31,358 - video.core - INFO - Producer producer_1750441175790 left video room my-robot-session2-second +2025-06-20 20:05:34,114 - robotics.core - INFO - Producer producer_1750442733506 joined room my-robot-session2-joint-output +2025-06-20 20:11:11,605 - robotics.core - INFO - Consumer remote-consumer-my-robot-session2-joint-output-1750442704592 left room my-robot-session2-joint-output +2025-06-20 20:13:40,772 - robotics.core - INFO - Producer producer_1750442733506 left room my-robot-session2-joint-output +2025-06-20 20:14:00,704 - robotics.core - INFO - Created room my-robot-session2-joint-output +2025-06-20 20:14:00,715 - robotics.core - INFO - Consumer remote-consumer-my-robot-session2-joint-output-1750443240699 joined room my-robot-session2-joint-output +2025-06-20 20:14:39,937 - robotics.core - INFO - Producer producer_1750443279290 joined room my-robot-session2-joint-output +2025-06-20 21:01:17,045 - robotics.core - INFO - Producer producer_1750443279290 left room my-robot-session2-joint-output +2025-06-20 21:01:17,051 - robotics.core - INFO - Consumer remote-consumer-my-robot-session2-joint-output-1750443240699 left room my-robot-session2-joint-output +2025-06-20 21:01:17,051 - robotics.core - INFO - Consumer consumer_1750441675909 left room my-robot-session2-joint-input +2025-06-20 21:17:21,165 - video.core - INFO - Created video room my-robot-session-first +2025-06-20 21:17:21,168 - video.core - INFO - Created video room my-robot-session-second +2025-06-20 21:17:21,170 - robotics.core - INFO - Created room my-robot-session-joint-input +2025-06-20 21:17:21,172 - robotics.core - INFO - Created room my-robot-session-joint-output +2025-06-20 21:17:22,682 - video.core - INFO - Consumer my-robot-session-first-consumer joined video room my-robot-session-first +2025-06-20 21:17:23,187 - video.core - INFO - Consumer my-robot-session-second-consumer joined video room my-robot-session-second +2025-06-20 21:17:23,693 - robotics.core - INFO - Consumer my-robot-session-joint-input-consumer joined room my-robot-session-joint-input +2025-06-20 21:17:23,697 - robotics.core - INFO - Producer my-robot-session-joint-output-producer joined room my-robot-session-joint-output +2025-06-20 21:17:31,077 - video.core - INFO - Producer producer_1750447049425 joined video room my-robot-session2-first +2025-06-20 21:17:31,731 - video.core - INFO - Producer producer_1750447050017 joined video room my-robot-session2-second +2025-06-20 21:17:32,736 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750447049425 (role: producer) in room my-robot-session2-first +2025-06-20 21:17:32,736 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750447049425 to consumer my-robot-session2-first-consumer +2025-06-20 21:17:32,756 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750447050017 (role: producer) in room my-robot-session2-second +2025-06-20 21:17:32,756 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750447050017 to consumer my-robot-session2-second-consumer +2025-06-20 21:17:33,778 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750447050017 (role: producer) in room my-robot-session2-second +2025-06-20 21:17:33,778 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750447050017 to consumer my-robot-session2-second-consumer +2025-06-20 21:17:33,779 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750447050017 (role: producer) in room my-robot-session2-second +2025-06-20 21:17:33,780 - video.core - INFO - Stream started by producer_1750447050017 in room my-robot-session2-second +2025-06-20 21:17:33,828 - video.api - INFO - ๐Ÿ”ง WebRTC signal from my-robot-session2-second-consumer (role: consumer) in room my-robot-session2-second +2025-06-20 21:17:33,828 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer my-robot-session2-second-consumer to producer producer_1750447050017 +2025-06-20 21:17:33,831 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750447050017 (role: producer) in room my-robot-session2-second +2025-06-20 21:17:34,002 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750447049425 (role: producer) in room my-robot-session2-first +2025-06-20 21:17:34,002 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750447049425 to consumer my-robot-session2-first-consumer +2025-06-20 21:17:34,003 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750447049425 (role: producer) in room my-robot-session2-first +2025-06-20 21:17:34,005 - video.core - INFO - Stream started by producer_1750447049425 in room my-robot-session2-first +2025-06-20 21:17:34,029 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750447049425 (role: producer) in room my-robot-session2-first +2025-06-20 21:17:34,038 - video.api - INFO - ๐Ÿ”ง WebRTC signal from my-robot-session2-first-consumer (role: consumer) in room my-robot-session2-first +2025-06-20 21:17:34,038 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer my-robot-session2-first-consumer to producer producer_1750447049425 +2025-06-20 21:19:00,711 - robotics.core - INFO - Created room my-robot-session2-joint-input +2025-06-20 21:19:00,724 - robotics.core - INFO - Producer remote-producer-my-robot-session2-joint-input-1750447140706 joined room my-robot-session2-joint-input +2025-06-20 21:19:06,975 - robotics.core - INFO - Created room my-robot-session2-joint-output +2025-06-20 21:19:06,987 - robotics.core - INFO - Consumer remote-consumer-my-robot-session2-joint-output-1750447146973 joined room my-robot-session2-joint-output +2025-06-20 21:19:45,477 - robotics.core - INFO - Consumer consumer_1750447183486 joined room my-robot-session2-joint-input +2025-06-20 21:19:46,166 - robotics.core - INFO - Consumer consumer_1750447183838 joined room my-robot-session2-joint-output +2025-06-20 21:20:57,908 - video.core - INFO - Consumer my-robot-session2-first-consumer left video room my-robot-session2-first +2025-06-20 21:20:57,911 - video.core - INFO - Consumer my-robot-session2-second-consumer left video room my-robot-session2-second +2025-06-20 21:20:57,932 - video.core - INFO - Consumer my-robot-session-first-consumer left video room my-robot-session-first +2025-06-20 21:20:57,933 - video.core - INFO - Consumer my-robot-session-second-consumer left video room my-robot-session-second +2025-06-20 21:20:57,933 - robotics.core - INFO - Consumer my-robot-session-joint-input-consumer left room my-robot-session-joint-input +2025-06-20 21:20:57,934 - robotics.core - INFO - Producer my-robot-session-joint-output-producer left room my-robot-session-joint-output +2025-06-20 21:21:37,385 - robotics.core - INFO - Producer remote-producer-my-robot-session2-joint-input-1750447140706 left room my-robot-session2-joint-input +2025-06-20 21:21:37,386 - robotics.core - INFO - Consumer remote-consumer-my-robot-session2-joint-output-1750447146973 left room my-robot-session2-joint-output +2025-06-20 21:21:42,149 - robotics.core - INFO - Consumer consumer_1750447183838 left room my-robot-session2-joint-output +2025-06-20 21:21:42,315 - robotics.core - INFO - Consumer consumer_1750447183486 left room my-robot-session2-joint-input +2025-06-20 21:21:42,488 - video.core - INFO - Producer producer_1750447050017 left video room my-robot-session2-second +2025-06-20 21:21:42,920 - video.core - INFO - Producer producer_1750447049425 left video room my-robot-session2-first +2025-06-20 21:21:48,483 - video.core - INFO - Created video room my-robot-session3-first +2025-06-20 21:21:48,484 - video.core - INFO - Created video room my-robot-session3-second +2025-06-20 21:21:48,485 - robotics.core - INFO - Created room my-robot-session3-joint-input +2025-06-20 21:21:48,486 - robotics.core - INFO - Created room my-robot-session3-joint-output +2025-06-20 21:21:49,457 - video.core - INFO - Consumer my-robot-session3-first-consumer joined video room my-robot-session3-first +2025-06-20 21:21:49,965 - video.core - INFO - Consumer my-robot-session3-second-consumer joined video room my-robot-session3-second +2025-06-20 21:21:50,472 - robotics.core - INFO - Consumer my-robot-session3-joint-input-consumer joined room my-robot-session3-joint-input +2025-06-20 21:21:50,477 - robotics.core - INFO - Producer my-robot-session3-joint-output-producer joined room my-robot-session3-joint-output +2025-06-20 21:22:06,305 - video.core - INFO - Producer producer_1750447324477 joined video room my-robot-session3-first +2025-06-20 21:22:07,340 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750447324477 (role: producer) in room my-robot-session3-first +2025-06-20 21:22:07,340 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750447324477 to consumer my-robot-session3-first-consumer +2025-06-20 21:22:07,909 - video.core - INFO - Producer producer_1750447324857 joined video room my-robot-session3-second +2025-06-20 21:22:08,942 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750447324857 (role: producer) in room my-robot-session3-second +2025-06-20 21:22:08,942 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750447324857 to consumer my-robot-session3-second-consumer +2025-06-20 21:22:10,190 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750447324857 (role: producer) in room my-robot-session3-second +2025-06-20 21:22:10,190 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750447324857 to consumer my-robot-session3-second-consumer +2025-06-20 21:22:10,191 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750447324857 (role: producer) in room my-robot-session3-second +2025-06-20 21:22:10,192 - video.core - INFO - Stream started by producer_1750447324857 in room my-robot-session3-second +2025-06-20 21:22:10,240 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750447324857 (role: producer) in room my-robot-session3-second +2025-06-20 21:22:10,241 - video.api - INFO - ๐Ÿ”ง WebRTC signal from my-robot-session3-second-consumer (role: consumer) in room my-robot-session3-second +2025-06-20 21:22:10,242 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer my-robot-session3-second-consumer to producer producer_1750447324857 +2025-06-20 21:22:10,323 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750447324477 (role: producer) in room my-robot-session3-first +2025-06-20 21:22:10,323 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750447324477 to consumer my-robot-session3-first-consumer +2025-06-20 21:22:10,324 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750447324477 (role: producer) in room my-robot-session3-first +2025-06-20 21:22:10,330 - video.core - INFO - Stream started by producer_1750447324477 in room my-robot-session3-first +2025-06-20 21:22:10,343 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750447324477 (role: producer) in room my-robot-session3-first +2025-06-20 21:22:10,447 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750447324477 (role: producer) in room my-robot-session3-first +2025-06-20 21:22:10,531 - video.api - INFO - ๐Ÿ”ง WebRTC signal from my-robot-session3-first-consumer (role: consumer) in room my-robot-session3-first +2025-06-20 21:22:10,531 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer my-robot-session3-first-consumer to producer producer_1750447324477 +2025-06-20 21:22:58,317 - robotics.core - INFO - Created room my-robot-session2-joint-output +2025-06-20 21:22:58,324 - robotics.core - INFO - Consumer remote-consumer-my-robot-session2-joint-output-1750447378306 joined room my-robot-session2-joint-output +2025-06-20 21:23:06,171 - robotics.core - INFO - Created room my-robot-session3-joint-input +2025-06-20 21:23:06,185 - robotics.core - INFO - Producer remote-producer-my-robot-session3-joint-input-1750447386167 joined room my-robot-session3-joint-input +2025-06-20 21:23:09,567 - robotics.core - INFO - Consumer remote-consumer-my-robot-session2-joint-output-1750447378306 left room my-robot-session2-joint-output +2025-06-20 21:23:13,616 - robotics.core - INFO - Created room my-robot-session3-joint-output +2025-06-20 21:23:13,637 - robotics.core - INFO - Consumer remote-consumer-my-robot-session3-joint-output-1750447393613 joined room my-robot-session3-joint-output +2025-06-20 21:24:06,452 - robotics.core - INFO - Consumer consumer_1750447444611 joined room my-robot-session3-joint-output +2025-06-20 21:24:07,189 - robotics.core - INFO - Consumer consumer_1750447444921 joined room my-robot-session3-joint-input +2025-06-20 21:26:21,106 - video.core - INFO - Consumer my-robot-session3-first-consumer left video room my-robot-session3-first +2025-06-20 21:26:21,108 - video.core - INFO - Consumer my-robot-session3-second-consumer left video room my-robot-session3-second +2025-06-20 21:26:31,675 - video.core - INFO - Created video room my-robot-session4-first +2025-06-20 21:26:31,685 - video.core - INFO - Created video room my-robot-session4-second +2025-06-20 21:26:31,698 - robotics.core - INFO - Created room my-robot-session4-joint-input +2025-06-20 21:26:31,718 - robotics.core - INFO - Created room my-robot-session4-joint-output +2025-06-20 21:26:33,351 - video.core - INFO - Consumer my-robot-session4-first-consumer joined video room my-robot-session4-first +2025-06-20 21:26:33,855 - video.core - INFO - Consumer my-robot-session4-second-consumer joined video room my-robot-session4-second +2025-06-20 21:26:34,199 - video.core - INFO - Producer producer_1750447324477 left video room my-robot-session3-first +2025-06-20 21:26:34,353 - video.core - INFO - Producer producer_1750447324857 left video room my-robot-session3-second +2025-06-20 21:26:34,364 - robotics.core - INFO - Consumer my-robot-session4-joint-input-consumer joined room my-robot-session4-joint-input +2025-06-20 21:26:34,368 - robotics.core - INFO - Producer my-robot-session4-joint-output-producer joined room my-robot-session4-joint-output +2025-06-20 21:26:34,506 - robotics.core - INFO - Consumer consumer_1750447444611 left room my-robot-session3-joint-output +2025-06-20 21:26:34,784 - robotics.core - INFO - Consumer consumer_1750447444921 left room my-robot-session3-joint-input +2025-06-20 21:26:48,946 - video.core - INFO - Producer producer_1750447599841 joined video room my-robot-session4-second +2025-06-20 21:26:50,005 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750447599841 (role: producer) in room my-robot-session4-second +2025-06-20 21:26:50,005 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750447599841 to consumer my-robot-session4-second-consumer +2025-06-20 21:26:51,382 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750447599841 (role: producer) in room my-robot-session4-second +2025-06-20 21:26:51,382 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750447599841 to consumer my-robot-session4-second-consumer +2025-06-20 21:26:51,383 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750447599841 (role: producer) in room my-robot-session4-second +2025-06-20 21:26:51,385 - video.core - INFO - Stream started by producer_1750447599841 in room my-robot-session4-second +2025-06-20 21:26:51,422 - video.api - INFO - ๐Ÿ”ง WebRTC signal from my-robot-session4-second-consumer (role: consumer) in room my-robot-session4-second +2025-06-20 21:26:51,422 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer my-robot-session4-second-consumer to producer producer_1750447599841 +2025-06-20 21:26:51,427 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750447599841 (role: producer) in room my-robot-session4-second +2025-06-20 21:26:51,581 - video.core - INFO - Producer producer_1750447600356 joined video room my-robot-session4-first +2025-06-20 21:26:52,619 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750447600356 (role: producer) in room my-robot-session4-first +2025-06-20 21:26:52,620 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750447600356 to consumer my-robot-session4-first-consumer +2025-06-20 21:26:53,051 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750447600356 (role: producer) in room my-robot-session4-first +2025-06-20 21:26:53,052 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750447600356 to consumer my-robot-session4-first-consumer +2025-06-20 21:26:53,052 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750447600356 (role: producer) in room my-robot-session4-first +2025-06-20 21:26:53,054 - video.core - INFO - Stream started by producer_1750447600356 in room my-robot-session4-first +2025-06-20 21:26:53,072 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750447600356 (role: producer) in room my-robot-session4-first +2025-06-20 21:26:53,086 - video.api - INFO - ๐Ÿ”ง WebRTC signal from my-robot-session4-first-consumer (role: consumer) in room my-robot-session4-first +2025-06-20 21:26:53,086 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer my-robot-session4-first-consumer to producer producer_1750447600356 +2025-06-20 21:26:58,455 - robotics.core - INFO - Consumer consumer_1750447617007 joined room my-robot-session4-joint-output +2025-06-20 21:26:59,075 - robotics.core - INFO - Consumer consumer_1750447617787 joined room my-robot-session4-joint-input +2025-06-20 21:27:00,892 - robotics.core - INFO - Producer remote-producer-my-robot-session3-joint-input-1750447386167 left room my-robot-session3-joint-input +2025-06-20 21:27:00,893 - robotics.core - INFO - Consumer remote-consumer-my-robot-session3-joint-output-1750447393613 left room my-robot-session3-joint-output +2025-06-20 21:27:39,947 - robotics.core - INFO - Created room my-robot-session4-joint-input +2025-06-20 21:27:39,961 - robotics.core - INFO - Producer remote-producer-my-robot-session4-joint-input-1750447659943 joined room my-robot-session4-joint-input +2025-06-20 21:27:45,990 - robotics.core - INFO - Created room my-robot-session4-joint-output +2025-06-20 21:27:46,009 - robotics.core - INFO - Consumer remote-consumer-my-robot-session4-joint-output-1750447665868 joined room my-robot-session4-joint-output +2025-06-20 21:30:36,918 - robotics.core - INFO - Producer remote-producer-my-robot-session4-joint-input-1750447659943 left room my-robot-session4-joint-input +2025-06-20 21:30:36,927 - video.core - INFO - Producer producer_1750447600356 left video room my-robot-session4-first +2025-06-20 21:30:36,928 - video.core - INFO - Producer producer_1750447599841 left video room my-robot-session4-second +2025-06-20 21:30:36,952 - robotics.core - INFO - Consumer remote-consumer-my-robot-session4-joint-output-1750447665868 left room my-robot-session4-joint-output +2025-06-21 00:02:53,978 - video.core - INFO - Consumer my-robot-session4-first-consumer left video room my-robot-session4-first +2025-06-21 00:02:53,982 - video.core - INFO - Consumer my-robot-session4-second-consumer left video room my-robot-session4-second +2025-06-21 00:03:17,543 - video.core - INFO - Created video room my-robot-session4-front +2025-06-21 00:03:17,546 - robotics.core - INFO - Created room my-robot-session4-joint-input +2025-06-21 00:03:17,547 - robotics.core - INFO - Created room my-robot-session4-joint-output +2025-06-21 00:03:18,508 - video.core - INFO - Consumer my-robot-session4-front-consumer joined video room my-robot-session4-front +2025-06-21 00:03:19,022 - robotics.core - INFO - Consumer my-robot-session4-joint-input-consumer joined room my-robot-session4-joint-input +2025-06-21 00:03:19,025 - robotics.core - INFO - Producer my-robot-session4-joint-output-producer joined room my-robot-session4-joint-output +2025-06-21 00:03:30,810 - video.core - INFO - Created video room my-robot-session5-front +2025-06-21 00:03:30,812 - robotics.core - INFO - Created room my-robot-session5-joint-input +2025-06-21 00:03:30,814 - robotics.core - INFO - Created room my-robot-session5-joint-output +2025-06-21 00:03:32,106 - video.core - INFO - Consumer my-robot-session5-front-consumer joined video room my-robot-session5-front +2025-06-21 00:03:32,609 - robotics.core - INFO - Consumer my-robot-session5-joint-input-consumer joined room my-robot-session5-joint-input +2025-06-21 00:03:32,611 - robotics.core - INFO - Producer my-robot-session5-joint-output-producer joined room my-robot-session5-joint-output +2025-06-21 00:03:37,775 - video.core - INFO - Producer producer_1750457013878 joined video room my-robot-session4-front +2025-06-21 00:03:38,828 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750457013878 (role: producer) in room my-robot-session4-front +2025-06-21 00:03:38,828 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750457013878 to consumer my-robot-session4-front-consumer +2025-06-21 00:03:40,298 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750457013878 (role: producer) in room my-robot-session4-front +2025-06-21 00:03:40,299 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750457013878 to consumer my-robot-session4-front-consumer +2025-06-21 00:03:40,299 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750457013878 (role: producer) in room my-robot-session4-front +2025-06-21 00:03:40,301 - video.core - INFO - Stream started by producer_1750457013878 in room my-robot-session4-front +2025-06-21 00:03:40,432 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750457013878 (role: producer) in room my-robot-session4-front +2025-06-21 00:03:40,435 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750457013878 (role: producer) in room my-robot-session4-front +2025-06-21 00:03:40,439 - video.api - INFO - ๐Ÿ”ง WebRTC signal from my-robot-session4-front-consumer (role: consumer) in room my-robot-session4-front +2025-06-21 00:03:40,439 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer my-robot-session4-front-consumer to producer producer_1750457013878 +2025-06-21 00:03:45,215 - video.core - INFO - Stream stopped by producer_1750457013878 in room my-robot-session4-front +2025-06-21 00:03:45,578 - video.core - INFO - Producer producer_1750457013878 left video room my-robot-session4-front +2025-06-21 00:03:46,462 - video.core - INFO - Producer producer_1750457014290 joined video room my-robot-session5-front +2025-06-21 00:03:47,494 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750457014290 (role: producer) in room my-robot-session5-front +2025-06-21 00:03:47,494 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750457014290 to consumer my-robot-session5-front-consumer +2025-06-21 00:03:47,872 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750457014290 (role: producer) in room my-robot-session5-front +2025-06-21 00:03:47,872 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750457014290 to consumer my-robot-session5-front-consumer +2025-06-21 00:03:47,875 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750457014290 (role: producer) in room my-robot-session5-front +2025-06-21 00:03:47,876 - video.core - INFO - Stream started by producer_1750457014290 in room my-robot-session5-front +2025-06-21 00:03:47,894 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750457014290 (role: producer) in room my-robot-session5-front +2025-06-21 00:03:47,908 - video.api - INFO - ๐Ÿ”ง WebRTC signal from my-robot-session5-front-consumer (role: consumer) in room my-robot-session5-front +2025-06-21 00:03:47,908 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer my-robot-session5-front-consumer to producer producer_1750457014290 +2025-06-21 00:05:51,962 - robotics.core - INFO - Created room my-robot-session5-joint-input +2025-06-21 00:05:51,979 - robotics.core - INFO - Producer remote-producer-my-robot-session5-joint-input-1750457151958 joined room my-robot-session5-joint-input +2025-06-21 00:05:59,195 - robotics.core - INFO - Created room my-robot-session5-joint-output +2025-06-21 00:05:59,208 - robotics.core - INFO - Consumer remote-consumer-my-robot-session5-joint-output-1750457159192 joined room my-robot-session5-joint-output +2025-06-21 00:07:08,489 - robotics.core - INFO - Consumer remote-consumer-my-robot-session5-joint-output-1750457159192 left room my-robot-session5-joint-output +2025-06-21 00:07:08,492 - robotics.core - INFO - Producer remote-producer-my-robot-session5-joint-input-1750457151958 left room my-robot-session5-joint-input +2025-06-21 00:08:55,691 - video.core - INFO - Producer producer_1750457014290 left video room my-robot-session5-front +2025-06-21 12:46:33,444 - video.core - INFO - Created video room my-robot-session6-front +2025-06-21 12:46:33,448 - robotics.core - INFO - Created room my-robot-session6-joint-input +2025-06-21 12:46:33,450 - robotics.core - INFO - Created room my-robot-session6-joint-output +2025-06-21 12:46:34,420 - video.core - INFO - Consumer my-robot-session6-front-consumer joined video room my-robot-session6-front +2025-06-21 12:46:34,935 - robotics.core - INFO - Consumer my-robot-session6-joint-input-consumer joined room my-robot-session6-joint-input +2025-06-21 12:46:34,941 - robotics.core - INFO - Producer my-robot-session6-joint-output-producer joined room my-robot-session6-joint-output +2025-06-21 12:46:51,185 - video.core - INFO - Producer producer_1750502810339 joined video room my-robot-session6-front +2025-06-21 12:46:52,229 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750502810339 (role: producer) in room my-robot-session6-front +2025-06-21 12:46:52,230 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750502810339 to consumer my-robot-session6-front-consumer +2025-06-21 12:46:53,872 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750502810339 (role: producer) in room my-robot-session6-front +2025-06-21 12:46:53,873 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750502810339 to consumer my-robot-session6-front-consumer +2025-06-21 12:46:53,875 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750502810339 (role: producer) in room my-robot-session6-front +2025-06-21 12:46:53,877 - video.core - INFO - Stream started by producer_1750502810339 in room my-robot-session6-front +2025-06-21 12:46:53,914 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750502810339 (role: producer) in room my-robot-session6-front +2025-06-21 12:46:53,980 - video.api - INFO - ๐Ÿ”ง WebRTC signal from my-robot-session6-front-consumer (role: consumer) in room my-robot-session6-front +2025-06-21 12:46:53,980 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer my-robot-session6-front-consumer to producer producer_1750502810339 +2025-06-21 12:46:53,985 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750502810339 (role: producer) in room my-robot-session6-front +2025-06-21 12:47:40,331 - robotics.core - INFO - Created room my-robot-session6-joint-input +2025-06-21 12:47:40,347 - robotics.core - INFO - Producer remote-producer-my-robot-session6-joint-input-1750502860328 joined room my-robot-session6-joint-input +2025-06-21 12:47:50,142 - robotics.core - INFO - Created room my-robot-session6-joint-output +2025-06-21 12:47:50,163 - robotics.core - INFO - Consumer remote-consumer-my-robot-session6-joint-output-1750502870140 joined room my-robot-session6-joint-output +2025-06-21 12:50:02,581 - robotics.core - INFO - Consumer consumer_1750503000022 joined room my-robot-session6-joint-output +2025-06-21 12:50:04,274 - robotics.core - INFO - Consumer consumer_1750503001279 joined room my-robot-session6-joint-input +2025-06-21 12:51:42,515 - video.core - INFO - Producer producer_1750502810339 left video room my-robot-session6-front +2025-06-21 12:51:43,201 - robotics.core - INFO - Consumer consumer_1750503000022 left room my-robot-session6-joint-output +2025-06-21 12:51:43,705 - robotics.core - INFO - Consumer consumer_1750503001279 left room my-robot-session6-joint-input +2025-06-21 12:51:45,442 - robotics.core - INFO - Producer remote-producer-my-robot-session6-joint-input-1750502860328 left room my-robot-session6-joint-input +2025-06-21 12:51:45,443 - robotics.core - INFO - Consumer remote-consumer-my-robot-session6-joint-output-1750502870140 left room my-robot-session6-joint-output +2025-06-21 15:07:16,085 - video.core - INFO - Consumer my-robot-session6-front-consumer left video room my-robot-session6-front +2025-06-21 15:07:16,086 - robotics.core - INFO - Producer my-robot-session4-joint-output-producer left room my-robot-session4-joint-output +2025-06-21 15:07:16,086 - video.core - INFO - Consumer my-robot-session4-front-consumer left video room my-robot-session4-front +2025-06-21 15:07:16,087 - robotics.core - INFO - Consumer my-robot-session4-joint-input-consumer left room my-robot-session4-joint-input +2025-06-21 15:07:16,087 - video.core - INFO - Consumer my-robot-session5-front-consumer left video room my-robot-session5-front +2025-06-21 15:07:18,308 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-21 15:17:59,764 - robotics.core - INFO - Created room spdksdp in workspace 66b850dd-8659-4eb9-b4dc-bbffc5c1d98b +2025-06-21 15:18:09,954 - robotics.core - INFO - Consumer consumer_1750511888366 joined room spdksdp +2025-06-21 15:18:10,569 - robotics.core - INFO - Consumer consumer_1750511888366 left room spdksdp +2025-06-21 15:19:21,913 - robotics.core - INFO - Consumer consumer_1750511960625 joined room spdksdp +2025-06-21 15:19:22,856 - robotics.core - INFO - Consumer consumer_1750511960625 left room spdksdp +2025-06-21 15:19:24,201 - robotics.core - INFO - Producer producer_1750511963734 joined room spdksdp +2025-06-21 15:19:28,070 - robotics.core - INFO - Producer producer_1750511963734 left room spdksdp +2025-06-21 15:19:50,837 - video.core - INFO - Created video room 35f24244-1f99-4d7a-a1af-1ba27087a1e7 in workspace 16b196a0-a34f-4fc0-88a5-7e9b80433155 +2025-06-21 15:19:50,844 - video.core - INFO - Producer producer_1750511981249 joined video room 35f24244-1f99-4d7a-a1af-1ba27087a1e7 +2025-06-21 15:19:51,803 - video.core - INFO - Producer producer_1750511981249 left video room 35f24244-1f99-4d7a-a1af-1ba27087a1e7 +2025-06-21 15:39:39,340 - robotics.core - INFO - Consumer consumer_1750513178637 joined room spdksdp +2025-06-21 15:39:41,243 - robotics.core - INFO - Consumer consumer_1750513178637 left room spdksdp +2025-06-21 15:39:42,707 - robotics.core - INFO - Producer producer_1750513181987 joined room spdksdp +2025-06-21 15:39:50,005 - robotics.core - INFO - Producer producer_1750513181987 left room spdksdp +2025-06-21 15:39:51,624 - robotics.core - INFO - Producer producer_1750513190117 joined room spdksdp +2025-06-21 15:39:53,054 - robotics.core - INFO - Producer producer_1750513190117 left room spdksdp +2025-06-21 15:39:55,490 - robotics.core - INFO - Producer producer_1750513193137 joined room spdksdp +2025-06-21 15:39:55,986 - robotics.core - INFO - Producer producer_1750513193137 left room spdksdp +2025-06-21 15:39:59,199 - robotics.core - INFO - Consumer consumer_1750513197292 joined room spdksdp +2025-06-21 15:40:00,111 - robotics.core - INFO - Consumer consumer_1750513197292 left room spdksdp +2025-06-21 15:40:10,702 - robotics.core - INFO - Consumer consumer_1750513209701 joined room spdksdp +2025-06-21 15:40:13,043 - robotics.core - INFO - Consumer consumer_1750513209701 left room spdksdp +2025-06-21 15:40:15,226 - robotics.core - INFO - Consumer consumer_1750513213147 joined room spdksdp +2025-06-21 15:40:22,979 - robotics.core - INFO - Consumer consumer_1750513213147 left room spdksdp +2025-06-21 15:42:05,054 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-21 16:00:58,164 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-21 16:02:15,813 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-21 16:02:29,443 - robotics.core - INFO - Created room b9c920b5-81c4-48a7-80e1-d23e8a0019bc in workspace sodssd +2025-06-21 16:13:44,865 - robotics.core - INFO - Created room sd;sdo in workspace dspoksd +2025-06-21 16:13:51,674 - robotics.core - INFO - Producer producer_1750515230902 joined room sd;sdo in workspace dspoksd +2025-06-21 16:13:55,898 - robotics.core - INFO - Producer producer_1750515230902 left room sd;sdo in workspace dspoksd +2025-06-21 16:20:04,686 - video.core - INFO - Created video room b60fc0ee-a8ae-450c-8842-76c32e85ea29 in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:21:03,201 - robotics.core - INFO - Created room ioh in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:21:05,305 - robotics.core - INFO - Consumer consumer_1750515664187 joined room ioh in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:21:06,162 - robotics.core - INFO - Consumer consumer_1750515664187 left room ioh in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:21:07,468 - robotics.core - INFO - Producer producer_1750515666864 joined room ioh in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:21:12,501 - robotics.core - INFO - Consumer consumer_1750515671212 joined room ioh in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:21:18,239 - robotics.core - INFO - Consumer consumer_1750515671212 left room ioh in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:21:29,604 - robotics.core - INFO - Producer producer_1750515666864 left room ioh in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:22:12,243 - robotics.core - INFO - Producer producer_1750515731470 joined room ioh in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:22:14,412 - robotics.core - INFO - Producer producer_1750515731470 left room ioh in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:35:25,492 - video.core - INFO - Consumer consumer_1750516503940 joined video room b60fc0ee-a8ae-450c-8842-76c32e85ea29 in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:35:27,748 - video.core - INFO - Consumer consumer_1750516503940 left video room b60fc0ee-a8ae-450c-8842-76c32e85ea29 in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:35:29,240 - video.core - INFO - Consumer consumer_1750516527814 joined video room b60fc0ee-a8ae-450c-8842-76c32e85ea29 in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:35:30,436 - video.core - INFO - Consumer consumer_1750516527814 left video room b60fc0ee-a8ae-450c-8842-76c32e85ea29 in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:35:33,211 - video.core - INFO - Consumer consumer_1750516530631 joined video room b60fc0ee-a8ae-450c-8842-76c32e85ea29 in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:35:37,640 - video.core - INFO - Consumer consumer_1750516530631 left video room b60fc0ee-a8ae-450c-8842-76c32e85ea29 in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:35:38,315 - video.core - INFO - Consumer consumer_1750516537693 joined video room b60fc0ee-a8ae-450c-8842-76c32e85ea29 in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:35:40,079 - video.core - INFO - Consumer consumer_1750516537693 left video room b60fc0ee-a8ae-450c-8842-76c32e85ea29 in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:35:42,866 - video.core - INFO - Consumer consumer_1750516542060 joined video room b60fc0ee-a8ae-450c-8842-76c32e85ea29 in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:36:12,723 - video.core - INFO - Consumer consumer_1750516542060 left video room b60fc0ee-a8ae-450c-8842-76c32e85ea29 in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:36:13,598 - video.core - INFO - Consumer consumer_1750516572775 joined video room b60fc0ee-a8ae-450c-8842-76c32e85ea29 in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:36:38,369 - video.core - INFO - Consumer consumer_1750516572775 left video room b60fc0ee-a8ae-450c-8842-76c32e85ea29 in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:36:43,218 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-21 16:36:52,163 - video.core - INFO - Created video room sdopjsd in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:37:01,922 - video.core - INFO - Consumer consumer_1750516615562 joined video room sdopjsd in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:38:46,816 - video.core - INFO - Consumer consumer_1750516615562 left video room sdopjsd in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:41:37,856 - video.core - INFO - Consumer consumer_1750516892408 joined video room sdopjsd in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:41:47,119 - video.core - INFO - Consumer consumer_1750516892408 left video room sdopjsd in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:41:48,423 - video.core - INFO - Consumer consumer_1750516892408 joined video room sdopjsd in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:42:00,493 - video.core - INFO - Producer producer_1750516892179 joined video room sdopjsd in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:42:01,540 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750516892179 (role: producer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:42:01,540 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750516892179 to consumer consumer_1750516892408 +2025-06-21 16:42:01,546 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750516892408 (role: consumer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:42:01,547 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1750516892408 to producer producer_1750516892179 +2025-06-21 16:42:03,984 - video.core - INFO - Producer producer_1750516892179 left video room sdopjsd in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:42:09,806 - video.core - INFO - Producer producer_1750516923985 joined video room sdopjsd in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:42:09,829 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750516923985 (role: producer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:42:09,829 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750516923985 to consumer consumer_1750516892408 +2025-06-21 16:42:09,830 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750516923985 (role: producer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:42:09,831 - video.core - INFO - Stream started by producer_1750516923985 in room sdopjsd (workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504) +2025-06-21 16:42:09,852 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750516892408 (role: consumer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:42:09,852 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1750516892408 to producer producer_1750516923985 +2025-06-21 16:42:09,856 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750516892408 (role: consumer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:42:17,769 - video.core - INFO - Producer producer_1750516923985 left video room sdopjsd in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:43:17,864 - video.core - INFO - Producer producer_1750516991244 joined video room sdopjsd in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:43:17,902 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750516991244 (role: producer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:43:17,902 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750516991244 to consumer consumer_1750516892408 +2025-06-21 16:43:17,904 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750516991244 (role: producer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:43:17,905 - video.core - INFO - Stream started by producer_1750516991244 in room sdopjsd (workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504) +2025-06-21 16:43:17,913 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750516892408 (role: consumer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:43:17,914 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1750516892408 to producer producer_1750516991244 +2025-06-21 16:43:17,917 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750516892408 (role: consumer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:43:17,936 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750516892408 (role: consumer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:43:29,642 - video.core - INFO - Consumer consumer_1750517008786 joined video room sdopjsd in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:43:29,668 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750516991244 (role: producer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:43:29,668 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750516991244 to consumer consumer_1750517008786 +2025-06-21 16:43:29,671 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750516991244 (role: producer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:43:29,690 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750516991244 (role: producer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:43:29,690 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750517008786 (role: consumer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:43:29,691 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1750517008786 to producer producer_1750516991244 +2025-06-21 16:43:29,696 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750517008786 (role: consumer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:43:33,834 - video.core - INFO - Consumer consumer_1750517008786 left video room sdopjsd in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:43:34,505 - video.core - INFO - Consumer consumer_1750517013884 joined video room sdopjsd in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:43:34,518 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750516991244 (role: producer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:43:34,518 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750516991244 to consumer consumer_1750517013884 +2025-06-21 16:43:34,519 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750516991244 (role: producer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:43:34,531 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750517013884 (role: consumer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:43:34,532 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1750517013884 to producer producer_1750516991244 +2025-06-21 16:43:34,538 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750517013884 (role: consumer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:43:36,768 - video.core - INFO - Consumer consumer_1750517013884 left video room sdopjsd in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:43:46,365 - video.core - WARNING - Producer producer_1750516974298 failed to join room sdopjsd - room already has producer +2025-06-21 16:43:51,088 - video.core - INFO - Consumer consumer_1750516874020 joined video room sdopjsd in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:43:51,103 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750516991244 (role: producer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:43:51,103 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750516991244 to consumer consumer_1750516874020 +2025-06-21 16:43:51,105 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750516991244 (role: producer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:43:51,119 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750516874020 (role: consumer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:43:51,119 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1750516874020 to producer producer_1750516991244 +2025-06-21 16:43:51,125 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750516874020 (role: consumer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:44:30,562 - video.core - INFO - Consumer consumer_1750516874020 left video room sdopjsd in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:44:31,304 - video.core - INFO - Consumer consumer_1750517070700 joined video room sdopjsd in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:44:31,319 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750516991244 (role: producer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:44:31,320 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750516991244 to consumer consumer_1750517070700 +2025-06-21 16:44:31,321 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750516991244 (role: producer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:44:31,332 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750517070700 (role: consumer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:44:31,332 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1750517070700 to producer producer_1750516991244 +2025-06-21 16:44:31,342 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750517070700 (role: consumer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:44:37,033 - video.core - INFO - Consumer consumer_1750517070700 left video room sdopjsd in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:44:37,876 - video.core - INFO - Consumer consumer_1750517077082 joined video room sdopjsd in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:44:37,890 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750516991244 (role: producer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:44:37,890 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750516991244 to consumer consumer_1750517077082 +2025-06-21 16:44:37,892 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750516991244 (role: producer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:44:37,901 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750517077082 (role: consumer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:44:37,901 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1750517077082 to producer producer_1750516991244 +2025-06-21 16:44:37,906 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750517077082 (role: consumer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:45:03,225 - video.core - INFO - Consumer consumer_1750516892408 left video room sdopjsd in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:45:04,003 - video.core - INFO - Consumer consumer_1750517103333 joined video room sdopjsd in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:45:04,019 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750516991244 (role: producer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:45:04,020 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750516991244 to consumer consumer_1750517103333 +2025-06-21 16:45:04,021 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750516991244 (role: producer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:45:04,031 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750517103333 (role: consumer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:45:04,031 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1750517103333 to producer producer_1750516991244 +2025-06-21 16:45:04,035 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750516991244 (role: producer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:45:04,040 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750517103333 (role: consumer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:45:33,985 - video.core - INFO - Consumer consumer_1750517077082 left video room sdopjsd in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:45:33,986 - video.core - INFO - Consumer consumer_1750517103333 left video room sdopjsd in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:45:36,763 - video.core - INFO - Consumer consumer_1750517133968 joined video room sdopjsd in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:45:36,791 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750516991244 (role: producer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:45:36,791 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750516991244 to consumer consumer_1750517133968 +2025-06-21 16:45:36,792 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750516991244 (role: producer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:45:36,811 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750516991244 (role: producer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:45:36,821 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750517133968 (role: consumer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:45:36,822 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1750517133968 to producer producer_1750516991244 +2025-06-21 16:45:36,828 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750517133968 (role: consumer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:45:39,058 - video.core - INFO - Consumer consumer_1750517133968 left video room sdopjsd in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:45:39,974 - video.core - INFO - Consumer consumer_1750517139130 joined video room sdopjsd in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:45:39,988 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750516991244 (role: producer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:45:39,988 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750516991244 to consumer consumer_1750517139130 +2025-06-21 16:45:39,989 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750516991244 (role: producer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:45:40,006 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750517139130 (role: consumer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:45:40,006 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1750517139130 to producer producer_1750516991244 +2025-06-21 16:45:40,011 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750516991244 (role: producer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:45:40,012 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750517139130 (role: consumer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:45:46,716 - video.core - INFO - Consumer consumer_1750517139130 left video room sdopjsd in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:45:53,545 - video.core - INFO - Consumer consumer_1750517153055 joined video room sdopjsd in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:45:53,566 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750516991244 (role: producer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:45:53,566 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750516991244 to consumer consumer_1750517153055 +2025-06-21 16:45:53,567 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750516991244 (role: producer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:45:53,584 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750517153055 (role: consumer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:45:53,584 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1750517153055 to producer producer_1750516991244 +2025-06-21 16:45:53,587 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750516991244 (role: producer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:45:53,593 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750517153055 (role: consumer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:45:59,212 - video.core - INFO - Consumer consumer_1750517153055 left video room sdopjsd in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:46:09,319 - video.core - INFO - Consumer consumer_1750517159213 joined video room sdopjsd in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:46:09,339 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750516991244 (role: producer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:46:09,340 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750516991244 to consumer consumer_1750517159213 +2025-06-21 16:46:09,341 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750516991244 (role: producer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:46:09,358 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750516991244 (role: producer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:46:09,359 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750517159213 (role: consumer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:46:09,359 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1750517159213 to producer producer_1750516991244 +2025-06-21 16:46:09,365 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750517159213 (role: consumer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:47:00,732 - video.core - INFO - Producer producer_1750516991244 left video room sdopjsd in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:47:06,876 - video.core - INFO - Producer producer_1750517220848 joined video room sdopjsd in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:47:06,909 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750517220848 (role: producer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:47:06,909 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750517220848 to consumer consumer_1750517159213 +2025-06-21 16:47:06,910 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750517220848 (role: producer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:47:06,912 - video.core - INFO - Stream started by producer_1750517220848 in room sdopjsd (workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504) +2025-06-21 16:47:06,925 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750517159213 (role: consumer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:47:06,925 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1750517159213 to producer producer_1750517220848 +2025-06-21 16:47:06,927 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750517159213 (role: consumer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:47:06,948 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750517159213 (role: consumer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:47:09,555 - video.core - INFO - Producer producer_1750517220848 left video room sdopjsd in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:47:11,705 - video.core - INFO - Producer producer_1750517229611 joined video room sdopjsd in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:47:11,729 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750517229611 (role: producer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:47:11,730 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750517229611 to consumer consumer_1750517159213 +2025-06-21 16:47:11,731 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750517229611 (role: producer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:47:11,732 - video.core - INFO - Stream started by producer_1750517229611 in room sdopjsd (workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504) +2025-06-21 16:47:11,739 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750517159213 (role: consumer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:47:11,739 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1750517159213 to producer producer_1750517229611 +2025-06-21 16:47:11,743 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750517159213 (role: consumer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:47:11,764 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750517159213 (role: consumer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:47:11,872 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750517159213 (role: consumer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:47:42,878 - video.core - INFO - Consumer consumer_1750517159213 left video room sdopjsd in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:48:08,663 - video.core - INFO - Producer producer_1750517229611 left video room sdopjsd in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:49:05,754 - video.core - INFO - Producer producer_1750517339716 joined video room sdopjsd in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:49:05,792 - video.core - INFO - Stream started by producer_1750517339716 in room sdopjsd (workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504) +2025-06-21 16:49:08,236 - video.core - INFO - Consumer consumer_1750517347445 joined video room sdopjsd in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:49:08,254 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750517339716 (role: producer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:49:08,254 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750517339716 to consumer consumer_1750517347445 +2025-06-21 16:49:08,255 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750517339716 (role: producer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:49:08,271 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750517347445 (role: consumer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:49:08,271 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1750517347445 to producer producer_1750517339716 +2025-06-21 16:49:08,276 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750517347445 (role: consumer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:49:31,896 - video.core - INFO - Producer producer_1750517339716 left video room sdopjsd in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:49:42,709 - video.core - INFO - Producer producer_1750517371974 joined video room sdopjsd in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:49:42,750 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750517371974 (role: producer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:49:42,750 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750517371974 to consumer consumer_1750517347445 +2025-06-21 16:49:42,751 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750517371974 (role: producer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:49:42,753 - video.core - INFO - Stream started by producer_1750517371974 in room sdopjsd (workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504) +2025-06-21 16:49:42,760 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750517347445 (role: consumer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:49:42,760 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1750517347445 to producer producer_1750517371974 +2025-06-21 16:49:42,764 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750517347445 (role: consumer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:49:42,783 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750517347445 (role: consumer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:49:50,072 - video.core - INFO - Consumer consumer_1750517347445 left video room sdopjsd in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:49:51,024 - video.core - INFO - Consumer consumer_1750517390125 joined video room sdopjsd in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:49:51,039 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750517371974 (role: producer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:49:51,039 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750517371974 to consumer consumer_1750517390125 +2025-06-21 16:49:51,040 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750517371974 (role: producer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:49:51,055 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750517390125 (role: consumer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:49:51,055 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1750517390125 to producer producer_1750517371974 +2025-06-21 16:49:51,061 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750517390125 (role: consumer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:51:07,822 - video.core - INFO - Producer producer_1750517371974 left video room sdopjsd in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:51:15,644 - video.core - INFO - Producer producer_1750517472283 joined video room sdopjsd in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:51:15,682 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750517472283 (role: producer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:51:15,682 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750517472283 to consumer consumer_1750517390125 +2025-06-21 16:51:15,685 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750517472283 (role: producer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:51:15,686 - video.core - INFO - Stream started by producer_1750517472283 in room sdopjsd (workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504) +2025-06-21 16:51:15,698 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750517390125 (role: consumer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:51:15,699 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1750517390125 to producer producer_1750517472283 +2025-06-21 16:51:15,704 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750517390125 (role: consumer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:52:08,912 - video.core - INFO - Consumer consumer_1750517390125 left video room sdopjsd in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:52:22,822 - video.core - INFO - Producer producer_1750517472283 left video room sdopjsd in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:52:28,007 - video.core - INFO - Producer producer_1750517542930 joined video room sdopjsd in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:52:28,045 - video.core - INFO - Stream started by producer_1750517542930 in room sdopjsd (workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504) +2025-06-21 16:52:31,345 - video.core - INFO - Consumer consumer_1750517528901 joined video room sdopjsd in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:52:31,372 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750517542930 (role: producer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:52:31,372 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750517542930 to consumer consumer_1750517528901 +2025-06-21 16:52:31,373 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750517542930 (role: producer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:52:31,388 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750517528901 (role: consumer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:52:31,388 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1750517528901 to producer producer_1750517542930 +2025-06-21 16:52:31,392 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750517528901 (role: consumer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:52:55,534 - video.core - INFO - Consumer consumer_1750517574063 joined video room sdopjsd in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:52:55,546 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750517542930 (role: producer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:52:55,547 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750517542930 to consumer consumer_1750517574063 +2025-06-21 16:52:55,548 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750517542930 (role: producer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:52:55,564 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750517574063 (role: consumer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:52:55,565 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1750517574063 to producer producer_1750517542930 +2025-06-21 16:52:55,577 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750517574063 (role: consumer) in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504, room sdopjsd +2025-06-21 16:53:11,628 - video.core - INFO - Consumer consumer_1750517574063 left video room sdopjsd in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:53:11,807 - video.core - INFO - Producer producer_1750517542930 left video room sdopjsd in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 16:53:11,950 - video.core - INFO - Consumer consumer_1750517528901 left video room sdopjsd in workspace 09717a2f-75a9-42fa-a733-ca8cdcfcb504 +2025-06-21 17:03:59,783 - robotics.core - INFO - Created room GreenSpirit859 in workspace b24d4ac3-e296-40a2-950f-0cab7599d982 +2025-06-21 17:04:02,593 - robotics.core - INFO - Created room GreenSpirit859 in workspace 307e6000-af0e-4db4-9ba2-db2fcba1669f +2025-06-21 17:04:03,071 - robotics.core - INFO - Created room GreenSpirit859 in workspace f117e9e0-1f24-49db-8c30-3eb92cba04be +2025-06-21 17:04:03,089 - robotics.core - INFO - Created room bc914f62-1e07-4449-9256-33b227f1b97c in workspace GreenSpirit859 +2025-06-21 17:04:03,673 - robotics.core - INFO - Created room GreenSpirit859 in workspace 50eb159f-85cd-421d-b1c4-cee589834367 +2025-06-21 17:04:13,527 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-21 17:10:36,695 - robotics.core - INFO - Created room StellarCentaur473 in workspace f223cf1f-4003-428f-91b0-4a50ca1c80da +2025-06-21 17:10:52,081 - robotics.core - INFO - Created room BlazingTermite563 in workspace f43651f6-593f-4b9a-a3ff-71544a2058dd +2025-06-21 17:11:43,414 - robotics.core - INFO - Created room BrightFerret779 in workspace tafg +2025-06-21 17:11:47,951 - robotics.core - INFO - Created room HighlandWildebeest067 in workspace tafg +2025-06-21 17:11:48,897 - robotics.core - INFO - Created room HighlandWildebeest067 in workspace tafg +2025-06-21 17:11:50,740 - robotics.core - INFO - Created room HighlandWildebeest067 in workspace tafg +2025-06-21 17:11:50,767 - robotics.core - INFO - Created room HighlandWildebeest067 in workspace default-workspace +2025-06-21 17:11:50,776 - robotics.core - INFO - Consumer remote-consumer-HighlandWildebeest067-1750518710765 joined room HighlandWildebeest067 in workspace default-workspace +2025-06-21 17:11:58,077 - robotics.core - INFO - Created room HighlandWildebeest067 in workspace default-workspace +2025-06-21 17:11:58,102 - robotics.core - INFO - Producer remote-producer-HighlandWildebeest067-1750518718074 joined room HighlandWildebeest067 in workspace default-workspace +2025-06-21 17:12:10,675 - robotics.core - INFO - Producer producer_1750518729975 joined room HighlandWildebeest067 in workspace tafg +2025-06-21 17:12:17,459 - robotics.core - INFO - Producer remote-producer-HighlandWildebeest067-1750518718074 left room HighlandWildebeest067 in workspace default-workspace +2025-06-21 17:12:19,341 - robotics.core - INFO - Producer producer_1750518729975 left room HighlandWildebeest067 in workspace tafg +2025-06-21 17:12:24,039 - robotics.core - INFO - Created room VigilantPegasus685 in workspace tafg +2025-06-21 17:12:24,063 - robotics.core - INFO - Created room VigilantPegasus685 in workspace default-workspace +2025-06-21 17:12:24,069 - robotics.core - INFO - Consumer remote-consumer-VigilantPegasus685-1750518744062 joined room VigilantPegasus685 in workspace default-workspace +2025-06-21 17:12:27,620 - robotics.core - INFO - Consumer consumer_1750518746589 joined room VigilantPegasus685 in workspace tafg +2025-06-21 17:12:33,561 - robotics.core - INFO - Consumer consumer_1750518746589 left room VigilantPegasus685 in workspace tafg +2025-06-21 17:12:39,978 - robotics.core - INFO - Consumer consumer_1750518754863 joined room VigilantPegasus685 in workspace tafg +2025-06-21 17:12:41,826 - robotics.core - INFO - Consumer consumer_1750518754863 left room VigilantPegasus685 in workspace tafg +2025-06-21 17:12:44,432 - robotics.core - INFO - Producer producer_1750518763627 joined room VigilantPegasus685 in workspace tafg +2025-06-21 17:13:07,808 - robotics.core - INFO - Consumer consumer_1750518786807 joined room VigilantPegasus685 in workspace tafg +2025-06-21 17:13:14,481 - robotics.core - INFO - Consumer remote-consumer-VigilantPegasus685-1750518744062 left room VigilantPegasus685 in workspace default-workspace +2025-06-21 17:13:34,803 - robotics.core - INFO - Consumer consumer_1750518786807 left room VigilantPegasus685 in workspace tafg +2025-06-21 17:17:20,797 - robotics.core - INFO - Created room PrimalLamb815 in workspace tafg +2025-06-21 17:17:20,833 - robotics.core - INFO - Created room PrimalLamb815 in workspace tafg +2025-06-21 17:17:20,839 - robotics.core - INFO - Consumer remote-consumer-PrimalLamb815-1750519040832 joined room PrimalLamb815 in workspace tafg +2025-06-21 17:17:23,275 - robotics.core - INFO - Producer producer_1750518763627 left room VigilantPegasus685 in workspace tafg +2025-06-21 17:17:26,127 - robotics.core - INFO - Producer producer_1750519045455 joined room PrimalLamb815 in workspace tafg +2025-06-21 17:19:05,087 - robotics.core - INFO - Consumer remote-consumer-PrimalLamb815-1750519040832 left room PrimalLamb815 in workspace tafg +2025-06-21 17:19:10,558 - robotics.core - INFO - Producer producer_1750519045455 left room PrimalLamb815 in workspace tafg +2025-06-21 17:58:49,758 - video.core - INFO - Created video room camera_1750521513836-BronzeBass761 in workspace tafg +2025-06-21 17:58:49,778 - video.core - INFO - Producer producer-id joined video room camera_1750521513836-BronzeBass761 in workspace tafg +2025-06-21 17:58:49,901 - video.core - INFO - Stream started by producer-id in room camera_1750521513836-BronzeBass761 (workspace tafg) +2025-06-21 17:59:02,265 - video.core - INFO - Consumer consumer_1750521541531 joined video room camera_1750521513836-BronzeBass761 in workspace tafg +2025-06-21 17:59:02,316 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer-id (role: producer) in workspace tafg, room camera_1750521513836-BronzeBass761 +2025-06-21 17:59:02,316 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer-id to consumer consumer_1750521541531 +2025-06-21 17:59:02,317 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer-id (role: producer) in workspace tafg, room camera_1750521513836-BronzeBass761 +2025-06-21 17:59:02,318 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer-id (role: producer) in workspace tafg, room camera_1750521513836-BronzeBass761 +2025-06-21 17:59:02,335 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer-id (role: producer) in workspace tafg, room camera_1750521513836-BronzeBass761 +2025-06-21 17:59:02,336 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer-id (role: producer) in workspace tafg, room camera_1750521513836-BronzeBass761 +2025-06-21 17:59:02,347 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750521541531 (role: consumer) in workspace tafg, room camera_1750521513836-BronzeBass761 +2025-06-21 17:59:02,347 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1750521541531 to producer producer-id +2025-06-21 17:59:02,349 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750521541531 (role: consumer) in workspace tafg, room camera_1750521513836-BronzeBass761 +2025-06-21 17:59:07,764 - video.core - INFO - Consumer consumer_1750521541531 left video room camera_1750521513836-BronzeBass761 in workspace tafg +2025-06-21 17:59:10,515 - video.core - INFO - Created video room sdpks in workspace tafg +2025-06-21 17:59:13,277 - video.core - INFO - Stream stopped by producer-id in room camera_1750521513836-BronzeBass761 (workspace tafg) +2025-06-21 17:59:13,278 - video.core - INFO - Producer producer-id left video room camera_1750521513836-BronzeBass761 in workspace tafg +2025-06-21 17:59:18,133 - video.core - INFO - Producer producer-id joined video room sdpks in workspace tafg +2025-06-21 17:59:18,234 - video.core - INFO - Stream started by producer-id in room sdpks (workspace tafg) +2025-06-21 17:59:21,619 - video.core - INFO - Consumer consumer_1750521560862 joined video room sdpks in workspace tafg +2025-06-21 17:59:21,640 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer-id (role: producer) in workspace tafg, room sdpks +2025-06-21 17:59:21,640 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer-id to consumer consumer_1750521560862 +2025-06-21 17:59:21,641 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer-id (role: producer) in workspace tafg, room sdpks +2025-06-21 17:59:21,642 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer-id (role: producer) in workspace tafg, room sdpks +2025-06-21 17:59:21,658 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750521560862 (role: consumer) in workspace tafg, room sdpks +2025-06-21 17:59:21,658 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1750521560862 to producer producer-id +2025-06-21 17:59:21,660 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750521560862 (role: consumer) in workspace tafg, room sdpks +2025-06-21 18:08:56,565 - video.core - INFO - Producer producer-id left video room sdpks in workspace tafg +2025-06-21 18:10:27,964 - video.core - INFO - Created video room camera_1750522211025-CursedOtter571 in workspace tafg +2025-06-21 18:10:27,994 - video.core - INFO - Consumer consumer-id joined video room camera_1750522211025-CursedOtter571 in workspace tafg +2025-06-21 18:10:28,785 - video.core - INFO - Created video room camera_1750522211025-WhiteSkunk065 in workspace tafg +2025-06-21 18:10:28,804 - video.core - INFO - Consumer consumer-id left video room camera_1750522211025-CursedOtter571 in workspace tafg +2025-06-21 18:10:28,809 - video.core - INFO - Consumer consumer-id joined video room camera_1750522211025-WhiteSkunk065 in workspace tafg +2025-06-21 18:10:30,221 - video.core - INFO - Created video room camera_1750522211025-ValleyWalrus235 in workspace tafg +2025-06-21 18:10:30,239 - video.core - INFO - Consumer consumer-id left video room camera_1750522211025-WhiteSkunk065 in workspace tafg +2025-06-21 18:10:30,242 - video.core - INFO - Consumer consumer-id joined video room camera_1750522211025-ValleyWalrus235 in workspace tafg +2025-06-21 18:10:30,404 - video.core - INFO - Created video room camera_1750522211025-DaringBeluga892 in workspace tafg +2025-06-21 18:10:30,433 - video.core - INFO - Consumer consumer-id left video room camera_1750522211025-ValleyWalrus235 in workspace tafg +2025-06-21 18:10:30,437 - video.core - INFO - Consumer consumer-id joined video room camera_1750522211025-DaringBeluga892 in workspace tafg +2025-06-21 18:10:30,684 - video.core - INFO - Created video room camera_1750522211025-BrutalWraith550 in workspace tafg +2025-06-21 18:10:30,703 - video.core - INFO - Consumer consumer-id left video room camera_1750522211025-DaringBeluga892 in workspace tafg +2025-06-21 18:10:30,706 - video.core - INFO - Consumer consumer-id joined video room camera_1750522211025-BrutalWraith550 in workspace tafg +2025-06-21 18:10:37,911 - video.core - INFO - Created video room camera_1750522211025-GentleBobcat299 in workspace tafg +2025-06-21 18:10:37,923 - video.core - INFO - Consumer consumer-id left video room camera_1750522211025-BrutalWraith550 in workspace tafg +2025-06-21 18:10:37,927 - video.core - INFO - Consumer consumer-id joined video room camera_1750522211025-GentleBobcat299 in workspace tafg +2025-06-21 18:10:38,328 - video.core - INFO - Created video room camera_1750522211025-BanditKudu239 in workspace tafg +2025-06-21 18:10:38,338 - video.core - INFO - Consumer consumer-id left video room camera_1750522211025-GentleBobcat299 in workspace tafg +2025-06-21 18:10:38,341 - video.core - INFO - Consumer consumer-id joined video room camera_1750522211025-BanditKudu239 in workspace tafg +2025-06-21 18:10:38,567 - video.core - INFO - Created video room camera_1750522211025-LegendaryLion636 in workspace tafg +2025-06-21 18:10:38,588 - video.core - INFO - Consumer consumer-id left video room camera_1750522211025-BanditKudu239 in workspace tafg +2025-06-21 18:10:38,591 - video.core - INFO - Consumer consumer-id joined video room camera_1750522211025-LegendaryLion636 in workspace tafg +2025-06-21 18:10:47,359 - video.core - INFO - Created video room camera_1750522211025-PlatinumOrca922 in workspace tafg +2025-06-21 18:10:47,374 - video.core - INFO - Consumer consumer-id left video room camera_1750522211025-LegendaryLion636 in workspace tafg +2025-06-21 18:10:47,378 - video.core - INFO - Consumer consumer-id joined video room camera_1750522211025-PlatinumOrca922 in workspace tafg +2025-06-21 18:10:50,044 - video.core - INFO - Created video room camera_1750522211025-SleekBronco841 in workspace tafg +2025-06-21 18:10:50,056 - video.core - INFO - Consumer consumer-id left video room camera_1750522211025-PlatinumOrca922 in workspace tafg +2025-06-21 18:10:50,059 - video.core - INFO - Consumer consumer-id joined video room camera_1750522211025-SleekBronco841 in workspace tafg +2025-06-21 18:12:57,847 - video.core - INFO - Consumer consumer-id left video room camera_1750522211025-SleekBronco841 in workspace tafg +2025-06-21 18:18:33,910 - robotics.core - INFO - Created room PrimalLamb815 in workspace tafg +2025-06-21 18:18:33,934 - robotics.core - INFO - Consumer remote-consumer-PrimalLamb815-1750522713903 joined room PrimalLamb815 in workspace tafg +2025-06-21 18:18:45,752 - robotics.core - INFO - Created room BrightFerret779 in workspace tafg +2025-06-21 18:18:45,772 - robotics.core - INFO - Consumer remote-consumer-PrimalLamb815-1750522713903 left room PrimalLamb815 in workspace tafg +2025-06-21 18:18:45,802 - robotics.core - INFO - Consumer remote-consumer-BrightFerret779-1750522725504 joined room BrightFerret779 in workspace tafg +2025-06-21 18:19:21,437 - robotics.core - INFO - Consumer remote-consumer-BrightFerret779-1750522725504 left room BrightFerret779 in workspace tafg +2025-06-21 18:27:32,823 - video.core - INFO - Created video room camera_1750523059380-AncientChimera094 in workspace tafg +2025-06-21 18:27:33,206 - video.core - INFO - Consumer consumer-id joined video room camera_1750523059380-AncientChimera094 in workspace tafg +2025-06-21 18:28:56,657 - video.core - INFO - Consumer consumer-id left video room camera_1750523059380-AncientChimera094 in workspace tafg +2025-06-21 18:44:29,158 - video.core - INFO - Consumer consumer_1750521560862 left video room sdpks in workspace tafg +2025-06-21 18:47:30,174 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-21 18:47:34,399 - video.core - INFO - Created video room siojsdj-front in workspace 2f11c022-79b7-4dec-b21e-4f453bdad27f +2025-06-21 18:47:34,402 - robotics.core - INFO - Created room siojsdj-joint-input in workspace 2f11c022-79b7-4dec-b21e-4f453bdad27f +2025-06-21 18:47:34,403 - robotics.core - INFO - Created room siojsdj-joint-output in workspace 2f11c022-79b7-4dec-b21e-4f453bdad27f +2025-06-21 18:47:35,710 - video.core - INFO - Consumer siojsdj-front-consumer joined video room siojsdj-front in workspace 2f11c022-79b7-4dec-b21e-4f453bdad27f +2025-06-21 18:47:36,221 - robotics.core - INFO - Consumer siojsdj-joint-input-consumer joined room siojsdj-joint-input in workspace 2f11c022-79b7-4dec-b21e-4f453bdad27f +2025-06-21 18:47:36,231 - robotics.core - INFO - Producer siojsdj-joint-output-producer joined room siojsdj-joint-output in workspace 2f11c022-79b7-4dec-b21e-4f453bdad27f +2025-06-21 18:49:49,332 - video.core - INFO - Consumer siojsdj-front-consumer left video room siojsdj-front in workspace 2f11c022-79b7-4dec-b21e-4f453bdad27f +2025-06-21 18:49:49,336 - robotics.core - INFO - Consumer siojsdj-joint-input-consumer left room siojsdj-joint-input in workspace 2f11c022-79b7-4dec-b21e-4f453bdad27f +2025-06-21 18:49:49,339 - robotics.core - INFO - Producer siojsdj-joint-output-producer left room siojsdj-joint-output in workspace 2f11c022-79b7-4dec-b21e-4f453bdad27f +2025-06-21 18:54:43,045 - video.core - INFO - Created video room my-robot-01-front in workspace 5cde4d9f-a41d-49ef-9bb8-8a6dfda6f04d +2025-06-21 18:54:43,048 - robotics.core - INFO - Created room my-robot-01-joint-input in workspace 5cde4d9f-a41d-49ef-9bb8-8a6dfda6f04d +2025-06-21 18:54:43,049 - robotics.core - INFO - Created room my-robot-01-joint-output in workspace 5cde4d9f-a41d-49ef-9bb8-8a6dfda6f04d +2025-06-21 18:54:44,034 - video.core - INFO - Consumer my-robot-01-front-consumer joined video room my-robot-01-front in workspace 5cde4d9f-a41d-49ef-9bb8-8a6dfda6f04d +2025-06-21 18:54:44,541 - robotics.core - INFO - Consumer my-robot-01-joint-input-consumer joined room my-robot-01-joint-input in workspace 5cde4d9f-a41d-49ef-9bb8-8a6dfda6f04d +2025-06-21 18:54:44,555 - robotics.core - INFO - Producer my-robot-01-joint-output-producer joined room my-robot-01-joint-output in workspace 5cde4d9f-a41d-49ef-9bb8-8a6dfda6f04d +2025-06-21 18:55:56,672 - video.core - INFO - Consumer my-robot-01-front-consumer left video room my-robot-01-front in workspace 5cde4d9f-a41d-49ef-9bb8-8a6dfda6f04d +2025-06-21 18:55:56,674 - robotics.core - INFO - Consumer my-robot-01-joint-input-consumer left room my-robot-01-joint-input in workspace 5cde4d9f-a41d-49ef-9bb8-8a6dfda6f04d +2025-06-21 18:55:56,674 - robotics.core - INFO - Producer my-robot-01-joint-output-producer left room my-robot-01-joint-output in workspace 5cde4d9f-a41d-49ef-9bb8-8a6dfda6f04d +2025-06-21 18:56:42,910 - video.core - INFO - Created video room my-robot-01-front in workspace 576d1258-3684-487a-a365-b6bd5108caa7 +2025-06-21 18:56:42,914 - robotics.core - INFO - Created room my-robot-01-joint-input in workspace 576d1258-3684-487a-a365-b6bd5108caa7 +2025-06-21 18:56:42,916 - robotics.core - INFO - Created room my-robot-01-joint-output in workspace 576d1258-3684-487a-a365-b6bd5108caa7 +2025-06-21 18:56:43,791 - video.core - INFO - Consumer my-robot-01-front-consumer joined video room my-robot-01-front in workspace 576d1258-3684-487a-a365-b6bd5108caa7 +2025-06-21 18:56:44,302 - robotics.core - INFO - Consumer my-robot-01-joint-input-consumer joined room my-robot-01-joint-input in workspace 576d1258-3684-487a-a365-b6bd5108caa7 +2025-06-21 18:56:44,313 - robotics.core - INFO - Producer my-robot-01-joint-output-producer joined room my-robot-01-joint-output in workspace 576d1258-3684-487a-a365-b6bd5108caa7 +2025-06-21 19:00:17,444 - video.core - INFO - Consumer my-robot-01-front-consumer left video room my-robot-01-front in workspace 576d1258-3684-487a-a365-b6bd5108caa7 +2025-06-21 19:00:17,446 - robotics.core - INFO - Consumer my-robot-01-joint-input-consumer left room my-robot-01-joint-input in workspace 576d1258-3684-487a-a365-b6bd5108caa7 +2025-06-21 19:00:17,446 - robotics.core - INFO - Producer my-robot-01-joint-output-producer left room my-robot-01-joint-output in workspace 576d1258-3684-487a-a365-b6bd5108caa7 +2025-06-21 19:09:46,115 - video.core - INFO - Created video room my-robot-01-front in workspace 1793a690-b8fe-44d8-a694-55998d3bf545 +2025-06-21 19:09:46,119 - robotics.core - INFO - Created room my-robot-01-joint-input in workspace 1793a690-b8fe-44d8-a694-55998d3bf545 +2025-06-21 19:09:46,124 - robotics.core - INFO - Created room my-robot-01-joint-output in workspace 1793a690-b8fe-44d8-a694-55998d3bf545 +2025-06-21 19:09:47,075 - video.core - INFO - Consumer my-robot-01-front-consumer joined video room my-robot-01-front in workspace 1793a690-b8fe-44d8-a694-55998d3bf545 +2025-06-21 19:09:47,584 - robotics.core - INFO - Consumer my-robot-01-joint-input-consumer joined room my-robot-01-joint-input in workspace 1793a690-b8fe-44d8-a694-55998d3bf545 +2025-06-21 19:09:47,588 - robotics.core - INFO - Producer my-robot-01-joint-output-producer joined room my-robot-01-joint-output in workspace 1793a690-b8fe-44d8-a694-55998d3bf545 +2025-06-21 19:12:00,222 - video.core - INFO - Consumer my-robot-01-front-consumer left video room my-robot-01-front in workspace 1793a690-b8fe-44d8-a694-55998d3bf545 +2025-06-21 19:12:00,223 - robotics.core - INFO - Consumer my-robot-01-joint-input-consumer left room my-robot-01-joint-input in workspace 1793a690-b8fe-44d8-a694-55998d3bf545 +2025-06-21 19:12:00,223 - robotics.core - INFO - Producer my-robot-01-joint-output-producer left room my-robot-01-joint-output in workspace 1793a690-b8fe-44d8-a694-55998d3bf545 +2025-06-21 19:13:23,596 - video.core - INFO - Created video room my-robot-01-front in workspace cc663145-cc51-482b-b705-de28f1b6b8e7 +2025-06-21 19:13:23,599 - robotics.core - INFO - Created room my-robot-01-joint-input in workspace cc663145-cc51-482b-b705-de28f1b6b8e7 +2025-06-21 19:13:23,601 - robotics.core - INFO - Created room my-robot-01-joint-output in workspace cc663145-cc51-482b-b705-de28f1b6b8e7 +2025-06-21 19:13:24,583 - video.core - INFO - Consumer my-robot-01-front-consumer joined video room my-robot-01-front in workspace cc663145-cc51-482b-b705-de28f1b6b8e7 +2025-06-21 19:13:25,088 - robotics.core - INFO - Consumer my-robot-01-joint-input-consumer joined room my-robot-01-joint-input in workspace cc663145-cc51-482b-b705-de28f1b6b8e7 +2025-06-21 19:13:25,091 - robotics.core - INFO - Producer my-robot-01-joint-output-producer joined room my-robot-01-joint-output in workspace cc663145-cc51-482b-b705-de28f1b6b8e7 +2025-06-21 19:16:10,009 - robotics.core - INFO - Created room TranquilSparrow047 in workspace tafgg +2025-06-21 21:47:52,329 - video.core - INFO - Created video room my-robot-02-front in workspace 2c5db49e-2d85-42ce-8d75-730ee83194c0 +2025-06-21 21:47:52,333 - robotics.core - INFO - Created room my-robot-02-joint-input in workspace 2c5db49e-2d85-42ce-8d75-730ee83194c0 +2025-06-21 21:47:52,334 - robotics.core - INFO - Created room my-robot-02-joint-output in workspace 2c5db49e-2d85-42ce-8d75-730ee83194c0 +2025-06-21 21:47:53,378 - video.core - INFO - Consumer my-robot-02-front-consumer joined video room my-robot-02-front in workspace 2c5db49e-2d85-42ce-8d75-730ee83194c0 +2025-06-21 21:47:53,891 - robotics.core - INFO - Consumer my-robot-02-joint-input-consumer joined room my-robot-02-joint-input in workspace 2c5db49e-2d85-42ce-8d75-730ee83194c0 +2025-06-21 21:47:53,903 - robotics.core - INFO - Producer my-robot-02-joint-output-producer joined room my-robot-02-joint-output in workspace 2c5db49e-2d85-42ce-8d75-730ee83194c0 +2025-06-21 21:48:01,838 - video.core - INFO - Consumer my-robot-01-front-consumer left video room my-robot-01-front in workspace cc663145-cc51-482b-b705-de28f1b6b8e7 +2025-06-21 21:48:01,842 - robotics.core - INFO - Consumer my-robot-01-joint-input-consumer left room my-robot-01-joint-input in workspace cc663145-cc51-482b-b705-de28f1b6b8e7 +2025-06-21 21:48:01,842 - robotics.core - INFO - Producer my-robot-01-joint-output-producer left room my-robot-01-joint-output in workspace cc663145-cc51-482b-b705-de28f1b6b8e7 +2025-06-21 21:48:01,843 - video.core - INFO - Consumer my-robot-02-front-consumer left video room my-robot-02-front in workspace 2c5db49e-2d85-42ce-8d75-730ee83194c0 +2025-06-21 21:48:01,843 - robotics.core - INFO - Consumer my-robot-02-joint-input-consumer left room my-robot-02-joint-input in workspace 2c5db49e-2d85-42ce-8d75-730ee83194c0 +2025-06-21 21:48:01,843 - robotics.core - INFO - Producer my-robot-02-joint-output-producer left room my-robot-02-joint-output in workspace 2c5db49e-2d85-42ce-8d75-730ee83194c0 +2025-06-21 21:48:14,747 - video.core - INFO - Created video room my-robot-01-front in workspace 3537381b-be0b-4c0b-a274-8186cce449ce +2025-06-21 21:48:14,751 - robotics.core - INFO - Created room my-robot-01-joint-input in workspace 3537381b-be0b-4c0b-a274-8186cce449ce +2025-06-21 21:48:14,752 - robotics.core - INFO - Created room my-robot-01-joint-output in workspace 3537381b-be0b-4c0b-a274-8186cce449ce +2025-06-21 21:48:15,667 - video.core - INFO - Consumer my-robot-01-front-consumer joined video room my-robot-01-front in workspace 3537381b-be0b-4c0b-a274-8186cce449ce +2025-06-21 21:48:16,186 - robotics.core - INFO - Consumer my-robot-01-joint-input-consumer joined room my-robot-01-joint-input in workspace 3537381b-be0b-4c0b-a274-8186cce449ce +2025-06-21 21:48:16,192 - robotics.core - INFO - Producer my-robot-01-joint-output-producer joined room my-robot-01-joint-output in workspace 3537381b-be0b-4c0b-a274-8186cce449ce +2025-06-21 22:36:49,497 - robotics.core - INFO - Producer my-robot-01-joint-output-producer left room my-robot-01-joint-output in workspace 3537381b-be0b-4c0b-a274-8186cce449ce +2025-06-21 22:36:49,498 - robotics.core - INFO - Consumer my-robot-01-joint-input-consumer left room my-robot-01-joint-input in workspace 3537381b-be0b-4c0b-a274-8186cce449ce +2025-06-21 22:36:49,498 - video.core - INFO - Consumer my-robot-01-front-consumer left video room my-robot-01-front in workspace 3537381b-be0b-4c0b-a274-8186cce449ce +2025-06-21 22:37:24,843 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-21 22:51:10,124 - video.core - INFO - Created video room PinkKitten127-session-1750539049316-front in workspace e28fdb35-d1b4-4e4d-9f52-60523f5a528c +2025-06-21 22:51:10,130 - robotics.core - INFO - Created room PinkKitten127-session-1750539049316-joint-input in workspace e28fdb35-d1b4-4e4d-9f52-60523f5a528c +2025-06-21 22:51:10,132 - robotics.core - INFO - Created room PinkKitten127-session-1750539049316-joint-output in workspace e28fdb35-d1b4-4e4d-9f52-60523f5a528c +2025-06-21 22:51:11,244 - video.core - INFO - Consumer PinkKitten127-session-1750539049316-front-consumer joined video room PinkKitten127-session-1750539049316-front in workspace e28fdb35-d1b4-4e4d-9f52-60523f5a528c +2025-06-21 22:51:11,750 - robotics.core - INFO - Consumer PinkKitten127-session-1750539049316-joint-input-consumer joined room PinkKitten127-session-1750539049316-joint-input in workspace e28fdb35-d1b4-4e4d-9f52-60523f5a528c +2025-06-21 22:51:11,757 - robotics.core - INFO - Producer PinkKitten127-session-1750539049316-joint-output-producer joined room PinkKitten127-session-1750539049316-joint-output in workspace e28fdb35-d1b4-4e4d-9f52-60523f5a528c +2025-06-21 23:06:40,335 - video.core - INFO - Created video room StealthHorse348-session-1750539996241-front in workspace ae92288a-d561-4513-9e3d-a3c923f671c2 +2025-06-21 23:06:40,340 - robotics.core - INFO - Created room StealthHorse348-session-1750539996241-joint-input in workspace ae92288a-d561-4513-9e3d-a3c923f671c2 +2025-06-21 23:06:40,342 - robotics.core - INFO - Created room StealthHorse348-session-1750539996241-joint-output in workspace ae92288a-d561-4513-9e3d-a3c923f671c2 +2025-06-21 23:06:41,479 - video.core - INFO - Consumer StealthHorse348-session-1750539996241-front-consumer joined video room StealthHorse348-session-1750539996241-front in workspace ae92288a-d561-4513-9e3d-a3c923f671c2 +2025-06-21 23:06:41,988 - robotics.core - INFO - Consumer StealthHorse348-session-1750539996241-joint-input-consumer joined room StealthHorse348-session-1750539996241-joint-input in workspace ae92288a-d561-4513-9e3d-a3c923f671c2 +2025-06-21 23:06:41,992 - robotics.core - INFO - Producer StealthHorse348-session-1750539996241-joint-output-producer joined room StealthHorse348-session-1750539996241-joint-output in workspace ae92288a-d561-4513-9e3d-a3c923f671c2 +2025-06-21 23:06:52,434 - video.core - INFO - Created video room StealthHorse348-session-1750539996241-front in workspace tafgg +2025-06-21 23:06:52,440 - video.core - INFO - Producer producer_1750540012436_tka1euqvx joined video room StealthHorse348-session-1750539996241-front in workspace tafgg +2025-06-21 23:06:52,447 - video.core - INFO - Stream started by producer_1750540012436_tka1euqvx in room StealthHorse348-session-1750539996241-front (workspace tafgg) +2025-06-21 23:06:59,132 - video.core - INFO - Stream stopped by producer_1750540012436_tka1euqvx in room StealthHorse348-session-1750539996241-front (workspace tafgg) +2025-06-21 23:06:59,133 - video.core - INFO - Producer producer_1750540012436_tka1euqvx left video room StealthHorse348-session-1750539996241-front in workspace tafgg +2025-06-21 23:07:03,611 - robotics.core - INFO - Created room StealthHorse348-session-1750539996241-joint-input in workspace tafgg +2025-06-21 23:07:03,626 - robotics.core - INFO - Consumer remote-consumer-StealthHorse348-session-1750539996241-joint-input-1750540023606 joined room StealthHorse348-session-1750539996241-joint-input in workspace tafgg +2025-06-21 23:07:17,037 - video.core - INFO - Created video room StealthHorse348-session-1750539996241-front in workspace tafgg +2025-06-21 23:07:17,063 - video.core - INFO - Producer producer_1750540037042_38ovd2k4j joined video room StealthHorse348-session-1750539996241-front in workspace tafgg +2025-06-21 23:07:17,074 - video.core - INFO - Stream started by producer_1750540037042_38ovd2k4j in room StealthHorse348-session-1750539996241-front (workspace tafgg) +2025-06-21 23:07:34,433 - video.core - INFO - Consumer consumer_1750540053753 joined video room StealthHorse348-session-1750539996241-front in workspace tafgg +2025-06-21 23:07:34,478 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750540037042_38ovd2k4j (role: producer) in workspace tafgg, room StealthHorse348-session-1750539996241-front +2025-06-21 23:07:34,479 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750540037042_38ovd2k4j to consumer consumer_1750540053753 +2025-06-21 23:07:34,479 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750540037042_38ovd2k4j (role: producer) in workspace tafgg, room StealthHorse348-session-1750539996241-front +2025-06-21 23:07:34,505 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750540053753 (role: consumer) in workspace tafgg, room StealthHorse348-session-1750539996241-front +2025-06-21 23:07:34,506 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1750540053753 to producer producer_1750540037042_38ovd2k4j +2025-06-21 23:07:34,507 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750540037042_38ovd2k4j (role: producer) in workspace tafgg, room StealthHorse348-session-1750539996241-front +2025-06-21 23:07:34,508 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750540053753 (role: consumer) in workspace tafgg, room StealthHorse348-session-1750539996241-front +2025-06-21 23:07:39,808 - video.core - INFO - Stream stopped by producer_1750540037042_38ovd2k4j in room StealthHorse348-session-1750539996241-front (workspace tafgg) +2025-06-21 23:07:39,809 - video.core - INFO - Producer producer_1750540037042_38ovd2k4j left video room StealthHorse348-session-1750539996241-front in workspace tafgg +2025-06-21 23:07:44,229 - video.core - INFO - Created video room StealthHorse348-session-1750539996241-front in workspace tafgg +2025-06-21 23:07:44,249 - video.core - INFO - Producer producer_1750540064231_e4up99n5b joined video room StealthHorse348-session-1750539996241-front in workspace tafgg +2025-06-21 23:07:44,439 - video.core - INFO - Stream started by producer_1750540064231_e4up99n5b in room StealthHorse348-session-1750539996241-front (workspace tafgg) +2025-06-21 23:07:48,066 - video.core - INFO - Consumer consumer_1750540067314 joined video room StealthHorse348-session-1750539996241-front in workspace tafgg +2025-06-21 23:07:48,083 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750540064231_e4up99n5b (role: producer) in workspace tafgg, room StealthHorse348-session-1750539996241-front +2025-06-21 23:07:48,083 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750540064231_e4up99n5b to consumer consumer_1750540067314 +2025-06-21 23:07:48,087 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750540064231_e4up99n5b (role: producer) in workspace tafgg, room StealthHorse348-session-1750539996241-front +2025-06-21 23:07:48,094 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750540064231_e4up99n5b (role: producer) in workspace tafgg, room StealthHorse348-session-1750539996241-front +2025-06-21 23:07:48,100 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750540067314 (role: consumer) in workspace tafgg, room StealthHorse348-session-1750539996241-front +2025-06-21 23:07:48,100 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1750540067314 to producer producer_1750540064231_e4up99n5b +2025-06-21 23:07:48,108 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750540067314 (role: consumer) in workspace tafgg, room StealthHorse348-session-1750539996241-front +2025-06-21 23:07:51,274 - video.core - INFO - Stream stopped by producer_1750540064231_e4up99n5b in room StealthHorse348-session-1750539996241-front (workspace tafgg) +2025-06-21 23:07:51,277 - video.core - INFO - Producer producer_1750540064231_e4up99n5b left video room StealthHorse348-session-1750539996241-front in workspace tafgg +2025-06-21 23:08:00,651 - video.core - INFO - Consumer consumer_1750540067314 left video room StealthHorse348-session-1750539996241-front in workspace tafgg +2025-06-21 23:08:07,795 - robotics.core - INFO - Consumer consumer_1750540087051 joined room StealthHorse348-session-1750539996241-joint-input in workspace tafgg +2025-06-21 23:08:13,586 - robotics.core - INFO - Consumer consumer_1750540087051 left room StealthHorse348-session-1750539996241-joint-input in workspace tafgg +2025-06-21 23:08:15,375 - robotics.core - INFO - Producer producer_1750540094683 joined room StealthHorse348-session-1750539996241-joint-input in workspace tafgg +2025-06-21 23:08:24,469 - robotics.core - INFO - Producer producer_1750540094683 left room StealthHorse348-session-1750539996241-joint-input in workspace tafgg +2025-06-21 23:08:37,606 - robotics.core - INFO - Created room StealthHorse348-session-1750539996241-joint-output in workspace tafgg +2025-06-21 23:08:37,626 - robotics.core - INFO - Producer remote-producer-StealthHorse348-session-1750539996241-joint-output-1750540117602 joined room StealthHorse348-session-1750539996241-joint-output in workspace tafgg +2025-06-21 23:08:54,999 - robotics.core - INFO - Consumer consumer_1750540133976 joined room StealthHorse348-session-1750539996241-joint-output in workspace tafgg +2025-06-21 23:09:03,724 - video.core - INFO - Created video room StealthHorse348-session-1750539996241-front in workspace tafgg +2025-06-21 23:09:03,733 - video.core - INFO - Producer producer_1750540143727_8svq6qdar joined video room StealthHorse348-session-1750539996241-front in workspace tafgg +2025-06-21 23:09:03,740 - video.core - INFO - Stream started by producer_1750540143727_8svq6qdar in room StealthHorse348-session-1750539996241-front (workspace tafgg) +2025-06-21 23:09:23,754 - robotics.core - INFO - Consumer remote-consumer-StealthHorse348-session-1750539996241-joint-input-1750540023606 left room StealthHorse348-session-1750539996241-joint-input in workspace tafgg +2025-06-21 23:09:23,756 - robotics.core - INFO - Producer remote-producer-StealthHorse348-session-1750539996241-joint-output-1750540117602 left room StealthHorse348-session-1750539996241-joint-output in workspace tafgg +2025-06-21 23:09:23,756 - video.core - INFO - Producer producer_1750540143727_8svq6qdar left video room StealthHorse348-session-1750539996241-front in workspace tafgg +2025-06-21 23:09:31,872 - video.core - INFO - Created video room SacredFirefly851-session-1750540168843-front in workspace tafgg +2025-06-21 23:09:31,877 - robotics.core - INFO - Created room SacredFirefly851-session-1750540168843-joint-input in workspace tafgg +2025-06-21 23:09:31,880 - robotics.core - INFO - Created room SacredFirefly851-session-1750540168843-joint-output in workspace tafgg +2025-06-21 23:09:33,010 - video.core - INFO - Consumer SacredFirefly851-session-1750540168843-front-consumer joined video room SacredFirefly851-session-1750540168843-front in workspace tafgg +2025-06-21 23:09:33,517 - robotics.core - INFO - Consumer SacredFirefly851-session-1750540168843-joint-input-consumer joined room SacredFirefly851-session-1750540168843-joint-input in workspace tafgg +2025-06-21 23:09:33,524 - robotics.core - INFO - Producer SacredFirefly851-session-1750540168843-joint-output-producer joined room SacredFirefly851-session-1750540168843-joint-output in workspace tafgg +2025-06-21 23:09:45,593 - video.core - INFO - Created video room MountainHammerhead376-session-1750540178281-front in workspace tafgg +2025-06-21 23:09:45,596 - robotics.core - INFO - Created room MountainHammerhead376-session-1750540178281-joint-input in workspace tafgg +2025-06-21 23:09:45,600 - robotics.core - INFO - Created room MountainHammerhead376-session-1750540178281-joint-output in workspace tafgg +2025-06-21 23:09:46,575 - video.core - INFO - Consumer MountainHammerhead376-session-1750540178281-front-consumer joined video room MountainHammerhead376-session-1750540178281-front in workspace tafgg +2025-06-21 23:09:47,083 - robotics.core - INFO - Consumer MountainHammerhead376-session-1750540178281-joint-input-consumer joined room MountainHammerhead376-session-1750540178281-joint-input in workspace tafgg +2025-06-21 23:09:47,091 - robotics.core - INFO - Producer MountainHammerhead376-session-1750540178281-joint-output-producer joined room MountainHammerhead376-session-1750540178281-joint-output in workspace tafgg +2025-06-21 23:09:51,541 - video.core - INFO - Created video room MountainHammerhead376-session-1750540178281-front in workspace tafgg +2025-06-21 23:09:51,547 - video.core - INFO - Producer producer_1750540191543_mg84zdia9 joined video room MountainHammerhead376-session-1750540178281-front in workspace tafgg +2025-06-21 23:09:51,556 - video.core - INFO - Stream started by producer_1750540191543_mg84zdia9 in room MountainHammerhead376-session-1750540178281-front (workspace tafgg) +2025-06-21 23:09:52,083 - video.core - INFO - Stream stopped by producer_1750540191543_mg84zdia9 in room MountainHammerhead376-session-1750540178281-front (workspace tafgg) +2025-06-21 23:09:52,083 - video.core - INFO - Producer producer_1750540191543_mg84zdia9 left video room MountainHammerhead376-session-1750540178281-front in workspace tafgg +2025-06-21 23:09:55,252 - robotics.core - INFO - Created room MountainHammerhead376-session-1750540178281-joint-input in workspace tafgg +2025-06-21 23:09:55,261 - robotics.core - INFO - Consumer remote-consumer-MountainHammerhead376-session-1750540178281-joint-input-1750540195247 joined room MountainHammerhead376-session-1750540178281-joint-input in workspace tafgg +2025-06-21 23:09:58,459 - robotics.core - INFO - Created room MountainHammerhead376-session-1750540178281-joint-output in workspace tafgg +2025-06-21 23:09:58,474 - robotics.core - INFO - Producer remote-producer-MountainHammerhead376-session-1750540178281-joint-output-1750540198455 joined room MountainHammerhead376-session-1750540178281-joint-output in workspace tafgg +2025-06-21 23:10:04,083 - robotics.core - INFO - Consumer consumer_1750540133976 left room StealthHorse348-session-1750539996241-joint-output in workspace tafgg +2025-06-21 23:10:48,168 - video.core - INFO - Created video room MountainHammerhead376-session-1750540178281-front in workspace tafgg +2025-06-21 23:10:48,189 - video.core - INFO - Producer producer_1750540248182_0doackenc joined video room MountainHammerhead376-session-1750540178281-front in workspace tafgg +2025-06-21 23:10:48,195 - video.core - INFO - Stream started by producer_1750540248182_0doackenc in room MountainHammerhead376-session-1750540178281-front (workspace tafgg) +2025-06-21 23:10:49,066 - video.core - INFO - Stream stopped by producer_1750540248182_0doackenc in room MountainHammerhead376-session-1750540178281-front (workspace tafgg) +2025-06-21 23:10:49,066 - video.core - INFO - Producer producer_1750540248182_0doackenc left video room MountainHammerhead376-session-1750540178281-front in workspace tafgg +2025-06-21 23:11:26,740 - video.core - INFO - Created video room MountainHammerhead376-session-1750540178281-front in workspace tafgg +2025-06-21 23:11:26,746 - video.core - INFO - Producer producer_1750540286742_2ftzjze2q joined video room MountainHammerhead376-session-1750540178281-front in workspace tafgg +2025-06-21 23:11:26,755 - video.core - INFO - Stream started by producer_1750540286742_2ftzjze2q in room MountainHammerhead376-session-1750540178281-front (workspace tafgg) +2025-06-21 23:11:28,991 - video.core - INFO - Stream stopped by producer_1750540286742_2ftzjze2q in room MountainHammerhead376-session-1750540178281-front (workspace tafgg) +2025-06-21 23:11:28,991 - video.core - INFO - Producer producer_1750540286742_2ftzjze2q left video room MountainHammerhead376-session-1750540178281-front in workspace tafgg +2025-06-21 23:12:11,457 - robotics.core - INFO - Deleted room StealthHorse348-session-1750539996241-joint-input from workspace tafgg +2025-06-21 23:12:11,620 - robotics.core - INFO - Deleted room StealthHorse348-session-1750539996241-joint-output from workspace tafgg +2025-06-21 23:12:11,762 - robotics.core - INFO - Consumer SacredFirefly851-session-1750540168843-joint-input-consumer left room SacredFirefly851-session-1750540168843-joint-input in workspace tafgg +2025-06-21 23:12:11,762 - robotics.core - INFO - Deleted room SacredFirefly851-session-1750540168843-joint-input from workspace tafgg +2025-06-21 23:12:11,896 - robotics.core - INFO - Producer SacredFirefly851-session-1750540168843-joint-output-producer left room SacredFirefly851-session-1750540168843-joint-output in workspace tafgg +2025-06-21 23:12:11,896 - robotics.core - INFO - Deleted room SacredFirefly851-session-1750540168843-joint-output from workspace tafgg +2025-06-21 23:12:12,056 - robotics.core - INFO - Consumer remote-consumer-MountainHammerhead376-session-1750540178281-joint-input-1750540195247 left room MountainHammerhead376-session-1750540178281-joint-input in workspace tafgg +2025-06-21 23:12:12,056 - robotics.core - INFO - Deleted room MountainHammerhead376-session-1750540178281-joint-input from workspace tafgg +2025-06-21 23:12:12,196 - robotics.core - INFO - Producer remote-producer-MountainHammerhead376-session-1750540178281-joint-output-1750540198455 left room MountainHammerhead376-session-1750540178281-joint-output in workspace tafgg +2025-06-21 23:12:12,196 - robotics.core - INFO - Deleted room MountainHammerhead376-session-1750540178281-joint-output from workspace tafgg +2025-06-21 23:12:16,995 - video.core - INFO - Consumer PinkKitten127-session-1750539049316-front-consumer left video room PinkKitten127-session-1750539049316-front in workspace e28fdb35-d1b4-4e4d-9f52-60523f5a528c +2025-06-21 23:12:16,996 - robotics.core - INFO - Consumer PinkKitten127-session-1750539049316-joint-input-consumer left room PinkKitten127-session-1750539049316-joint-input in workspace e28fdb35-d1b4-4e4d-9f52-60523f5a528c +2025-06-21 23:12:16,997 - robotics.core - INFO - Producer PinkKitten127-session-1750539049316-joint-output-producer left room PinkKitten127-session-1750539049316-joint-output in workspace e28fdb35-d1b4-4e4d-9f52-60523f5a528c +2025-06-21 23:12:17,006 - video.core - INFO - Consumer StealthHorse348-session-1750539996241-front-consumer left video room StealthHorse348-session-1750539996241-front in workspace ae92288a-d561-4513-9e3d-a3c923f671c2 +2025-06-21 23:12:17,007 - robotics.core - INFO - Consumer StealthHorse348-session-1750539996241-joint-input-consumer left room StealthHorse348-session-1750539996241-joint-input in workspace ae92288a-d561-4513-9e3d-a3c923f671c2 +2025-06-21 23:12:17,007 - robotics.core - INFO - Producer StealthHorse348-session-1750539996241-joint-output-producer left room StealthHorse348-session-1750539996241-joint-output in workspace ae92288a-d561-4513-9e3d-a3c923f671c2 +2025-06-21 23:12:17,008 - video.core - INFO - Consumer SacredFirefly851-session-1750540168843-front-consumer left video room SacredFirefly851-session-1750540168843-front in workspace tafgg +2025-06-21 23:13:56,370 - video.core - INFO - Created video room session-front in workspace tafgg +2025-06-21 23:13:56,373 - robotics.core - INFO - Created room session-joint-input in workspace tafgg +2025-06-21 23:13:56,375 - robotics.core - INFO - Created room session-joint-output in workspace tafgg +2025-06-21 23:13:57,392 - video.core - INFO - Consumer session-front-consumer joined video room session-front in workspace tafgg +2025-06-21 23:13:57,899 - robotics.core - INFO - Consumer session-joint-input-consumer joined room session-joint-input in workspace tafgg +2025-06-21 23:13:57,906 - robotics.core - INFO - Producer session-joint-output-producer joined room session-joint-output in workspace tafgg +2025-06-21 23:14:07,228 - video.core - INFO - Created video room session-front in workspace tafgg +2025-06-21 23:14:07,240 - video.core - INFO - Producer producer_1750540447230_qvpa6sh11 joined video room session-front in workspace tafgg +2025-06-21 23:14:07,246 - video.core - INFO - Stream started by producer_1750540447230_qvpa6sh11 in room session-front (workspace tafgg) +2025-06-21 23:14:17,691 - video.core - INFO - Deleted video room StealthHorse348-session-1750539996241-front from workspace tafgg +2025-06-21 23:14:18,776 - video.core - INFO - Deleted video room SacredFirefly851-session-1750540168843-front from workspace tafgg +2025-06-21 23:14:20,546 - video.core - INFO - Deleted video room MountainHammerhead376-session-1750540178281-front from workspace tafgg +2025-06-21 23:14:26,027 - video.core - INFO - Stream stopped by producer_1750540447230_qvpa6sh11 in room session-front (workspace tafgg) +2025-06-21 23:14:26,029 - video.core - INFO - Producer producer_1750540447230_qvpa6sh11 left video room session-front in workspace tafgg +2025-06-21 23:14:29,605 - video.core - INFO - Created video room session-front in workspace tafgg +2025-06-21 23:14:29,612 - video.core - INFO - Producer producer_1750540469607_7ovuermlh joined video room session-front in workspace tafgg +2025-06-21 23:14:29,626 - video.core - INFO - Stream started by producer_1750540469607_7ovuermlh in room session-front (workspace tafgg) +2025-06-21 23:14:30,162 - video.core - INFO - Stream stopped by producer_1750540469607_7ovuermlh in room session-front (workspace tafgg) +2025-06-21 23:14:30,162 - video.core - INFO - Producer producer_1750540469607_7ovuermlh left video room session-front in workspace tafgg +2025-06-21 23:14:32,463 - robotics.core - INFO - Created room session-joint-input in workspace tafgg +2025-06-21 23:14:32,472 - robotics.core - INFO - Consumer remote-consumer-session-joint-input-1750540472459 joined room session-joint-input in workspace tafgg +2025-06-21 23:14:35,285 - robotics.core - INFO - Created room session-joint-output in workspace tafgg +2025-06-21 23:14:35,307 - robotics.core - INFO - Producer remote-producer-session-joint-output-1750540475282 joined room session-joint-output in workspace tafgg +2025-06-21 23:14:40,638 - video.core - INFO - Created video room session-front in workspace tafgg +2025-06-21 23:14:40,642 - video.core - INFO - Producer producer_1750540480639_u6ivvm0pb joined video room session-front in workspace tafgg +2025-06-21 23:14:40,652 - video.core - INFO - Stream started by producer_1750540480639_u6ivvm0pb in room session-front (workspace tafgg) +2025-06-21 23:15:07,770 - robotics.core - INFO - Consumer consumer_1750540506672 joined room session-joint-output in workspace tafgg +2025-06-21 23:15:09,479 - robotics.core - INFO - Consumer consumer_1750540506672 left room session-joint-output in workspace tafgg +2025-06-21 23:15:29,575 - video.core - INFO - Stream stopped by producer_1750540480639_u6ivvm0pb in room session-front (workspace tafgg) +2025-06-21 23:15:29,578 - video.core - INFO - Producer producer_1750540480639_u6ivvm0pb left video room session-front in workspace tafgg +2025-06-21 23:15:46,653 - robotics.core - INFO - Consumer remote-consumer-session-joint-input-1750540472459 left room session-joint-input in workspace tafgg +2025-06-21 23:15:46,660 - robotics.core - INFO - Created room session-joint-input in workspace tafgg +2025-06-21 23:15:46,676 - robotics.core - INFO - Consumer remote-consumer-session-joint-input-1750540546658 joined room session-joint-input in workspace tafgg +2025-06-21 23:15:52,966 - robotics.core - INFO - Consumer remote-consumer-session-joint-input-1750540546658 left room session-joint-input in workspace tafgg +2025-06-21 23:15:53,848 - robotics.core - INFO - Created room session-joint-output in workspace tafgg +2025-06-21 23:15:53,861 - robotics.core - INFO - Consumer remote-consumer-session-joint-output-1750540553845 joined room session-joint-output in workspace tafgg +2025-06-21 23:16:02,408 - robotics.core - INFO - Created room session-joint-input in workspace tafgg +2025-06-21 23:16:02,425 - robotics.core - INFO - Producer remote-producer-session-joint-input-1750540562404 joined room session-joint-input in workspace tafgg +2025-06-21 23:16:07,888 - video.core - INFO - Created video room session-front in workspace tafgg +2025-06-21 23:16:07,923 - video.core - INFO - Producer producer_1750540567910_g7fy9culz joined video room session-front in workspace tafgg +2025-06-21 23:16:07,938 - video.core - INFO - Stream started by producer_1750540567910_g7fy9culz in room session-front (workspace tafgg) +2025-06-21 23:16:17,409 - robotics.core - INFO - Consumer consumer_1750540576828 joined room session-joint-input in workspace tafgg +2025-06-21 23:16:18,063 - robotics.core - INFO - Consumer consumer_1750540576828 left room session-joint-input in workspace tafgg +2025-06-21 23:16:52,831 - video.core - INFO - Stream stopped by producer_1750540567910_g7fy9culz in room session-front (workspace tafgg) +2025-06-21 23:16:52,832 - video.core - INFO - Producer producer_1750540567910_g7fy9culz left video room session-front in workspace tafgg +2025-06-21 23:17:33,435 - video.core - INFO - Created video room my-robot-session2-first in workspace 7b873bf5-05c2-477e-80ad-c2422e00f03c +2025-06-21 23:17:33,437 - video.core - INFO - Created video room my-robot-session2-second in workspace 7b873bf5-05c2-477e-80ad-c2422e00f03c +2025-06-21 23:17:33,438 - robotics.core - INFO - Created room my-robot-session2-joint-input in workspace 7b873bf5-05c2-477e-80ad-c2422e00f03c +2025-06-21 23:17:33,439 - robotics.core - INFO - Created room my-robot-session2-joint-output in workspace 7b873bf5-05c2-477e-80ad-c2422e00f03c +2025-06-21 23:17:34,420 - video.core - INFO - Consumer my-robot-session2-first-consumer joined video room my-robot-session2-first in workspace 7b873bf5-05c2-477e-80ad-c2422e00f03c +2025-06-21 23:17:34,925 - video.core - INFO - Consumer my-robot-session2-second-consumer joined video room my-robot-session2-second in workspace 7b873bf5-05c2-477e-80ad-c2422e00f03c +2025-06-21 23:17:35,444 - robotics.core - INFO - Consumer my-robot-session2-joint-input-consumer joined room my-robot-session2-joint-input in workspace 7b873bf5-05c2-477e-80ad-c2422e00f03c +2025-06-21 23:17:35,453 - robotics.core - INFO - Producer my-robot-session2-joint-output-producer joined room my-robot-session2-joint-output in workspace 7b873bf5-05c2-477e-80ad-c2422e00f03c +2025-06-21 23:18:52,622 - video.core - INFO - Created video room my-robot-session49-first in workspace tafgg +2025-06-21 23:18:52,624 - video.core - INFO - Created video room my-robot-session49-second in workspace tafgg +2025-06-21 23:18:52,625 - robotics.core - INFO - Created room my-robot-session49-joint-input in workspace tafgg +2025-06-21 23:18:52,626 - robotics.core - INFO - Created room my-robot-session49-joint-output in workspace tafgg +2025-06-21 23:18:53,654 - video.core - INFO - Consumer my-robot-session49-first-consumer joined video room my-robot-session49-first in workspace tafgg +2025-06-21 23:18:54,159 - video.core - INFO - Consumer my-robot-session49-second-consumer joined video room my-robot-session49-second in workspace tafgg +2025-06-21 23:18:54,666 - robotics.core - INFO - Consumer my-robot-session49-joint-input-consumer joined room my-robot-session49-joint-input in workspace tafgg +2025-06-21 23:18:54,669 - robotics.core - INFO - Producer my-robot-session49-joint-output-producer joined room my-robot-session49-joint-output in workspace tafgg +2025-06-21 23:19:16,353 - video.core - INFO - Created video room session2-front in workspace tafgg +2025-06-21 23:19:16,358 - robotics.core - INFO - Created room session2-joint-input in workspace tafgg +2025-06-21 23:19:16,362 - robotics.core - INFO - Created room session2-joint-output in workspace tafgg +2025-06-21 23:19:17,426 - video.core - INFO - Consumer session2-front-consumer joined video room session2-front in workspace tafgg +2025-06-21 23:19:17,932 - robotics.core - INFO - Consumer session2-joint-input-consumer joined room session2-joint-input in workspace tafgg +2025-06-21 23:19:17,940 - robotics.core - INFO - Producer session2-joint-output-producer joined room session2-joint-output in workspace tafgg +2025-06-21 23:19:29,194 - robotics.core - INFO - Consumer remote-consumer-session-joint-output-1750540553845 left room session-joint-output in workspace tafgg +2025-06-21 23:19:31,960 - robotics.core - INFO - Producer remote-producer-session-joint-input-1750540562404 left room session-joint-input in workspace tafgg +2025-06-21 23:19:41,796 - robotics.core - INFO - Created room session2-joint-output in workspace tafgg +2025-06-21 23:19:41,806 - robotics.core - INFO - Consumer remote-consumer-session2-joint-output-1750540781792 joined room session2-joint-output in workspace tafgg +2025-06-21 23:19:49,270 - robotics.core - INFO - Created room session2-joint-input in workspace tafgg +2025-06-21 23:19:49,292 - robotics.core - INFO - Producer remote-producer-session2-joint-input-1750540789267 joined room session2-joint-input in workspace tafgg +2025-06-21 23:19:54,554 - video.core - INFO - Created video room session2-front in workspace tafgg +2025-06-21 23:19:54,572 - video.core - INFO - Producer producer_1750540794559_cuqtbshly joined video room session2-front in workspace tafgg +2025-06-21 23:19:54,597 - video.core - INFO - Stream started by producer_1750540794559_cuqtbshly in room session2-front (workspace tafgg) +2025-06-21 23:20:08,843 - video.core - INFO - Stream stopped by producer_1750540794559_cuqtbshly in room session2-front (workspace tafgg) +2025-06-21 23:20:08,844 - video.core - INFO - Producer producer_1750540794559_cuqtbshly left video room session2-front in workspace tafgg +2025-06-21 23:20:13,983 - robotics.core - INFO - Consumer remote-consumer-session2-joint-output-1750540781792 left room session2-joint-output in workspace tafgg +2025-06-21 23:20:17,240 - robotics.core - INFO - Created room my-robot-session49-joint-output in workspace tafgg +2025-06-21 23:20:17,258 - robotics.core - INFO - Consumer remote-consumer-my-robot-session49-joint-output-1750540817237 joined room my-robot-session49-joint-output in workspace tafgg +2025-06-21 23:20:21,296 - robotics.core - INFO - Producer remote-producer-session2-joint-input-1750540789267 left room session2-joint-input in workspace tafgg +2025-06-21 23:20:25,220 - robotics.core - INFO - Created room my-robot-session49-joint-input in workspace tafgg +2025-06-21 23:20:25,241 - robotics.core - INFO - Producer remote-producer-my-robot-session49-joint-input-1750540825217 joined room my-robot-session49-joint-input in workspace tafgg +2025-06-21 23:20:32,241 - video.core - INFO - Created video room session2-front in workspace tafgg +2025-06-21 23:20:32,257 - video.core - INFO - Producer producer_1750540832243_h6itg7zk0 joined video room session2-front in workspace tafgg +2025-06-21 23:20:32,267 - video.core - INFO - Stream started by producer_1750540832243_h6itg7zk0 in room session2-front (workspace tafgg) +2025-06-21 23:20:48,920 - video.core - INFO - Stream stopped by producer_1750540832243_h6itg7zk0 in room session2-front (workspace tafgg) +2025-06-21 23:20:48,922 - video.core - INFO - Producer producer_1750540832243_h6itg7zk0 left video room session2-front in workspace tafgg +2025-06-21 23:20:55,630 - video.core - INFO - Created video room session2-front in workspace tafgg +2025-06-21 23:20:55,787 - video.core - INFO - Producer producer_1750540855635_xwju3j469 joined video room session2-front in workspace tafgg +2025-06-21 23:20:55,803 - video.core - INFO - Stream started by producer_1750540855635_xwju3j469 in room session2-front (workspace tafgg) +2025-06-21 23:21:23,474 - video.core - INFO - Stream stopped by producer_1750540855635_xwju3j469 in room session2-front (workspace tafgg) +2025-06-21 23:21:23,476 - video.core - INFO - Producer producer_1750540855635_xwju3j469 left video room session2-front in workspace tafgg +2025-06-21 23:21:28,224 - robotics.core - INFO - Consumer remote-consumer-my-robot-session49-joint-output-1750540817237 left room my-robot-session49-joint-output in workspace tafgg +2025-06-21 23:21:29,076 - robotics.core - INFO - Created room session2-joint-input in workspace tafgg +2025-06-21 23:21:29,087 - robotics.core - INFO - Consumer remote-consumer-session2-joint-input-1750540889073 joined room session2-joint-input in workspace tafgg +2025-06-21 23:21:33,388 - robotics.core - INFO - Producer remote-producer-my-robot-session49-joint-input-1750540825217 left room my-robot-session49-joint-input in workspace tafgg +2025-06-21 23:21:33,841 - robotics.core - INFO - Created room session2-joint-output in workspace tafgg +2025-06-21 23:21:33,851 - robotics.core - INFO - Producer remote-producer-session2-joint-output-1750540893837 joined room session2-joint-output in workspace tafgg +2025-06-21 23:22:00,133 - robotics.core - INFO - Consumer remote-consumer-session2-joint-input-1750540889073 left room session2-joint-input in workspace tafgg +2025-06-21 23:22:00,134 - robotics.core - INFO - Producer remote-producer-session2-joint-output-1750540893837 left room session2-joint-output in workspace tafgg +2025-06-21 23:22:01,889 - video.core - INFO - Consumer my-robot-session2-first-consumer left video room my-robot-session2-first in workspace 7b873bf5-05c2-477e-80ad-c2422e00f03c +2025-06-21 23:22:01,890 - video.core - INFO - Consumer my-robot-session2-second-consumer left video room my-robot-session2-second in workspace 7b873bf5-05c2-477e-80ad-c2422e00f03c +2025-06-21 23:22:01,890 - robotics.core - INFO - Consumer my-robot-session2-joint-input-consumer left room my-robot-session2-joint-input in workspace 7b873bf5-05c2-477e-80ad-c2422e00f03c +2025-06-21 23:22:01,891 - robotics.core - INFO - Producer my-robot-session2-joint-output-producer left room my-robot-session2-joint-output in workspace 7b873bf5-05c2-477e-80ad-c2422e00f03c +2025-06-21 23:22:01,893 - video.core - INFO - Consumer my-robot-session49-first-consumer left video room my-robot-session49-first in workspace tafgg +2025-06-21 23:22:01,894 - video.core - INFO - Consumer my-robot-session49-second-consumer left video room my-robot-session49-second in workspace tafgg +2025-06-21 23:22:05,389 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-21 23:22:27,337 - video.core - INFO - Created video room test-front in workspace tafgg +2025-06-21 23:22:27,341 - robotics.core - INFO - Created room test-joint-input in workspace tafgg +2025-06-21 23:22:27,345 - robotics.core - INFO - Created room test-joint-output in workspace tafgg +2025-06-21 23:22:28,485 - video.core - INFO - Consumer test-front-consumer joined video room test-front in workspace tafgg +2025-06-21 23:22:28,992 - robotics.core - INFO - Consumer test-joint-input-consumer joined room test-joint-input in workspace tafgg +2025-06-21 23:22:28,996 - robotics.core - INFO - Producer test-joint-output-producer joined room test-joint-output in workspace tafgg +2025-06-21 23:22:36,302 - robotics.core - INFO - Created room test-joint-output in workspace tafgg +2025-06-21 23:22:36,317 - robotics.core - INFO - Consumer remote-consumer-test-joint-output-1750540956299 joined room test-joint-output in workspace tafgg +2025-06-21 23:22:40,376 - robotics.core - INFO - Created room test-joint-input in workspace tafgg +2025-06-21 23:22:40,388 - robotics.core - INFO - Producer remote-producer-test-joint-input-1750540960373 joined room test-joint-input in workspace tafgg +2025-06-21 23:22:51,335 - video.core - INFO - Created video room test-front in workspace tafgg +2025-06-21 23:22:51,350 - video.core - INFO - Producer producer_1750540971338_6gvoz6gb6 joined video room test-front in workspace tafgg +2025-06-21 23:22:51,356 - video.core - INFO - Stream started by producer_1750540971338_6gvoz6gb6 in room test-front (workspace tafgg) +2025-06-21 23:23:07,241 - video.core - INFO - Consumer consumer_1750540986253 joined video room test-front in workspace tafgg +2025-06-21 23:23:07,274 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750540971338_6gvoz6gb6 (role: producer) in workspace tafgg, room test-front +2025-06-21 23:23:07,274 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750540971338_6gvoz6gb6 to consumer consumer_1750540986253 +2025-06-21 23:23:07,275 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750540971338_6gvoz6gb6 (role: producer) in workspace tafgg, room test-front +2025-06-21 23:23:07,295 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750540986253 (role: consumer) in workspace tafgg, room test-front +2025-06-21 23:23:07,295 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1750540986253 to producer producer_1750540971338_6gvoz6gb6 +2025-06-21 23:23:07,296 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750540986253 (role: consumer) in workspace tafgg, room test-front +2025-06-21 23:23:08,041 - video.core - INFO - Consumer consumer_1750540986253 left video room test-front in workspace tafgg +2025-06-21 23:23:35,081 - video.core - INFO - Stream stopped by producer_1750540971338_6gvoz6gb6 in room test-front (workspace tafgg) +2025-06-21 23:23:35,082 - video.core - INFO - Producer producer_1750540971338_6gvoz6gb6 left video room test-front in workspace tafgg +2025-06-21 23:23:38,673 - robotics.core - INFO - Consumer remote-consumer-test-joint-output-1750540956299 left room test-joint-output in workspace tafgg +2025-06-21 23:23:38,674 - robotics.core - INFO - Producer remote-producer-test-joint-input-1750540960373 left room test-joint-input in workspace tafgg +2025-06-21 23:23:54,692 - video.core - INFO - Created video room test2-front in workspace tafgg +2025-06-21 23:23:54,697 - robotics.core - INFO - Created room test2-joint-input in workspace tafgg +2025-06-21 23:23:54,701 - robotics.core - INFO - Created room test2-joint-output in workspace tafgg +2025-06-21 23:23:55,728 - video.core - INFO - Consumer test2-front-consumer joined video room test2-front in workspace tafgg +2025-06-21 23:23:56,231 - robotics.core - INFO - Consumer test2-joint-input-consumer joined room test2-joint-input in workspace tafgg +2025-06-21 23:23:56,237 - robotics.core - INFO - Producer test2-joint-output-producer joined room test2-joint-output in workspace tafgg +2025-06-21 23:24:10,017 - robotics.core - INFO - Created room test2-joint-output in workspace tafgg +2025-06-21 23:24:10,035 - robotics.core - INFO - Consumer remote-consumer-test2-joint-output-1750541050014 joined room test2-joint-output in workspace tafgg +2025-06-21 23:24:28,278 - robotics.core - INFO - Consumer remote-consumer-test2-joint-output-1750541050014 left room test2-joint-output in workspace tafgg +2025-06-21 23:24:48,605 - video.core - INFO - Created video room test3-front in workspace tafgg +2025-06-21 23:24:48,611 - robotics.core - INFO - Created room test3-joint-input in workspace tafgg +2025-06-21 23:24:48,615 - robotics.core - INFO - Created room test3-joint-output in workspace tafgg +2025-06-21 23:24:49,648 - video.core - INFO - Consumer test3-front-consumer joined video room test3-front in workspace tafgg +2025-06-21 23:24:50,153 - robotics.core - INFO - Consumer test3-joint-input-consumer joined room test3-joint-input in workspace tafgg +2025-06-21 23:24:50,158 - robotics.core - INFO - Producer test3-joint-output-producer joined room test3-joint-output in workspace tafgg +2025-06-21 23:25:08,633 - robotics.core - INFO - Created room test3-joint-output in workspace tafgg +2025-06-21 23:25:08,650 - robotics.core - INFO - Consumer remote-consumer-test3-joint-output-1750541108630 joined room test3-joint-output in workspace tafgg +2025-06-21 23:26:03,700 - robotics.core - INFO - Consumer remote-consumer-test3-joint-output-1750541108630 left room test3-joint-output in workspace tafgg +2025-06-21 23:26:09,787 - video.core - INFO - Created video room t-front in workspace fb4b3ce2-c86e-4d71-9323-7aa468943d82 +2025-06-21 23:26:09,791 - robotics.core - INFO - Created room t-joint-input in workspace fb4b3ce2-c86e-4d71-9323-7aa468943d82 +2025-06-21 23:26:09,795 - robotics.core - INFO - Created room t-joint-output in workspace fb4b3ce2-c86e-4d71-9323-7aa468943d82 +2025-06-21 23:26:10,832 - video.core - INFO - Consumer t-front-consumer joined video room t-front in workspace fb4b3ce2-c86e-4d71-9323-7aa468943d82 +2025-06-21 23:26:11,338 - robotics.core - INFO - Consumer t-joint-input-consumer joined room t-joint-input in workspace fb4b3ce2-c86e-4d71-9323-7aa468943d82 +2025-06-21 23:26:11,344 - robotics.core - INFO - Producer t-joint-output-producer joined room t-joint-output in workspace fb4b3ce2-c86e-4d71-9323-7aa468943d82 +2025-06-21 23:26:17,901 - video.core - INFO - Created video room sddf-front in workspace tafgg +2025-06-21 23:26:17,906 - robotics.core - INFO - Created room sddf-joint-input in workspace tafgg +2025-06-21 23:26:17,910 - robotics.core - INFO - Created room sddf-joint-output in workspace tafgg +2025-06-21 23:26:18,640 - video.core - INFO - Consumer sddf-front-consumer joined video room sddf-front in workspace tafgg +2025-06-21 23:26:19,151 - robotics.core - INFO - Consumer sddf-joint-input-consumer joined room sddf-joint-input in workspace tafgg +2025-06-21 23:26:19,162 - robotics.core - INFO - Producer sddf-joint-output-producer joined room sddf-joint-output in workspace tafgg +2025-06-21 23:26:23,966 - robotics.core - INFO - Consumer consumer_1750541183203 joined room sddf-joint-output in workspace tafgg +2025-06-21 23:34:26,500 - video.core - INFO - Created video room CopperFrog386-session-1750541658273-front in workspace tafgg +2025-06-21 23:34:26,505 - robotics.core - INFO - Created room CopperFrog386-session-1750541658273-joint-input in workspace tafgg +2025-06-21 23:34:26,508 - robotics.core - INFO - Created room CopperFrog386-session-1750541658273-joint-output in workspace tafgg +2025-06-21 23:34:27,617 - video.core - INFO - Consumer CopperFrog386-session-1750541658273-front-consumer joined video room CopperFrog386-session-1750541658273-front in workspace tafgg +2025-06-21 23:34:28,127 - robotics.core - INFO - Consumer CopperFrog386-session-1750541658273-joint-input-consumer joined room CopperFrog386-session-1750541658273-joint-input in workspace tafgg +2025-06-21 23:34:28,133 - robotics.core - INFO - Producer CopperFrog386-session-1750541658273-joint-output-producer joined room CopperFrog386-session-1750541658273-joint-output in workspace tafgg +2025-06-21 23:34:34,250 - robotics.core - INFO - Created room CopperFrog386-session-1750541658273-joint-output in workspace tafgg +2025-06-21 23:34:34,278 - robotics.core - INFO - Consumer remote-consumer-CopperFrog386-session-1750541658273-joint-output-1750541674240 joined room CopperFrog386-session-1750541658273-joint-output in workspace tafgg +2025-06-21 23:34:38,959 - robotics.core - INFO - Created room CopperFrog386-session-1750541658273-joint-input in workspace tafgg +2025-06-21 23:34:38,979 - robotics.core - INFO - Producer remote-producer-CopperFrog386-session-1750541658273-joint-input-1750541678955 joined room CopperFrog386-session-1750541658273-joint-input in workspace tafgg +2025-06-21 23:34:43,230 - video.core - INFO - Created video room CopperFrog386-session-1750541658273-front in workspace tafgg +2025-06-21 23:34:43,237 - video.core - INFO - Producer producer_1750541683232_0d43ntndy joined video room CopperFrog386-session-1750541658273-front in workspace tafgg +2025-06-21 23:34:43,249 - video.core - INFO - Stream started by producer_1750541683232_0d43ntndy in room CopperFrog386-session-1750541658273-front (workspace tafgg) +2025-06-21 23:35:05,496 - video.core - INFO - Stream stopped by producer_1750541683232_0d43ntndy in room CopperFrog386-session-1750541658273-front (workspace tafgg) +2025-06-21 23:35:05,498 - video.core - INFO - Producer producer_1750541683232_0d43ntndy left video room CopperFrog386-session-1750541658273-front in workspace tafgg +2025-06-21 23:35:10,245 - video.core - INFO - Created video room CopperFrog386-session-1750541658273-front in workspace tafgg +2025-06-21 23:35:10,249 - video.core - INFO - Producer producer_1750541710247_m4oh5ea89 joined video room CopperFrog386-session-1750541658273-front in workspace tafgg +2025-06-21 23:35:10,257 - video.core - INFO - Stream started by producer_1750541710247_m4oh5ea89 in room CopperFrog386-session-1750541658273-front (workspace tafgg) +2025-06-21 23:35:45,638 - video.core - INFO - Stream stopped by producer_1750541710247_m4oh5ea89 in room CopperFrog386-session-1750541658273-front (workspace tafgg) +2025-06-21 23:35:45,639 - video.core - INFO - Producer producer_1750541710247_m4oh5ea89 left video room CopperFrog386-session-1750541658273-front in workspace tafgg +2025-06-21 23:35:46,865 - robotics.core - INFO - Consumer remote-consumer-CopperFrog386-session-1750541658273-joint-output-1750541674240 left room CopperFrog386-session-1750541658273-joint-output in workspace tafgg +2025-06-21 23:35:46,866 - robotics.core - INFO - Producer remote-producer-CopperFrog386-session-1750541658273-joint-input-1750541678955 left room CopperFrog386-session-1750541658273-joint-input in workspace tafgg +2025-06-21 23:35:56,575 - robotics.core - INFO - Created room sdpoks in workspace tafgg +2025-06-21 23:36:04,512 - robotics.core - INFO - Created room sdpoks in workspace tafgg +2025-06-21 23:36:04,530 - robotics.core - INFO - Consumer remote-consumer-sdpoks-1750541764508 joined room sdpoks in workspace tafgg +2025-06-21 23:36:10,076 - robotics.core - INFO - Producer producer_1750541759354 joined room sdpoks in workspace tafgg +2025-06-21 23:36:15,672 - robotics.core - INFO - Producer producer_1750541759354 left room sdpoks in workspace tafgg +2025-06-21 23:36:18,655 - robotics.core - INFO - Created room sdp[kds in workspace tafgg +2025-06-21 23:36:23,326 - robotics.core - INFO - Producer producer_1750541782671 joined room sdp[kds in workspace tafgg +2025-06-21 23:36:33,040 - robotics.core - INFO - Consumer remote-consumer-sdpoks-1750541764508 left room sdpoks in workspace tafgg +2025-06-21 23:36:40,141 - robotics.core - INFO - Created room sdp[kds in workspace tafgg +2025-06-21 23:36:40,163 - robotics.core - INFO - Consumer remote-consumer-sdp[kds-1750541800138 joined room sdp[kds in workspace tafgg +2025-06-21 23:37:16,197 - robotics.core - INFO - Consumer remote-consumer-sdp[kds-1750541800138 left room sdp[kds in workspace tafgg +2025-06-21 23:37:28,265 - video.core - INFO - Created video room test99-front in workspace tafgg +2025-06-21 23:37:28,270 - robotics.core - INFO - Created room test99-joint-input in workspace tafgg +2025-06-21 23:37:28,274 - robotics.core - INFO - Created room test99-joint-output in workspace tafgg +2025-06-21 23:37:29,383 - video.core - INFO - Consumer test99-front-consumer joined video room test99-front in workspace tafgg +2025-06-21 23:37:29,889 - robotics.core - INFO - Consumer test99-joint-input-consumer joined room test99-joint-input in workspace tafgg +2025-06-21 23:37:29,896 - robotics.core - INFO - Producer test99-joint-output-producer joined room test99-joint-output in workspace tafgg +2025-06-21 23:37:31,170 - robotics.core - INFO - Consumer consumer_1750541183203 left room sddf-joint-output in workspace tafgg +2025-06-21 23:37:52,176 - robotics.core - INFO - Created room test99-joint-output in workspace tafgg +2025-06-21 23:37:52,198 - robotics.core - INFO - Consumer remote-consumer-test99-joint-output-1750541872173 joined room test99-joint-output in workspace tafgg +2025-06-21 23:37:55,762 - robotics.core - INFO - Created room test99-joint-input in workspace tafgg +2025-06-21 23:37:55,779 - robotics.core - INFO - Producer remote-producer-test99-joint-input-1750541875759 joined room test99-joint-input in workspace tafgg +2025-06-21 23:38:09,584 - robotics.core - INFO - Consumer remote-consumer-test99-joint-output-1750541872173 left room test99-joint-output in workspace tafgg +2025-06-21 23:38:09,584 - robotics.core - INFO - Producer remote-producer-test99-joint-input-1750541875759 left room test99-joint-input in workspace tafgg +2025-06-21 23:38:19,415 - video.core - INFO - Created video room VengeanceGazelle743-session-1750541896040-front in workspace tafgg +2025-06-21 23:38:19,420 - robotics.core - INFO - Created room VengeanceGazelle743-session-1750541896040-joint-input in workspace tafgg +2025-06-21 23:38:19,441 - robotics.core - INFO - Created room VengeanceGazelle743-session-1750541896040-joint-output in workspace tafgg +2025-06-21 23:38:20,643 - video.core - INFO - Consumer VengeanceGazelle743-session-1750541896040-front-consumer joined video room VengeanceGazelle743-session-1750541896040-front in workspace tafgg +2025-06-21 23:38:21,151 - robotics.core - INFO - Consumer VengeanceGazelle743-session-1750541896040-joint-input-consumer joined room VengeanceGazelle743-session-1750541896040-joint-input in workspace tafgg +2025-06-21 23:38:21,157 - robotics.core - INFO - Producer VengeanceGazelle743-session-1750541896040-joint-output-producer joined room VengeanceGazelle743-session-1750541896040-joint-output in workspace tafgg +2025-06-21 23:38:46,482 - robotics.core - INFO - Created room VengeanceGazelle743-session-1750541896040-joint-output in workspace tafgg +2025-06-21 23:38:46,500 - robotics.core - INFO - Producer remote-producer-VengeanceGazelle743-session-1750541896040-joint-output-1750541926479 joined room VengeanceGazelle743-session-1750541896040-joint-output in workspace tafgg +2025-06-21 23:38:56,836 - robotics.core - INFO - Created room VengeanceGazelle743-session-1750541896040-joint-output in workspace tafgg +2025-06-21 23:38:56,854 - robotics.core - INFO - Consumer remote-consumer-VengeanceGazelle743-session-1750541896040-joint-output-1750541936833 joined room VengeanceGazelle743-session-1750541896040-joint-output in workspace tafgg +2025-06-21 23:39:26,361 - robotics.core - INFO - Consumer remote-consumer-VengeanceGazelle743-session-1750541896040-joint-output-1750541936833 left room VengeanceGazelle743-session-1750541896040-joint-output in workspace tafgg +2025-06-21 23:39:40,776 - robotics.core - INFO - Created room VengeanceGazelle743-session-1750541896040-joint-input in workspace tafgg +2025-06-21 23:39:40,795 - robotics.core - INFO - Producer remote-producer-VengeanceGazelle743-session-1750541896040-joint-input-1750541980773 joined room VengeanceGazelle743-session-1750541896040-joint-input in workspace tafgg +2025-06-21 23:40:02,346 - robotics.core - INFO - Producer remote-producer-VengeanceGazelle743-session-1750541896040-joint-input-1750541980773 left room VengeanceGazelle743-session-1750541896040-joint-input in workspace tafgg +2025-06-21 23:40:09,672 - video.core - INFO - Created video room ProudPanther324-session-1750542006701-front in workspace tafgg +2025-06-21 23:40:09,677 - robotics.core - INFO - Created room ProudPanther324-session-1750542006701-joint-input in workspace tafgg +2025-06-21 23:40:09,679 - robotics.core - INFO - Created room ProudPanther324-session-1750542006701-joint-output in workspace tafgg +2025-06-21 23:40:10,763 - video.core - INFO - Consumer ProudPanther324-session-1750542006701-front-consumer joined video room ProudPanther324-session-1750542006701-front in workspace tafgg +2025-06-21 23:40:11,268 - robotics.core - INFO - Consumer ProudPanther324-session-1750542006701-joint-input-consumer joined room ProudPanther324-session-1750542006701-joint-input in workspace tafgg +2025-06-21 23:40:11,275 - robotics.core - INFO - Producer ProudPanther324-session-1750542006701-joint-output-producer joined room ProudPanther324-session-1750542006701-joint-output in workspace tafgg +2025-06-21 23:40:20,881 - video.core - INFO - Created video room 1-front in workspace tafgg +2025-06-21 23:40:20,887 - robotics.core - INFO - Created room 1-joint-input in workspace tafgg +2025-06-21 23:40:20,890 - robotics.core - INFO - Created room 1-joint-output in workspace tafgg +2025-06-21 23:40:22,250 - video.core - INFO - Consumer 1-front-consumer joined video room 1-front in workspace tafgg +2025-06-21 23:40:22,756 - robotics.core - INFO - Consumer 1-joint-input-consumer joined room 1-joint-input in workspace tafgg +2025-06-21 23:40:22,768 - robotics.core - INFO - Producer 1-joint-output-producer joined room 1-joint-output in workspace tafgg +2025-06-21 23:40:32,829 - robotics.core - INFO - Created room 1-joint-input in workspace tafgg +2025-06-21 23:40:32,869 - robotics.core - INFO - Producer remote-producer-1-joint-input-1750542032826 joined room 1-joint-input in workspace tafgg +2025-06-21 23:40:37,184 - robotics.core - INFO - Created room 1-joint-output in workspace tafgg +2025-06-21 23:40:37,199 - robotics.core - INFO - Consumer remote-consumer-1-joint-output-1750542037181 joined room 1-joint-output in workspace tafgg +2025-06-21 23:44:03,060 - robotics.core - INFO - Deleted room test-joint-input from workspace tafgg +2025-06-21 23:44:03,339 - robotics.core - INFO - Deleted room test-joint-output from workspace tafgg +2025-06-21 23:44:03,594 - robotics.core - INFO - Consumer test2-joint-input-consumer left room test2-joint-input in workspace tafgg +2025-06-21 23:44:03,594 - robotics.core - INFO - Deleted room test2-joint-input from workspace tafgg +2025-06-21 23:44:04,012 - robotics.core - INFO - Deleted room test2-joint-output from workspace tafgg +2025-06-21 23:44:04,859 - robotics.core - INFO - Consumer test3-joint-input-consumer left room test3-joint-input in workspace tafgg +2025-06-21 23:44:04,859 - robotics.core - INFO - Deleted room test3-joint-input from workspace tafgg +2025-06-21 23:44:05,238 - robotics.core - INFO - Deleted room test3-joint-output from workspace tafgg +2025-06-21 23:44:05,402 - robotics.core - INFO - Consumer sddf-joint-input-consumer left room sddf-joint-input in workspace tafgg +2025-06-21 23:44:05,402 - robotics.core - INFO - Deleted room sddf-joint-input from workspace tafgg +2025-06-21 23:44:05,569 - robotics.core - INFO - Producer sddf-joint-output-producer left room sddf-joint-output in workspace tafgg +2025-06-21 23:44:05,570 - robotics.core - INFO - Deleted room sddf-joint-output from workspace tafgg +2025-06-21 23:44:05,736 - robotics.core - INFO - Deleted room CopperFrog386-session-1750541658273-joint-input from workspace tafgg +2025-06-21 23:44:05,914 - robotics.core - INFO - Deleted room CopperFrog386-session-1750541658273-joint-output from workspace tafgg +2025-06-21 23:44:06,217 - robotics.core - INFO - Deleted room sdpoks from workspace tafgg +2025-06-21 23:44:06,370 - robotics.core - INFO - Deleted room sdp[kds from workspace tafgg +2025-06-21 23:44:06,540 - robotics.core - INFO - Deleted room test99-joint-input from workspace tafgg +2025-06-21 23:44:06,686 - robotics.core - INFO - Deleted room test99-joint-output from workspace tafgg +2025-06-21 23:44:06,838 - robotics.core - INFO - Deleted room VengeanceGazelle743-session-1750541896040-joint-input from workspace tafgg +2025-06-21 23:44:06,990 - robotics.core - INFO - Deleted room VengeanceGazelle743-session-1750541896040-joint-output from workspace tafgg +2025-06-21 23:44:07,135 - robotics.core - INFO - Consumer ProudPanther324-session-1750542006701-joint-input-consumer left room ProudPanther324-session-1750542006701-joint-input in workspace tafgg +2025-06-21 23:44:07,136 - robotics.core - INFO - Deleted room ProudPanther324-session-1750542006701-joint-input from workspace tafgg +2025-06-21 23:44:07,303 - robotics.core - INFO - Producer ProudPanther324-session-1750542006701-joint-output-producer left room ProudPanther324-session-1750542006701-joint-output in workspace tafgg +2025-06-21 23:44:07,303 - robotics.core - INFO - Deleted room ProudPanther324-session-1750542006701-joint-output from workspace tafgg +2025-06-21 23:44:07,439 - robotics.core - INFO - Producer remote-producer-1-joint-input-1750542032826 left room 1-joint-input in workspace tafgg +2025-06-21 23:44:07,439 - robotics.core - INFO - Deleted room 1-joint-input from workspace tafgg +2025-06-21 23:44:07,610 - robotics.core - INFO - Consumer remote-consumer-1-joint-output-1750542037181 left room 1-joint-output in workspace tafgg +2025-06-21 23:44:07,610 - robotics.core - INFO - Deleted room 1-joint-output from workspace tafgg +2025-06-21 23:44:10,456 - video.core - INFO - Deleted video room test-front from workspace tafgg +2025-06-21 23:44:10,821 - video.core - INFO - Deleted video room test2-front from workspace tafgg +2025-06-21 23:44:11,160 - video.core - INFO - Deleted video room test3-front from workspace tafgg +2025-06-21 23:44:11,387 - video.core - INFO - Deleted video room sddf-front from workspace tafgg +2025-06-21 23:44:11,564 - video.core - INFO - Deleted video room CopperFrog386-session-1750541658273-front from workspace tafgg +2025-06-21 23:44:11,738 - video.core - INFO - Deleted video room test99-front from workspace tafgg +2025-06-21 23:44:11,976 - video.core - INFO - Deleted video room VengeanceGazelle743-session-1750541896040-front from workspace tafgg +2025-06-21 23:44:12,237 - video.core - INFO - Deleted video room ProudPanther324-session-1750542006701-front from workspace tafgg +2025-06-21 23:44:12,471 - video.core - INFO - Deleted video room 1-front from workspace tafgg +2025-06-21 23:45:21,846 - video.core - INFO - Created video room test11-front in workspace tafgg +2025-06-21 23:45:21,850 - robotics.core - INFO - Created room test11-joint-input in workspace tafgg +2025-06-21 23:45:21,852 - robotics.core - INFO - Created room test11-joint-output in workspace tafgg +2025-06-21 23:45:23,022 - video.core - INFO - Consumer test11-front-consumer joined video room test11-front in workspace tafgg +2025-06-21 23:45:23,674 - robotics.core - INFO - Consumer test11-joint-input-consumer joined room test11-joint-input in workspace tafgg +2025-06-21 23:45:23,970 - robotics.core - INFO - Producer test11-joint-output-producer joined room test11-joint-output in workspace tafgg +2025-06-21 23:45:33,322 - robotics.core - INFO - Created room test11-joint-output in workspace tafgg +2025-06-21 23:45:33,341 - robotics.core - INFO - Consumer remote-consumer-test11-joint-output-1750542333316 joined room test11-joint-output in workspace tafgg +2025-06-21 23:45:36,101 - robotics.core - INFO - Created room test11-joint-input in workspace tafgg +2025-06-21 23:45:36,119 - robotics.core - INFO - Producer remote-producer-test11-joint-input-1750542336098 joined room test11-joint-input in workspace tafgg +2025-06-21 23:45:41,240 - video.core - INFO - Producer frontend-camera-front-1750542341115 joined video room test11-front in workspace tafgg +2025-06-21 23:45:41,362 - video.api - INFO - ๐Ÿ”ง WebRTC signal from frontend-camera-front-1750542341115 (role: producer) in workspace tafgg, room test11-front +2025-06-21 23:45:41,363 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer frontend-camera-front-1750542341115 to consumer test11-front-consumer +2025-06-21 23:45:41,367 - video.api - INFO - ๐Ÿ”ง WebRTC signal from frontend-camera-front-1750542341115 (role: producer) in workspace tafgg, room test11-front +2025-06-21 23:45:41,377 - video.api - INFO - ๐Ÿ”ง WebRTC signal from frontend-camera-front-1750542341115 (role: producer) in workspace tafgg, room test11-front +2025-06-21 23:45:41,388 - video.core - INFO - Stream started by frontend-camera-front-1750542341115 in room test11-front (workspace tafgg) +2025-06-21 23:45:41,450 - video.api - INFO - ๐Ÿ”ง WebRTC signal from frontend-camera-front-1750542341115 (role: producer) in workspace tafgg, room test11-front +2025-06-21 23:45:41,755 - video.api - INFO - ๐Ÿ”ง WebRTC signal from test11-front-consumer (role: consumer) in workspace tafgg, room test11-front +2025-06-21 23:45:41,755 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer test11-front-consumer to producer frontend-camera-front-1750542341115 +2025-06-21 23:46:35,078 - robotics.core - INFO - Consumer remote-consumer-test11-joint-output-1750542333316 left room test11-joint-output in workspace tafgg +2025-06-21 23:46:35,080 - robotics.core - INFO - Producer remote-producer-test11-joint-input-1750542336098 left room test11-joint-input in workspace tafgg +2025-06-21 23:46:35,081 - video.core - INFO - Producer frontend-camera-front-1750542341115 left video room test11-front in workspace tafgg +2025-06-21 23:46:51,845 - video.core - INFO - Created video room oooo-front in workspace tafgg +2025-06-21 23:46:51,850 - robotics.core - INFO - Created room oooo-joint-input in workspace tafgg +2025-06-21 23:46:51,853 - robotics.core - INFO - Created room oooo-joint-output in workspace tafgg +2025-06-21 23:46:52,927 - video.core - INFO - Consumer oooo-front-consumer joined video room oooo-front in workspace tafgg +2025-06-21 23:46:53,445 - robotics.core - INFO - Consumer oooo-joint-input-consumer joined room oooo-joint-input in workspace tafgg +2025-06-21 23:46:53,454 - robotics.core - INFO - Producer oooo-joint-output-producer joined room oooo-joint-output in workspace tafgg +2025-06-21 23:47:13,605 - robotics.core - INFO - Created room oooo-joint-output in workspace tafgg +2025-06-21 23:47:13,657 - robotics.core - INFO - Consumer remote-consumer-oooo-joint-output-1750542433599 joined room oooo-joint-output in workspace tafgg +2025-06-21 23:47:24,643 - robotics.core - INFO - Created room oooo-joint-input in workspace tafgg +2025-06-21 23:47:24,661 - robotics.core - INFO - Producer remote-producer-oooo-joint-input-1750542444640 joined room oooo-joint-input in workspace tafgg +2025-06-21 23:47:39,887 - robotics.core - INFO - Consumer remote-consumer-oooo-joint-output-1750542433599 left room oooo-joint-output in workspace tafgg +2025-06-21 23:47:39,887 - robotics.core - INFO - Producer remote-producer-oooo-joint-input-1750542444640 left room oooo-joint-input in workspace tafgg +2025-06-21 23:47:52,667 - video.core - INFO - Created video room ooo2-front in workspace tafgg +2025-06-21 23:47:52,671 - robotics.core - INFO - Created room ooo2-joint-input in workspace tafgg +2025-06-21 23:47:52,674 - robotics.core - INFO - Created room ooo2-joint-output in workspace tafgg +2025-06-21 23:47:53,627 - video.core - INFO - Consumer ooo2-front-consumer joined video room ooo2-front in workspace tafgg +2025-06-21 23:47:54,141 - robotics.core - INFO - Consumer ooo2-joint-input-consumer joined room ooo2-joint-input in workspace tafgg +2025-06-21 23:47:54,146 - robotics.core - INFO - Producer ooo2-joint-output-producer joined room ooo2-joint-output in workspace tafgg +2025-06-21 23:47:58,738 - robotics.core - INFO - Producer frontend-robot-input-IcyLlama178-1750542478716 joined room ooo2-joint-input in workspace tafgg +2025-06-21 23:48:01,960 - robotics.core - INFO - Consumer frontend-robot-output-IcyLlama178-1750542481938 joined room ooo2-joint-output in workspace tafgg +2025-06-21 23:48:11,613 - video.core - INFO - Producer frontend-camera-front-1750542491544 joined video room ooo2-front in workspace tafgg +2025-06-21 23:48:11,698 - video.api - INFO - ๐Ÿ”ง WebRTC signal from frontend-camera-front-1750542491544 (role: producer) in workspace tafgg, room ooo2-front +2025-06-21 23:48:11,700 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer frontend-camera-front-1750542491544 to consumer ooo2-front-consumer +2025-06-21 23:48:11,701 - video.api - INFO - ๐Ÿ”ง WebRTC signal from frontend-camera-front-1750542491544 (role: producer) in workspace tafgg, room ooo2-front +2025-06-21 23:48:11,710 - video.core - INFO - Stream started by frontend-camera-front-1750542491544 in room ooo2-front (workspace tafgg) +2025-06-21 23:48:11,749 - video.api - INFO - ๐Ÿ”ง WebRTC signal from frontend-camera-front-1750542491544 (role: producer) in workspace tafgg, room ooo2-front +2025-06-21 23:48:11,800 - video.api - INFO - ๐Ÿ”ง WebRTC signal from ooo2-front-consumer (role: consumer) in workspace tafgg, room ooo2-front +2025-06-21 23:48:11,800 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer ooo2-front-consumer to producer frontend-camera-front-1750542491544 +2025-06-21 23:48:11,809 - video.api - INFO - ๐Ÿ”ง WebRTC signal from frontend-camera-front-1750542491544 (role: producer) in workspace tafgg, room ooo2-front +2025-06-21 23:48:30,237 - video.core - INFO - Stream stopped by frontend-camera-front-1750542491544 in room ooo2-front (workspace tafgg) +2025-06-21 23:48:30,238 - video.core - INFO - Producer frontend-camera-front-1750542491544 left video room ooo2-front in workspace tafgg +2025-06-21 23:48:34,479 - video.core - INFO - Producer frontend-camera-front-1750542514464 joined video room ooo2-front in workspace tafgg +2025-06-21 23:48:34,506 - video.api - INFO - ๐Ÿ”ง WebRTC signal from frontend-camera-front-1750542514464 (role: producer) in workspace tafgg, room ooo2-front +2025-06-21 23:48:34,507 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer frontend-camera-front-1750542514464 to consumer ooo2-front-consumer +2025-06-21 23:48:34,520 - video.api - INFO - ๐Ÿ”ง WebRTC signal from frontend-camera-front-1750542514464 (role: producer) in workspace tafgg, room ooo2-front +2025-06-21 23:48:34,523 - video.core - INFO - Stream started by frontend-camera-front-1750542514464 in room ooo2-front (workspace tafgg) +2025-06-21 23:48:34,549 - video.api - INFO - ๐Ÿ”ง WebRTC signal from frontend-camera-front-1750542514464 (role: producer) in workspace tafgg, room ooo2-front +2025-06-21 23:48:34,707 - video.api - INFO - ๐Ÿ”ง WebRTC signal from frontend-camera-front-1750542514464 (role: producer) in workspace tafgg, room ooo2-front +2025-06-21 23:48:35,455 - video.api - INFO - ๐Ÿ”ง WebRTC signal from ooo2-front-consumer (role: consumer) in workspace tafgg, room ooo2-front +2025-06-21 23:48:35,456 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer ooo2-front-consumer to producer frontend-camera-front-1750542514464 +2025-06-21 23:48:54,304 - robotics.core - INFO - Consumer consumer_1750542532154 joined room ooo2-joint-input in workspace tafgg +2025-06-21 23:48:55,482 - robotics.core - INFO - Consumer consumer_1750542532904 joined room ooo2-joint-output in workspace tafgg +2025-06-21 23:49:08,605 - video.core - INFO - Stream stopped by frontend-camera-front-1750542514464 in room ooo2-front (workspace tafgg) +2025-06-21 23:49:08,621 - video.core - INFO - Producer frontend-camera-front-1750542514464 left video room ooo2-front in workspace tafgg +2025-06-21 23:49:50,735 - video.core - INFO - Consumer t-front-consumer left video room t-front in workspace fb4b3ce2-c86e-4d71-9323-7aa468943d82 +2025-06-21 23:49:50,735 - robotics.core - INFO - Consumer t-joint-input-consumer left room t-joint-input in workspace fb4b3ce2-c86e-4d71-9323-7aa468943d82 +2025-06-21 23:49:50,735 - robotics.core - INFO - Producer t-joint-output-producer left room t-joint-output in workspace fb4b3ce2-c86e-4d71-9323-7aa468943d82 +2025-06-21 23:49:50,786 - video.core - INFO - Consumer test11-front-consumer left video room test11-front in workspace tafgg +2025-06-21 23:49:50,787 - video.core - INFO - Consumer oooo-front-consumer left video room oooo-front in workspace tafgg +2025-06-21 23:49:50,789 - video.core - INFO - Consumer ooo2-front-consumer left video room ooo2-front in workspace tafgg +2025-06-21 23:49:50,790 - robotics.core - INFO - Consumer ooo2-joint-input-consumer left room ooo2-joint-input in workspace tafgg +2025-06-21 23:49:50,790 - robotics.core - INFO - Producer ooo2-joint-output-producer left room ooo2-joint-output in workspace tafgg +2025-06-21 23:49:53,824 - robotics.core - INFO - Consumer frontend-robot-output-IcyLlama178-1750542481938 left room ooo2-joint-output in workspace tafgg +2025-06-21 23:49:53,824 - robotics.core - INFO - Consumer consumer_1750542532154 left room ooo2-joint-input in workspace tafgg +2025-06-21 23:49:53,824 - robotics.core - INFO - Producer frontend-robot-input-IcyLlama178-1750542478716 left room ooo2-joint-input in workspace tafgg +2025-06-21 23:49:53,824 - robotics.core - INFO - Consumer consumer_1750542532904 left room ooo2-joint-output in workspace tafgg +2025-06-21 23:49:55,617 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-21 23:51:44,409 - video.core - INFO - Created video room test123-front in workspace tafgg +2025-06-21 23:51:44,420 - robotics.core - INFO - Created room test123-joint-input in workspace tafgg +2025-06-21 23:51:44,423 - robotics.core - INFO - Created room test123-joint-output in workspace tafgg +2025-06-21 23:51:45,555 - video.core - INFO - Consumer test123-front-consumer joined video room test123-front in workspace tafgg +2025-06-21 23:51:46,058 - robotics.core - INFO - Consumer test123-joint-input-consumer joined room test123-joint-input in workspace tafgg +2025-06-21 23:51:46,060 - robotics.core - INFO - Producer test123-joint-output-producer joined room test123-joint-output in workspace tafgg +2025-06-21 23:51:48,597 - robotics.core - INFO - Consumer frontend-robot-input-ShadowFalcon754-1750542708584 joined room test123-joint-input in workspace tafgg +2025-06-21 23:51:50,946 - robotics.core - WARNING - Producer frontend-robot-output-ShadowFalcon754-1750542710934 failed to join room test123-joint-output - room already has producer test123-joint-output-producer +2025-06-21 23:51:52,044 - robotics.core - WARNING - Producer frontend-robot-output-ShadowFalcon754-1750542712033 failed to join room test123-joint-output - room already has producer test123-joint-output-producer +2025-06-21 23:51:52,596 - robotics.core - WARNING - Producer frontend-robot-output-ShadowFalcon754-1750542712572 failed to join room test123-joint-output - room already has producer test123-joint-output-producer +2025-06-21 23:51:53,310 - robotics.core - WARNING - Producer frontend-robot-output-ShadowFalcon754-1750542713297 failed to join room test123-joint-output - room already has producer test123-joint-output-producer +2025-06-21 23:51:57,461 - robotics.core - WARNING - Producer frontend-robot-output-ShadowFalcon754-1750542717449 failed to join room test123-joint-output - room already has producer test123-joint-output-producer +2025-06-21 23:51:58,213 - robotics.core - WARNING - Producer frontend-robot-output-ShadowFalcon754-1750542718184 failed to join room test123-joint-output - room already has producer test123-joint-output-producer +2025-06-21 23:52:00,811 - robotics.core - WARNING - Producer frontend-robot-output-ShadowFalcon754-1750542720791 failed to join room test123-joint-output - room already has producer test123-joint-output-producer +2025-06-21 23:52:38,449 - video.core - INFO - Consumer test123-front-consumer left video room test123-front in workspace tafgg +2025-06-21 23:52:38,454 - robotics.core - INFO - Consumer test123-joint-input-consumer left room test123-joint-input in workspace tafgg +2025-06-21 23:52:38,456 - robotics.core - INFO - Producer test123-joint-output-producer left room test123-joint-output in workspace tafgg +2025-06-21 23:52:40,780 - robotics.core - INFO - Consumer frontend-robot-input-ShadowFalcon754-1750542708584 left room test123-joint-input in workspace tafgg +2025-06-21 23:53:03,155 - video.core - INFO - Created video room 1212-front in workspace tafgg +2025-06-21 23:53:03,163 - robotics.core - INFO - Created room 1212-joint-input in workspace tafgg +2025-06-21 23:53:03,166 - robotics.core - INFO - Created room 1212-joint-output in workspace tafgg +2025-06-21 23:53:04,180 - video.core - INFO - Consumer 1212-front-consumer joined video room 1212-front in workspace tafgg +2025-06-21 23:53:04,686 - robotics.core - INFO - Consumer 1212-joint-input-consumer joined room 1212-joint-input in workspace tafgg +2025-06-21 23:53:04,699 - robotics.core - INFO - Producer 1212-joint-output-producer joined room 1212-joint-output in workspace tafgg +2025-06-21 23:53:13,362 - robotics.core - INFO - Producer frontend-robot-input-TitaniumBarracuda158-1750542793341 joined room 1212-joint-input in workspace tafgg +2025-06-21 23:55:00,850 - robotics.core - INFO - Producer frontend-robot-input-TitaniumBarracuda158-1750542793341 left room 1212-joint-input in workspace tafgg +2025-06-21 23:55:01,578 - robotics.core - INFO - Producer frontend-robot-input-TitaniumBarracuda158-1750542901564 joined room 1212-joint-input in workspace tafgg +2025-06-21 23:55:04,864 - robotics.core - INFO - Consumer frontend-robot-output-TitaniumBarracuda158-1750542904850 joined room 1212-joint-output in workspace tafgg +2025-06-21 23:55:41,063 - video.core - INFO - Consumer 1212-front-consumer left video room 1212-front in workspace tafgg +2025-06-21 23:55:41,066 - robotics.core - INFO - Consumer 1212-joint-input-consumer left room 1212-joint-input in workspace tafgg +2025-06-21 23:55:41,069 - robotics.core - INFO - Producer 1212-joint-output-producer left room 1212-joint-output in workspace tafgg +2025-06-21 23:55:42,536 - robotics.core - INFO - Producer frontend-robot-input-TitaniumBarracuda158-1750542901564 left room 1212-joint-input in workspace tafgg +2025-06-21 23:55:42,536 - robotics.core - INFO - Consumer frontend-robot-output-TitaniumBarracuda158-1750542904850 left room 1212-joint-output in workspace tafgg +2025-06-22 00:00:16,327 - video.core - INFO - Created video room okpsdposd-front in workspace tafgg +2025-06-22 00:00:16,358 - robotics.core - INFO - Created room okpsdposd-joint-input in workspace tafgg +2025-06-22 00:00:16,372 - robotics.core - INFO - Created room okpsdposd-joint-output in workspace tafgg +2025-06-22 00:00:19,638 - video.core - INFO - Consumer okpsdposd-front-consumer joined video room okpsdposd-front in workspace tafgg +2025-06-22 00:00:20,142 - robotics.core - INFO - Consumer okpsdposd-joint-input-consumer joined room okpsdposd-joint-input in workspace tafgg +2025-06-22 00:00:20,150 - robotics.core - INFO - Producer okpsdposd-joint-output-producer joined room okpsdposd-joint-output in workspace tafgg +2025-06-22 00:00:22,846 - robotics.core - INFO - Producer frontend-robot-input-PinkLamb530-1750543222821 joined room okpsdposd-joint-input in workspace tafgg +2025-06-22 00:00:27,866 - robotics.core - WARNING - Producer frontend-robot-input-PinkLamb530-1750543227842 failed to join room okpsdposd-joint-input - room already has producer frontend-robot-input-PinkLamb530-1750543222821 +2025-06-22 00:00:28,596 - robotics.core - WARNING - Producer frontend-robot-input-PinkLamb530-1750543228582 failed to join room okpsdposd-joint-input - room already has producer frontend-robot-input-PinkLamb530-1750543222821 +2025-06-22 00:00:33,380 - robotics.core - INFO - Consumer frontend-robot-output-PinkLamb530-1750543233368 joined room okpsdposd-joint-output in workspace tafgg +2025-06-22 00:01:36,019 - video.core - INFO - Consumer okpsdposd-front-consumer left video room okpsdposd-front in workspace tafgg +2025-06-22 00:01:36,028 - robotics.core - INFO - Consumer okpsdposd-joint-input-consumer left room okpsdposd-joint-input in workspace tafgg +2025-06-22 00:01:36,029 - robotics.core - INFO - Producer okpsdposd-joint-output-producer left room okpsdposd-joint-output in workspace tafgg +2025-06-22 00:01:46,899 - robotics.core - INFO - Producer frontend-robot-input-PinkLamb530-1750543222821 left room okpsdposd-joint-input in workspace tafgg +2025-06-22 00:01:46,906 - robotics.core - INFO - Consumer frontend-robot-output-PinkLamb530-1750543233368 left room okpsdposd-joint-output in workspace tafgg +2025-06-22 00:02:04,526 - video.core - INFO - Created video room BanditMonkey770-session-1750543323212-front in workspace 670c7443-4ed9-49c7-adb0-21deac509b3c +2025-06-22 00:02:04,530 - robotics.core - INFO - Created room BanditMonkey770-session-1750543323212-joint-input in workspace 670c7443-4ed9-49c7-adb0-21deac509b3c +2025-06-22 00:02:04,533 - robotics.core - INFO - Created room BanditMonkey770-session-1750543323212-joint-output in workspace 670c7443-4ed9-49c7-adb0-21deac509b3c +2025-06-22 00:02:05,760 - video.core - INFO - Consumer BanditMonkey770-session-1750543323212-front-consumer joined video room BanditMonkey770-session-1750543323212-front in workspace 670c7443-4ed9-49c7-adb0-21deac509b3c +2025-06-22 00:02:06,264 - robotics.core - INFO - Consumer BanditMonkey770-session-1750543323212-joint-input-consumer joined room BanditMonkey770-session-1750543323212-joint-input in workspace 670c7443-4ed9-49c7-adb0-21deac509b3c +2025-06-22 00:02:06,270 - robotics.core - INFO - Producer BanditMonkey770-session-1750543323212-joint-output-producer joined room BanditMonkey770-session-1750543323212-joint-output in workspace 670c7443-4ed9-49c7-adb0-21deac509b3c +2025-06-22 00:02:11,135 - robotics.core - INFO - Created room BanditMonkey770-session-1750543323212-joint-input in workspace tafgg +2025-06-22 00:02:11,144 - robotics.core - INFO - Producer remote-producer-BanditMonkey770-session-1750543323212-joint-input-1750543331131 joined room BanditMonkey770-session-1750543323212-joint-input in workspace tafgg +2025-06-22 00:03:48,361 - robotics.core - INFO - Producer remote-producer-BanditMonkey770-session-1750543323212-joint-input-1750543331131 left room BanditMonkey770-session-1750543323212-joint-input in workspace tafgg +2025-06-22 00:05:24,913 - video.core - INFO - Created video room uisds-front in workspace tafgg +2025-06-22 00:05:24,919 - robotics.core - INFO - Created room uisds-joint-input in workspace tafgg +2025-06-22 00:05:24,922 - robotics.core - INFO - Created room uisds-joint-output in workspace tafgg +2025-06-22 00:05:26,153 - video.core - INFO - Consumer uisds-front-consumer joined video room uisds-front in workspace tafgg +2025-06-22 00:05:26,663 - robotics.core - INFO - Consumer uisds-joint-input-consumer joined room uisds-joint-input in workspace tafgg +2025-06-22 00:05:26,674 - robotics.core - INFO - Producer uisds-joint-output-producer joined room uisds-joint-output in workspace tafgg +2025-06-22 00:05:31,794 - robotics.core - INFO - Created room uisds-joint-input in workspace tafgg +2025-06-22 00:05:31,817 - robotics.core - INFO - Producer robot-producer-StormBoxer881-1750543531791 joined room uisds-joint-input in workspace tafgg +2025-06-22 00:05:34,039 - robotics.core - INFO - Created room uisds-joint-output in workspace tafgg +2025-06-22 00:05:34,058 - robotics.core - INFO - Consumer robot-consumer-StormBoxer881-1750543534037 joined room uisds-joint-output in workspace tafgg +2025-06-22 00:05:49,096 - robotics.core - INFO - Producer robot-producer-StormBoxer881-1750543531791 left room uisds-joint-input in workspace tafgg +2025-06-22 00:05:49,097 - robotics.core - INFO - Consumer robot-consumer-StormBoxer881-1750543534037 left room uisds-joint-output in workspace tafgg +2025-06-22 00:05:57,397 - video.core - INFO - Created video room sdojisdi-front in workspace tafgg +2025-06-22 00:05:57,401 - robotics.core - INFO - Created room sdojisdi-joint-input in workspace tafgg +2025-06-22 00:05:57,404 - robotics.core - INFO - Created room sdojisdi-joint-output in workspace tafgg +2025-06-22 00:05:58,595 - video.core - INFO - Consumer sdojisdi-front-consumer joined video room sdojisdi-front in workspace tafgg +2025-06-22 00:05:59,100 - robotics.core - INFO - Consumer sdojisdi-joint-input-consumer joined room sdojisdi-joint-input in workspace tafgg +2025-06-22 00:05:59,108 - robotics.core - INFO - Producer sdojisdi-joint-output-producer joined room sdojisdi-joint-output in workspace tafgg +2025-06-22 00:06:13,145 - robotics.core - INFO - Created room sdojisdi-joint-output in workspace tafgg +2025-06-22 00:06:13,162 - robotics.core - INFO - Consumer robot-consumer-GallantMammoth815-1750543573142 joined room sdojisdi-joint-output in workspace tafgg +2025-06-22 00:06:41,778 - robotics.core - INFO - Consumer robot-consumer-GallantMammoth815-1750543573142 left room sdojisdi-joint-output in workspace tafgg +2025-06-22 00:09:49,272 - video.core - INFO - Created video room uhdssohihow-front in workspace tafgg +2025-06-22 00:09:49,279 - robotics.core - INFO - Created room uhdssohihow-joint-input in workspace tafgg +2025-06-22 00:09:49,282 - robotics.core - INFO - Created room uhdssohihow-joint-output in workspace tafgg +2025-06-22 00:09:50,268 - video.core - INFO - Consumer uhdssohihow-front-consumer joined video room uhdssohihow-front in workspace tafgg +2025-06-22 00:09:50,772 - robotics.core - INFO - Consumer uhdssohihow-joint-input-consumer joined room uhdssohihow-joint-input in workspace tafgg +2025-06-22 00:09:50,775 - robotics.core - INFO - Producer uhdssohihow-joint-output-producer joined room uhdssohihow-joint-output in workspace tafgg +2025-06-22 00:09:58,246 - robotics.core - INFO - Created room uhdssohihow-joint-input in workspace tafgg +2025-06-22 00:09:58,255 - robotics.core - INFO - Producer robot-producer-BurningChicken801-1750543798240 joined room uhdssohihow-joint-input in workspace tafgg +2025-06-22 00:10:35,950 - video.core - INFO - Consumer BanditMonkey770-session-1750543323212-front-consumer left video room BanditMonkey770-session-1750543323212-front in workspace 670c7443-4ed9-49c7-adb0-21deac509b3c +2025-06-22 00:10:35,952 - robotics.core - INFO - Consumer BanditMonkey770-session-1750543323212-joint-input-consumer left room BanditMonkey770-session-1750543323212-joint-input in workspace 670c7443-4ed9-49c7-adb0-21deac509b3c +2025-06-22 00:10:35,955 - robotics.core - INFO - Producer BanditMonkey770-session-1750543323212-joint-output-producer left room BanditMonkey770-session-1750543323212-joint-output in workspace 670c7443-4ed9-49c7-adb0-21deac509b3c +2025-06-22 00:10:35,958 - video.core - INFO - Consumer uisds-front-consumer left video room uisds-front in workspace tafgg +2025-06-22 00:10:35,965 - video.core - INFO - Consumer sdojisdi-front-consumer left video room sdojisdi-front in workspace tafgg +2025-06-22 00:10:35,966 - robotics.core - INFO - Consumer sdojisdi-joint-input-consumer left room sdojisdi-joint-input in workspace tafgg +2025-06-22 00:10:35,973 - video.core - INFO - Consumer uhdssohihow-front-consumer left video room uhdssohihow-front in workspace tafgg +2025-06-22 00:10:35,975 - robotics.core - INFO - Producer uhdssohihow-joint-output-producer left room uhdssohihow-joint-output in workspace tafgg +2025-06-22 00:10:36,465 - robotics.core - INFO - Producer robot-producer-BurningChicken801-1750543798240 left room uhdssohihow-joint-input in workspace tafgg +2025-06-22 00:10:48,723 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-22 00:16:36,962 - video.core - INFO - Created video room sdoijsdio-front in workspace tafgg +2025-06-22 00:16:36,967 - robotics.core - INFO - Created room sdoijsdio-joint-input in workspace tafgg +2025-06-22 00:16:36,970 - robotics.core - INFO - Created room sdoijsdio-joint-output in workspace tafgg +2025-06-22 00:16:38,045 - video.core - INFO - Consumer sdoijsdio-front-consumer joined video room sdoijsdio-front in workspace tafgg +2025-06-22 00:16:38,550 - robotics.core - INFO - Consumer sdoijsdio-joint-input-consumer joined room sdoijsdio-joint-input in workspace tafgg +2025-06-22 00:16:38,552 - robotics.core - INFO - Producer sdoijsdio-joint-output-producer joined room sdoijsdio-joint-output in workspace tafgg +2025-06-22 00:16:42,851 - robotics.core - INFO - Producer remote-producer-sdoijsdio-joint-input-1750544202842 joined room sdoijsdio-joint-input in workspace tafgg +2025-06-22 00:16:46,845 - robotics.core - INFO - Consumer remote-consumer-sdoijsdio-joint-output-1750544206830 joined room sdoijsdio-joint-output in workspace tafgg +2025-06-22 00:16:57,067 - video.core - INFO - Producer frontend-camera-front-1750544217053 joined video room sdoijsdio-front in workspace tafgg +2025-06-22 00:16:57,132 - video.api - INFO - ๐Ÿ”ง WebRTC signal from frontend-camera-front-1750544217053 (role: producer) in workspace tafgg, room sdoijsdio-front +2025-06-22 00:16:57,132 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer frontend-camera-front-1750544217053 to consumer sdoijsdio-front-consumer +2025-06-22 00:16:57,134 - video.api - INFO - ๐Ÿ”ง WebRTC signal from frontend-camera-front-1750544217053 (role: producer) in workspace tafgg, room sdoijsdio-front +2025-06-22 00:16:57,136 - video.core - INFO - Stream started by frontend-camera-front-1750544217053 in room sdoijsdio-front (workspace tafgg) +2025-06-22 00:16:57,169 - video.api - INFO - ๐Ÿ”ง WebRTC signal from frontend-camera-front-1750544217053 (role: producer) in workspace tafgg, room sdoijsdio-front +2025-06-22 00:16:57,202 - video.api - INFO - ๐Ÿ”ง WebRTC signal from sdoijsdio-front-consumer (role: consumer) in workspace tafgg, room sdoijsdio-front +2025-06-22 00:16:57,202 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer sdoijsdio-front-consumer to producer frontend-camera-front-1750544217053 +2025-06-22 00:17:07,476 - video.core - INFO - Stream stopped by frontend-camera-front-1750544217053 in room sdoijsdio-front (workspace tafgg) +2025-06-22 00:17:07,493 - video.core - INFO - Producer frontend-camera-front-1750544217053 left video room sdoijsdio-front in workspace tafgg +2025-06-22 00:17:50,171 - robotics.core - INFO - Producer remote-producer-sdoijsdio-joint-input-1750544202842 left room sdoijsdio-joint-input in workspace tafgg +2025-06-22 00:17:50,172 - robotics.core - INFO - Consumer remote-consumer-sdoijsdio-joint-output-1750544206830 left room sdoijsdio-joint-output in workspace tafgg +2025-06-22 00:20:04,448 - video.core - INFO - Created video room FrozenStarfish660-session-1750544394380-front in workspace tafgg +2025-06-22 00:20:05,596 - robotics.core - INFO - Created room FrozenStarfish660-session-1750544394380-joint-input in workspace tafgg +2025-06-22 00:20:05,603 - robotics.core - INFO - Created room FrozenStarfish660-session-1750544394380-joint-output in workspace tafgg +2025-06-22 00:20:07,841 - video.core - INFO - Consumer FrozenStarfish660-session-1750544394380-front-consumer joined video room FrozenStarfish660-session-1750544394380-front in workspace tafgg +2025-06-22 00:20:08,346 - robotics.core - INFO - Consumer FrozenStarfish660-session-1750544394380-joint-input-consumer joined room FrozenStarfish660-session-1750544394380-joint-input in workspace tafgg +2025-06-22 00:20:08,362 - robotics.core - INFO - Producer FrozenStarfish660-session-1750544394380-joint-output-producer joined room FrozenStarfish660-session-1750544394380-joint-output in workspace tafgg +2025-06-22 00:20:11,151 - robotics.core - INFO - Producer remote-producer-FrozenStarfish660-session-1750544394380-joint-input-1750544411139 joined room FrozenStarfish660-session-1750544394380-joint-input in workspace tafgg +2025-06-22 00:20:13,485 - robotics.core - INFO - Consumer remote-consumer-FrozenStarfish660-session-1750544394380-joint-output-1750544413463 joined room FrozenStarfish660-session-1750544394380-joint-output in workspace tafgg +2025-06-22 00:20:19,887 - robotics.core - INFO - Consumer sdoijsdio-joint-input-consumer left room sdoijsdio-joint-input in workspace tafgg +2025-06-22 00:20:19,893 - robotics.core - INFO - Producer sdoijsdio-joint-output-producer left room sdoijsdio-joint-output in workspace tafgg +2025-06-22 00:20:19,893 - robotics.core - INFO - Consumer remote-consumer-FrozenStarfish660-session-1750544394380-joint-output-1750544413463 left room FrozenStarfish660-session-1750544394380-joint-output in workspace tafgg +2025-06-22 00:20:19,893 - robotics.core - INFO - Producer remote-producer-FrozenStarfish660-session-1750544394380-joint-input-1750544411139 left room FrozenStarfish660-session-1750544394380-joint-input in workspace tafgg +2025-06-22 00:20:19,894 - robotics.core - INFO - Producer FrozenStarfish660-session-1750544394380-joint-output-producer left room FrozenStarfish660-session-1750544394380-joint-output in workspace tafgg +2025-06-22 00:20:19,894 - robotics.core - INFO - Consumer FrozenStarfish660-session-1750544394380-joint-input-consumer left room FrozenStarfish660-session-1750544394380-joint-input in workspace tafgg +2025-06-22 00:20:19,894 - video.core - INFO - Consumer FrozenStarfish660-session-1750544394380-front-consumer left video room FrozenStarfish660-session-1750544394380-front in workspace tafgg +2025-06-22 00:20:19,894 - video.core - INFO - Consumer sdoijsdio-front-consumer left video room sdoijsdio-front in workspace tafgg +2025-06-22 22:58:20,808 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-22 22:59:48,098 - robotics.core - INFO - Created room MightyCrocodile291 in workspace b55822a2-1b9e-433c-9a3b-534a296e7f72 +2025-06-22 23:20:30,811 - video.core - INFO - Created video room camera_1750627225435 in workspace b55822a2-1b9e-433c-9a3b-534a296e7f72 +2025-06-22 23:34:33,885 - video.core - INFO - Producer producer-id joined video room camera_1750627225435 in workspace b55822a2-1b9e-433c-9a3b-534a296e7f72 +2025-06-22 23:34:33,969 - video.core - INFO - Stream started by producer-id in room camera_1750627225435 (workspace b55822a2-1b9e-433c-9a3b-534a296e7f72) +2025-06-22 23:34:41,003 - video.core - INFO - Consumer consumer-id joined video room camera_1750627225435 in workspace b55822a2-1b9e-433c-9a3b-534a296e7f72 +2025-06-22 23:34:41,044 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer-id (role: producer) in workspace b55822a2-1b9e-433c-9a3b-534a296e7f72, room camera_1750627225435 +2025-06-22 23:34:41,044 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer-id to consumer consumer-id +2025-06-22 23:34:41,046 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer-id (role: producer) in workspace b55822a2-1b9e-433c-9a3b-534a296e7f72, room camera_1750627225435 +2025-06-22 23:34:41,047 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer-id (role: producer) in workspace b55822a2-1b9e-433c-9a3b-534a296e7f72, room camera_1750627225435 +2025-06-22 23:34:41,069 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer-id (role: consumer) in workspace b55822a2-1b9e-433c-9a3b-534a296e7f72, room camera_1750627225435 +2025-06-22 23:34:41,069 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer-id to producer producer-id +2025-06-22 23:34:41,072 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer-id (role: consumer) in workspace b55822a2-1b9e-433c-9a3b-534a296e7f72, room camera_1750627225435 +2025-06-22 23:36:42,208 - video.core - INFO - Producer producer-id left video room camera_1750627225435 in workspace b55822a2-1b9e-433c-9a3b-534a296e7f72 +2025-06-22 23:36:42,510 - video.core - INFO - Consumer consumer-id left video room camera_1750627225435 in workspace b55822a2-1b9e-433c-9a3b-534a296e7f72 +2025-06-22 23:50:02,839 - video.core - INFO - Producer producer-id joined video room camera_1750627225435 in workspace b55822a2-1b9e-433c-9a3b-534a296e7f72 +2025-06-22 23:50:02,920 - video.core - INFO - Stream started by producer-id in room camera_1750627225435 (workspace b55822a2-1b9e-433c-9a3b-534a296e7f72) +2025-06-22 23:50:34,488 - video.core - INFO - Consumer consumer-id joined video room camera_1750627225435 in workspace b55822a2-1b9e-433c-9a3b-534a296e7f72 +2025-06-22 23:50:34,515 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer-id (role: producer) in workspace b55822a2-1b9e-433c-9a3b-534a296e7f72, room camera_1750627225435 +2025-06-22 23:50:34,515 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer-id to consumer consumer-id +2025-06-22 23:50:34,516 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer-id (role: producer) in workspace b55822a2-1b9e-433c-9a3b-534a296e7f72, room camera_1750627225435 +2025-06-22 23:50:34,518 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer-id (role: producer) in workspace b55822a2-1b9e-433c-9a3b-534a296e7f72, room camera_1750627225435 +2025-06-22 23:50:34,543 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer-id (role: consumer) in workspace b55822a2-1b9e-433c-9a3b-534a296e7f72, room camera_1750627225435 +2025-06-22 23:50:34,543 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer-id to producer producer-id +2025-06-22 23:50:34,547 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer-id (role: consumer) in workspace b55822a2-1b9e-433c-9a3b-534a296e7f72, room camera_1750627225435 +2025-06-22 23:50:37,923 - video.core - INFO - Consumer consumer-id left video room camera_1750627225435 in workspace b55822a2-1b9e-433c-9a3b-534a296e7f72 +2025-06-22 23:50:45,029 - video.core - INFO - Consumer consumer-id joined video room camera_1750627225435 in workspace b55822a2-1b9e-433c-9a3b-534a296e7f72 +2025-06-22 23:50:45,062 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer-id (role: producer) in workspace b55822a2-1b9e-433c-9a3b-534a296e7f72, room camera_1750627225435 +2025-06-22 23:50:45,062 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer-id to consumer consumer-id +2025-06-22 23:50:45,064 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer-id (role: producer) in workspace b55822a2-1b9e-433c-9a3b-534a296e7f72, room camera_1750627225435 +2025-06-22 23:50:45,064 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer-id (role: producer) in workspace b55822a2-1b9e-433c-9a3b-534a296e7f72, room camera_1750627225435 +2025-06-22 23:50:45,088 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer-id (role: producer) in workspace b55822a2-1b9e-433c-9a3b-534a296e7f72, room camera_1750627225435 +2025-06-22 23:50:45,089 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer-id (role: producer) in workspace b55822a2-1b9e-433c-9a3b-534a296e7f72, room camera_1750627225435 +2025-06-22 23:50:45,098 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer-id (role: consumer) in workspace b55822a2-1b9e-433c-9a3b-534a296e7f72, room camera_1750627225435 +2025-06-22 23:50:45,101 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer-id to producer producer-id +2025-06-22 23:50:45,108 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer-id (role: consumer) in workspace b55822a2-1b9e-433c-9a3b-534a296e7f72, room camera_1750627225435 +2025-06-22 23:50:52,699 - video.core - INFO - Consumer consumer-id left video room camera_1750627225435 in workspace b55822a2-1b9e-433c-9a3b-534a296e7f72 +2025-06-22 23:50:57,594 - video.core - INFO - Producer producer-id left video room camera_1750627225435 in workspace b55822a2-1b9e-433c-9a3b-534a296e7f72 +2025-06-22 23:54:03,303 - video.core - INFO - Created video room camera_1750629218868 in workspace b55822a2-1b9e-433c-9a3b-534a296e7f72 +2025-06-22 23:54:03,322 - video.core - INFO - Consumer consumer-id joined video room camera_1750629218868 in workspace b55822a2-1b9e-433c-9a3b-534a296e7f72 +2025-06-22 23:54:29,214 - robotics.core - INFO - Consumer remote-consumer-MightyCrocodile291-1750629269200 joined room MightyCrocodile291 in workspace b55822a2-1b9e-433c-9a3b-534a296e7f72 +2025-06-22 23:54:39,404 - robotics.core - INFO - Producer remote-producer-MightyCrocodile291-1750629279290 joined room MightyCrocodile291 in workspace b55822a2-1b9e-433c-9a3b-534a296e7f72 +2025-06-22 23:55:41,629 - video.core - INFO - Consumer consumer-id left video room camera_1750629218868 in workspace b55822a2-1b9e-433c-9a3b-534a296e7f72 +2025-06-22 23:55:41,759 - robotics.core - INFO - Consumer remote-consumer-MightyCrocodile291-1750629269200 left room MightyCrocodile291 in workspace b55822a2-1b9e-433c-9a3b-534a296e7f72 +2025-06-22 23:55:41,853 - robotics.core - INFO - Producer remote-producer-MightyCrocodile291-1750629279290 left room MightyCrocodile291 in workspace b55822a2-1b9e-433c-9a3b-534a296e7f72 +2025-06-22 23:57:17,496 - robotics.core - INFO - Producer remote-producer-MightyCrocodile291-1750629437481 joined room MightyCrocodile291 in workspace b55822a2-1b9e-433c-9a3b-534a296e7f72 +2025-06-22 23:57:21,975 - robotics.core - INFO - Producer remote-producer-MightyCrocodile291-1750629437481 left room MightyCrocodile291 in workspace b55822a2-1b9e-433c-9a3b-534a296e7f72 +2025-06-22 23:58:16,159 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-22 23:59:34,923 - robotics.core - INFO - Created room BlueParakeet689 in workspace b55822a2-1b9e-433c-9a3b-534a296e7f72 +2025-06-22 23:59:34,957 - robotics.core - INFO - Consumer remote-consumer-BlueParakeet689-1750629574945 joined room BlueParakeet689 in workspace b55822a2-1b9e-433c-9a3b-534a296e7f72 +2025-06-22 23:59:38,301 - robotics.core - INFO - Consumer remote-consumer-BlueParakeet689-1750629574945 left room BlueParakeet689 in workspace b55822a2-1b9e-433c-9a3b-534a296e7f72 +2025-06-23 13:52:14,492 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-23 13:55:03,857 - video.core - INFO - Created video room LunarSeahorse221-session-1750679680333-front in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 13:55:03,861 - robotics.core - INFO - Created room LunarSeahorse221-session-1750679680333-joint-input in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 13:55:03,866 - robotics.core - INFO - Created room LunarSeahorse221-session-1750679680333-joint-output in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 13:55:04,946 - video.core - INFO - Consumer LunarSeahorse221-session-1750679680333-front-consumer joined video room LunarSeahorse221-session-1750679680333-front in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 13:55:05,453 - robotics.core - INFO - Consumer LunarSeahorse221-session-1750679680333-joint-input-consumer joined room LunarSeahorse221-session-1750679680333-joint-input in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 13:55:05,463 - robotics.core - INFO - Producer LunarSeahorse221-session-1750679680333-joint-output-producer joined room LunarSeahorse221-session-1750679680333-joint-output in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 13:59:18,896 - video.core - INFO - Producer producer_1750679708876 joined video room LunarSeahorse221-session-1750679680333-front in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 13:59:19,025 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750679708876 (role: producer) in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648, room LunarSeahorse221-session-1750679680333-front +2025-06-23 13:59:19,025 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750679708876 to consumer LunarSeahorse221-session-1750679680333-front-consumer +2025-06-23 13:59:19,027 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750679708876 (role: producer) in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648, room LunarSeahorse221-session-1750679680333-front +2025-06-23 13:59:19,029 - video.core - INFO - Stream started by producer_1750679708876 in room LunarSeahorse221-session-1750679680333-front (workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648) +2025-06-23 13:59:19,038 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750679708876 (role: producer) in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648, room LunarSeahorse221-session-1750679680333-front +2025-06-23 13:59:19,084 - video.api - INFO - ๐Ÿ”ง WebRTC signal from LunarSeahorse221-session-1750679680333-front-consumer (role: consumer) in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648, room LunarSeahorse221-session-1750679680333-front +2025-06-23 13:59:19,084 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer LunarSeahorse221-session-1750679680333-front-consumer to producer producer_1750679708876 +2025-06-23 13:59:29,095 - video.core - INFO - Producer producer_1750679708876 left video room LunarSeahorse221-session-1750679680333-front in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 13:59:41,203 - video.core - INFO - Producer producer_1750679969314 joined video room LunarSeahorse221-session-1750679680333-front in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 13:59:41,232 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750679969314 (role: producer) in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648, room LunarSeahorse221-session-1750679680333-front +2025-06-23 13:59:41,232 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750679969314 to consumer LunarSeahorse221-session-1750679680333-front-consumer +2025-06-23 13:59:41,233 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750679969314 (role: producer) in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648, room LunarSeahorse221-session-1750679680333-front +2025-06-23 13:59:41,234 - video.core - INFO - Stream started by producer_1750679969314 in room LunarSeahorse221-session-1750679680333-front (workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648) +2025-06-23 13:59:41,255 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750679969314 (role: producer) in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648, room LunarSeahorse221-session-1750679680333-front +2025-06-23 13:59:41,264 - video.api - INFO - ๐Ÿ”ง WebRTC signal from LunarSeahorse221-session-1750679680333-front-consumer (role: consumer) in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648, room LunarSeahorse221-session-1750679680333-front +2025-06-23 13:59:41,264 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer LunarSeahorse221-session-1750679680333-front-consumer to producer producer_1750679969314 +2025-06-23 14:03:05,130 - robotics.core - INFO - Producer remote-producer-LunarSeahorse221-session-1750679680333-joint-input-1750680184116 joined room LunarSeahorse221-session-1750679680333-joint-input in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 14:03:20,109 - robotics.core - INFO - Consumer remote-consumer-LunarSeahorse221-session-1750679680333-joint-output-1750680200086 joined room LunarSeahorse221-session-1750679680333-joint-output in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 14:04:31,103 - robotics.core - INFO - Consumer consumer_1750680269349 joined room LunarSeahorse221-session-1750679680333-joint-input in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 14:04:33,209 - robotics.core - INFO - Consumer consumer_1750680269851 joined room LunarSeahorse221-session-1750679680333-joint-output in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 14:05:05,851 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750679969314 (role: producer) in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648, room LunarSeahorse221-session-1750679680333-front +2025-06-23 14:05:05,852 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750679969314 to consumer LunarSeahorse221-session-1750679680333-front-consumer +2025-06-23 14:05:05,873 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750679969314 (role: producer) in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648, room LunarSeahorse221-session-1750679680333-front +2025-06-23 14:05:05,883 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750679969314 (role: producer) in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648, room LunarSeahorse221-session-1750679680333-front +2025-06-23 14:05:05,911 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750679969314 (role: producer) in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648, room LunarSeahorse221-session-1750679680333-front +2025-06-23 14:05:10,080 - video.api - INFO - ๐Ÿ”ง WebRTC signal from LunarSeahorse221-session-1750679680333-front-consumer (role: consumer) in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648, room LunarSeahorse221-session-1750679680333-front +2025-06-23 14:05:10,081 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer LunarSeahorse221-session-1750679680333-front-consumer to producer producer_1750679969314 +2025-06-23 14:05:34,735 - video.core - INFO - Producer producer_1750679969314 left video room LunarSeahorse221-session-1750679680333-front in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 14:05:41,723 - video.core - INFO - Producer producer_1750680336993 joined video room LunarSeahorse221-session-1750679680333-front in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 14:05:41,750 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750680336993 (role: producer) in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648, room LunarSeahorse221-session-1750679680333-front +2025-06-23 14:05:41,750 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750680336993 to consumer LunarSeahorse221-session-1750679680333-front-consumer +2025-06-23 14:05:41,751 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750680336993 (role: producer) in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648, room LunarSeahorse221-session-1750679680333-front +2025-06-23 14:05:41,752 - video.core - INFO - Stream started by producer_1750680336993 in room LunarSeahorse221-session-1750679680333-front (workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648) +2025-06-23 14:05:41,778 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750680336993 (role: producer) in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648, room LunarSeahorse221-session-1750679680333-front +2025-06-23 14:05:41,810 - video.api - INFO - ๐Ÿ”ง WebRTC signal from LunarSeahorse221-session-1750679680333-front-consumer (role: consumer) in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648, room LunarSeahorse221-session-1750679680333-front +2025-06-23 14:05:41,810 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer LunarSeahorse221-session-1750679680333-front-consumer to producer producer_1750680336993 +2025-06-23 14:05:51,197 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750680336993 (role: producer) in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648, room LunarSeahorse221-session-1750679680333-front +2025-06-23 14:05:51,198 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750680336993 to consumer LunarSeahorse221-session-1750679680333-front-consumer +2025-06-23 14:05:51,201 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750680336993 (role: producer) in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648, room LunarSeahorse221-session-1750679680333-front +2025-06-23 14:05:51,231 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750680336993 (role: producer) in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648, room LunarSeahorse221-session-1750679680333-front +2025-06-23 14:05:51,232 - video.api - INFO - ๐Ÿ”ง WebRTC signal from LunarSeahorse221-session-1750679680333-front-consumer (role: consumer) in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648, room LunarSeahorse221-session-1750679680333-front +2025-06-23 14:05:51,232 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer LunarSeahorse221-session-1750679680333-front-consumer to producer producer_1750680336993 +2025-06-23 14:05:54,299 - video.core - INFO - Consumer consumer_1750680353533 joined video room LunarSeahorse221-session-1750679680333-front in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 14:05:54,318 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750680336993 (role: producer) in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648, room LunarSeahorse221-session-1750679680333-front +2025-06-23 14:05:54,319 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750680336993 to consumer consumer_1750680353533 +2025-06-23 14:05:54,320 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750680336993 (role: producer) in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648, room LunarSeahorse221-session-1750679680333-front +2025-06-23 14:05:54,334 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750680336993 (role: producer) in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648, room LunarSeahorse221-session-1750679680333-front +2025-06-23 14:05:54,343 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750680353533 (role: consumer) in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648, room LunarSeahorse221-session-1750679680333-front +2025-06-23 14:05:54,343 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer_1750680353533 to producer producer_1750680336993 +2025-06-23 14:05:54,349 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer_1750680353533 (role: consumer) in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648, room LunarSeahorse221-session-1750679680333-front +2025-06-23 14:06:37,324 - video.core - INFO - Consumer LunarSeahorse221-session-1750679680333-front-consumer left video room LunarSeahorse221-session-1750679680333-front in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 14:06:37,326 - robotics.core - INFO - Consumer LunarSeahorse221-session-1750679680333-joint-input-consumer left room LunarSeahorse221-session-1750679680333-joint-input in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 14:06:37,326 - robotics.core - INFO - Producer LunarSeahorse221-session-1750679680333-joint-output-producer left room LunarSeahorse221-session-1750679680333-joint-output in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 14:09:36,107 - robotics.core - INFO - Consumer consumer_1750680269851 left room LunarSeahorse221-session-1750679680333-joint-output in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 14:09:36,109 - robotics.core - INFO - Consumer consumer_1750680269349 left room LunarSeahorse221-session-1750679680333-joint-input in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 14:09:36,109 - video.core - INFO - Consumer consumer_1750680353533 left video room LunarSeahorse221-session-1750679680333-front in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 14:09:36,110 - robotics.core - INFO - Consumer remote-consumer-LunarSeahorse221-session-1750679680333-joint-output-1750680200086 left room LunarSeahorse221-session-1750679680333-joint-output in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 14:09:36,110 - robotics.core - INFO - Producer remote-producer-LunarSeahorse221-session-1750679680333-joint-input-1750680184116 left room LunarSeahorse221-session-1750679680333-joint-input in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 14:09:36,111 - video.core - INFO - Producer producer_1750680336993 left video room LunarSeahorse221-session-1750679680333-front in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 14:10:59,643 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-23 14:12:49,609 - video.core - INFO - Created video room RiverIbis943-session-1750680758224-front in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 14:12:49,614 - robotics.core - INFO - Created room RiverIbis943-session-1750680758224-joint-input in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 14:12:49,616 - robotics.core - INFO - Created room RiverIbis943-session-1750680758224-joint-output in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 14:12:52,570 - video.core - INFO - Consumer RiverIbis943-session-1750680758224-front-consumer joined video room RiverIbis943-session-1750680758224-front in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 14:12:53,109 - robotics.core - INFO - Consumer RiverIbis943-session-1750680758224-joint-input-consumer joined room RiverIbis943-session-1750680758224-joint-input in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 14:12:53,119 - robotics.core - INFO - Producer RiverIbis943-session-1750680758224-joint-output-producer joined room RiverIbis943-session-1750680758224-joint-output in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 14:13:06,353 - video.core - INFO - Producer producer_1750680780118 joined video room RiverIbis943-session-1750680758224-front in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 14:13:06,392 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750680780118 (role: producer) in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648, room RiverIbis943-session-1750680758224-front +2025-06-23 14:13:06,392 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750680780118 to consumer RiverIbis943-session-1750680758224-front-consumer +2025-06-23 14:13:06,393 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750680780118 (role: producer) in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648, room RiverIbis943-session-1750680758224-front +2025-06-23 14:13:06,394 - video.core - INFO - Stream started by producer_1750680780118 in room RiverIbis943-session-1750680758224-front (workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648) +2025-06-23 14:13:06,434 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750680780118 (role: producer) in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648, room RiverIbis943-session-1750680758224-front +2025-06-23 14:13:06,436 - video.api - INFO - ๐Ÿ”ง WebRTC signal from RiverIbis943-session-1750680758224-front-consumer (role: consumer) in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648, room RiverIbis943-session-1750680758224-front +2025-06-23 14:13:06,436 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer RiverIbis943-session-1750680758224-front-consumer to producer producer_1750680780118 +2025-06-23 14:13:10,184 - robotics.core - INFO - Consumer consumer_1750680789085 joined room RiverIbis943-session-1750680758224-joint-input in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 14:13:10,939 - robotics.core - INFO - Consumer consumer_1750680789551 joined room RiverIbis943-session-1750680758224-joint-output in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 14:13:28,624 - robotics.core - INFO - Producer remote-producer-RiverIbis943-session-1750680758224-joint-input-1750680806537 joined room RiverIbis943-session-1750680758224-joint-input in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 14:13:37,236 - robotics.core - INFO - Consumer remote-consumer-RiverIbis943-session-1750680758224-joint-output-1750680817118 joined room RiverIbis943-session-1750680758224-joint-output in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 14:14:27,258 - robotics.core - INFO - Consumer consumer_1750680789551 left room RiverIbis943-session-1750680758224-joint-output in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 14:15:03,498 - video.core - INFO - Consumer RiverIbis943-session-1750680758224-front-consumer left video room RiverIbis943-session-1750680758224-front in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 14:15:03,499 - robotics.core - INFO - Consumer RiverIbis943-session-1750680758224-joint-input-consumer left room RiverIbis943-session-1750680758224-joint-input in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 14:15:03,500 - robotics.core - INFO - Producer RiverIbis943-session-1750680758224-joint-output-producer left room RiverIbis943-session-1750680758224-joint-output in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 14:15:58,383 - robotics.core - INFO - Consumer consumer_1750680789085 left room RiverIbis943-session-1750680758224-joint-input in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 14:15:58,384 - video.core - INFO - Producer producer_1750680780118 left video room RiverIbis943-session-1750680758224-front in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 14:15:58,384 - robotics.core - INFO - Producer remote-producer-RiverIbis943-session-1750680758224-joint-input-1750680806537 left room RiverIbis943-session-1750680758224-joint-input in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 14:15:58,384 - robotics.core - INFO - Consumer remote-consumer-RiverIbis943-session-1750680758224-joint-output-1750680817118 left room RiverIbis943-session-1750680758224-joint-output in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 14:17:41,499 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-23 14:21:52,797 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-23 14:22:06,749 - video.core - INFO - Created video room CelestialViper933-session-1750681317835-front in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 14:22:06,754 - robotics.core - INFO - Created room CelestialViper933-session-1750681317835-joint-input in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 14:22:06,756 - robotics.core - INFO - Created room CelestialViper933-session-1750681317835-joint-output in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 14:22:10,425 - video.core - INFO - Consumer CelestialViper933-session-1750681317835-front-consumer joined video room CelestialViper933-session-1750681317835-front in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 14:22:10,929 - robotics.core - INFO - Consumer CelestialViper933-session-1750681317835-joint-input-consumer joined room CelestialViper933-session-1750681317835-joint-input in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 14:22:10,934 - robotics.core - INFO - Producer CelestialViper933-session-1750681317835-joint-output-producer joined room CelestialViper933-session-1750681317835-joint-output in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 14:22:32,624 - robotics.core - INFO - Producer remote-producer-CelestialViper933-session-1750681317835-joint-input-1750681352611 joined room CelestialViper933-session-1750681317835-joint-input in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 14:22:35,612 - robotics.core - INFO - Consumer consumer_1750681354894 joined room CelestialViper933-session-1750681317835-joint-input in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 14:22:37,232 - robotics.core - INFO - Consumer consumer_1750681354894 left room CelestialViper933-session-1750681317835-joint-input in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 14:22:39,156 - robotics.core - INFO - Consumer consumer_1750681358405 joined room CelestialViper933-session-1750681317835-joint-output in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 14:22:49,962 - robotics.core - INFO - Consumer consumer_1750681358405 left room CelestialViper933-session-1750681317835-joint-output in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 14:22:51,468 - robotics.core - INFO - Consumer consumer_1750681370789 joined room CelestialViper933-session-1750681317835-joint-input in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 14:22:59,323 - robotics.core - INFO - Producer remote-producer-CelestialViper933-session-1750681317835-joint-input-1750681352611 left room CelestialViper933-session-1750681317835-joint-input in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 14:23:04,882 - robotics.core - INFO - Consumer consumer_1750681370789 left room CelestialViper933-session-1750681317835-joint-input in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 14:23:14,379 - video.core - INFO - Created video room FlameGhost008-session-1750681389491-front in workspace test +2025-06-23 14:23:14,383 - robotics.core - INFO - Created room FlameGhost008-session-1750681389491-joint-input in workspace test +2025-06-23 14:23:14,386 - robotics.core - INFO - Created room FlameGhost008-session-1750681389491-joint-output in workspace test +2025-06-23 14:23:15,373 - video.core - INFO - Consumer FlameGhost008-session-1750681389491-front-consumer joined video room FlameGhost008-session-1750681389491-front in workspace test +2025-06-23 14:23:15,889 - robotics.core - INFO - Consumer FlameGhost008-session-1750681389491-joint-input-consumer joined room FlameGhost008-session-1750681389491-joint-input in workspace test +2025-06-23 14:23:15,900 - robotics.core - INFO - Producer FlameGhost008-session-1750681389491-joint-output-producer joined room FlameGhost008-session-1750681389491-joint-output in workspace test +2025-06-23 14:23:27,227 - robotics.core - INFO - Producer remote-producer-FlameGhost008-session-1750681389491-joint-input-1750681407158 joined room FlameGhost008-session-1750681389491-joint-input in workspace test +2025-06-23 14:23:32,155 - robotics.core - INFO - Consumer consumer_1750681411630 joined room FlameGhost008-session-1750681389491-joint-input in workspace test +2025-06-23 14:24:08,299 - robotics.core - INFO - Consumer consumer_1750681411630 left room FlameGhost008-session-1750681389491-joint-input in workspace test +2025-06-23 14:24:14,807 - robotics.core - INFO - Created room 6becf38f-da35-46a1-b696-14ca344cda41 in workspace test +2025-06-23 14:24:14,813 - robotics.core - INFO - Producer producer_1750681450253 joined room 6becf38f-da35-46a1-b696-14ca344cda41 in workspace test +2025-06-23 14:24:24,034 - robotics.core - INFO - Consumer remote-consumer-6becf38f-da35-46a1-b696-14ca344cda41-1750681464017 joined room 6becf38f-da35-46a1-b696-14ca344cda41 in workspace test +2025-06-23 14:24:43,704 - robotics.core - INFO - Producer remote-producer-FlameGhost008-session-1750681389491-joint-input-1750681407158 left room FlameGhost008-session-1750681389491-joint-input in workspace test +2025-06-23 14:24:43,705 - robotics.core - INFO - Consumer remote-consumer-6becf38f-da35-46a1-b696-14ca344cda41-1750681464017 left room 6becf38f-da35-46a1-b696-14ca344cda41 in workspace test +2025-06-23 14:24:49,373 - robotics.core - INFO - Consumer remote-consumer-6becf38f-da35-46a1-b696-14ca344cda41-1750681489359 joined room 6becf38f-da35-46a1-b696-14ca344cda41 in workspace test +2025-06-23 14:26:35,062 - robotics.core - INFO - Consumer remote-consumer-6becf38f-da35-46a1-b696-14ca344cda41-1750681489359 left room 6becf38f-da35-46a1-b696-14ca344cda41 in workspace test +2025-06-23 14:29:19,172 - robotics.core - INFO - Consumer remote-consumer-6becf38f-da35-46a1-b696-14ca344cda41-1750681759158 joined room 6becf38f-da35-46a1-b696-14ca344cda41 in workspace test +2025-06-23 14:29:39,015 - robotics.core - INFO - Producer producer_1750681450253 left room 6becf38f-da35-46a1-b696-14ca344cda41 in workspace test +2025-06-23 14:29:39,017 - video.core - INFO - Consumer CelestialViper933-session-1750681317835-front-consumer left video room CelestialViper933-session-1750681317835-front in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 14:29:39,017 - robotics.core - INFO - Consumer FlameGhost008-session-1750681389491-joint-input-consumer left room FlameGhost008-session-1750681389491-joint-input in workspace test +2025-06-23 14:29:39,018 - video.core - INFO - Consumer FlameGhost008-session-1750681389491-front-consumer left video room FlameGhost008-session-1750681389491-front in workspace test +2025-06-23 14:29:39,018 - robotics.core - INFO - Producer FlameGhost008-session-1750681389491-joint-output-producer left room FlameGhost008-session-1750681389491-joint-output in workspace test +2025-06-23 14:29:39,018 - robotics.core - INFO - Consumer remote-consumer-6becf38f-da35-46a1-b696-14ca344cda41-1750681759158 left room 6becf38f-da35-46a1-b696-14ca344cda41 in workspace test +2025-06-23 14:29:39,018 - robotics.core - INFO - Consumer CelestialViper933-session-1750681317835-joint-input-consumer left room CelestialViper933-session-1750681317835-joint-input in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 14:29:39,018 - robotics.core - INFO - Producer CelestialViper933-session-1750681317835-joint-output-producer left room CelestialViper933-session-1750681317835-joint-output in workspace 9f6aeec3-2452-4c0f-8d0f-edf0d811c648 +2025-06-23 14:29:55,749 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-23 14:30:29,629 - robotics.core - INFO - Created room DemonicPegasus744 in workspace test +2025-06-23 14:30:29,649 - robotics.core - INFO - Consumer remote-consumer-DemonicPegasus744-1750681829639 joined room DemonicPegasus744 in workspace test +2025-06-23 14:30:35,963 - robotics.core - INFO - Producer producer_1750681834753 joined room DemonicPegasus744 in workspace test +2025-06-23 14:30:51,798 - robotics.core - INFO - Consumer consumer_1750681851052 joined room DemonicPegasus744 in workspace test +2025-06-23 14:31:46,661 - robotics.core - INFO - Consumer remote-consumer-DemonicPegasus744-1750681829639 left room DemonicPegasus744 in workspace test +2025-06-23 14:32:21,003 - robotics.core - INFO - Consumer remote-consumer-DemonicPegasus744-1750681940992 joined room DemonicPegasus744 in workspace test +2025-06-23 14:32:54,020 - robotics.core - INFO - Consumer remote-consumer-DemonicPegasus744-1750681940992 left room DemonicPegasus744 in workspace test +2025-06-23 14:34:13,169 - robotics.core - WARNING - Producer remote-producer-DemonicPegasus744-1750682053159 failed to join room DemonicPegasus744 - room already has producer producer_1750681834753 +2025-06-23 14:34:15,601 - robotics.core - WARNING - Producer remote-producer-DemonicPegasus744-1750682055582 failed to join room DemonicPegasus744 - room already has producer producer_1750681834753 +2025-06-23 14:34:16,980 - robotics.core - INFO - Created room CalmNewt535 in workspace test +2025-06-23 14:34:16,995 - robotics.core - INFO - Producer remote-producer-CalmNewt535-1750682056991 joined room CalmNewt535 in workspace test +2025-06-23 14:34:19,784 - robotics.core - INFO - Consumer consumer_1750681851052 left room DemonicPegasus744 in workspace test +2025-06-23 14:34:29,155 - robotics.core - INFO - Consumer consumer_1750682066501 joined room CalmNewt535 in workspace test +2025-06-23 14:34:53,868 - robotics.core - INFO - Consumer remote-consumer-CalmNewt535-1750682093848 joined room CalmNewt535 in workspace test +2025-06-23 14:35:27,524 - robotics.core - INFO - Consumer consumer_1750682066501 left room CalmNewt535 in workspace test +2025-06-23 14:35:28,635 - robotics.core - INFO - Consumer consumer_1750682127570 joined room CalmNewt535 in workspace test +2025-06-23 14:35:49,344 - robotics.core - INFO - Producer remote-producer-CalmNewt535-1750682056991 left room CalmNewt535 in workspace test +2025-06-23 14:35:49,346 - robotics.core - INFO - Consumer remote-consumer-CalmNewt535-1750682093848 left room CalmNewt535 in workspace test +2025-06-23 14:36:02,066 - robotics.core - INFO - Consumer consumer_1750682127570 left room CalmNewt535 in workspace test +2025-06-23 14:36:13,731 - video.core - INFO - Created video room VibrantTiger598-session-1750682166649-front in workspace sdpokk +2025-06-23 14:36:13,736 - robotics.core - INFO - Created room VibrantTiger598-session-1750682166649-joint-input in workspace sdpokk +2025-06-23 14:36:13,740 - robotics.core - INFO - Created room VibrantTiger598-session-1750682166649-joint-output in workspace sdpokk +2025-06-23 14:36:14,710 - video.core - INFO - Consumer VibrantTiger598-session-1750682166649-front-consumer joined video room VibrantTiger598-session-1750682166649-front in workspace sdpokk +2025-06-23 14:36:15,219 - robotics.core - INFO - Consumer VibrantTiger598-session-1750682166649-joint-input-consumer joined room VibrantTiger598-session-1750682166649-joint-input in workspace sdpokk +2025-06-23 14:36:15,235 - robotics.core - INFO - Producer VibrantTiger598-session-1750682166649-joint-output-producer joined room VibrantTiger598-session-1750682166649-joint-output in workspace sdpokk +2025-06-23 14:36:51,171 - robotics.core - INFO - Producer remote-producer-VibrantTiger598-session-1750682166649-joint-input-1750682211150 joined room VibrantTiger598-session-1750682166649-joint-input in workspace sdpokk +2025-06-23 14:37:01,870 - robotics.core - INFO - Consumer remote-consumer-VibrantTiger598-session-1750682166649-joint-output-1750682221854 joined room VibrantTiger598-session-1750682166649-joint-output in workspace sdpokk +2025-06-23 14:37:12,083 - robotics.core - INFO - Consumer consumer_1750682230553 joined room VibrantTiger598-session-1750682166649-joint-input in workspace sdpokk +2025-06-23 14:37:12,859 - robotics.core - INFO - Consumer consumer_1750682230780 joined room VibrantTiger598-session-1750682166649-joint-output in workspace sdpokk +2025-06-23 14:37:26,313 - video.core - INFO - Producer producer_1750682241791 joined video room VibrantTiger598-session-1750682166649-front in workspace sdpokk +2025-06-23 14:37:26,340 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750682241791 (role: producer) in workspace sdpokk, room VibrantTiger598-session-1750682166649-front +2025-06-23 14:37:26,341 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750682241791 to consumer VibrantTiger598-session-1750682166649-front-consumer +2025-06-23 14:37:26,342 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750682241791 (role: producer) in workspace sdpokk, room VibrantTiger598-session-1750682166649-front +2025-06-23 14:37:26,343 - video.core - INFO - Stream started by producer_1750682241791 in room VibrantTiger598-session-1750682166649-front (workspace sdpokk) +2025-06-23 14:37:26,379 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750682241791 (role: producer) in workspace sdpokk, room VibrantTiger598-session-1750682166649-front +2025-06-23 14:37:26,387 - video.api - INFO - ๐Ÿ”ง WebRTC signal from VibrantTiger598-session-1750682166649-front-consumer (role: consumer) in workspace sdpokk, room VibrantTiger598-session-1750682166649-front +2025-06-23 14:37:26,387 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer VibrantTiger598-session-1750682166649-front-consumer to producer producer_1750682241791 +2025-06-23 14:38:39,449 - robotics.core - INFO - Consumer remote-consumer-VibrantTiger598-session-1750682166649-joint-input-1750682319330 joined room VibrantTiger598-session-1750682166649-joint-input in workspace sdpokk +2025-06-23 14:38:52,285 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750682241791 (role: producer) in workspace sdpokk, room VibrantTiger598-session-1750682166649-front +2025-06-23 14:38:52,435 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750682241791 to consumer VibrantTiger598-session-1750682166649-front-consumer +2025-06-23 14:38:52,551 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750682241791 (role: producer) in workspace sdpokk, room VibrantTiger598-session-1750682166649-front +2025-06-23 14:38:52,567 - robotics.core - INFO - Consumer remote-consumer-VibrantTiger598-session-1750682166649-joint-output-1750682325534 joined room VibrantTiger598-session-1750682166649-joint-output in workspace sdpokk +2025-06-23 14:38:52,731 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750682241791 (role: producer) in workspace sdpokk, room VibrantTiger598-session-1750682166649-front +2025-06-23 14:38:52,761 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750682241791 (role: producer) in workspace sdpokk, room VibrantTiger598-session-1750682166649-front +2025-06-23 14:39:38,969 - robotics.core - INFO - Consumer remote-consumer-VibrantTiger598-session-1750682166649-joint-input-1750682319330 left room VibrantTiger598-session-1750682166649-joint-input in workspace sdpokk +2025-06-23 14:39:39,196 - robotics.core - INFO - Producer VibrantTiger598-session-1750682166649-joint-output-producer left room VibrantTiger598-session-1750682166649-joint-output in workspace sdpokk +2025-06-23 14:39:40,354 - robotics.core - INFO - Consumer consumer_1750682230780 left room VibrantTiger598-session-1750682166649-joint-output in workspace sdpokk +2025-06-23 14:39:40,355 - robotics.core - INFO - Consumer remote-consumer-VibrantTiger598-session-1750682166649-joint-output-1750682221854 left room VibrantTiger598-session-1750682166649-joint-output in workspace sdpokk +2025-06-23 14:39:40,356 - robotics.core - INFO - Producer remote-producer-VibrantTiger598-session-1750682166649-joint-input-1750682211150 left room VibrantTiger598-session-1750682166649-joint-input in workspace sdpokk +2025-06-23 14:39:40,358 - video.core - INFO - Producer producer_1750682241791 left video room VibrantTiger598-session-1750682166649-front in workspace sdpokk +2025-06-23 14:39:40,782 - robotics.core - INFO - Consumer remote-consumer-VibrantTiger598-session-1750682166649-joint-output-1750682325534 left room VibrantTiger598-session-1750682166649-joint-output in workspace sdpokk +2025-06-23 14:39:41,854 - robotics.core - INFO - Consumer consumer_1750682230553 left room VibrantTiger598-session-1750682166649-joint-input in workspace sdpokk +2025-06-23 14:39:41,855 - robotics.core - INFO - Producer producer_1750681834753 left room DemonicPegasus744 in workspace test +2025-06-23 14:39:41,855 - video.core - INFO - Consumer VibrantTiger598-session-1750682166649-front-consumer left video room VibrantTiger598-session-1750682166649-front in workspace sdpokk +2025-06-23 14:39:41,856 - robotics.core - INFO - Consumer VibrantTiger598-session-1750682166649-joint-input-consumer left room VibrantTiger598-session-1750682166649-joint-input in workspace sdpokk +2025-06-23 14:42:44,314 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-23 14:43:21,770 - video.core - INFO - Created video room ZenAnt032-session-1750682593434-front in workspace sdpokk +2025-06-23 14:43:21,844 - robotics.core - INFO - Created room ZenAnt032-session-1750682593434-joint-input in workspace sdpokk +2025-06-23 14:43:21,878 - robotics.core - INFO - Created room ZenAnt032-session-1750682593434-joint-output in workspace sdpokk +2025-06-23 14:43:35,098 - video.core - INFO - Consumer ZenAnt032-session-1750682593434-front-consumer joined video room ZenAnt032-session-1750682593434-front in workspace sdpokk +2025-06-23 14:43:35,739 - robotics.core - INFO - Consumer ZenAnt032-session-1750682593434-joint-input-consumer joined room ZenAnt032-session-1750682593434-joint-input in workspace sdpokk +2025-06-23 14:43:35,809 - robotics.core - INFO - Producer ZenAnt032-session-1750682593434-joint-output-producer joined room ZenAnt032-session-1750682593434-joint-output in workspace sdpokk +2025-06-23 14:43:56,403 - robotics.core - INFO - Producer remote-producer-ZenAnt032-session-1750682593434-joint-input-1750682636372 joined room ZenAnt032-session-1750682593434-joint-input in workspace sdpokk +2025-06-23 14:44:43,176 - robotics.core - WARNING - Producer remote-producer-ZenAnt032-session-1750682593434-joint-output-1750682683147 failed to join room ZenAnt032-session-1750682593434-joint-output - room already has producer ZenAnt032-session-1750682593434-joint-output-producer +2025-06-23 14:44:58,516 - robotics.core - INFO - Consumer remote-consumer-ZenAnt032-session-1750682593434-joint-output-1750682698335 joined room ZenAnt032-session-1750682593434-joint-output in workspace sdpokk +2025-06-23 14:46:13,053 - video.core - INFO - Producer producer_1750682707131 joined video room ZenAnt032-session-1750682593434-front in workspace sdpokk +2025-06-23 14:46:13,086 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750682707131 (role: producer) in workspace sdpokk, room ZenAnt032-session-1750682593434-front +2025-06-23 14:46:13,087 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750682707131 to consumer ZenAnt032-session-1750682593434-front-consumer +2025-06-23 14:46:13,088 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750682707131 (role: producer) in workspace sdpokk, room ZenAnt032-session-1750682593434-front +2025-06-23 14:46:13,089 - video.core - INFO - Stream started by producer_1750682707131 in room ZenAnt032-session-1750682593434-front (workspace sdpokk) +2025-06-23 14:46:13,122 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750682707131 (role: producer) in workspace sdpokk, room ZenAnt032-session-1750682593434-front +2025-06-23 14:46:13,134 - video.api - INFO - ๐Ÿ”ง WebRTC signal from ZenAnt032-session-1750682593434-front-consumer (role: consumer) in workspace sdpokk, room ZenAnt032-session-1750682593434-front +2025-06-23 14:46:13,134 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer ZenAnt032-session-1750682593434-front-consumer to producer producer_1750682707131 +2025-06-23 14:46:19,442 - video.core - INFO - Consumer consumer-id joined video room ZenAnt032-session-1750682593434-front in workspace sdpokk +2025-06-23 14:46:19,462 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750682707131 (role: producer) in workspace sdpokk, room ZenAnt032-session-1750682593434-front +2025-06-23 14:46:19,462 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750682707131 to consumer consumer-id +2025-06-23 14:46:19,465 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750682707131 (role: producer) in workspace sdpokk, room ZenAnt032-session-1750682593434-front +2025-06-23 14:46:19,492 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750682707131 (role: producer) in workspace sdpokk, room ZenAnt032-session-1750682593434-front +2025-06-23 14:46:19,561 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer-id (role: consumer) in workspace sdpokk, room ZenAnt032-session-1750682593434-front +2025-06-23 14:46:19,562 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer consumer-id to producer producer_1750682707131 +2025-06-23 14:46:19,574 - video.api - INFO - ๐Ÿ”ง WebRTC signal from consumer-id (role: consumer) in workspace sdpokk, room ZenAnt032-session-1750682593434-front +2025-06-23 14:46:19,588 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750682707131 (role: producer) in workspace sdpokk, room ZenAnt032-session-1750682593434-front +2025-06-23 14:46:39,753 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750682707131 (role: producer) in workspace sdpokk, room ZenAnt032-session-1750682593434-front +2025-06-23 14:46:39,758 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750682707131 to consumer ZenAnt032-session-1750682593434-front-consumer +2025-06-23 14:46:39,762 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750682707131 (role: producer) in workspace sdpokk, room ZenAnt032-session-1750682593434-front +2025-06-23 14:46:39,794 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750682707131 (role: producer) in workspace sdpokk, room ZenAnt032-session-1750682593434-front +2025-06-23 14:46:39,866 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750682707131 (role: producer) in workspace sdpokk, room ZenAnt032-session-1750682593434-front +2025-06-23 14:47:06,825 - video.core - INFO - Consumer ZenAnt032-session-1750682593434-front-consumer left video room ZenAnt032-session-1750682593434-front in workspace sdpokk +2025-06-23 14:47:06,874 - robotics.core - INFO - Consumer ZenAnt032-session-1750682593434-joint-input-consumer left room ZenAnt032-session-1750682593434-joint-input in workspace sdpokk +2025-06-23 14:47:09,953 - robotics.core - INFO - Producer ZenAnt032-session-1750682593434-joint-output-producer left room ZenAnt032-session-1750682593434-joint-output in workspace sdpokk +2025-06-23 14:47:17,885 - robotics.core - INFO - Consumer remote-consumer-ZenAnt032-session-1750682593434-joint-output-1750682698335 left room ZenAnt032-session-1750682593434-joint-output in workspace sdpokk +2025-06-23 14:47:17,992 - video.core - INFO - Producer producer_1750682707131 left video room ZenAnt032-session-1750682593434-front in workspace sdpokk +2025-06-23 14:47:18,081 - video.core - INFO - Consumer consumer-id left video room ZenAnt032-session-1750682593434-front in workspace sdpokk +2025-06-23 14:47:18,159 - robotics.core - INFO - Producer remote-producer-ZenAnt032-session-1750682593434-joint-input-1750682636372 left room ZenAnt032-session-1750682593434-joint-input in workspace sdpokk +2025-06-23 15:11:34,972 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-23 15:11:55,015 - robotics.core - INFO - Created room OnyxGoose567 in workspace sdpokk +2025-06-23 15:11:55,037 - robotics.core - INFO - Producer remote-producer-OnyxGoose567-1750684315028 joined room OnyxGoose567 in workspace sdpokk +2025-06-23 15:11:59,818 - robotics.core - INFO - Consumer remote-consumer-OnyxGoose567-1750684319798 joined room OnyxGoose567 in workspace sdpokk +2025-06-23 15:12:23,105 - robotics.core - INFO - Consumer consumer_1750684342348 joined room OnyxGoose567 in workspace sdpokk +2025-06-23 15:12:26,341 - robotics.core - INFO - Consumer consumer_1750684342348 left room OnyxGoose567 in workspace sdpokk +2025-06-23 15:12:34,272 - robotics.core - INFO - Producer remote-producer-OnyxGoose567-1750684315028 left room OnyxGoose567 in workspace sdpokk +2025-06-23 15:12:34,272 - robotics.core - INFO - Consumer remote-consumer-OnyxGoose567-1750684319798 left room OnyxGoose567 in workspace sdpokk +2025-06-23 15:13:12,206 - video.core - INFO - Created video room SilentSpider725-session-1750684385066-front in workspace sdpokk +2025-06-23 15:13:12,210 - robotics.core - INFO - Created room SilentSpider725-session-1750684385066-joint-input in workspace sdpokk +2025-06-23 15:13:12,217 - robotics.core - INFO - Created room SilentSpider725-session-1750684385066-joint-output in workspace sdpokk +2025-06-23 15:13:13,217 - video.core - INFO - Consumer SilentSpider725-session-1750684385066-front-consumer joined video room SilentSpider725-session-1750684385066-front in workspace sdpokk +2025-06-23 15:13:13,725 - robotics.core - INFO - Consumer SilentSpider725-session-1750684385066-joint-input-consumer joined room SilentSpider725-session-1750684385066-joint-input in workspace sdpokk +2025-06-23 15:13:13,734 - robotics.core - INFO - Producer SilentSpider725-session-1750684385066-joint-output-producer joined room SilentSpider725-session-1750684385066-joint-output in workspace sdpokk +2025-06-23 15:13:21,684 - robotics.core - INFO - Consumer remote-consumer-SilentSpider725-session-1750684385066-joint-output-1750684401669 joined room SilentSpider725-session-1750684385066-joint-output in workspace sdpokk +2025-06-23 15:13:25,272 - robotics.core - INFO - Producer remote-producer-SilentSpider725-session-1750684385066-joint-input-1750684405259 joined room SilentSpider725-session-1750684385066-joint-input in workspace sdpokk +2025-06-23 15:13:41,195 - video.core - INFO - Producer producer_1750684412828 joined video room SilentSpider725-session-1750684385066-front in workspace sdpokk +2025-06-23 15:13:41,232 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750684412828 (role: producer) in workspace sdpokk, room SilentSpider725-session-1750684385066-front +2025-06-23 15:13:41,232 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750684412828 to consumer SilentSpider725-session-1750684385066-front-consumer +2025-06-23 15:13:41,233 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750684412828 (role: producer) in workspace sdpokk, room SilentSpider725-session-1750684385066-front +2025-06-23 15:13:41,234 - video.core - INFO - Stream started by producer_1750684412828 in room SilentSpider725-session-1750684385066-front (workspace sdpokk) +2025-06-23 15:13:41,258 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750684412828 (role: producer) in workspace sdpokk, room SilentSpider725-session-1750684385066-front +2025-06-23 15:13:41,280 - video.api - INFO - ๐Ÿ”ง WebRTC signal from SilentSpider725-session-1750684385066-front-consumer (role: consumer) in workspace sdpokk, room SilentSpider725-session-1750684385066-front +2025-06-23 15:13:41,280 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer SilentSpider725-session-1750684385066-front-consumer to producer producer_1750684412828 +2025-06-23 15:14:02,705 - robotics.core - INFO - Consumer consumer_1750684441238 joined room SilentSpider725-session-1750684385066-joint-input in workspace sdpokk +2025-06-23 15:14:03,492 - robotics.core - INFO - Consumer consumer_1750684441669 joined room SilentSpider725-session-1750684385066-joint-output in workspace sdpokk +2025-06-23 15:14:12,740 - video.core - INFO - Consumer SilentSpider725-session-1750684385066-front-consumer left video room SilentSpider725-session-1750684385066-front in workspace sdpokk +2025-06-23 15:14:12,741 - robotics.core - INFO - Consumer SilentSpider725-session-1750684385066-joint-input-consumer left room SilentSpider725-session-1750684385066-joint-input in workspace sdpokk +2025-06-23 15:14:12,743 - robotics.core - INFO - Producer SilentSpider725-session-1750684385066-joint-output-producer left room SilentSpider725-session-1750684385066-joint-output in workspace sdpokk +2025-06-23 15:14:26,079 - robotics.core - INFO - Consumer consumer_1750684441669 left room SilentSpider725-session-1750684385066-joint-output in workspace sdpokk +2025-06-23 15:14:26,080 - video.core - INFO - Producer producer_1750684412828 left video room SilentSpider725-session-1750684385066-front in workspace sdpokk +2025-06-23 15:14:26,080 - robotics.core - INFO - Producer remote-producer-SilentSpider725-session-1750684385066-joint-input-1750684405259 left room SilentSpider725-session-1750684385066-joint-input in workspace sdpokk +2025-06-23 15:14:26,080 - robotics.core - INFO - Consumer consumer_1750684441238 left room SilentSpider725-session-1750684385066-joint-input in workspace sdpokk +2025-06-23 15:14:26,080 - robotics.core - INFO - Consumer remote-consumer-SilentSpider725-session-1750684385066-joint-output-1750684401669 left room SilentSpider725-session-1750684385066-joint-output in workspace sdpokk +2025-06-23 15:18:52,554 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Modular Server... +2025-06-23 15:19:08,782 - video.core - INFO - Created video room BrutalMammoth662-session-1750684745047-front in workspace sdpokk +2025-06-23 15:19:08,786 - robotics.core - INFO - Created room BrutalMammoth662-session-1750684745047-joint-input in workspace sdpokk +2025-06-23 15:19:08,790 - robotics.core - INFO - Created room BrutalMammoth662-session-1750684745047-joint-output in workspace sdpokk +2025-06-23 15:19:09,734 - video.core - INFO - Consumer BrutalMammoth662-session-1750684745047-front-consumer joined video room BrutalMammoth662-session-1750684745047-front in workspace sdpokk +2025-06-23 15:19:10,237 - robotics.core - INFO - Consumer BrutalMammoth662-session-1750684745047-joint-input-consumer joined room BrutalMammoth662-session-1750684745047-joint-input in workspace sdpokk +2025-06-23 15:19:10,240 - robotics.core - INFO - Producer BrutalMammoth662-session-1750684745047-joint-output-producer joined room BrutalMammoth662-session-1750684745047-joint-output in workspace sdpokk +2025-06-23 15:19:21,076 - video.core - INFO - Producer producer_1750684752022 joined video room BrutalMammoth662-session-1750684745047-front in workspace sdpokk +2025-06-23 15:19:21,110 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750684752022 (role: producer) in workspace sdpokk, room BrutalMammoth662-session-1750684745047-front +2025-06-23 15:19:21,110 - video.core - INFO - ๐Ÿ”„ Forwarding offer from producer producer_1750684752022 to consumer BrutalMammoth662-session-1750684745047-front-consumer +2025-06-23 15:19:21,111 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750684752022 (role: producer) in workspace sdpokk, room BrutalMammoth662-session-1750684745047-front +2025-06-23 15:19:21,112 - video.core - INFO - Stream started by producer_1750684752022 in room BrutalMammoth662-session-1750684745047-front (workspace sdpokk) +2025-06-23 15:19:21,141 - video.api - INFO - ๐Ÿ”ง WebRTC signal from producer_1750684752022 (role: producer) in workspace sdpokk, room BrutalMammoth662-session-1750684745047-front +2025-06-23 15:19:21,161 - video.api - INFO - ๐Ÿ”ง WebRTC signal from BrutalMammoth662-session-1750684745047-front-consumer (role: consumer) in workspace sdpokk, room BrutalMammoth662-session-1750684745047-front +2025-06-23 15:19:21,161 - video.core - INFO - ๐Ÿ”„ Forwarding answer from consumer BrutalMammoth662-session-1750684745047-front-consumer to producer producer_1750684752022 +2025-06-23 15:19:37,736 - robotics.core - INFO - Producer remote-producer-BrutalMammoth662-session-1750684745047-joint-input-1750684777716 joined room BrutalMammoth662-session-1750684745047-joint-input in workspace sdpokk +2025-06-23 15:19:48,070 - robotics.core - INFO - Consumer remote-consumer-BrutalMammoth662-session-1750684745047-joint-output-1750684788060 joined room BrutalMammoth662-session-1750684745047-joint-output in workspace sdpokk +2025-06-23 15:20:23,572 - video.core - INFO - Consumer BrutalMammoth662-session-1750684745047-front-consumer left video room BrutalMammoth662-session-1750684745047-front in workspace sdpokk +2025-06-23 15:20:23,574 - robotics.core - INFO - Consumer BrutalMammoth662-session-1750684745047-joint-input-consumer left room BrutalMammoth662-session-1750684745047-joint-input in workspace sdpokk +2025-06-23 15:20:23,574 - robotics.core - INFO - Producer BrutalMammoth662-session-1750684745047-joint-output-producer left room BrutalMammoth662-session-1750684745047-joint-output in workspace sdpokk +2025-06-23 15:20:24,221 - robotics.core - INFO - Consumer remote-consumer-BrutalMammoth662-session-1750684745047-joint-output-1750684788060 left room BrutalMammoth662-session-1750684745047-joint-output in workspace sdpokk +2025-06-23 15:20:24,222 - robotics.core - INFO - Producer remote-producer-BrutalMammoth662-session-1750684745047-joint-input-1750684777716 left room BrutalMammoth662-session-1750684745047-joint-input in workspace sdpokk +2025-06-23 15:20:24,222 - video.core - INFO - Producer producer_1750684752022 left video room BrutalMammoth662-session-1750684745047-front in workspace sdpokk +2025-06-23 18:26:11,213 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Combined Server... +2025-06-23 18:26:11,213 - __main__ - INFO - - API available at: http://0.0.0.0:7860/api/ +2025-06-23 18:26:11,213 - __main__ - INFO - - API docs at: http://0.0.0.0:7860/api/docs +2025-06-23 18:26:11,213 - __main__ - INFO - - Frontend disabled (set SERVE_FRONTEND=true to enable) +2025-06-23 18:26:24,491 - __main__ - WARNING - Frontend path not found: /Users/julienblanchon/Git/lerobot-arena/repo/services/transport-server/static-frontend +2025-06-23 18:26:24,492 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Combined Server... +2025-06-23 18:26:24,492 - __main__ - INFO - - API available at: http://0.0.0.0:7860/api/ +2025-06-23 18:26:24,492 - __main__ - INFO - - API docs at: http://0.0.0.0:7860/api/docs +2025-06-23 18:26:24,492 - __main__ - INFO - - Frontend available at: http://0.0.0.0:7860/ +2025-06-23 18:26:24,510 - launch_with_ui - WARNING - Frontend path not found: /Users/julienblanchon/Git/lerobot-arena/repo/services/transport-server/static-frontend +2025-06-23 18:26:54,085 - __main__ - WARNING - Frontend path not found: /Users/julienblanchon/Git/lerobot-arena/repo/services/transport-server/static-frontend +2025-06-23 18:26:54,085 - __main__ - INFO - ๐Ÿค– Starting LeRobot Arena Combined Server... +2025-06-23 18:26:54,085 - __main__ - INFO - - API available at: http://0.0.0.0:7860/api/ +2025-06-23 18:26:54,085 - __main__ - INFO - - API docs at: http://0.0.0.0:7860/api/docs +2025-06-23 18:26:54,085 - __main__ - INFO - - Frontend available at: http://0.0.0.0:7860/ +2025-06-23 18:26:54,667 - launch_with_ui - WARNING - Frontend path not found: /Users/julienblanchon/Git/lerobot-arena/repo/services/transport-server/static-frontend diff --git a/server/src/__init__.py b/server/src/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/server/src/__pycache__/__init__.cpython-312.pyc b/server/src/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8199cea89e3afc91c9f3d66d564da47e198ec7c4 Binary files /dev/null and b/server/src/__pycache__/__init__.cpython-312.pyc differ diff --git a/server/src/__pycache__/__init__.cpython-313.pyc b/server/src/__pycache__/__init__.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..79bf461498cb5fbfabaae30437f38c9fadd74a56 Binary files /dev/null and b/server/src/__pycache__/__init__.cpython-313.pyc differ diff --git a/server/src/__pycache__/api.cpython-312.pyc b/server/src/__pycache__/api.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ff934b090800407af246b2a5e8372d17bd7b32e2 Binary files /dev/null and b/server/src/__pycache__/api.cpython-312.pyc differ diff --git a/server/src/api.py b/server/src/api.py new file mode 100644 index 0000000000000000000000000000000000000000..3945915199efb1216cec5d0017fbca9209cc870d --- /dev/null +++ b/server/src/api.py @@ -0,0 +1,82 @@ +import asyncio +import logging +from contextlib import asynccontextmanager + +from fastapi import FastAPI +from fastapi.middleware.cors import CORSMiddleware + +logging.basicConfig( + level=logging.INFO, + format="%(asctime)s - %(name)s - %(levelname)s - %(message)s", + handlers=[logging.StreamHandler(), logging.FileHandler("server.log")], +) + +logger = logging.getLogger(__name__) + + +@asynccontextmanager +async def lifespan(app: FastAPI): + """FastAPI lifespan manager (preserves original startup/shutdown).""" + + # Startup + async def _startup(): + # Wait 0.1s before starting + await asyncio.sleep(0.1) + print("Starting server...") + + await _startup() + + yield + + # Shutdown + async def _shutdown(): + # Wait 0.1s before shutting down + await asyncio.sleep(0.1) + print("Shutting down server...") + + await _shutdown() + + +# FastAPI application (preserves original configuration) +app = FastAPI( + title="LeRobot Arena Server", + description="WebRTC video streaming server for robotics applications", + version="2.0.0", + lifespan=lifespan, +) + +# CORS middleware (preserves original settings) +app.add_middleware( + CORSMiddleware, + allow_origins=["*"], + allow_credentials=True, + allow_methods=["*"], + allow_headers=["*"], +) + +from .robotics.api import robotics_router +from .video.api import video_router + +# Include the API routers +app.include_router(video_router) +app.include_router(robotics_router) + + +@app.get("/health") +async def health_check(): + return { + "status": "healthy", + "server_running": True, + } + + +if __name__ == "__main__": + import uvicorn + + logger.info("๐Ÿค– Starting LeRobot Arena Modular Server...") + print("๐Ÿค– Starting LeRobot Arena Modular Server...") + uvicorn.run( + "api:app", + reload=False, + log_level="info", + ) diff --git a/server/src/audio/__init__.py b/server/src/audio/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/server/src/audio/api.py b/server/src/audio/api.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/server/src/lerobot_arena_server.egg-info/PKG-INFO b/server/src/lerobot_arena_server.egg-info/PKG-INFO new file mode 100644 index 0000000000000000000000000000000000000000..8d900682c82d044bcac4baa47a3beaab0fe73bef --- /dev/null +++ b/server/src/lerobot_arena_server.egg-info/PKG-INFO @@ -0,0 +1,10 @@ +Metadata-Version: 2.4 +Name: lerobot_arena_server +Version: 0.1.0 +Summary: Add your description here +Requires-Python: >=3.12 +Description-Content-Type: text/markdown +Requires-Dist: fastapi>=0.115.12 +Requires-Dist: opencv-python>=4.11.0.86 +Requires-Dist: pydantic>=2.11.5 +Requires-Dist: uvicorn[standard]>=0.34.3 diff --git a/server/src/lerobot_arena_server.egg-info/SOURCES.txt b/server/src/lerobot_arena_server.egg-info/SOURCES.txt new file mode 100644 index 0000000000000000000000000000000000000000..cb7362e3a71f407d7ab0b96790fc3474a4e654cf --- /dev/null +++ b/server/src/lerobot_arena_server.egg-info/SOURCES.txt @@ -0,0 +1,19 @@ +README.md +pyproject.toml +src/__init__.py +src/api.py +src/audio/__init__.py +src/audio/api.py +src/lerobot_arena_server.egg-info/PKG-INFO +src/lerobot_arena_server.egg-info/SOURCES.txt +src/lerobot_arena_server.egg-info/dependency_links.txt +src/lerobot_arena_server.egg-info/requires.txt +src/lerobot_arena_server.egg-info/top_level.txt +src/robotics/__init__.py +src/robotics/api.py +src/robotics/core.py +src/robotics/models.py +src/video/__init__.py +src/video/api.py +src/video/core.py +src/video/models.py \ No newline at end of file diff --git a/server/src/lerobot_arena_server.egg-info/dependency_links.txt b/server/src/lerobot_arena_server.egg-info/dependency_links.txt new file mode 100644 index 0000000000000000000000000000000000000000..8b137891791fe96927ad78e64b0aad7bded08bdc --- /dev/null +++ b/server/src/lerobot_arena_server.egg-info/dependency_links.txt @@ -0,0 +1 @@ + diff --git a/server/src/lerobot_arena_server.egg-info/requires.txt b/server/src/lerobot_arena_server.egg-info/requires.txt new file mode 100644 index 0000000000000000000000000000000000000000..2936f9cf2c2723730e7ecf6e54a335d7b153d3ba --- /dev/null +++ b/server/src/lerobot_arena_server.egg-info/requires.txt @@ -0,0 +1,4 @@ +fastapi>=0.115.12 +opencv-python>=4.11.0.86 +pydantic>=2.11.5 +uvicorn[standard]>=0.34.3 diff --git a/server/src/lerobot_arena_server.egg-info/top_level.txt b/server/src/lerobot_arena_server.egg-info/top_level.txt new file mode 100644 index 0000000000000000000000000000000000000000..dd79db5037d7e7ac4924331ea13245480d209b22 --- /dev/null +++ b/server/src/lerobot_arena_server.egg-info/top_level.txt @@ -0,0 +1,5 @@ +__init__ +api +audio +robotics +video diff --git a/server/src/robotics/__init__.py b/server/src/robotics/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/server/src/robotics/__pycache__/__init__.cpython-312.pyc b/server/src/robotics/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..fcc46499ac6d79c19bb5d6b2016ad7e4947eb9a1 Binary files /dev/null and b/server/src/robotics/__pycache__/__init__.cpython-312.pyc differ diff --git a/server/src/robotics/__pycache__/api.cpython-312.pyc b/server/src/robotics/__pycache__/api.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..34dfb8badfe1d06d7dfdabe35836484cc2a565a9 Binary files /dev/null and b/server/src/robotics/__pycache__/api.cpython-312.pyc differ diff --git a/server/src/robotics/__pycache__/connection_manager.cpython-312.pyc b/server/src/robotics/__pycache__/connection_manager.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..77c21e3007de1d1ca2f00bb7809fcf2ce0613c12 Binary files /dev/null and b/server/src/robotics/__pycache__/connection_manager.cpython-312.pyc differ diff --git a/server/src/robotics/__pycache__/core.cpython-312.pyc b/server/src/robotics/__pycache__/core.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b9c4bb4a313bb0c0dcd4e8143e1d5d3eaacaa5d3 Binary files /dev/null and b/server/src/robotics/__pycache__/core.cpython-312.pyc differ diff --git a/server/src/robotics/__pycache__/models.cpython-312.pyc b/server/src/robotics/__pycache__/models.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f5d9aa8bd26aa4ca8875a9b885f9a546ee5ae3cc Binary files /dev/null and b/server/src/robotics/__pycache__/models.cpython-312.pyc differ diff --git a/server/src/robotics/__pycache__/robot_manager.cpython-312.pyc b/server/src/robotics/__pycache__/robot_manager.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..bf4994b8dce6fdbe738002ca92921b46cfb828f3 Binary files /dev/null and b/server/src/robotics/__pycache__/robot_manager.cpython-312.pyc differ diff --git a/server/src/robotics/__pycache__/room_manager.cpython-312.pyc b/server/src/robotics/__pycache__/room_manager.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b1893565945754f00fd238574d733e1f7c84c779 Binary files /dev/null and b/server/src/robotics/__pycache__/room_manager.cpython-312.pyc differ diff --git a/server/src/robotics/__pycache__/websocket_handler.cpython-312.pyc b/server/src/robotics/__pycache__/websocket_handler.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3a94e98a63bbd380117b1a26ff168d0ff37b7d36 Binary files /dev/null and b/server/src/robotics/__pycache__/websocket_handler.cpython-312.pyc differ diff --git a/server/src/robotics/api.py b/server/src/robotics/api.py new file mode 100644 index 0000000000000000000000000000000000000000..24b42e789d20f3f13c531fb70cb6ba3be298cafc --- /dev/null +++ b/server/src/robotics/api.py @@ -0,0 +1,168 @@ +from fastapi import APIRouter, HTTPException, WebSocket + +from .core import RoboticsCore +from .models import ( + CreateRoomRequest, + JointCommand, + ParticipantRole, +) + +# ============= SIMPLIFIED API ============= + +robotics_router = APIRouter(prefix="/robotics", tags=["robotics"]) +robotics_core = RoboticsCore() + + +# ============= CONVENIENT ROOM ENDPOINTS ============= + + +# Legacy endpoint for backward compatibility - creates random workspace +@robotics_router.get("/rooms") +async def list_rooms_legacy(): + """List all robotics rooms (legacy - requires workspace)""" + raise HTTPException( + status_code=400, + detail="Workspace ID required. Use /workspaces/{workspace_id}/rooms instead", + ) + + +@robotics_router.get("/workspaces/{workspace_id}/rooms") +async def list_rooms(workspace_id: str): + """List all robotics rooms in a workspace""" + return { + "success": True, + "workspace_id": workspace_id, + "rooms": robotics_core.list_rooms(workspace_id), + "total": len(robotics_core.list_rooms(workspace_id)), + } + + +# Legacy endpoint for backward compatibility - creates random workspace +@robotics_router.post("/rooms") +async def create_room_legacy(request: CreateRoomRequest | None = None): + """Create a new robotics room (legacy - creates random workspace)""" + workspace_id = None + room_id = None + if request: + workspace_id = request.workspace_id + room_id = request.room_id + + workspace_id, room_id = robotics_core.create_room(workspace_id, room_id) + + return { + "success": True, + "workspace_id": workspace_id, + "room_id": room_id, + "message": f"Room {room_id} created successfully in workspace {workspace_id}", + } + + +@robotics_router.post("/workspaces/{workspace_id}/rooms") +async def create_room(workspace_id: str, request: CreateRoomRequest | None = None): + """Create a new robotics room in a workspace""" + room_id = None + if request and hasattr(request, "room_id"): + room_id = request.room_id + + actual_workspace_id, room_id = robotics_core.create_room(workspace_id, room_id) + + return { + "success": True, + "workspace_id": actual_workspace_id, + "room_id": room_id, + "message": f"Room {room_id} created successfully in workspace {actual_workspace_id}", + } + + +@robotics_router.get("/workspaces/{workspace_id}/rooms/{room_id}") +async def get_room(workspace_id: str, room_id: str): + """Get room details""" + room_info = robotics_core.get_room_info(workspace_id, room_id) + if "error" in room_info: + raise HTTPException(status_code=404, detail="Room not found") + + return {"success": True, "room": room_info} + + +@robotics_router.delete("/workspaces/{workspace_id}/rooms/{room_id}") +async def delete_room(workspace_id: str, room_id: str): + """Delete a robotics room""" + if robotics_core.delete_room(workspace_id, room_id): + return { + "success": True, + "message": f"Room {room_id} deleted successfully from workspace {workspace_id}", + } + raise HTTPException(status_code=404, detail="Room not found") + + +@robotics_router.get("/workspaces/{workspace_id}/rooms/{room_id}/state") +async def get_room_state(workspace_id: str, room_id: str): + """Get current room state with joints and participants""" + state = robotics_core.get_room_state(workspace_id, room_id) + if "error" in state: + raise HTTPException(status_code=404, detail="Room not found") + + return {"success": True, "state": state} + + +# ============= CONTROL ENDPOINTS ============= + + +@robotics_router.post("/workspaces/{workspace_id}/rooms/{room_id}/command") +async def send_command(workspace_id: str, room_id: str, command: JointCommand): + """Send joint commands to a room""" + room_info = robotics_core.get_room_info(workspace_id, room_id) + if "error" in room_info: + raise HTTPException(status_code=404, detail="Room not found") + + try: + joints_data = [ + {"name": j.name, "value": j.value, "speed": j.speed} for j in command.joints + ] + changed = await robotics_core.send_command_to_room( + workspace_id, room_id, joints_data + ) + except ValueError as e: + raise HTTPException(status_code=404) from e + else: + return { + "success": True, + "workspace_id": workspace_id, + "room_id": room_id, + "joints_updated": changed, + "message": "Commands sent successfully", + } + + +# ============= UTILITY ENDPOINTS ============= + + +@robotics_router.get("/status") +async def get_status(): + """Get system status""" + stats = robotics_core.get_connection_stats() + return { + "service": "robotics", + "status": "active", + "workspaces_count": stats["total_workspaces"], + "rooms_count": stats["total_rooms"], + "connections_count": stats["total_connections"], + "version": "2.0.0", + "supported_roles": [role.value for role in ParticipantRole], + "supported_robot_types": ["so-arm100", "generic"], + } + + +@robotics_router.get("/health") +async def health_check(): + """Health check endpoint""" + return {"status": "healthy", "service": "robotics"} + + +# ============= WEBSOCKET ENDPOINT ============= + + +@robotics_router.websocket("/workspaces/{workspace_id}/rooms/{room_id}/ws") +async def websocket_endpoint(websocket: WebSocket, workspace_id: str, room_id: str): + """WebSocket connection for real-time room communication""" + await robotics_core.handle_websocket(websocket, workspace_id, room_id) diff --git a/server/src/robotics/core.py b/server/src/robotics/core.py new file mode 100644 index 0000000000000000000000000000000000000000..d9ee28a7302e02caa55cf8adfa888d55096014ba --- /dev/null +++ b/server/src/robotics/core.py @@ -0,0 +1,614 @@ +import json +import logging +import uuid +from datetime import UTC, datetime + +from fastapi import WebSocket, WebSocketDisconnect +from typing_extensions import TypedDict + +from .models import MessageType, ParticipantRole + +logger = logging.getLogger(__name__) + + +class ConnectionMetadata(TypedDict): + """Connection metadata with proper typing""" + + workspace_id: str + room_id: str + participant_id: str + role: ParticipantRole + connected_at: datetime + last_activity: datetime + message_count: int + + +# ============= SIMPLIFIED ROOM SYSTEM ============= + + +class RoboticsRoom: + """Simple robotics room with producer/consumer pattern""" + + def __init__(self, room_id: str, workspace_id: str): + self.id = room_id + self.workspace_id = workspace_id + + # Participants + self.producer: str | None = None + self.consumers: list[str] = [] + + # State + self.joints: dict[str, float] = {} + + +class RoboticsCore: + """Core robotics system - simplified and merged with workspace support""" + + def __init__(self): + # Nested structure: workspace_id -> room_id -> RoboticsRoom + self.workspaces: dict[str, dict[str, RoboticsRoom]] = {} + self.connections: dict[str, WebSocket] = {} # participant_id -> websocket + self.connection_metadata: dict[ + str, ConnectionMetadata + ] = {} # participant_id -> metadata + + # ============= ROOM MANAGEMENT ============= + + def create_room( + self, workspace_id: str | None = None, room_id: str | None = None + ) -> tuple[str, str]: + """Create a new room and return (workspace_id, room_id)""" + workspace_id = workspace_id or str(uuid.uuid4()) + room_id = room_id or str(uuid.uuid4()) + + # Initialize workspace if it doesn't exist + if workspace_id not in self.workspaces: + self.workspaces[workspace_id] = {} + + room = RoboticsRoom(room_id, workspace_id) + self.workspaces[workspace_id][room_id] = room + + logger.info(f"Created room {room_id} in workspace {workspace_id}") + return workspace_id, room_id + + def list_rooms(self, workspace_id: str) -> list[dict]: + """List all rooms in a specific workspace""" + if workspace_id not in self.workspaces: + return [] + + return [ + { + "id": room.id, + "workspace_id": room.workspace_id, + "participants": { + "producer": room.producer, + "consumers": room.consumers, + "total": len(room.consumers) + (1 if room.producer else 0), + }, + "joints_count": len(room.joints), + } + for room in self.workspaces[workspace_id].values() + ] + + def delete_room(self, workspace_id: str, room_id: str) -> bool: + """Delete a room from a workspace""" + if ( + workspace_id not in self.workspaces + or room_id not in self.workspaces[workspace_id] + ): + return False + + room = self.workspaces[workspace_id][room_id] + + # Disconnect all participants + for consumer_id in room.consumers[:]: + self.leave_room(workspace_id, room_id, consumer_id) + if room.producer: + self.leave_room(workspace_id, room_id, room.producer) + + del self.workspaces[workspace_id][room_id] + logger.info(f"Deleted room {room_id} from workspace {workspace_id}") + return True + + def get_room_state(self, workspace_id: str, room_id: str) -> dict: + """Get detailed room state""" + room = self._get_room(workspace_id, room_id) + if not room: + return {"error": "Room not found"} + + return { + "room_id": room_id, + "workspace_id": workspace_id, + "joints": room.joints, + "participants": { + "producer": room.producer, + "consumers": room.consumers, + "total": len(room.consumers) + (1 if room.producer else 0), + }, + "timestamp": datetime.now(tz=UTC).isoformat(), + } + + def get_room_info(self, workspace_id: str, room_id: str) -> dict: + """Get basic room info""" + room = self._get_room(workspace_id, room_id) + if not room: + return {"error": "Room not found"} + + return { + "id": room.id, + "workspace_id": room.workspace_id, + "participants": { + "producer": room.producer, + "consumers": room.consumers, + "total": len(room.consumers) + (1 if room.producer else 0), + }, + "joints_count": len(room.joints), + "has_producer": room.producer is not None, + "active_consumers": len(room.consumers), + } + + def _get_room(self, workspace_id: str, room_id: str) -> RoboticsRoom | None: + """Get room by workspace and room ID""" + if workspace_id not in self.workspaces: + return None + return self.workspaces[workspace_id].get(room_id) + + # ============= PARTICIPANT MANAGEMENT ============= + + def join_room( + self, + workspace_id: str, + room_id: str, + participant_id: str, + role: ParticipantRole, + ) -> bool: + """Join room as producer or consumer""" + room = self._get_room(workspace_id, room_id) + if not room: + return False + + if role == ParticipantRole.PRODUCER: + if room.producer is None: + room.producer = participant_id + logger.info( + f"Producer {participant_id} joined room {room_id} in workspace {workspace_id}" + ) + return True + # Room already has a producer, reject the new one + logger.warning( + f"Producer {participant_id} failed to join room {room_id} - room already has producer {room.producer}" + ) + return False + + if role == ParticipantRole.CONSUMER: + if participant_id not in room.consumers: + room.consumers.append(participant_id) + logger.info( + f"Consumer {participant_id} joined room {room_id} in workspace {workspace_id}" + ) + return True + return False + + return False + + def leave_room(self, workspace_id: str, room_id: str, participant_id: str): + """Leave room""" + room = self._get_room(workspace_id, room_id) + if not room: + return + + if room.producer == participant_id: + room.producer = None + logger.info( + f"Producer {participant_id} left room {room_id} in workspace {workspace_id}" + ) + elif participant_id in room.consumers: + room.consumers.remove(participant_id) + logger.info( + f"Consumer {participant_id} left room {room_id} in workspace {workspace_id}" + ) + + # ============= JOINT CONTROL ============= + + def update_joints( + self, workspace_id: str, room_id: str, joint_updates: list[dict] + ) -> list[dict]: + room = self._get_room(workspace_id, room_id) + if not room: + msg = f"Room {room_id} not found in workspace {workspace_id}" + raise ValueError(msg) + + changed_joints = [] + for joint in joint_updates: + name = joint["name"] + value = joint["value"] + + # Only track actual changes + if room.joints.get(name) != value: + room.joints[name] = value + changed_joints.append(joint) + + return changed_joints + + # ============= WEBSOCKET HANDLING ============= + + async def handle_websocket( + self, websocket: WebSocket, workspace_id: str, room_id: str + ): + """Handle WebSocket connection""" + await websocket.accept() + + participant_id: str | None = None + role: ParticipantRole | None = None + + try: + # Get join message + data = await websocket.receive_text() + join_msg = json.loads(data) + + participant_id = join_msg["participant_id"] + role = ParticipantRole(join_msg["role"]) + + # Join room + if not self.join_room(workspace_id, room_id, participant_id, role): + await websocket.send_text( + json.dumps({ + "type": MessageType.ERROR.value, + "message": "Cannot join room", + }) + ) + await websocket.close() + return + + self.connections[participant_id] = websocket + + # Store connection metadata + self.connection_metadata[participant_id] = ConnectionMetadata( + workspace_id=workspace_id, + room_id=room_id, + participant_id=participant_id, + role=role, + connected_at=datetime.now(tz=UTC), + last_activity=datetime.now(tz=UTC), + message_count=0, + ) + + # Send current state to consumer + if role == ParticipantRole.CONSUMER: + room = self._get_room(workspace_id, room_id) + if room: + await websocket.send_text( + json.dumps({ + "type": MessageType.STATE_SYNC.value, + "data": room.joints, + "timestamp": datetime.now(tz=UTC).isoformat(), + }) + ) + + # Send join confirmation + await websocket.send_text( + json.dumps({ + "type": MessageType.JOINED.value, + "room_id": room_id, + "workspace_id": workspace_id, + "role": role.value, + "timestamp": datetime.now(tz=UTC).isoformat(), + }) + ) + + # Handle messages + async for message in websocket.iter_text(): + try: + msg = json.loads(message) + await self._handle_message( + workspace_id, room_id, participant_id, role, msg + ) + except json.JSONDecodeError: + logger.exception(f"Invalid JSON from {participant_id}") + except Exception: + logger.exception("Message error") + + except WebSocketDisconnect: + logger.info(f"WebSocket disconnected: {participant_id}") + except Exception: + logger.exception("WebSocket error") + finally: + # Cleanup + if participant_id: + metadata = self.connection_metadata.get(participant_id) + if metadata: + self.leave_room( + metadata["workspace_id"], metadata["room_id"], participant_id + ) + if participant_id in self.connections: + del self.connections[participant_id] + if participant_id in self.connection_metadata: + del self.connection_metadata[participant_id] + + async def _handle_message( + self, + workspace_id: str, + room_id: str, + participant_id: str, + role: ParticipantRole, + message: dict, + ): + """Handle incoming WebSocket message with structured handlers""" + # Update activity tracking + if participant_id in self.connection_metadata: + self.connection_metadata[participant_id]["last_activity"] = datetime.now( + tz=UTC + ) + self.connection_metadata[participant_id]["message_count"] += 1 + + try: + msg_type = MessageType(message.get("type")) + except ValueError: + logger.warning( + f"Unknown message type from {participant_id}: {message.get('type')}" + ) + await self._handle_error( + participant_id, f"Unknown message type: {message.get('type')}" + ) + return + + # Dispatch to specific handlers + if msg_type == MessageType.JOINT_UPDATE: + await self._handle_joint_update( + workspace_id, room_id, participant_id, role, message + ) + elif msg_type == MessageType.HEARTBEAT: + await self._handle_heartbeat(participant_id) + elif msg_type == MessageType.EMERGENCY_STOP: + await self._handle_emergency_stop( + workspace_id, room_id, participant_id, message + ) + else: + logger.warning(f"Unhandled message type {msg_type} from {participant_id}") + + # ============= STRUCTURED MESSAGE HANDLERS ============= + + async def _handle_joint_update( + self, + workspace_id: str, + room_id: str, + participant_id: str, + role: ParticipantRole, + message: dict, + ): + """Handle joint update commands from producers""" + if role != ParticipantRole.PRODUCER: + logger.warning( + f"Non-producer {participant_id} attempted to send joint update" + ) + return + + joints = message.get("data", []) + if not joints: + logger.warning(f"Empty joint data from producer {participant_id}") + return + + try: + changed_joints = self.update_joints(workspace_id, room_id, joints) + + if changed_joints: + await self._broadcast_to_consumers( + workspace_id, + room_id, + { + "type": MessageType.JOINT_UPDATE.value, + "data": changed_joints, + "timestamp": datetime.now(tz=UTC).isoformat(), + "source": participant_id, + }, + ) + logger.debug( + f"Producer {participant_id} sent {len(changed_joints)} joint updates" + ) + except Exception: + logger.exception(f"Error processing joint update from {participant_id}") + await self._handle_error(participant_id, "Failed to process joint update") + + async def _handle_heartbeat(self, participant_id: str): + """Handle heartbeat messages""" + try: + await self._send_to_participant( + participant_id, + { + "type": MessageType.HEARTBEAT_ACK.value, + "timestamp": datetime.now(tz=UTC).isoformat(), + }, + ) + logger.debug(f"Heartbeat acknowledged for {participant_id}") + except Exception: + logger.exception(f"Error handling heartbeat from {participant_id}") + + async def _handle_emergency_stop( + self, workspace_id: str, room_id: str, participant_id: str, message: dict + ): + """Handle emergency stop messages""" + try: + reason = message.get("reason", f"Emergency stop from {participant_id}") + + emergency_message = { + "type": MessageType.EMERGENCY_STOP.value, + "timestamp": datetime.now(tz=UTC).isoformat(), + "reason": reason, + "source": participant_id, + } + + # Broadcast to all participants in room + await self._broadcast_to_all_participants( + workspace_id, room_id, emergency_message + ) + logger.warning( + f"๐Ÿšจ Emergency stop triggered by {participant_id} in room {room_id} (workspace {workspace_id})" + ) + + except Exception: + logger.exception(f"Error handling emergency stop from {participant_id}") + + async def _handle_error(self, participant_id: str, error_message: str): + """Send error message to participant""" + try: + await self._send_to_participant( + participant_id, + { + "type": MessageType.ERROR.value, + "message": error_message, + "timestamp": datetime.now(tz=UTC).isoformat(), + }, + ) + except Exception: + logger.exception(f"Error sending error message to {participant_id}") + + async def _broadcast_to_consumers( + self, workspace_id: str, room_id: str, message: dict + ): + """Send message to all consumers in room""" + room = self._get_room(workspace_id, room_id) + if not room: + return + + message_text = json.dumps(message) + failed = [] + + for consumer_id in room.consumers: + if consumer_id in self.connections: + try: + await self.connections[consumer_id].send_text(message_text) + except Exception: + logger.exception(f"Error sending message to {consumer_id}") + failed.append(consumer_id) + + # Cleanup failed connections + for consumer_id in failed: + room.consumers.remove(consumer_id) + if consumer_id in self.connections: + del self.connections[consumer_id] + if consumer_id in self.connection_metadata: + del self.connection_metadata[consumer_id] + + async def _broadcast_to_all_participants( + self, workspace_id: str, room_id: str, message: dict + ): + """Send message to all participants (producer + consumers) in room""" + room = self._get_room(workspace_id, room_id) + if not room: + return + + message_text = json.dumps(message) + participants = [] + + # Add producer if exists + if room.producer: + participants.append(room.producer) + + # Add all consumers + participants.extend(room.consumers) + + failed = [] + sent_count = 0 + + for participant_id in participants: + if participant_id in self.connections: + try: + await self.connections[participant_id].send_text(message_text) + sent_count += 1 + except Exception: + logger.exception(f"Error sending message to {participant_id}") + failed.append(participant_id) + + # Cleanup failed connections + for participant_id in failed: + metadata = self.connection_metadata.get(participant_id) + if metadata: + self.leave_room( + metadata["workspace_id"], metadata["room_id"], participant_id + ) + if participant_id in self.connections: + del self.connections[participant_id] + if participant_id in self.connection_metadata: + del self.connection_metadata[participant_id] + + logger.debug( + f"Broadcast message to {sent_count}/{len(participants)} participants in room {room_id}" + ) + + async def _send_to_participant(self, participant_id: str, message: dict): + """Send message to specific participant""" + if participant_id in self.connections: + try: + await self.connections[participant_id].send_text(json.dumps(message)) + except Exception: + logger.exception(f"Error sending message to {participant_id}") + if participant_id in self.connections: + del self.connections[participant_id] + + # ============= CONNECTION MONITORING ============= + + def get_connection_stats(self) -> dict: + """Get connection statistics and metadata""" + stats = { + "total_connections": len(self.connections), + "total_workspaces": len(self.workspaces), + "total_rooms": sum(len(rooms) for rooms in self.workspaces.values()), + "connections_by_role": {"producer": 0, "consumer": 0}, + "connections_by_workspace": {}, + "active_connections": [], + } + + # Count by role and collect active connections + for participant_id, metadata in self.connection_metadata.items(): + role = metadata["role"] + workspace_id = metadata["workspace_id"] + room_id = metadata["room_id"] + + stats["connections_by_role"][role.value] += 1 + + if workspace_id not in stats["connections_by_workspace"]: + stats["connections_by_workspace"][workspace_id] = { + "producer": 0, + "consumer": 0, + "rooms": 0, + } + stats["connections_by_workspace"][workspace_id][role.value] += 1 + + # Count unique rooms per workspace + if workspace_id in self.workspaces: + stats["connections_by_workspace"][workspace_id]["rooms"] = len( + self.workspaces[workspace_id] + ) + + stats["active_connections"].append({ + "participant_id": participant_id, + "workspace_id": workspace_id, + "room_id": room_id, + "role": role.value, + "connected_at": metadata["connected_at"].isoformat(), + "last_activity": metadata["last_activity"].isoformat(), + "message_count": metadata["message_count"], + }) + + return stats + + # ============= EXTERNAL API METHODS ============= + + async def send_command_to_room( + self, workspace_id: str, room_id: str, joints: list[dict] + ): + changed_joints = self.update_joints(workspace_id, room_id, joints) + + if changed_joints: + await self._broadcast_to_consumers( + workspace_id, + room_id, + { + "type": MessageType.JOINT_UPDATE.value, + "data": changed_joints, + "timestamp": datetime.now(tz=UTC).isoformat(), + "source": "api", + }, + ) + + return len(changed_joints) diff --git a/server/src/robotics/models.py b/server/src/robotics/models.py new file mode 100644 index 0000000000000000000000000000000000000000..6115954981ba4db5c759a49e00b0f4bb19a9ee7a --- /dev/null +++ b/server/src/robotics/models.py @@ -0,0 +1,210 @@ +import logging +from enum import Enum + +from pydantic import BaseModel, Field + +logger = logging.getLogger(__name__) + +# ============= ENUMS ============= + + +class ParticipantRole(str, Enum): + """Participant roles in a robotics room""" + + PRODUCER = "producer" # Controller/master + CONSUMER = "consumer" # Robot/visualizer + + +class MessageType(str, Enum): + """WebSocket message types organized by category""" + + # === CONNECTION & LIFECYCLE === + JOINED = "joined" # Confirmation of successful room join + ERROR = "error" # Error notifications + + # === CONNECTION HEALTH === + HEARTBEAT = "heartbeat" # Client ping for connection health + HEARTBEAT_ACK = "heartbeat_ack" # Server response to heartbeat + + # === ROBOT CONTROL (Core) === + JOINT_UPDATE = "joint_update" # Producer โ†’ Consumers: Joint position commands + STATE_SYNC = "state_sync" # Server โ†’ Consumer: Initial state synchronization + + # === EMERGENCY & SAFETY === + EMERGENCY_STOP = "emergency_stop" # Emergency stop command (any direction) + + # === STATUS & MONITORING === + STATUS_UPDATE = "status_update" # General status updates + CONSUMER_STATUS = "consumer_status" # Specific consumer status reports + + +class RobotType(str, Enum): + """Supported robot types""" + + SO_ARM_100 = "so-arm100" + GENERIC = "generic" + + +# ============= CORE MODELS ============= + + +class CreateRoomRequest(BaseModel): + """Request to create a new robotics room""" + + room_id: str | None = None + workspace_id: str | None = None # Optional - will be generated if not provided + name: str | None = None + robot_type: RobotType = RobotType.SO_ARM_100 + max_consumers: int = Field(default=10, ge=1, le=100) + + +class JointUpdate(BaseModel): + """Single joint position update""" + + name: str = Field(..., min_length=1, max_length=50) + value: float = Field(..., ge=-360.0, le=360.0) # Degrees + speed: float | None = Field(None, ge=0.0, le=100.0) # Percentage + + +class JointCommand(BaseModel): + """Command containing multiple joint updates""" + + joints: list[JointUpdate] = Field(..., min_length=1, max_length=20) + + +class EmergencyStop(BaseModel): + """Emergency stop command""" + + enabled: bool = True + + +# ============= RESPONSE MODELS ============= + + +class ParticipantInfo(BaseModel): + """Information about room participants""" + + producer: str | None + consumers: list[str] + total: int + + +class RoomInfo(BaseModel): + """Basic room information""" + + id: str + workspace_id: str + participants: ParticipantInfo + joints_count: int + has_producer: bool + active_consumers: int + + +class RoomState(BaseModel): + """Detailed room state""" + + room_id: str + workspace_id: str + joints: dict[str, float] + participants: ParticipantInfo + timestamp: str + + +# ============= WEBSOCKET MODELS ============= + + +class WebSocketMessage(BaseModel): + """Base WebSocket message""" + + type: MessageType + timestamp: str | None = None + + +class JoinMessage(BaseModel): + """Message to join a room""" + + participant_id: str = Field(..., min_length=1, max_length=100) + role: ParticipantRole + + +# === CONNECTION & LIFECYCLE MESSAGES === + + +class JoinedMessage(WebSocketMessage): + """Confirmation of successful room join""" + + type: MessageType = MessageType.JOINED + room_id: str + role: ParticipantRole + + +class ErrorMessage(WebSocketMessage): + """Error notification message""" + + type: MessageType = MessageType.ERROR + message: str + code: str | None = None + + +# === CONNECTION HEALTH MESSAGES === + + +class HeartbeatMessage(WebSocketMessage): + """Heartbeat ping from client""" + + type: MessageType = MessageType.HEARTBEAT + + +class HeartbeatAckMessage(WebSocketMessage): + """Heartbeat acknowledgment from server""" + + type: MessageType = MessageType.HEARTBEAT_ACK + + +# === ROBOT CONTROL MESSAGES === + + +class JointUpdateMessage(WebSocketMessage): + """Joint position update command (Producer โ†’ Consumers)""" + + type: MessageType = MessageType.JOINT_UPDATE + data: list[JointUpdate] + source: str | None = None # "api" or participant_id + + +class StateSyncMessage(WebSocketMessage): + """Initial state synchronization (Server โ†’ Consumer)""" + + type: MessageType = MessageType.STATE_SYNC + data: dict[str, float] # Current joint positions + + +# === EMERGENCY & SAFETY MESSAGES === + + +class EmergencyStopMessage(WebSocketMessage): + """Emergency stop command""" + + type: MessageType = MessageType.EMERGENCY_STOP + enabled: bool = True + reason: str | None = None + + +# === STATUS & MONITORING MESSAGES === + + +class StatusUpdateMessage(WebSocketMessage): + """General status update""" + + type: MessageType = MessageType.STATUS_UPDATE + status: str + data: dict | None = None + + +class ConsumerStatusMessage(WebSocketMessage): + """Consumer-specific status report""" + + type: MessageType = MessageType.CONSUMER_STATUS + consumer_id: str + status: str # "ready", "busy", "error", "offline" + joint_states: list[dict] | None = None diff --git a/server/src/server.log b/server/src/server.log new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/server/src/video/__init__.py b/server/src/video/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/server/src/video/__pycache__/__init__.cpython-312.pyc b/server/src/video/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7ce44c3585155a65924964fb09ed8ce02dc28ec1 Binary files /dev/null and b/server/src/video/__pycache__/__init__.cpython-312.pyc differ diff --git a/server/src/video/__pycache__/api.cpython-312.pyc b/server/src/video/__pycache__/api.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e7926e845b137d81d6009d4844541325e7b0f30a Binary files /dev/null and b/server/src/video/__pycache__/api.cpython-312.pyc differ diff --git a/server/src/video/__pycache__/core.cpython-312.pyc b/server/src/video/__pycache__/core.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b6c8252a46cdb6d05376a3b92f109634eaf4f491 Binary files /dev/null and b/server/src/video/__pycache__/core.cpython-312.pyc differ diff --git a/server/src/video/__pycache__/models.cpython-312.pyc b/server/src/video/__pycache__/models.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9c5ff3fbb23c714b735d90e9c3f1e7594ca83213 Binary files /dev/null and b/server/src/video/__pycache__/models.cpython-312.pyc differ diff --git a/server/src/video/__pycache__/utils.cpython-312.pyc b/server/src/video/__pycache__/utils.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4a5297e03a0f6330616819adf6f8cecc09f1a240 Binary files /dev/null and b/server/src/video/__pycache__/utils.cpython-312.pyc differ diff --git a/server/src/video/api.py b/server/src/video/api.py new file mode 100644 index 0000000000000000000000000000000000000000..16d8e5ce5953703cb2a634f68fa1db990d71a453 --- /dev/null +++ b/server/src/video/api.py @@ -0,0 +1,276 @@ +import logging + +from fastapi import APIRouter, HTTPException, WebSocket + +from .core import VideoCore +from .models import ( + CreateRoomRequest, + ParticipantRole, + RecoveryPolicy, + VideoEncoding, + WebRTCSignalRequest, +) + +logger = logging.getLogger(__name__) + +video_router = APIRouter(prefix="/video", tags=["video"]) +video_core = VideoCore() + + +# ============= WORKSPACE-SCOPED ENDPOINTS ============= + + +@video_router.get("/workspaces/{workspace_id}/rooms") +async def list_rooms_in_workspace(workspace_id: str): + """List all video rooms in a workspace""" + rooms = video_core.list_rooms(workspace_id) + return { + "success": True, + "workspace_id": workspace_id, + "rooms": rooms, + "total": len(rooms), + } + + +@video_router.post("/workspaces/{workspace_id}/rooms") +async def create_room_in_workspace( + workspace_id: str, request: CreateRoomRequest | None = None +): + """Create a new video room in a workspace""" + room_id = None + config = None + recovery_config = None + + if request: + room_id = request.room_id + config = request.config + recovery_config = request.recovery_config + + # Create room with explicit workspace_id + created_workspace_id, room_id = video_core.create_room( + workspace_id, room_id, config, recovery_config + ) + + return { + "success": True, + "workspace_id": created_workspace_id, + "room_id": room_id, + "message": f"Video room {room_id} created successfully in workspace {created_workspace_id}", + } + + +@video_router.get("/workspaces/{workspace_id}/rooms/{room_id}") +async def get_room_in_workspace(workspace_id: str, room_id: str): + """Get room details from a workspace""" + room_info = video_core.get_room_info(workspace_id, room_id) + if "error" in room_info: + raise HTTPException(status_code=404, detail="Room not found") + + return {"success": True, "workspace_id": workspace_id, "room": room_info} + + +@video_router.delete("/workspaces/{workspace_id}/rooms/{room_id}") +async def delete_room_in_workspace(workspace_id: str, room_id: str): + """Delete a video room from a workspace""" + if video_core.delete_room(workspace_id, room_id): + return { + "success": True, + "workspace_id": workspace_id, + "message": f"Room {room_id} deleted successfully from workspace {workspace_id}", + } + raise HTTPException(status_code=404, detail="Room not found") + + +@video_router.get("/workspaces/{workspace_id}/rooms/{room_id}/state") +async def get_room_state_in_workspace(workspace_id: str, room_id: str): + """Get current room state from a workspace""" + state = video_core.get_room_state(workspace_id, room_id) + if "error" in state: + raise HTTPException(status_code=404, detail="Room not found") + + return {"success": True, "workspace_id": workspace_id, "state": state} + + +@video_router.post("/workspaces/{workspace_id}/rooms/{room_id}/webrtc/signal") +async def handle_webrtc_signal_in_workspace( + workspace_id: str, room_id: str, signal: WebRTCSignalRequest +): + """Handle WebRTC signaling (offer, answer, ice) in a workspace""" + try: + # Get the participant's role from the room + room = video_core._get_room(workspace_id, room_id) + participant_role: ParticipantRole | None = None + + if room: + if room.producer == signal.client_id: + participant_role = ParticipantRole.PRODUCER + elif signal.client_id in room.consumers: + participant_role = ParticipantRole.CONSUMER + + logger.info( + f"๐Ÿ”ง WebRTC signal from {signal.client_id} (role: {participant_role}) in workspace {workspace_id}, room {room_id}" + ) + + response = await video_core.handle_webrtc_signal( + workspace_id, room_id, signal.client_id, signal.message, participant_role + ) + + except ValueError as e: + raise HTTPException(status_code=400) from e + except Exception as e: + raise HTTPException(status_code=500) from e + else: + if response: + return {"success": True, "workspace_id": workspace_id, "response": response} + return { + "success": True, + "workspace_id": workspace_id, + "message": "Signal processed", + } + + +@video_router.websocket("/workspaces/{workspace_id}/rooms/{room_id}/ws") +async def websocket_endpoint_in_workspace( + websocket: WebSocket, workspace_id: str, room_id: str +): + """WebSocket connection for room management and heartbeat in a workspace""" + await video_core.handle_websocket(websocket, workspace_id, room_id) + + +# ============= LEGACY ENDPOINTS (Return errors directing to new format) ============= + + +@video_router.get("/rooms") +async def list_rooms_legacy(): + """Legacy endpoint - directs to workspace-scoped API""" + raise HTTPException( + status_code=400, + detail={ + "error": "Legacy endpoint deprecated", + "message": "Use workspace-scoped endpoint: GET /video/workspaces/{workspace_id}/rooms", + "migration_guide": "All video rooms now require a workspace_id for better organization and security", + }, + ) + + +@video_router.post("/rooms") +async def create_room_legacy(): + """Legacy endpoint - directs to workspace-scoped API""" + raise HTTPException( + status_code=400, + detail={ + "error": "Legacy endpoint deprecated", + "message": "Use workspace-scoped endpoint: POST /video/workspaces/{workspace_id}/rooms", + "migration_guide": "All video rooms now require a workspace_id for better organization and security", + }, + ) + + +@video_router.get("/rooms/{room_id}") +async def get_room_legacy(room_id: str): + """Legacy endpoint - directs to workspace-scoped API""" + raise HTTPException( + status_code=400, + detail={ + "error": "Legacy endpoint deprecated", + "message": f"Use workspace-scoped endpoint: GET /video/workspaces/{{workspace_id}}/rooms/{room_id}", + "migration_guide": "All video rooms now require a workspace_id for better organization and security", + }, + ) + + +@video_router.delete("/rooms/{room_id}") +async def delete_room_legacy(room_id: str): + """Legacy endpoint - directs to workspace-scoped API""" + raise HTTPException( + status_code=400, + detail={ + "error": "Legacy endpoint deprecated", + "message": f"Use workspace-scoped endpoint: DELETE /video/workspaces/{{workspace_id}}/rooms/{room_id}", + "migration_guide": "All video rooms now require a workspace_id for better organization and security", + }, + ) + + +@video_router.get("/rooms/{room_id}/state") +async def get_room_state_legacy(room_id: str): + """Legacy endpoint - directs to workspace-scoped API""" + raise HTTPException( + status_code=400, + detail={ + "error": "Legacy endpoint deprecated", + "message": f"Use workspace-scoped endpoint: GET /video/workspaces/{{workspace_id}}/rooms/{room_id}/state", + "migration_guide": "All video rooms now require a workspace_id for better organization and security", + }, + ) + + +@video_router.post("/rooms/{room_id}/webrtc/signal") +async def handle_webrtc_signal_legacy(room_id: str, signal: WebRTCSignalRequest): + """Legacy endpoint - directs to workspace-scoped API""" + raise HTTPException( + status_code=400, + detail={ + "error": "Legacy endpoint deprecated", + "message": f"Use workspace-scoped endpoint: POST /video/workspaces/{{workspace_id}}/rooms/{room_id}/webrtc/signal", + "migration_guide": "All video rooms now require a workspace_id for better organization and security", + }, + ) + + +@video_router.websocket("/rooms/{room_id}/ws") +async def websocket_endpoint_legacy(websocket: WebSocket, room_id: str): + """Legacy endpoint - WebSocket connection (this will fail immediately)""" + await websocket.close( + code=4000, + reason="Legacy endpoint deprecated. Use /video/workspaces/{workspace_id}/rooms/{room_id}/ws", + ) + + +# ============= SERVICE STATUS ENDPOINTS ============= + + +@video_router.get("/status") +async def get_status(): + """Get video service status""" + total_workspaces = len(video_core.workspaces) + total_rooms = sum(len(rooms) for rooms in video_core.workspaces.values()) + + return { + "service": "video", + "status": "active", + "workspaces_count": total_workspaces, + "rooms_count": total_rooms, + "webrtc_connections_count": len(video_core.webrtc_connections), + "websocket_connections_count": len(video_core.websocket_connections), + "version": "2.0.0", + "supported_roles": [role.value for role in ParticipantRole], + "supported_encodings": [encoding.value for encoding in VideoEncoding], + "recovery_policies": [policy.value for policy in RecoveryPolicy], + } + + +@video_router.get("/health") +async def health_check(): + """Health check endpoint""" + return {"status": "healthy", "service": "video"} + + +@video_router.get("/") +async def video_status(): + """Video service main endpoint""" + return { + "status": "active", + "service": "video", + "message": "Video service running with workspace-scoped room-based WebRTC streaming", + "version": "2.0.0", + "architecture": "workspace/producer/consumer rooms", + "endpoints": [ + "/video/workspaces/{workspace_id}/rooms - List all video rooms in workspace", + "/video/workspaces/{workspace_id}/rooms/{room_id} - Get room details", + "/video/workspaces/{workspace_id}/rooms/{room_id}/webrtc/signal - WebRTC signaling", + "/video/workspaces/{workspace_id}/rooms/{room_id}/ws - WebSocket connection", + "/video/status - Service status", + ], + "migration_note": "All legacy /video/rooms/* endpoints are deprecated. Use workspace-scoped endpoints.", + } diff --git a/server/src/video/core.py b/server/src/video/core.py new file mode 100644 index 0000000000000000000000000000000000000000..a1ad368a2f7eea8871d512a5e446dff229aca9bb --- /dev/null +++ b/server/src/video/core.py @@ -0,0 +1,1321 @@ +import asyncio +import json +import logging +import time +import uuid +from collections.abc import Callable, Coroutine +from datetime import UTC, datetime +from fractions import Fraction +from functools import lru_cache + +import av +import cv2 +import numpy as np +from aiortc import ( + RTCConfiguration, + RTCIceCandidate, + RTCIceServer, + RTCPeerConnection, + RTCSessionDescription, + VideoStreamTrack, +) +from fastapi import WebSocket, WebSocketDisconnect + +from .models import ( + EmergencyStopMessageDict, + ErrorMessageDict, + HeartbeatAckMessageDict, + JoinedMessageDict, + MessageType, + ParticipantJoinedMessageDict, + ParticipantRole, + RawWebRTCMessageType, + RawWebRTCSignalingMessage, + RecoveryConfig, + RecoveryPolicy, + RecoveryTriggeredMessageDict, + StatusUpdateMessageDict, + StreamStartedMessageDict, + StreamStatsMessageDict, + StreamStoppedMessageDict, + VideoConfig, + # Core data structures + VideoConfigUpdateMessageDict, + WebRTCAnswerMessageDict, + WebRTCIceMessageDict, + WebRTCOfferMessageDict, + WebSocketMessageDict, +) + +logger = logging.getLogger(__name__) + +# ============= FRAME CACHE (from old code) ============= + + +@lru_cache(maxsize=8) # Cache up to 8 different resolutions +def get_black_frame(width: int, height: int) -> np.ndarray: + """Get cached black frame for given dimensions""" + return np.zeros((height, width, 3), dtype=np.uint8) + + +@lru_cache(maxsize=4) # Cache up to 4 different info frame variants +def get_connection_info_frame( + width: int, + height: int, + bg_color: tuple[int, int, int], + text_color: tuple[int, int, int], +) -> np.ndarray: + """Get cached connection info frame""" + frame = np.full((height, width, 3), bg_color, dtype=np.uint8) + + # Add status text + font = cv2.FONT_HERSHEY_SIMPLEX + font_scale = min(width / 640, height / 480) * 1.2 # Scale with resolution + thickness = max(1, int(font_scale)) + + # Main status message + text = "RECONNECTING..." + text_size = cv2.getTextSize(text, font, font_scale, thickness)[0] + text_x = (width - text_size[0]) // 2 + text_y = height // 2 + cv2.putText(frame, text, (text_x, text_y), font, font_scale, text_color, thickness) + + # Subtitle + subtitle = "Video stream interrupted" + subtitle_scale = font_scale * 0.5 + subtitle_size = cv2.getTextSize(subtitle, font, subtitle_scale, 1)[0] + subtitle_x = (width - subtitle_size[0]) // 2 + subtitle_y = text_y + int(40 * font_scale) + cv2.putText( + frame, + subtitle, + (subtitle_x, subtitle_y), + font, + subtitle_scale, + text_color, + 1, + ) + + return frame + + +def add_frame_hold_indicator(frame: np.ndarray, reuse_count: int) -> np.ndarray: + """Add a subtle indicator that this frame is being held (from old code)""" + height, width = frame.shape[:2] + + # Create a small colored indicator in top-right corner + indicator_size = max(6, min(width, height) // 80) # Scale with frame size + colors = [ + (255, 200, 0), + (255, 150, 0), + (255, 100, 0), + (255, 50, 0), + ] # Yellow to red + color = colors[min(reuse_count - 1, len(colors) - 1)] + + # Add the indicator + y_start = 10 + y_end = y_start + indicator_size + x_start = width - 20 + x_end = x_start + indicator_size + + if y_end < height and x_end < width: + frame[y_start:y_end, x_start:x_end] = color + + return frame + + +# ============= VIDEO FRAME TRACK (from old transport.py) ============= + + +class VideoFrameTrack(VideoStreamTrack): + """Video track for WebRTC (simplified from old VideoStreamTrack)""" + + def __init__(self, recovery_config: RecoveryConfig | None = None): + super().__init__() + self.frame_queue = asyncio.Queue(maxsize=2) # Small buffer for low latency + self.pts = 0 + self.time_base = 1 / 30 # 30 FPS + + # Frame recovery system (from old code) + self.config = recovery_config or RecoveryConfig() + self.last_good_frame = None + self.last_good_frame_time = 0 + self.frame_reuse_count = 0 + self.last_frame_dimensions = (480, 640) # Default fallback dimensions + + logger.info( + f"VideoFrameTrack created with recovery policy: {self.config.recovery_policy.value}" + ) + + async def recv(self) -> av.VideoFrame: + """Get next video frame for WebRTC transmission with smart recovery (from old code)""" + current_time = time.time() * 1000 # Convert to milliseconds + + try: + # Try to get a fresh frame with timeout + frame_data = await asyncio.wait_for(self.frame_queue.get(), timeout=0.1) + + if frame_data: + # Decode JPEG to numpy array + nparr = np.frombuffer(frame_data, np.uint8) + img = cv2.imdecode(nparr, cv2.IMREAD_COLOR) + + if img is not None: + # Convert BGR to RGB for WebRTC + img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) + + # Store as last good frame for recovery + self.last_good_frame = img_rgb.copy() + self.last_good_frame_time = current_time + self.last_frame_dimensions = ( + img_rgb.shape[0], + img_rgb.shape[1], + ) + self.frame_reuse_count = 0 + + # Create video frame + frame = av.VideoFrame.from_ndarray(img_rgb, format="rgb24") + else: + # JPEG decode failed - use recovery + frame = self._create_recovery_frame(current_time) + else: + # No frame data - use recovery + frame = self._create_recovery_frame(current_time) + + except TimeoutError: + # Timeout waiting for frame - use smart recovery + frame = self._create_recovery_frame(current_time) + + # Set timing + frame.pts = self.pts + frame.time_base = Fraction(1, 30) + self.pts += 1 + + return frame + + def _create_recovery_frame(self, current_time: float): + """Create a recovery frame using the configured policy (from old code)""" + # Determine which policy to use + time_since_last_good = ( + current_time - self.last_good_frame_time + if self.last_good_frame is not None + else float("inf") + ) + + if ( + self.last_good_frame is not None + and time_since_last_good < self.config.frame_timeout_ms + and self.frame_reuse_count < self.config.max_frame_reuse_count + ): + # Use primary recovery policy + policy = self.config.recovery_policy + self.frame_reuse_count += 1 + else: + # Use fallback policy + policy = self.config.fallback_policy + + # Generate frame based on policy + recovery_frame = self._apply_recovery_policy(policy) + frame = av.VideoFrame.from_ndarray(recovery_frame, format="rgb24") + frame.pts = self.pts + frame.time_base = Fraction(1, 30) + return frame + + def _apply_recovery_policy(self, policy: RecoveryPolicy) -> np.ndarray: + """Apply the specified recovery policy (from old code)""" + height, width = self.last_frame_dimensions + + if policy == RecoveryPolicy.FREEZE_LAST_FRAME: + if self.last_good_frame is not None: + frame = self.last_good_frame.copy() + if self.config.show_hold_indicators: + frame = add_frame_hold_indicator(frame, self.frame_reuse_count) + return frame + return get_black_frame(width, height) + + if policy == RecoveryPolicy.CONNECTION_INFO: + return get_connection_info_frame( + width, + height, + self.config.info_frame_bg_color, + self.config.info_frame_text_color, + ) + + if policy == RecoveryPolicy.BLACK_SCREEN: + return get_black_frame(width, height) + + if policy == RecoveryPolicy.FADE_TO_BLACK: + if self.last_good_frame is not None: + frame = self.last_good_frame.copy() + # Apply fade effect + fade_factor = max( + 0.0, + 1.0 + - ( + self.frame_reuse_count + * self.config.fade_intensity + / self.config.max_frame_reuse_count + ), + ) + frame = (frame * fade_factor).astype(np.uint8) + return frame + return get_black_frame(width, height) + + if policy == RecoveryPolicy.OVERLAY_STATUS: + if self.last_good_frame is not None: + frame = self.last_good_frame.copy() + + # Create overlay + overlay = np.full_like( + frame, self.config.info_frame_bg_color, dtype=np.uint8 + ) + + # Add text to overlay + font = cv2.FONT_HERSHEY_SIMPLEX + font_scale = min(width / 640, height / 480) * 0.8 + text = "RECONNECTING" + text_size = cv2.getTextSize(text, font, font_scale, 2)[0] + text_x = (width - text_size[0]) // 2 + text_y = height // 2 + cv2.putText( + overlay, + text, + (text_x, text_y), + font, + font_scale, + self.config.info_frame_text_color, + 2, + ) + + # Blend overlay with original frame + alpha = self.config.overlay_opacity + frame = cv2.addWeighted(frame, 1 - alpha, overlay, alpha, 0) + return frame + return get_black_frame(width, height) + + # Unknown policy, fallback to black + logger.error(f"Unknown recovery policy: {policy}") + return get_black_frame(width, height) + + def add_frame(self, frame_data: bytes) -> None: + """Add frame to queue (non-blocking)""" + try: + self.frame_queue.put_nowait(frame_data) + except asyncio.QueueFull: + # Drop oldest frame for low latency + try: + self.frame_queue.get_nowait() + self.frame_queue.put_nowait(frame_data) + logger.debug("Dropped old frame to maintain low latency") + except asyncio.QueueEmpty: + pass + + +# ============= WEBRTC CONNECTION (from old transport.py) ============= + + +class WebRTCConnection: + """WebRTC connection handling both producers and consumers (from old code)""" + + def __init__( + self, + client_id: str, + room_id: str, + on_frame_callback: Callable, + video_core: "VideoCore", + ): + self.client_id = client_id + self.room_id = room_id + self.on_frame = on_frame_callback + self.video_core = video_core # Reference to core for broadcasting + self.pc = None # RTCPeerConnection + self.video_track: VideoFrameTrack | None = None + self.is_producer = False + self.is_consumer = False + self.background_tasks: set[asyncio.Task] = set() + + async def initialize(self): + """Initialize peer connection (from old code)""" + config = RTCConfiguration( + iceServers=[ + RTCIceServer(urls=["stun:stun.l.google.com:19302"]), + RTCIceServer(urls=["stun:stun1.l.google.com:19302"]), + ] + ) + self.pc = RTCPeerConnection(configuration=config) + + # Set up event handlers + self.pc.on("track", self._on_track) + self.pc.on("connectionstatechange", self._on_connection_state) + self.pc.on("iceconnectionstatechange", self._on_ice_state) + + logger.info(f"WebRTC connection {self.client_id} initialized") + + def _on_connection_state(self) -> None: + logger.info( + f"WebRTC {self.client_id} connection state: {self.pc.connectionState}" + ) + + def _on_ice_state(self) -> None: + logger.info(f"WebRTC {self.client_id} ICE state: {self.pc.iceConnectionState}") + + def _on_track(self, track: av.VideoStream) -> None: + """Handle incoming video track from producer (from old code)""" + logger.info(f"WebRTC {self.client_id} received track: {track.kind}") + + if track.kind == "video" or track.type == "video": + self.is_producer = True + logger.info(f"WebRTC {self.client_id} is now a PRODUCER") + + # Process incoming video frames + self._add_background_task(self._process_incoming_video(track)) + + async def _process_incoming_video(self, track): + """Process video frames from producer (from old code)""" + frame_count = 0 + + try: + while True: + frame = await track.recv() + frame_count += 1 + + # Convert to OpenCV format + img = frame.to_ndarray(format="rgb24") + img_bgr = cv2.cvtColor(img, cv2.COLOR_RGB2BGR) + + # Encode as JPEG + success, jpeg_data = cv2.imencode( + ".jpg", img_bgr, [cv2.IMWRITE_JPEG_QUALITY, 80] + ) + + if success: + # Send to processing pipeline + await self.on_frame(self.client_id, jpeg_data.tobytes()) + + # Broadcast frames to consumers + if self.video_core: + await self.video_core.broadcast_to_consumers( + self.room_id, jpeg_data.tobytes() + ) + + if frame_count % 30 == 0: # Log every second + logger.info( + f"WebRTC {self.client_id} processed {frame_count} frames" + ) + + except Exception: + logger.exception(f"Error processing video track {self.client_id}") + + async def handle_offer(self, sdp: str, participant_role: str | None = None) -> str: + """Handle WebRTC offer and determine if producer or consumer (from old code)""" + try: + logger.debug( + f"Processing offer for {self.client_id}, SDP length: {len(sdp)}" + ) + + offer = RTCSessionDescription(sdp=sdp, type="offer") + await self.pc.setRemoteDescription(offer) + + # Use explicit role if provided, otherwise fall back to detection + if participant_role == "producer": + self.is_producer = True + self.is_consumer = False + logger.info(f"WebRTC {self.client_id} set as PRODUCER (explicit role)") + elif participant_role == "consumer": + self.is_consumer = True + self.is_producer = False + room = self.video_core.rooms.get(self.room_id) + recovery_config = room.recovery_config if room else RecoveryConfig() + self.video_track = VideoFrameTrack(recovery_config) + self.pc.addTrack(self.video_track) + logger.info( + f"WebRTC {self.client_id} set as CONSUMER (explicit role) - video track added" + ) + else: + # Auto-detection logic (fallback) + has_recvonly = "a=recvonly" in sdp + has_sendonly = "a=sendonly" in sdp + has_video = "m=video" in sdp + + # Check if there are video track sources in the offer (indicates producer) + has_video_sources = "a=ssrc:" in sdp and "m=video" in sdp + + logger.info(f"๐Ÿ” Role detection for {self.client_id}:") + logger.info(f" - has_recvonly: {has_recvonly}") + logger.info(f" - has_sendonly: {has_sendonly}") + logger.info(f" - has_video: {has_video}") + logger.info(f" - has_video_sources: {has_video_sources}") + + if has_recvonly: + is_consumer_request = True + logger.info(" - CONSUMER detected: has a=recvonly") + elif has_sendonly or has_video_sources: + is_consumer_request = False + logger.info( + " - PRODUCER detected: has a=sendonly or video sources" + ) + elif has_video: + # Default: if it has video but no clear direction, assume consumer + is_consumer_request = True + logger.info( + " - CONSUMER detected: has video but no clear direction" + ) + else: + # No video at all, treat as consumer + is_consumer_request = True + logger.info(" - CONSUMER detected: no video") + + if is_consumer_request: + # This is a consumer - add video track for sending TO the consumer + self.is_consumer = True + room = self.video_core.rooms.get(self.room_id) + recovery_config = room.recovery_config if room else RecoveryConfig() + self.video_track = VideoFrameTrack(recovery_config) + self.pc.addTrack(self.video_track) + logger.info( + f"WebRTC {self.client_id} is now a CONSUMER - video track added" + ) + else: + # This is a producer + self.is_consumer = False + self.is_producer = True + logger.info(f"WebRTC {self.client_id} is a PRODUCER") + + # Create answer + answer = await self.pc.createAnswer() + await self.pc.setLocalDescription(answer) + + # Wait for ICE gathering with timeout + timeout_count = 0 + while self.pc.iceGatheringState != "complete" and timeout_count < 50: + await asyncio.sleep(0.1) + timeout_count += 1 + + if timeout_count >= 50: + logger.warning(f"ICE gathering timeout for {self.client_id}") + + except Exception: + logger.exception(f"Error in handle_offer for {self.client_id}") + raise + else: + return self.pc.localDescription.sdp + + async def add_ice_candidate(self, candidate_data: dict): + """Add ICE candidate (from old code)""" + try: + if candidate_data.get("end"): + return + + candidate_str = candidate_data.get("candidate", "") + sdp_mid = candidate_data.get("sdpMid") + sdp_m_line_index = candidate_data.get("sdpMLineIndex") + + if not candidate_str: + logger.debug(f"Skipping empty ICE candidate for {self.client_id}") + return + + # Parse the candidate string + parts = candidate_str.split() + if len(parts) < 8 or not parts[0].startswith("candidate:"): + logger.warning( + f"Invalid candidate format for {self.client_id}: {candidate_str}" + ) + return + + try: + foundation = parts[0].split(":")[1] + component = int(parts[1]) + protocol = parts[2].lower() + priority = int(parts[3]) + ip = parts[4] + port = int(parts[5]) + typ = parts[7] if parts[6] == "typ" else "host" + + candidate = RTCIceCandidate( + foundation=foundation, + component=component, + protocol=protocol, + priority=priority, + ip=ip, + port=port, + type=typ, + sdpMid=sdp_mid, + sdpMLineIndex=sdp_m_line_index, + ) + + await self.pc.addIceCandidate(candidate) + logger.debug(f"ICE candidate added for {self.client_id}: {typ}") + + except (ValueError, IndexError): + logger.exception(f"Failed to parse ICE candidate for {self.client_id}") + + except Exception: + logger.exception(f"Failed to add ICE candidate for {self.client_id}") + + def send_video_frame(self, frame_data: bytes): + """Send video frame to consumer""" + if self.is_consumer and self.video_track: + self.video_track.add_frame(frame_data) + + async def close(self): + """Close connection""" + if self.pc: + await self.pc.close() + + def _add_background_task(self, coro: Coroutine): + """Add a background task with automatic cleanup""" + task = asyncio.create_task(coro) + self.background_tasks.add(task) + task.add_done_callback(self.background_tasks.discard) + return task + + +# ============= VIDEO ROOM (simplified) ============= + + +class VideoRoom: + """Simple video room with producer/consumer pattern""" + + def __init__( + self, + room_id: str, + workspace_id: str, + config: VideoConfig = None, + recovery_config: RecoveryConfig = None, + ): + self.id = room_id + self.workspace_id = workspace_id + self.config = config or VideoConfig() + self.recovery_config = recovery_config or RecoveryConfig() + + # Participants (same pattern as robotics) + self.producer: str | None = None + self.consumers: list[str] = [] + + # Video state + self.last_frame: bytes | None = None + self.frame_count = 0 + self.total_bytes = 0 + self.start_time = datetime.now(tz=UTC) + self.last_frame_time: datetime | None = None + + +# ============= VIDEO CORE (main class) ============= + + +class VideoCore: + """Core video system - simplified from old complex system with workspace support""" + + def __init__(self): + # Nested structure: workspace_id -> room_id -> VideoRoom + self.workspaces: dict[str, dict[str, VideoRoom]] = {} + self.websocket_connections: dict[str, WebSocket] = {} + self.webrtc_connections: dict[str, WebRTCConnection] = {} + self.connection_metadata: dict[str, dict] = {} + # Track background tasks to prevent garbage collection + self.background_tasks: set = set() + + # ============= ROOM MANAGEMENT (same pattern as robotics) ============= + + def create_room( + self, + workspace_id: str | None = None, + room_id: str | None = None, + config: VideoConfig = None, + recovery_config: RecoveryConfig = None, + ) -> tuple[str, str]: + """Create video room and return (workspace_id, room_id)""" + workspace_id = workspace_id or str(uuid.uuid4()) + room_id = room_id or str(uuid.uuid4()) + + # Initialize workspace if it doesn't exist + if workspace_id not in self.workspaces: + self.workspaces[workspace_id] = {} + + room = VideoRoom(room_id, workspace_id, config, recovery_config) + self.workspaces[workspace_id][room_id] = room + logger.info(f"Created video room {room_id} in workspace {workspace_id}") + return workspace_id, room_id + + def list_rooms(self, workspace_id: str) -> list[dict]: + """List all video rooms in a specific workspace""" + if workspace_id not in self.workspaces: + return [] + + return [ + { + "id": room.id, + "workspace_id": room.workspace_id, + "participants": { + "producer": room.producer, + "consumers": room.consumers, + "total": len(room.consumers) + (1 if room.producer else 0), + }, + "frame_count": room.frame_count, + "config": { + "resolution": room.config.resolution, + "framerate": room.config.framerate, + # "encoding": room.config.encoding.value + # if room.config.encoding + # else "vp8", + "bitrate": room.config.bitrate, + "quality": room.config.quality, + }, + "has_producer": room.producer is not None, + "active_consumers": len(room.consumers), + } + for room in self.workspaces[workspace_id].values() + ] + + def delete_room(self, workspace_id: str, room_id: str) -> bool: + """Delete video room from workspace""" + if ( + workspace_id not in self.workspaces + or room_id not in self.workspaces[workspace_id] + ): + return False + + # Cleanup connections + for conn_id in list(self.webrtc_connections.keys()): + conn = self.webrtc_connections[conn_id] + if ( + conn.room_id == room_id + and getattr(conn, "workspace_id", None) == workspace_id + ): + self._add_background_task(conn.close()) + del self.webrtc_connections[conn_id] + + del self.workspaces[workspace_id][room_id] + logger.info(f"Deleted video room {room_id} from workspace {workspace_id}") + return True + + def get_room_state(self, workspace_id: str, room_id: str) -> dict: + """Get room state""" + room = self._get_room(workspace_id, room_id) + if not room: + return {"error": "Room not found"} + + return { + "room_id": room_id, + "workspace_id": workspace_id, + "participants": { + "producer": room.producer, + "consumers": room.consumers, + "total": len(room.consumers) + (1 if room.producer else 0), + }, + "frame_count": room.frame_count, + "last_frame_time": room.last_frame_time, + "current_config": { + "resolution": room.config.resolution, + "framerate": room.config.framerate, + "encoding": room.config.encoding.value + if room.config.encoding + else "vp8", + "bitrate": room.config.bitrate, + "quality": room.config.quality, + }, + "timestamp": datetime.now(tz=UTC).isoformat(), + } + + def get_room_info(self, workspace_id: str, room_id: str) -> dict: + """Get basic room info""" + room = self._get_room(workspace_id, room_id) + if not room: + return {"error": "Room not found"} + + return { + "id": room.id, + "workspace_id": room.workspace_id, + "participants": { + "producer": room.producer, + "consumers": room.consumers, + "total": len(room.consumers) + (1 if room.producer else 0), + }, + "frame_count": room.frame_count, + "config": { + "resolution": room.config.resolution, + "framerate": room.config.framerate, + "encoding": room.config.encoding.value + if room.config.encoding + else "vp8", + "bitrate": room.config.bitrate, + "quality": room.config.quality, + }, + "has_producer": room.producer is not None, + "active_consumers": len(room.consumers), + } + + def _get_room(self, workspace_id: str, room_id: str) -> VideoRoom | None: + """Get room by workspace and room ID""" + if workspace_id not in self.workspaces: + return None + return self.workspaces[workspace_id].get(room_id) + + # ============= PARTICIPANT MANAGEMENT ============= + + def join_room( + self, + workspace_id: str, + room_id: str, + participant_id: str, + role: ParticipantRole, + ) -> bool: + """Join room as producer or consumer""" + room = self._get_room(workspace_id, room_id) + if not room: + return False + + if role == ParticipantRole.PRODUCER: + if room.producer is None: + room.producer = participant_id + logger.info( + f"Producer {participant_id} joined video room {room_id} in workspace {workspace_id}" + ) + + # Broadcast producer join to existing consumers + self._add_background_task( + self._broadcast_participant_joined( + workspace_id, room_id, participant_id, role + ) + ) + return True + logger.warning( + f"Producer {participant_id} failed to join room {room_id} - room already has producer" + ) + return False + + if role == ParticipantRole.CONSUMER: + if participant_id not in room.consumers: + room.consumers.append(participant_id) + logger.info( + f"Consumer {participant_id} joined video room {room_id} in workspace {workspace_id}" + ) + + # Broadcast consumer join to producer and other consumers + self._add_background_task( + self._broadcast_participant_joined( + workspace_id, room_id, participant_id, role + ) + ) + return True + return False + + return False + + def leave_room(self, workspace_id: str, room_id: str, participant_id: str): + """Leave room""" + room = self._get_room(workspace_id, room_id) + if not room: + return + + role = None + if room.producer == participant_id: + room.producer = None + role = ParticipantRole.PRODUCER + logger.info( + f"Producer {participant_id} left video room {room_id} in workspace {workspace_id}" + ) + elif participant_id in room.consumers: + room.consumers.remove(participant_id) + role = ParticipantRole.CONSUMER + logger.info( + f"Consumer {participant_id} left video room {room_id} in workspace {workspace_id}" + ) + + # Broadcast participant left event + if role: + self._add_background_task( + self._broadcast_participant_left( + workspace_id, room_id, participant_id, role + ) + ) + + # ============= WEBRTC HANDLING ============= + + async def handle_webrtc_signal( + self, + workspace_id: str, + room_id: str, + client_id: str, + message: RawWebRTCSignalingMessage, + participant_role: str | None = None, + ): + """Handle WebRTC signaling for peer-to-peer connections""" + if ( + workspace_id not in self.workspaces + or room_id not in self.workspaces[workspace_id] + ): + msg = f"Room {room_id} not found in workspace {workspace_id}" + raise ValueError(msg) + + if message["type"] == RawWebRTCMessageType.OFFER: + # Check if this is a targeted offer from producer to consumer + target_consumer = message.get("target_consumer") + + if target_consumer and participant_role == "producer": + # Producer sending offer to specific consumer - forward it + logger.info( + f"๐Ÿ”„ Forwarding offer from producer {client_id} to consumer {target_consumer}" + ) + + output_message: WebRTCOfferMessageDict = { + "type": MessageType.WEBRTC_OFFER, + "offer": {"type": "offer", "sdp": message["sdp"]}, + "from_producer": client_id, + "timestamp": datetime.now(tz=UTC).isoformat(), + } + + await self._send_to_participant(target_consumer, output_message) + return {"success": True, "message": "Offer forwarded to consumer"} + + # For peer-to-peer, we don't handle server-side WebRTC connections + logger.info( + f"Ignoring server WebRTC offer from {client_id} - using peer-to-peer" + ) + return { + "success": True, + "message": "Peer-to-peer mode - no server WebRTC processing", + } + + if message["type"] == RawWebRTCMessageType.ANSWER: + # Handle answer from consumer back to producer + from_consumer = client_id + target_producer = message.get("target_producer") + + if target_producer: + logger.info( + f"๐Ÿ”„ Forwarding answer from consumer {from_consumer} to producer {target_producer}" + ) + + output_message: WebRTCAnswerMessageDict = { + "type": MessageType.WEBRTC_ANSWER, + "answer": {"type": "answer", "sdp": message["sdp"]}, + "from_consumer": from_consumer, + "timestamp": datetime.now(tz=UTC).isoformat(), + } + + await self._send_to_participant(target_producer, output_message) + return {"success": True, "message": "Answer forwarded to producer"} + + elif message["type"] == RawWebRTCMessageType.ICE: + # Forward ICE candidates between peers + target_consumer = message.get("target_consumer") + target_producer = message.get("target_producer") + + if target_consumer and participant_role == "producer": + output_message: WebRTCIceMessageDict = { + "type": MessageType.WEBRTC_ICE, + "candidate": message["candidate"], + "from_producer": client_id, + "from_consumer": None, + "timestamp": datetime.now(tz=UTC).isoformat(), + } + + await self._send_to_participant(target_consumer, output_message) + return { + "success": True, + "message": "ICE candidate forwarded to consumer", + } + if target_producer and participant_role == "consumer": + output_message: WebRTCIceMessageDict = { + "type": MessageType.WEBRTC_ICE, + "candidate": message["candidate"], + "from_producer": None, + "from_consumer": client_id, + "timestamp": datetime.now(tz=UTC).isoformat(), + } + + await self._send_to_participant(target_producer, output_message) + return { + "success": True, + "message": "ICE candidate forwarded to producer", + } + + return None + + async def broadcast_to_consumers( + self, workspace_id: str, room_id: str, frame_data: bytes + ): + """Broadcast frame to all consumers""" + room = self._get_room(workspace_id, room_id) + if not room: + return 0 + + consumer_count = 0 + for consumer_id in room.consumers: + consumer_conn = self.webrtc_connections.get(consumer_id) + if consumer_conn and consumer_conn.is_consumer: + try: + consumer_conn.send_video_frame(frame_data) + consumer_count += 1 + except Exception: + logger.exception(f"Error sending frame to {consumer_id}") + + if consumer_count > 0: + logger.debug(f"Broadcasted frame to {consumer_count} consumers") + + return consumer_count + + # ============= WEBSOCKET HANDLING ============= + + async def handle_websocket( + self, websocket: WebSocket, workspace_id: str, room_id: str + ): + """Handle WebSocket connection for room management""" + await websocket.accept() + + participant_id: str | None = None + role: ParticipantRole | None = None + + try: + # Get join message + data = await websocket.receive_text() + join_msg = json.loads(data) + + participant_id = join_msg["participant_id"] + role = ParticipantRole(join_msg["role"]) + + # Join room + if not self.join_room(workspace_id, room_id, participant_id, role): + error_message: ErrorMessageDict = { + "type": MessageType.ERROR, + "message": "Cannot join room", + "code": None, + "timestamp": datetime.now(tz=UTC).isoformat(), + } + await websocket.send_text(json.dumps(error_message)) + await websocket.close() + return + + self.websocket_connections[participant_id] = websocket + self.connection_metadata[participant_id] = { + "workspace_id": workspace_id, + "room_id": room_id, + "participant_id": participant_id, + "role": role, + "connected_at": datetime.now(tz=UTC), + "last_activity": datetime.now(tz=UTC), + "message_count": 0, + } + + # Send join confirmation + joined_message: JoinedMessageDict = { + "type": MessageType.JOINED, + "room_id": room_id, + "role": role, + "timestamp": datetime.now(tz=UTC).isoformat(), + } + await websocket.send_text(json.dumps(joined_message)) + + # Handle messages + async for message in websocket.iter_text(): + try: + msg = json.loads(message) + await self._handle_websocket_message( + workspace_id, room_id, participant_id, role, msg + ) + except json.JSONDecodeError: + logger.exception(f"Invalid JSON from {participant_id}") + except Exception: + logger.exception("WebSocket message error") + + except WebSocketDisconnect: + logger.info(f"WebSocket disconnected: {participant_id}") + except Exception: + logger.exception("WebSocket error") + finally: + # Cleanup + if participant_id: + metadata = self.connection_metadata.get(participant_id) + if metadata: + self.leave_room( + metadata["workspace_id"], metadata["room_id"], participant_id + ) + if participant_id in self.websocket_connections: + del self.websocket_connections[participant_id] + if participant_id in self.connection_metadata: + del self.connection_metadata[participant_id] + + async def _handle_websocket_message( + self, + workspace_id: str, + room_id: str, + participant_id: str, + role: ParticipantRole, + message: WebSocketMessageDict, + ): + """Handle incoming WebSocket message""" + # Update activity tracking + if participant_id in self.connection_metadata: + self.connection_metadata[participant_id]["last_activity"] = datetime.now( + tz=UTC + ) + self.connection_metadata[participant_id]["message_count"] += 1 + + # Handle heartbeat + if message["type"] == MessageType.HEARTBEAT: + heartbeat_ack: HeartbeatAckMessageDict = { + "type": MessageType.HEARTBEAT_ACK, + "timestamp": datetime.now(tz=UTC).isoformat(), + } + await self._send_to_participant(participant_id, heartbeat_ack) + return + + # Handle stream started notification + if message["type"] == MessageType.STREAM_STARTED: + logger.info( + f"Stream started by {participant_id} in room {room_id} (workspace {workspace_id})" + ) + config = message.get("config", {}) + + # Broadcast to other participants + broadcast_message: StreamStartedMessageDict = { + "type": MessageType.STREAM_STARTED, + "config": config, + "participant_id": participant_id, + "timestamp": datetime.now(tz=UTC).isoformat(), + } + await self._broadcast_to_room( + workspace_id, room_id, broadcast_message, exclude=participant_id + ) + return + + # Handle stream stopped notification + if message["type"] == MessageType.STREAM_STOPPED: + logger.info( + f"Stream stopped by {participant_id} in room {room_id} (workspace {workspace_id})" + ) + reason = message.get("reason") + + # Broadcast to other participants + broadcast_message: StreamStoppedMessageDict = { + "type": MessageType.STREAM_STOPPED, + "participant_id": participant_id, + "reason": reason, + "timestamp": datetime.now(tz=UTC).isoformat(), + } + await self._broadcast_to_room( + workspace_id, room_id, broadcast_message, exclude=participant_id + ) + return + + # Handle video config update + if message["type"] == MessageType.VIDEO_CONFIG_UPDATE: + logger.info( + f"Video config updated by {participant_id} in room {room_id} (workspace {workspace_id})" + ) + config = message.get("config", {}) + + # Update room config if producer + if role == ParticipantRole.PRODUCER: + room = self._get_room(workspace_id, room_id) + if room: + # Update room's video config + if "resolution" in config: + room.config.resolution = config["resolution"] + if "framerate" in config: + room.config.framerate = config["framerate"] + if "quality" in config: + room.config.quality = config["quality"] + if "encoding" in config: + room.config.encoding = config["encoding"] + if "bitrate" in config: + room.config.bitrate = config["bitrate"] + + # Broadcast to other participants + broadcast_message: VideoConfigUpdateMessageDict = { + "type": MessageType.VIDEO_CONFIG_UPDATE, + "config": config, + "source": participant_id, + "timestamp": datetime.now(tz=UTC).isoformat(), + } + await self._broadcast_to_room( + workspace_id, room_id, broadcast_message, exclude=participant_id + ) + return + + # Handle status update + if message["type"] == MessageType.STATUS_UPDATE: + logger.info( + f"Status update from {participant_id} in room {room_id} (workspace {workspace_id})" + ) + status = message.get("status", "unknown") + data = message.get("data") + + # Broadcast to other participants + broadcast_message: StatusUpdateMessageDict = { + "type": MessageType.STATUS_UPDATE, + "status": status, + "data": data, + "timestamp": datetime.now(tz=UTC).isoformat(), + } + await self._broadcast_to_room( + workspace_id, room_id, broadcast_message, exclude=participant_id + ) + return + + # Handle stream stats + if message["type"] == MessageType.STREAM_STATS: + logger.debug( + f"Stream stats from {participant_id} in room {room_id} (workspace {workspace_id})" + ) + stats = message.get("stats", {}) + + # Broadcast to other participants (typically from producer to consumers) + broadcast_message: StreamStatsMessageDict = { + "type": MessageType.STREAM_STATS, + "stats": stats, + "timestamp": datetime.now(tz=UTC).isoformat(), + } + await self._broadcast_to_room( + workspace_id, room_id, broadcast_message, exclude=participant_id + ) + return + + # Handle emergency stop + if message["type"] == MessageType.EMERGENCY_STOP: + reason = message.get("reason", "Emergency stop triggered") + logger.warning( + f"Emergency stop by {participant_id} in room {room_id} (workspace {workspace_id}): {reason}" + ) + + # Broadcast to all participants + broadcast_message: EmergencyStopMessageDict = { + "type": MessageType.EMERGENCY_STOP, + "reason": reason, + "source": participant_id, + "timestamp": datetime.now(tz=UTC).isoformat(), + } + await self._broadcast_to_room(workspace_id, room_id, broadcast_message) + return + + # Handle recovery triggered (from consumer typically) + if message["type"] == MessageType.RECOVERY_TRIGGERED: + policy = message.get("policy") + reason = message.get("reason", "Recovery triggered") + logger.info( + f"Recovery triggered by {participant_id} in room {room_id} (workspace {workspace_id}): {policy} - {reason}" + ) + + # Broadcast to other participants + broadcast_message: RecoveryTriggeredMessageDict = { + "type": MessageType.RECOVERY_TRIGGERED, + "policy": policy, + "reason": reason, + "timestamp": datetime.now(tz=UTC).isoformat(), + } + await self._broadcast_to_room( + workspace_id, room_id, broadcast_message, exclude=participant_id + ) + return + + # Log unhandled message types + logger.info(f"Unhandled message type {message['type']} from {participant_id}") + + async def _broadcast_to_room( + self, + workspace_id: str, + room_id: str, + message: WebSocketMessageDict, + exclude: str | None = None, + ): + """Broadcast message to all participants in a room""" + room = self._get_room(workspace_id, room_id) + if not room: + return + + participants = [] + if room.producer: + participants.append(room.producer) + participants.extend(room.consumers) + + for participant_id in participants: + if exclude and participant_id == exclude: + continue + await self._send_to_participant(participant_id, message) + + async def _send_to_participant( + self, participant_id: str, message: WebSocketMessageDict + ): + """Send message to specific participant""" + if participant_id in self.websocket_connections: + try: + await self.websocket_connections[participant_id].send_text( + json.dumps(message) + ) + except Exception: + logger.exception(f"Error sending message to {participant_id}") + if participant_id in self.websocket_connections: + del self.websocket_connections[participant_id] + + async def _broadcast_participant_joined( + self, + workspace_id: str, + room_id: str, + participant_id: str, + role: ParticipantRole, + ): + """Broadcast participant joined event to other participants in the room""" + room = self._get_room(workspace_id, room_id) + if not room: + return + + participants: list[str] = [] + if room.producer: + participants.append(room.producer) + participants.extend(room.consumers) + + participant_joined_message: ParticipantJoinedMessageDict = { + "type": MessageType.PARTICIPANT_JOINED, + "room_id": room_id, + "participant_id": participant_id, + "role": role, + "timestamp": datetime.now(tz=UTC).isoformat(), + } + + for other_participant_id in participants: + if other_participant_id == participant_id: + continue + await self._send_to_participant( + other_participant_id, participant_joined_message + ) + + async def _broadcast_participant_left( + self, + workspace_id: str, + room_id: str, + participant_id: str, + role: ParticipantRole, + ): + """Broadcast participant left event to other participants in the room""" + room = self._get_room(workspace_id, room_id) + if not room: + return + + participants: list[str] = [] + if room.producer: + participants.append(room.producer) + participants.extend(room.consumers) + + participant_left_message: dict = { + "type": MessageType.PARTICIPANT_LEFT, + "room_id": room_id, + "participant_id": participant_id, + "role": role, + "timestamp": datetime.now(tz=UTC).isoformat(), + } + + for other_participant_id in participants: + if other_participant_id == participant_id: + continue + await self._send_to_participant( + other_participant_id, participant_left_message + ) + + def _add_background_task(self, coro: Coroutine): + """Add a background task with automatic cleanup""" + task = asyncio.create_task(coro) + self.background_tasks.add(task) + task.add_done_callback(self.background_tasks.discard) + return task diff --git a/server/src/video/models.py b/server/src/video/models.py new file mode 100644 index 0000000000000000000000000000000000000000..b20602a169891f36ca8e0adea43c80a0ccd05a79 --- /dev/null +++ b/server/src/video/models.py @@ -0,0 +1,604 @@ +import enum +import logging +from datetime import datetime +from typing import Any, Literal, TypedDict + +from pydantic import BaseModel, Field + +logger = logging.getLogger(__name__) + +# ============= ENUMS ============= + + +class ParticipantRole(enum.StrEnum): + """Participant roles in a video room""" + + PRODUCER = "producer" # Camera/video source + CONSUMER = "consumer" # Video viewer/receiver + + +class MessageType(enum.StrEnum): + """WebSocket message types for video streaming""" + + # === CONNECTION & LIFECYCLE === + JOINED = "joined" # Confirmation of successful room join + ERROR = "error" # Error notifications + + # === CONNECTION HEALTH === + HEARTBEAT = "heartbeat" # Client ping for connection health + HEARTBEAT_ACK = "heartbeat_ack" # Server response to heartbeat + + # === VIDEO STREAMING === + VIDEO_CONFIG_UPDATE = "video_config_update" # Video configuration update + STREAM_STARTED = "stream_started" # Stream started notification + STREAM_STOPPED = "stream_stopped" # Stream stopped notification + RECOVERY_TRIGGERED = "recovery_triggered" # Recovery policy triggered + EMERGENCY_STOP = "emergency_stop" # Emergency stop command + + # === STATUS & MONITORING === + STATUS_UPDATE = "status_update" # General status updates + STREAM_STATS = "stream_stats" # Stream statistics + PARTICIPANT_JOINED = "participant_joined" # Participant joined room + PARTICIPANT_LEFT = "participant_left" # Participant left room + + # === WEBRTC SIGNALING === + WEBRTC_OFFER = "webrtc_offer" # WebRTC offer forwarded between participants + WEBRTC_ANSWER = "webrtc_answer" # WebRTC answer forwarded between participants + WEBRTC_ICE = "webrtc_ice" # WebRTC ICE candidate forwarded between participants + + +class RecoveryPolicy(enum.StrEnum): + """Frame recovery policies for handling video interruptions""" + + FREEZE_LAST_FRAME = "freeze_last_frame" # Reuse last valid frame + CONNECTION_INFO = "connection_info" # Show informative status frame + BLACK_SCREEN = "black_screen" # Black screen with same dimensions + FADE_TO_BLACK = "fade_to_black" # Gradually fade last frame to black + OVERLAY_STATUS = "overlay_status" # Show last frame with overlay + + +class VideoEncoding(enum.StrEnum): + """Supported video encodings""" + + JPEG = "jpeg" + H264 = "h264" + VP8 = "vp8" + VP9 = "vp9" + + +class RawWebRTCMessageType(enum.StrEnum): + """Raw WebRTC signaling message types from client API""" + + OFFER = "offer" + ANSWER = "answer" + ICE = "ice" + + +# ============= CORE DATA STRUCTURES (TypedDict) ============= + + +class VideoConfigDict(TypedDict, total=False): + """Video configuration dictionary""" + + encoding: str | None + resolution: dict[str, int] | None # {"width": int, "height": int} + framerate: int | None + bitrate: int | None + quality: int | None + + +class StreamStatsDict(TypedDict): + """Stream statistics structure""" + + stream_id: str + duration_seconds: float + frame_count: int + total_bytes: int + average_fps: float + average_bitrate: float + + +class ParticipantInfoDict(TypedDict): + """Information about room participants""" + + producer: str | None + consumers: list[str] + total: int + + +# ============= WEBRTC DATA STRUCTURES ============= + + +class RTCSessionDescriptionDict(TypedDict): + """RTCSessionDescription structure""" + + type: Literal["offer", "answer"] + sdp: str + + +class RTCIceCandidateDict(TypedDict, total=False): + """RTCIceCandidate structure (from candidate.toJSON())""" + + candidate: str + sdpMLineIndex: int | None + sdpMid: str | None + usernameFragment: str | None + + +# ============= BASE MESSAGE STRUCTURES ============= + + +class BaseWebSocketMessage(TypedDict): + """Base WebSocket message structure""" + + type: str + timestamp: str | None + + +# ============= CONNECTION & LIFECYCLE MESSAGES ============= + + +class JoinedMessageDict(BaseWebSocketMessage): + """Confirmation of successful room join""" + + type: Literal[MessageType.JOINED] + room_id: str + role: Literal[ParticipantRole.PRODUCER, ParticipantRole.CONSUMER] + + +class ErrorMessageDict(BaseWebSocketMessage): + """Error notification message""" + + type: Literal[MessageType.ERROR] + message: str + code: str | None + + +# ============= CONNECTION HEALTH MESSAGES ============= + + +class HeartbeatMessageDict(BaseWebSocketMessage): + """Heartbeat ping from client""" + + type: Literal[MessageType.HEARTBEAT] + + +class HeartbeatAckMessageDict(BaseWebSocketMessage): + """Heartbeat acknowledgment from server""" + + type: Literal[MessageType.HEARTBEAT_ACK] + + +# ============= VIDEO STREAMING MESSAGES ============= + + +class VideoConfigUpdateMessageDict(BaseWebSocketMessage): + """Video configuration update message""" + + type: Literal[MessageType.VIDEO_CONFIG_UPDATE] + config: VideoConfigDict + source: str | None + + +class StreamStartedMessageDict(BaseWebSocketMessage): + """Stream started notification""" + + type: Literal[MessageType.STREAM_STARTED] + config: VideoConfigDict + participant_id: str + + +class StreamStoppedMessageDict(BaseWebSocketMessage): + """Stream stopped notification""" + + type: Literal[MessageType.STREAM_STOPPED] + participant_id: str + reason: str | None + + +class RecoveryTriggeredMessageDict(BaseWebSocketMessage): + """Recovery policy triggered message""" + + type: Literal[MessageType.RECOVERY_TRIGGERED] + policy: Literal[ + RecoveryPolicy.FREEZE_LAST_FRAME, + RecoveryPolicy.CONNECTION_INFO, + RecoveryPolicy.BLACK_SCREEN, + RecoveryPolicy.FADE_TO_BLACK, + RecoveryPolicy.OVERLAY_STATUS, + ] + reason: str + + +class EmergencyStopMessageDict(BaseWebSocketMessage): + """Emergency stop message""" + + type: Literal[MessageType.EMERGENCY_STOP] + reason: str + source: str | None + + +# ============= STATUS & MONITORING MESSAGES ============= + + +class StreamStatsMessageDict(BaseWebSocketMessage): + """Stream statistics message""" + + type: Literal[MessageType.STREAM_STATS] + stats: StreamStatsDict + + +class StatusUpdateMessageDict(BaseWebSocketMessage): + """General status update message""" + + type: Literal[MessageType.STATUS_UPDATE] + status: str + data: dict[str, Any] | None + + +class ParticipantJoinedMessageDict(BaseWebSocketMessage): + """Participant joined room notification""" + + type: Literal[MessageType.PARTICIPANT_JOINED] + room_id: str + participant_id: str + role: Literal[ParticipantRole.PRODUCER, ParticipantRole.CONSUMER] + + +class ParticipantLeftMessageDict(BaseWebSocketMessage): + """Participant left room notification""" + + type: Literal[MessageType.PARTICIPANT_LEFT] + room_id: str + participant_id: str + role: Literal[ParticipantRole.PRODUCER, ParticipantRole.CONSUMER] + + +# ============= WEBRTC SIGNALING MESSAGES ============= + + +class WebRTCOfferMessageDict(BaseWebSocketMessage): + """WebRTC offer message""" + + type: Literal[MessageType.WEBRTC_OFFER] + offer: RTCSessionDescriptionDict # RTCSessionDescription + from_producer: str + + +class WebRTCAnswerMessageDict(BaseWebSocketMessage): + """WebRTC answer message""" + + type: Literal[MessageType.WEBRTC_ANSWER] + answer: RTCSessionDescriptionDict # RTCSessionDescription + from_consumer: str + + +class WebRTCIceMessageDict(BaseWebSocketMessage): + """WebRTC ICE candidate message""" + + type: Literal[MessageType.WEBRTC_ICE] + candidate: RTCIceCandidateDict # RTCIceCandidate + from_producer: str | None + from_consumer: str | None + + +# ============= RAW WEBRTC SIGNALING (from client WebRTC API) ============= + + +class RawWebRTCOfferDict(TypedDict, total=False): + """Raw WebRTC offer from client WebRTC API""" + + type: Literal[RawWebRTCMessageType.OFFER] + sdp: str + target_consumer: str | None # For producer targeting specific consumer + + +class RawWebRTCAnswerDict(TypedDict, total=False): + """Raw WebRTC answer from client WebRTC API""" + + type: Literal[RawWebRTCMessageType.ANSWER] + sdp: str + target_producer: str | None # For consumer responding to specific producer + + +class RawWebRTCIceDict(TypedDict, total=False): + """Raw WebRTC ICE candidate from client WebRTC API""" + + type: Literal[RawWebRTCMessageType.ICE] + candidate: RTCIceCandidateDict + target_consumer: str | None # For producer sending to specific consumer + target_producer: str | None # For consumer sending to specific producer + + +# ============= MESSAGE GROUPS (Union Types) ============= + +# Connection lifecycle messages +ConnectionLifecycleMessage = JoinedMessageDict | ErrorMessageDict + +# Connection health messages +ConnectionHealthMessage = HeartbeatMessageDict | HeartbeatAckMessageDict + +# Video streaming messages +VideoStreamingMessage = ( + VideoConfigUpdateMessageDict + | StreamStartedMessageDict + | StreamStoppedMessageDict + | RecoveryTriggeredMessageDict + | EmergencyStopMessageDict +) + +# Status and monitoring messages +StatusMonitoringMessage = ( + StreamStatsMessageDict + | StatusUpdateMessageDict + | ParticipantJoinedMessageDict + | ParticipantLeftMessageDict +) + +# WebRTC signaling messages (WebSocket forwarding) +WebRTCSignalingMessage = ( + WebRTCOfferMessageDict | WebRTCAnswerMessageDict | WebRTCIceMessageDict +) + +# Raw WebRTC signaling messages (from client WebRTC API) +RawWebRTCSignalingMessage = RawWebRTCOfferDict | RawWebRTCAnswerDict | RawWebRTCIceDict + +# All WebSocket messages +WebSocketMessageDict = ( + ConnectionLifecycleMessage + | ConnectionHealthMessage + | VideoStreamingMessage + | StatusMonitoringMessage + | WebRTCSignalingMessage +) + +# ============= PYDANTIC MODELS (API INPUT/OUTPUT ONLY) ============= + + +class VideoConfig(BaseModel): + """Video processing configuration""" + + encoding: VideoEncoding | None = Field(default=VideoEncoding.VP8) + resolution: dict[str, int] | None = Field(default={"width": 640, "height": 480}) + framerate: int | None = Field(default=30, ge=1, le=120) + bitrate: int | None = Field(default=1000000, ge=100000) + quality: int | None = Field(default=80, ge=1, le=100) + + +class RecoveryConfig(BaseModel): + """Video frame recovery configuration""" + + frame_timeout_ms: int = Field(default=100, ge=10, le=1000) + max_frame_reuse_count: int = Field(default=3, ge=1, le=10) + recovery_policy: RecoveryPolicy = RecoveryPolicy.FREEZE_LAST_FRAME + fallback_policy: RecoveryPolicy = RecoveryPolicy.CONNECTION_INFO + show_hold_indicators: bool = True + info_frame_bg_color: tuple[int, int, int] = (20, 30, 60) + info_frame_text_color: tuple[int, int, int] = (200, 200, 200) + fade_intensity: float = Field(default=0.7, ge=0.0, le=1.0) + overlay_opacity: float = Field(default=0.3, ge=0.0, le=1.0) + + +class CreateRoomRequest(BaseModel): + """Request to create a new video room""" + + room_id: str | None = None + workspace_id: str | None = None # Optional - will be generated if not provided + name: str | None = None + config: VideoConfig | None = None + recovery_config: RecoveryConfig | None = None + max_consumers: int = Field(default=10, ge=1, le=100) + + +class WebRTCSignalRequest(BaseModel): + """WebRTC signaling request""" + + client_id: str = Field(..., min_length=1, max_length=100) + message: dict[str, Any] # Raw WebRTC signaling message + + +class JoinMessage(BaseModel): + """Message to join a video room""" + + participant_id: str = Field(..., min_length=1, max_length=100) + role: ParticipantRole + + +class ParticipantInfo(BaseModel): + """Information about room participants""" + + producer: str | None + consumers: list[str] + total: int + + +class StreamStats(BaseModel): + """Video stream statistics""" + + stream_id: str + duration_seconds: float + frame_count: int + total_bytes: int + average_fps: float + average_bitrate: float + + +class RoomInfo(BaseModel): + """Basic room information""" + + id: str + workspace_id: str + participants: ParticipantInfo + frame_count: int + config: VideoConfig + has_producer: bool + active_consumers: int + + +class RoomState(BaseModel): + """Detailed room state""" + + room_id: str + workspace_id: str + participants: ParticipantInfo + frame_count: int + last_frame_time: datetime | None + current_config: VideoConfig + timestamp: str + + +# ============= DEPRECATED - KEEPING FOR BACKWARDS COMPATIBILITY ============= +# These Pydantic WebSocket models are kept for any remaining references +# but should be migrated to use the TypedDict versions above + + +class WebSocketMessage(BaseModel): + """Base WebSocket message""" + + type: MessageType + timestamp: str | None = None + + +class JoinedMessage(WebSocketMessage): + """Confirmation of successful room join""" + + type: MessageType = MessageType.JOINED + room_id: str + role: ParticipantRole + + +class ErrorMessage(WebSocketMessage): + """Error notification message""" + + type: MessageType = MessageType.ERROR + message: str + code: str | None = None + + +class HeartbeatMessage(WebSocketMessage): + """Heartbeat ping from client""" + + type: MessageType = MessageType.HEARTBEAT + + +class HeartbeatAckMessage(WebSocketMessage): + """Heartbeat acknowledgment from server""" + + type: MessageType = MessageType.HEARTBEAT_ACK + + +class VideoConfigUpdateMessage(WebSocketMessage): + """Video configuration update message""" + + type: MessageType = MessageType.VIDEO_CONFIG_UPDATE + config: VideoConfig + source: str | None = None + + +class StreamStartedMessage(WebSocketMessage): + """Stream started notification""" + + type: MessageType = MessageType.STREAM_STARTED + config: VideoConfig + participant_id: str + + +class StreamStoppedMessage(WebSocketMessage): + """Stream stopped notification""" + + type: MessageType = MessageType.STREAM_STOPPED + participant_id: str + reason: str | None = None + + +class RecoveryTriggeredMessage(WebSocketMessage): + """Recovery policy triggered message""" + + type: MessageType = MessageType.RECOVERY_TRIGGERED + policy: RecoveryPolicy + reason: str + + +class EmergencyStopMessage(WebSocketMessage): + """Emergency stop message""" + + type: MessageType = MessageType.EMERGENCY_STOP + reason: str + source: str | None = None + + +class StreamStatsMessage(WebSocketMessage): + """Stream statistics message""" + + type: MessageType = MessageType.STREAM_STATS + stats: StreamStats + + +class StatusUpdateMessage(WebSocketMessage): + """General status update message""" + + type: MessageType = MessageType.STATUS_UPDATE + status: str + data: dict[str, Any] | None = None + + +class ParticipantJoinedMessage(WebSocketMessage): + """Participant joined room notification""" + + type: MessageType = MessageType.PARTICIPANT_JOINED + room_id: str + participant_id: str + role: ParticipantRole + + +class WebRTCOfferMessage(WebSocketMessage): + """WebRTC offer message""" + + type: MessageType = MessageType.WEBRTC_OFFER + offer: RTCSessionDescriptionDict + from_producer: str + + +class WebRTCAnswerMessage(WebSocketMessage): + """WebRTC answer message""" + + type: MessageType = MessageType.WEBRTC_ANSWER + answer: RTCSessionDescriptionDict + from_consumer: str + + +class WebRTCIceMessage(WebSocketMessage): + """WebRTC ICE candidate message""" + + type: MessageType = MessageType.WEBRTC_ICE + candidate: RTCIceCandidateDict + from_producer: str | None = None + from_consumer: str | None = None + + +# ============= PYDANTIC MODELS FOR RAW WEBRTC SIGNALING ============= + + +class RawWebRTCOffer(BaseModel): + """Raw WebRTC offer from client WebRTC API""" + + type: Literal[RawWebRTCMessageType.OFFER] + sdp: str + target_consumer: str | None = None # For producer targeting specific consumer + + +class RawWebRTCAnswer(BaseModel): + """Raw WebRTC answer from client WebRTC API""" + + type: Literal[RawWebRTCMessageType.ANSWER] + sdp: str + target_producer: str | None = None # For consumer responding to specific producer + + +class RawWebRTCIce(BaseModel): + """Raw WebRTC ICE candidate from client WebRTC API""" + + type: Literal[RawWebRTCMessageType.ICE] + candidate: RTCIceCandidateDict + target_consumer: str | None = None # For producer sending to specific consumer + target_producer: str | None = None # For consumer sending to specific producer diff --git a/server/uv.lock b/server/uv.lock new file mode 100644 index 0000000000000000000000000000000000000000..36aaba18b879ae4a1b69b4b9ab0ff5391758dfcd --- /dev/null +++ b/server/uv.lock @@ -0,0 +1,558 @@ +version = 1 +revision = 2 +requires-python = ">=3.12" +resolution-markers = [ + "sys_platform == 'darwin'", + "platform_machine == 'aarch64' and sys_platform == 'linux'", + "(platform_machine != 'aarch64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux')", +] + +[[package]] +name = "annotated-types" +version = "0.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89", size = 16081, upload-time = "2024-05-20T21:33:25.928Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53", size = 13643, upload-time = "2024-05-20T21:33:24.1Z" }, +] + +[[package]] +name = "anyio" +version = "4.9.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "idna" }, + { name = "sniffio" }, + { name = "typing-extensions", marker = "python_full_version < '3.13'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/95/7d/4c1bd541d4dffa1b52bd83fb8527089e097a106fc90b467a7313b105f840/anyio-4.9.0.tar.gz", hash = "sha256:673c0c244e15788651a4ff38710fea9675823028a6f08a5eda409e0c9840a028", size = 190949, upload-time = "2025-03-17T00:02:54.77Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a1/ee/48ca1a7c89ffec8b6a0c5d02b89c305671d5ffd8d3c94acf8b8c408575bb/anyio-4.9.0-py3-none-any.whl", hash = "sha256:9f76d541cad6e36af7beb62e978876f3b41e3e04f2c1fbf0884604c0a9c4d93c", size = 100916, upload-time = "2025-03-17T00:02:52.713Z" }, +] + +[[package]] +name = "click" +version = "8.2.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/60/6c/8ca2efa64cf75a977a0d7fac081354553ebe483345c734fb6b6515d96bbc/click-8.2.1.tar.gz", hash = "sha256:27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202", size = 286342, upload-time = "2025-05-20T23:19:49.832Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/85/32/10bb5764d90a8eee674e9dc6f4db6a0ab47c8c4d0d83c27f7c39ac415a4d/click-8.2.1-py3-none-any.whl", hash = "sha256:61a3265b914e850b85317d0b3109c7f8cd35a670f963866005d6ef1d5175a12b", size = 102215, upload-time = "2025-05-20T23:19:47.796Z" }, +] + +[[package]] +name = "colorama" +version = "0.4.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, +] + +[[package]] +name = "coverage" +version = "7.8.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ba/07/998afa4a0ecdf9b1981ae05415dad2d4e7716e1b1f00abbd91691ac09ac9/coverage-7.8.2.tar.gz", hash = "sha256:a886d531373a1f6ff9fad2a2ba4a045b68467b779ae729ee0b3b10ac20033b27", size = 812759, upload-time = "2025-05-23T11:39:57.856Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8d/2a/1da1ada2e3044fcd4a3254fb3576e160b8fe5b36d705c8a31f793423f763/coverage-7.8.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:e2f6fe3654468d061942591aef56686131335b7a8325684eda85dacdf311356c", size = 211876, upload-time = "2025-05-23T11:38:29.01Z" }, + { url = "https://files.pythonhosted.org/packages/70/e9/3d715ffd5b6b17a8be80cd14a8917a002530a99943cc1939ad5bb2aa74b9/coverage-7.8.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:76090fab50610798cc05241bf83b603477c40ee87acd358b66196ab0ca44ffa1", size = 212130, upload-time = "2025-05-23T11:38:30.675Z" }, + { url = "https://files.pythonhosted.org/packages/a0/02/fdce62bb3c21649abfd91fbdcf041fb99be0d728ff00f3f9d54d97ed683e/coverage-7.8.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2bd0a0a5054be160777a7920b731a0570284db5142abaaf81bcbb282b8d99279", size = 246176, upload-time = "2025-05-23T11:38:32.395Z" }, + { url = "https://files.pythonhosted.org/packages/a7/52/decbbed61e03b6ffe85cd0fea360a5e04a5a98a7423f292aae62423b8557/coverage-7.8.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:da23ce9a3d356d0affe9c7036030b5c8f14556bd970c9b224f9c8205505e3b99", size = 243068, upload-time = "2025-05-23T11:38:33.989Z" }, + { url = "https://files.pythonhosted.org/packages/38/6c/d0e9c0cce18faef79a52778219a3c6ee8e336437da8eddd4ab3dbd8fadff/coverage-7.8.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c9392773cffeb8d7e042a7b15b82a414011e9d2b5fdbbd3f7e6a6b17d5e21b20", size = 245328, upload-time = "2025-05-23T11:38:35.568Z" }, + { url = "https://files.pythonhosted.org/packages/f0/70/f703b553a2f6b6c70568c7e398ed0789d47f953d67fbba36a327714a7bca/coverage-7.8.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:876cbfd0b09ce09d81585d266c07a32657beb3eaec896f39484b631555be0fe2", size = 245099, upload-time = "2025-05-23T11:38:37.627Z" }, + { url = "https://files.pythonhosted.org/packages/ec/fb/4cbb370dedae78460c3aacbdad9d249e853f3bc4ce5ff0e02b1983d03044/coverage-7.8.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:3da9b771c98977a13fbc3830f6caa85cae6c9c83911d24cb2d218e9394259c57", size = 243314, upload-time = "2025-05-23T11:38:39.238Z" }, + { url = "https://files.pythonhosted.org/packages/39/9f/1afbb2cb9c8699b8bc38afdce00a3b4644904e6a38c7bf9005386c9305ec/coverage-7.8.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:9a990f6510b3292686713bfef26d0049cd63b9c7bb17e0864f133cbfd2e6167f", size = 244489, upload-time = "2025-05-23T11:38:40.845Z" }, + { url = "https://files.pythonhosted.org/packages/79/fa/f3e7ec7d220bff14aba7a4786ae47043770cbdceeea1803083059c878837/coverage-7.8.2-cp312-cp312-win32.whl", hash = "sha256:bf8111cddd0f2b54d34e96613e7fbdd59a673f0cf5574b61134ae75b6f5a33b8", size = 214366, upload-time = "2025-05-23T11:38:43.551Z" }, + { url = "https://files.pythonhosted.org/packages/54/aa/9cbeade19b7e8e853e7ffc261df885d66bf3a782c71cba06c17df271f9e6/coverage-7.8.2-cp312-cp312-win_amd64.whl", hash = "sha256:86a323a275e9e44cdf228af9b71c5030861d4d2610886ab920d9945672a81223", size = 215165, upload-time = "2025-05-23T11:38:45.148Z" }, + { url = "https://files.pythonhosted.org/packages/c4/73/e2528bf1237d2448f882bbebaec5c3500ef07301816c5c63464b9da4d88a/coverage-7.8.2-cp312-cp312-win_arm64.whl", hash = "sha256:820157de3a589e992689ffcda8639fbabb313b323d26388d02e154164c57b07f", size = 213548, upload-time = "2025-05-23T11:38:46.74Z" }, + { url = "https://files.pythonhosted.org/packages/1a/93/eb6400a745ad3b265bac36e8077fdffcf0268bdbbb6c02b7220b624c9b31/coverage-7.8.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:ea561010914ec1c26ab4188aef8b1567272ef6de096312716f90e5baa79ef8ca", size = 211898, upload-time = "2025-05-23T11:38:49.066Z" }, + { url = "https://files.pythonhosted.org/packages/1b/7c/bdbf113f92683024406a1cd226a199e4200a2001fc85d6a6e7e299e60253/coverage-7.8.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:cb86337a4fcdd0e598ff2caeb513ac604d2f3da6d53df2c8e368e07ee38e277d", size = 212171, upload-time = "2025-05-23T11:38:51.207Z" }, + { url = "https://files.pythonhosted.org/packages/91/22/594513f9541a6b88eb0dba4d5da7d71596dadef6b17a12dc2c0e859818a9/coverage-7.8.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:26a4636ddb666971345541b59899e969f3b301143dd86b0ddbb570bd591f1e85", size = 245564, upload-time = "2025-05-23T11:38:52.857Z" }, + { url = "https://files.pythonhosted.org/packages/1f/f4/2860fd6abeebd9f2efcfe0fd376226938f22afc80c1943f363cd3c28421f/coverage-7.8.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5040536cf9b13fb033f76bcb5e1e5cb3b57c4807fef37db9e0ed129c6a094257", size = 242719, upload-time = "2025-05-23T11:38:54.529Z" }, + { url = "https://files.pythonhosted.org/packages/89/60/f5f50f61b6332451520e6cdc2401700c48310c64bc2dd34027a47d6ab4ca/coverage-7.8.2-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dc67994df9bcd7e0150a47ef41278b9e0a0ea187caba72414b71dc590b99a108", size = 244634, upload-time = "2025-05-23T11:38:57.326Z" }, + { url = "https://files.pythonhosted.org/packages/3b/70/7f4e919039ab7d944276c446b603eea84da29ebcf20984fb1fdf6e602028/coverage-7.8.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6e6c86888fd076d9e0fe848af0a2142bf606044dc5ceee0aa9eddb56e26895a0", size = 244824, upload-time = "2025-05-23T11:38:59.421Z" }, + { url = "https://files.pythonhosted.org/packages/26/45/36297a4c0cea4de2b2c442fe32f60c3991056c59cdc3cdd5346fbb995c97/coverage-7.8.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:684ca9f58119b8e26bef860db33524ae0365601492e86ba0b71d513f525e7050", size = 242872, upload-time = "2025-05-23T11:39:01.049Z" }, + { url = "https://files.pythonhosted.org/packages/a4/71/e041f1b9420f7b786b1367fa2a375703889ef376e0d48de9f5723fb35f11/coverage-7.8.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8165584ddedb49204c4e18da083913bdf6a982bfb558632a79bdaadcdafd0d48", size = 244179, upload-time = "2025-05-23T11:39:02.709Z" }, + { url = "https://files.pythonhosted.org/packages/bd/db/3c2bf49bdc9de76acf2491fc03130c4ffc51469ce2f6889d2640eb563d77/coverage-7.8.2-cp313-cp313-win32.whl", hash = "sha256:34759ee2c65362163699cc917bdb2a54114dd06d19bab860725f94ef45a3d9b7", size = 214393, upload-time = "2025-05-23T11:39:05.457Z" }, + { url = "https://files.pythonhosted.org/packages/c6/dc/947e75d47ebbb4b02d8babb1fad4ad381410d5bc9da7cfca80b7565ef401/coverage-7.8.2-cp313-cp313-win_amd64.whl", hash = "sha256:2f9bc608fbafaee40eb60a9a53dbfb90f53cc66d3d32c2849dc27cf5638a21e3", size = 215194, upload-time = "2025-05-23T11:39:07.171Z" }, + { url = "https://files.pythonhosted.org/packages/90/31/a980f7df8a37eaf0dc60f932507fda9656b3a03f0abf188474a0ea188d6d/coverage-7.8.2-cp313-cp313-win_arm64.whl", hash = "sha256:9fe449ee461a3b0c7105690419d0b0aba1232f4ff6d120a9e241e58a556733f7", size = 213580, upload-time = "2025-05-23T11:39:08.862Z" }, + { url = "https://files.pythonhosted.org/packages/8a/6a/25a37dd90f6c95f59355629417ebcb74e1c34e38bb1eddf6ca9b38b0fc53/coverage-7.8.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:8369a7c8ef66bded2b6484053749ff220dbf83cba84f3398c84c51a6f748a008", size = 212734, upload-time = "2025-05-23T11:39:11.109Z" }, + { url = "https://files.pythonhosted.org/packages/36/8b/3a728b3118988725f40950931abb09cd7f43b3c740f4640a59f1db60e372/coverage-7.8.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:159b81df53a5fcbc7d45dae3adad554fdbde9829a994e15227b3f9d816d00b36", size = 212959, upload-time = "2025-05-23T11:39:12.751Z" }, + { url = "https://files.pythonhosted.org/packages/53/3c/212d94e6add3a3c3f412d664aee452045ca17a066def8b9421673e9482c4/coverage-7.8.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e6fcbbd35a96192d042c691c9e0c49ef54bd7ed865846a3c9d624c30bb67ce46", size = 257024, upload-time = "2025-05-23T11:39:15.569Z" }, + { url = "https://files.pythonhosted.org/packages/a4/40/afc03f0883b1e51bbe804707aae62e29c4e8c8bbc365c75e3e4ddeee9ead/coverage-7.8.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:05364b9cc82f138cc86128dc4e2e1251c2981a2218bfcd556fe6b0fbaa3501be", size = 252867, upload-time = "2025-05-23T11:39:17.64Z" }, + { url = "https://files.pythonhosted.org/packages/18/a2/3699190e927b9439c6ded4998941a3c1d6fa99e14cb28d8536729537e307/coverage-7.8.2-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:46d532db4e5ff3979ce47d18e2fe8ecad283eeb7367726da0e5ef88e4fe64740", size = 255096, upload-time = "2025-05-23T11:39:19.328Z" }, + { url = "https://files.pythonhosted.org/packages/b4/06/16e3598b9466456b718eb3e789457d1a5b8bfb22e23b6e8bbc307df5daf0/coverage-7.8.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4000a31c34932e7e4fa0381a3d6deb43dc0c8f458e3e7ea6502e6238e10be625", size = 256276, upload-time = "2025-05-23T11:39:21.077Z" }, + { url = "https://files.pythonhosted.org/packages/a7/d5/4b5a120d5d0223050a53d2783c049c311eea1709fa9de12d1c358e18b707/coverage-7.8.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:43ff5033d657cd51f83015c3b7a443287250dc14e69910577c3e03bd2e06f27b", size = 254478, upload-time = "2025-05-23T11:39:22.838Z" }, + { url = "https://files.pythonhosted.org/packages/ba/85/f9ecdb910ecdb282b121bfcaa32fa8ee8cbd7699f83330ee13ff9bbf1a85/coverage-7.8.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:94316e13f0981cbbba132c1f9f365cac1d26716aaac130866ca812006f662199", size = 255255, upload-time = "2025-05-23T11:39:24.644Z" }, + { url = "https://files.pythonhosted.org/packages/50/63/2d624ac7d7ccd4ebbd3c6a9eba9d7fc4491a1226071360d59dd84928ccb2/coverage-7.8.2-cp313-cp313t-win32.whl", hash = "sha256:3f5673888d3676d0a745c3d0e16da338c5eea300cb1f4ada9c872981265e76d8", size = 215109, upload-time = "2025-05-23T11:39:26.722Z" }, + { url = "https://files.pythonhosted.org/packages/22/5e/7053b71462e970e869111c1853afd642212568a350eba796deefdfbd0770/coverage-7.8.2-cp313-cp313t-win_amd64.whl", hash = "sha256:2c08b05ee8d7861e45dc5a2cc4195c8c66dca5ac613144eb6ebeaff2d502e73d", size = 216268, upload-time = "2025-05-23T11:39:28.429Z" }, + { url = "https://files.pythonhosted.org/packages/07/69/afa41aa34147655543dbe96994f8a246daf94b361ccf5edfd5df62ce066a/coverage-7.8.2-cp313-cp313t-win_arm64.whl", hash = "sha256:1e1448bb72b387755e1ff3ef1268a06617afd94188164960dba8d0245a46004b", size = 214071, upload-time = "2025-05-23T11:39:30.55Z" }, + { url = "https://files.pythonhosted.org/packages/a0/1a/0b9c32220ad694d66062f571cc5cedfa9997b64a591e8a500bb63de1bd40/coverage-7.8.2-py3-none-any.whl", hash = "sha256:726f32ee3713f7359696331a18daf0c3b3a70bb0ae71141b9d3c52be7c595e32", size = 203623, upload-time = "2025-05-23T11:39:53.846Z" }, +] + +[[package]] +name = "fastapi" +version = "0.115.12" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pydantic" }, + { name = "starlette" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f4/55/ae499352d82338331ca1e28c7f4a63bfd09479b16395dce38cf50a39e2c2/fastapi-0.115.12.tar.gz", hash = "sha256:1e2c2a2646905f9e83d32f04a3f86aff4a286669c6c950ca95b5fd68c2602681", size = 295236, upload-time = "2025-03-23T22:55:43.822Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/50/b3/b51f09c2ba432a576fe63758bddc81f78f0c6309d9e5c10d194313bf021e/fastapi-0.115.12-py3-none-any.whl", hash = "sha256:e94613d6c05e27be7ffebdd6ea5f388112e5e430c8f7d6494a9d1d88d43e814d", size = 95164, upload-time = "2025-03-23T22:55:42.101Z" }, +] + +[[package]] +name = "h11" +version = "0.16.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz", hash = "sha256:4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1", size = 101250, upload-time = "2025-04-24T03:35:25.427Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl", hash = "sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86", size = 37515, upload-time = "2025-04-24T03:35:24.344Z" }, +] + +[[package]] +name = "httptools" +version = "0.6.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a7/9a/ce5e1f7e131522e6d3426e8e7a490b3a01f39a6696602e1c4f33f9e94277/httptools-0.6.4.tar.gz", hash = "sha256:4e93eee4add6493b59a5c514da98c939b244fce4a0d8879cd3f466562f4b7d5c", size = 240639, upload-time = "2024-10-16T19:45:08.902Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bb/0e/d0b71465c66b9185f90a091ab36389a7352985fe857e352801c39d6127c8/httptools-0.6.4-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:df017d6c780287d5c80601dafa31f17bddb170232d85c066604d8558683711a2", size = 200683, upload-time = "2024-10-16T19:44:30.175Z" }, + { url = "https://files.pythonhosted.org/packages/e2/b8/412a9bb28d0a8988de3296e01efa0bd62068b33856cdda47fe1b5e890954/httptools-0.6.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:85071a1e8c2d051b507161f6c3e26155b5c790e4e28d7f236422dbacc2a9cc44", size = 104337, upload-time = "2024-10-16T19:44:31.786Z" }, + { url = "https://files.pythonhosted.org/packages/9b/01/6fb20be3196ffdc8eeec4e653bc2a275eca7f36634c86302242c4fbb2760/httptools-0.6.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69422b7f458c5af875922cdb5bd586cc1f1033295aa9ff63ee196a87519ac8e1", size = 508796, upload-time = "2024-10-16T19:44:32.825Z" }, + { url = "https://files.pythonhosted.org/packages/f7/d8/b644c44acc1368938317d76ac991c9bba1166311880bcc0ac297cb9d6bd7/httptools-0.6.4-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:16e603a3bff50db08cd578d54f07032ca1631450ceb972c2f834c2b860c28ea2", size = 510837, upload-time = "2024-10-16T19:44:33.974Z" }, + { url = "https://files.pythonhosted.org/packages/52/d8/254d16a31d543073a0e57f1c329ca7378d8924e7e292eda72d0064987486/httptools-0.6.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ec4f178901fa1834d4a060320d2f3abc5c9e39766953d038f1458cb885f47e81", size = 485289, upload-time = "2024-10-16T19:44:35.111Z" }, + { url = "https://files.pythonhosted.org/packages/5f/3c/4aee161b4b7a971660b8be71a92c24d6c64372c1ab3ae7f366b3680df20f/httptools-0.6.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f9eb89ecf8b290f2e293325c646a211ff1c2493222798bb80a530c5e7502494f", size = 489779, upload-time = "2024-10-16T19:44:36.253Z" }, + { url = "https://files.pythonhosted.org/packages/12/b7/5cae71a8868e555f3f67a50ee7f673ce36eac970f029c0c5e9d584352961/httptools-0.6.4-cp312-cp312-win_amd64.whl", hash = "sha256:db78cb9ca56b59b016e64b6031eda5653be0589dba2b1b43453f6e8b405a0970", size = 88634, upload-time = "2024-10-16T19:44:37.357Z" }, + { url = "https://files.pythonhosted.org/packages/94/a3/9fe9ad23fd35f7de6b91eeb60848986058bd8b5a5c1e256f5860a160cc3e/httptools-0.6.4-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ade273d7e767d5fae13fa637f4d53b6e961fb7fd93c7797562663f0171c26660", size = 197214, upload-time = "2024-10-16T19:44:38.738Z" }, + { url = "https://files.pythonhosted.org/packages/ea/d9/82d5e68bab783b632023f2fa31db20bebb4e89dfc4d2293945fd68484ee4/httptools-0.6.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:856f4bc0478ae143bad54a4242fccb1f3f86a6e1be5548fecfd4102061b3a083", size = 102431, upload-time = "2024-10-16T19:44:39.818Z" }, + { url = "https://files.pythonhosted.org/packages/96/c1/cb499655cbdbfb57b577734fde02f6fa0bbc3fe9fb4d87b742b512908dff/httptools-0.6.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:322d20ea9cdd1fa98bd6a74b77e2ec5b818abdc3d36695ab402a0de8ef2865a3", size = 473121, upload-time = "2024-10-16T19:44:41.189Z" }, + { url = "https://files.pythonhosted.org/packages/af/71/ee32fd358f8a3bb199b03261f10921716990808a675d8160b5383487a317/httptools-0.6.4-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4d87b29bd4486c0093fc64dea80231f7c7f7eb4dc70ae394d70a495ab8436071", size = 473805, upload-time = "2024-10-16T19:44:42.384Z" }, + { url = "https://files.pythonhosted.org/packages/8a/0a/0d4df132bfca1507114198b766f1737d57580c9ad1cf93c1ff673e3387be/httptools-0.6.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:342dd6946aa6bda4b8f18c734576106b8a31f2fe31492881a9a160ec84ff4bd5", size = 448858, upload-time = "2024-10-16T19:44:43.959Z" }, + { url = "https://files.pythonhosted.org/packages/1e/6a/787004fdef2cabea27bad1073bf6a33f2437b4dbd3b6fb4a9d71172b1c7c/httptools-0.6.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4b36913ba52008249223042dca46e69967985fb4051951f94357ea681e1f5dc0", size = 452042, upload-time = "2024-10-16T19:44:45.071Z" }, + { url = "https://files.pythonhosted.org/packages/4d/dc/7decab5c404d1d2cdc1bb330b1bf70e83d6af0396fd4fc76fc60c0d522bf/httptools-0.6.4-cp313-cp313-win_amd64.whl", hash = "sha256:28908df1b9bb8187393d5b5db91435ccc9c8e891657f9cbb42a2541b44c82fc8", size = 87682, upload-time = "2024-10-16T19:44:46.46Z" }, +] + +[[package]] +name = "idna" +version = "3.10" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490, upload-time = "2024-09-15T18:07:39.745Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442, upload-time = "2024-09-15T18:07:37.964Z" }, +] + +[[package]] +name = "iniconfig" +version = "2.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f2/97/ebf4da567aa6827c909642694d71c9fcf53e5b504f2d96afea02718862f3/iniconfig-2.1.0.tar.gz", hash = "sha256:3abbd2e30b36733fee78f9c7f7308f2d0050e88f0087fd25c2645f63c773e1c7", size = 4793, upload-time = "2025-03-19T20:09:59.721Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl", hash = "sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760", size = 6050, upload-time = "2025-03-19T20:10:01.071Z" }, +] + +[[package]] +name = "lerobot-arena-server" +version = "0.1.0" +source = { virtual = "." } +dependencies = [ + { name = "fastapi" }, + { name = "opencv-python" }, + { name = "pydantic" }, + { name = "uvicorn", extra = ["standard"] }, +] + +[package.dev-dependencies] +dev = [ + { name = "pytest" }, + { name = "pytest-asyncio" }, + { name = "pytest-cov" }, +] + +[package.metadata] +requires-dist = [ + { name = "fastapi", specifier = ">=0.115.12" }, + { name = "opencv-python", specifier = ">=4.11.0.86" }, + { name = "pydantic", specifier = ">=2.11.5" }, + { name = "uvicorn", extras = ["standard"], specifier = ">=0.34.3" }, +] + +[package.metadata.requires-dev] +dev = [ + { name = "pytest", specifier = ">=8.4.0" }, + { name = "pytest-asyncio", specifier = ">=1.0.0" }, + { name = "pytest-cov", specifier = ">=6.1.1" }, +] + +[[package]] +name = "numpy" +version = "2.2.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/76/21/7d2a95e4bba9dc13d043ee156a356c0a8f0c6309dff6b21b4d71a073b8a8/numpy-2.2.6.tar.gz", hash = "sha256:e29554e2bef54a90aa5cc07da6ce955accb83f21ab5de01a62c8478897b264fd", size = 20276440, upload-time = "2025-05-17T22:38:04.611Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/82/5d/c00588b6cf18e1da539b45d3598d3557084990dcc4331960c15ee776ee41/numpy-2.2.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:41c5a21f4a04fa86436124d388f6ed60a9343a6f767fced1a8a71c3fbca038ff", size = 20875348, upload-time = "2025-05-17T21:34:39.648Z" }, + { url = "https://files.pythonhosted.org/packages/66/ee/560deadcdde6c2f90200450d5938f63a34b37e27ebff162810f716f6a230/numpy-2.2.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:de749064336d37e340f640b05f24e9e3dd678c57318c7289d222a8a2f543e90c", size = 14119362, upload-time = "2025-05-17T21:35:01.241Z" }, + { url = "https://files.pythonhosted.org/packages/3c/65/4baa99f1c53b30adf0acd9a5519078871ddde8d2339dc5a7fde80d9d87da/numpy-2.2.6-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:894b3a42502226a1cac872f840030665f33326fc3dac8e57c607905773cdcde3", size = 5084103, upload-time = "2025-05-17T21:35:10.622Z" }, + { url = "https://files.pythonhosted.org/packages/cc/89/e5a34c071a0570cc40c9a54eb472d113eea6d002e9ae12bb3a8407fb912e/numpy-2.2.6-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:71594f7c51a18e728451bb50cc60a3ce4e6538822731b2933209a1f3614e9282", size = 6625382, upload-time = "2025-05-17T21:35:21.414Z" }, + { url = "https://files.pythonhosted.org/packages/f8/35/8c80729f1ff76b3921d5c9487c7ac3de9b2a103b1cd05e905b3090513510/numpy-2.2.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f2618db89be1b4e05f7a1a847a9c1c0abd63e63a1607d892dd54668dd92faf87", size = 14018462, upload-time = "2025-05-17T21:35:42.174Z" }, + { url = "https://files.pythonhosted.org/packages/8c/3d/1e1db36cfd41f895d266b103df00ca5b3cbe965184df824dec5c08c6b803/numpy-2.2.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd83c01228a688733f1ded5201c678f0c53ecc1006ffbc404db9f7a899ac6249", size = 16527618, upload-time = "2025-05-17T21:36:06.711Z" }, + { url = "https://files.pythonhosted.org/packages/61/c6/03ed30992602c85aa3cd95b9070a514f8b3c33e31124694438d88809ae36/numpy-2.2.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:37c0ca431f82cd5fa716eca9506aefcabc247fb27ba69c5062a6d3ade8cf8f49", size = 15505511, upload-time = "2025-05-17T21:36:29.965Z" }, + { url = "https://files.pythonhosted.org/packages/b7/25/5761d832a81df431e260719ec45de696414266613c9ee268394dd5ad8236/numpy-2.2.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fe27749d33bb772c80dcd84ae7e8df2adc920ae8297400dabec45f0dedb3f6de", size = 18313783, upload-time = "2025-05-17T21:36:56.883Z" }, + { url = "https://files.pythonhosted.org/packages/57/0a/72d5a3527c5ebffcd47bde9162c39fae1f90138c961e5296491ce778e682/numpy-2.2.6-cp312-cp312-win32.whl", hash = "sha256:4eeaae00d789f66c7a25ac5f34b71a7035bb474e679f410e5e1a94deb24cf2d4", size = 6246506, upload-time = "2025-05-17T21:37:07.368Z" }, + { url = "https://files.pythonhosted.org/packages/36/fa/8c9210162ca1b88529ab76b41ba02d433fd54fecaf6feb70ef9f124683f1/numpy-2.2.6-cp312-cp312-win_amd64.whl", hash = "sha256:c1f9540be57940698ed329904db803cf7a402f3fc200bfe599334c9bd84a40b2", size = 12614190, upload-time = "2025-05-17T21:37:26.213Z" }, + { url = "https://files.pythonhosted.org/packages/f9/5c/6657823f4f594f72b5471f1db1ab12e26e890bb2e41897522d134d2a3e81/numpy-2.2.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0811bb762109d9708cca4d0b13c4f67146e3c3b7cf8d34018c722adb2d957c84", size = 20867828, upload-time = "2025-05-17T21:37:56.699Z" }, + { url = "https://files.pythonhosted.org/packages/dc/9e/14520dc3dadf3c803473bd07e9b2bd1b69bc583cb2497b47000fed2fa92f/numpy-2.2.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:287cc3162b6f01463ccd86be154f284d0893d2b3ed7292439ea97eafa8170e0b", size = 14143006, upload-time = "2025-05-17T21:38:18.291Z" }, + { url = "https://files.pythonhosted.org/packages/4f/06/7e96c57d90bebdce9918412087fc22ca9851cceaf5567a45c1f404480e9e/numpy-2.2.6-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:f1372f041402e37e5e633e586f62aa53de2eac8d98cbfb822806ce4bbefcb74d", size = 5076765, upload-time = "2025-05-17T21:38:27.319Z" }, + { url = "https://files.pythonhosted.org/packages/73/ed/63d920c23b4289fdac96ddbdd6132e9427790977d5457cd132f18e76eae0/numpy-2.2.6-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:55a4d33fa519660d69614a9fad433be87e5252f4b03850642f88993f7b2ca566", size = 6617736, upload-time = "2025-05-17T21:38:38.141Z" }, + { url = "https://files.pythonhosted.org/packages/85/c5/e19c8f99d83fd377ec8c7e0cf627a8049746da54afc24ef0a0cb73d5dfb5/numpy-2.2.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f92729c95468a2f4f15e9bb94c432a9229d0d50de67304399627a943201baa2f", size = 14010719, upload-time = "2025-05-17T21:38:58.433Z" }, + { url = "https://files.pythonhosted.org/packages/19/49/4df9123aafa7b539317bf6d342cb6d227e49f7a35b99c287a6109b13dd93/numpy-2.2.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1bc23a79bfabc5d056d106f9befb8d50c31ced2fbc70eedb8155aec74a45798f", size = 16526072, upload-time = "2025-05-17T21:39:22.638Z" }, + { url = "https://files.pythonhosted.org/packages/b2/6c/04b5f47f4f32f7c2b0e7260442a8cbcf8168b0e1a41ff1495da42f42a14f/numpy-2.2.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e3143e4451880bed956e706a3220b4e5cf6172ef05fcc397f6f36a550b1dd868", size = 15503213, upload-time = "2025-05-17T21:39:45.865Z" }, + { url = "https://files.pythonhosted.org/packages/17/0a/5cd92e352c1307640d5b6fec1b2ffb06cd0dabe7d7b8227f97933d378422/numpy-2.2.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b4f13750ce79751586ae2eb824ba7e1e8dba64784086c98cdbbcc6a42112ce0d", size = 18316632, upload-time = "2025-05-17T21:40:13.331Z" }, + { url = "https://files.pythonhosted.org/packages/f0/3b/5cba2b1d88760ef86596ad0f3d484b1cbff7c115ae2429678465057c5155/numpy-2.2.6-cp313-cp313-win32.whl", hash = "sha256:5beb72339d9d4fa36522fc63802f469b13cdbe4fdab4a288f0c441b74272ebfd", size = 6244532, upload-time = "2025-05-17T21:43:46.099Z" }, + { url = "https://files.pythonhosted.org/packages/cb/3b/d58c12eafcb298d4e6d0d40216866ab15f59e55d148a5658bb3132311fcf/numpy-2.2.6-cp313-cp313-win_amd64.whl", hash = "sha256:b0544343a702fa80c95ad5d3d608ea3599dd54d4632df855e4c8d24eb6ecfa1c", size = 12610885, upload-time = "2025-05-17T21:44:05.145Z" }, + { url = "https://files.pythonhosted.org/packages/6b/9e/4bf918b818e516322db999ac25d00c75788ddfd2d2ade4fa66f1f38097e1/numpy-2.2.6-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0bca768cd85ae743b2affdc762d617eddf3bcf8724435498a1e80132d04879e6", size = 20963467, upload-time = "2025-05-17T21:40:44Z" }, + { url = "https://files.pythonhosted.org/packages/61/66/d2de6b291507517ff2e438e13ff7b1e2cdbdb7cb40b3ed475377aece69f9/numpy-2.2.6-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:fc0c5673685c508a142ca65209b4e79ed6740a4ed6b2267dbba90f34b0b3cfda", size = 14225144, upload-time = "2025-05-17T21:41:05.695Z" }, + { url = "https://files.pythonhosted.org/packages/e4/25/480387655407ead912e28ba3a820bc69af9adf13bcbe40b299d454ec011f/numpy-2.2.6-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:5bd4fc3ac8926b3819797a7c0e2631eb889b4118a9898c84f585a54d475b7e40", size = 5200217, upload-time = "2025-05-17T21:41:15.903Z" }, + { url = "https://files.pythonhosted.org/packages/aa/4a/6e313b5108f53dcbf3aca0c0f3e9c92f4c10ce57a0a721851f9785872895/numpy-2.2.6-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:fee4236c876c4e8369388054d02d0e9bb84821feb1a64dd59e137e6511a551f8", size = 6712014, upload-time = "2025-05-17T21:41:27.321Z" }, + { url = "https://files.pythonhosted.org/packages/b7/30/172c2d5c4be71fdf476e9de553443cf8e25feddbe185e0bd88b096915bcc/numpy-2.2.6-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e1dda9c7e08dc141e0247a5b8f49cf05984955246a327d4c48bda16821947b2f", size = 14077935, upload-time = "2025-05-17T21:41:49.738Z" }, + { url = "https://files.pythonhosted.org/packages/12/fb/9e743f8d4e4d3c710902cf87af3512082ae3d43b945d5d16563f26ec251d/numpy-2.2.6-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f447e6acb680fd307f40d3da4852208af94afdfab89cf850986c3ca00562f4fa", size = 16600122, upload-time = "2025-05-17T21:42:14.046Z" }, + { url = "https://files.pythonhosted.org/packages/12/75/ee20da0e58d3a66f204f38916757e01e33a9737d0b22373b3eb5a27358f9/numpy-2.2.6-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:389d771b1623ec92636b0786bc4ae56abafad4a4c513d36a55dce14bd9ce8571", size = 15586143, upload-time = "2025-05-17T21:42:37.464Z" }, + { url = "https://files.pythonhosted.org/packages/76/95/bef5b37f29fc5e739947e9ce5179ad402875633308504a52d188302319c8/numpy-2.2.6-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8e9ace4a37db23421249ed236fdcdd457d671e25146786dfc96835cd951aa7c1", size = 18385260, upload-time = "2025-05-17T21:43:05.189Z" }, + { url = "https://files.pythonhosted.org/packages/09/04/f2f83279d287407cf36a7a8053a5abe7be3622a4363337338f2585e4afda/numpy-2.2.6-cp313-cp313t-win32.whl", hash = "sha256:038613e9fb8c72b0a41f025a7e4c3f0b7a1b5d768ece4796b674c8f3fe13efff", size = 6377225, upload-time = "2025-05-17T21:43:16.254Z" }, + { url = "https://files.pythonhosted.org/packages/67/0e/35082d13c09c02c011cf21570543d202ad929d961c02a147493cb0c2bdf5/numpy-2.2.6-cp313-cp313t-win_amd64.whl", hash = "sha256:6031dd6dfecc0cf9f668681a37648373bddd6421fff6c66ec1624eed0180ee06", size = 12771374, upload-time = "2025-05-17T21:43:35.479Z" }, +] + +[[package]] +name = "opencv-python" +version = "4.11.0.86" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/17/06/68c27a523103dad5837dc5b87e71285280c4f098c60e4fe8a8db6486ab09/opencv-python-4.11.0.86.tar.gz", hash = "sha256:03d60ccae62304860d232272e4a4fda93c39d595780cb40b161b310244b736a4", size = 95171956, upload-time = "2025-01-16T13:52:24.737Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/05/4d/53b30a2a3ac1f75f65a59eb29cf2ee7207ce64867db47036ad61743d5a23/opencv_python-4.11.0.86-cp37-abi3-macosx_13_0_arm64.whl", hash = "sha256:432f67c223f1dc2824f5e73cdfcd9db0efc8710647d4e813012195dc9122a52a", size = 37326322, upload-time = "2025-01-16T13:52:25.887Z" }, + { url = "https://files.pythonhosted.org/packages/3b/84/0a67490741867eacdfa37bc18df96e08a9d579583b419010d7f3da8ff503/opencv_python-4.11.0.86-cp37-abi3-macosx_13_0_x86_64.whl", hash = "sha256:9d05ef13d23fe97f575153558653e2d6e87103995d54e6a35db3f282fe1f9c66", size = 56723197, upload-time = "2025-01-16T13:55:21.222Z" }, + { url = "https://files.pythonhosted.org/packages/f3/bd/29c126788da65c1fb2b5fb621b7fed0ed5f9122aa22a0868c5e2c15c6d23/opencv_python-4.11.0.86-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1b92ae2c8852208817e6776ba1ea0d6b1e0a1b5431e971a2a0ddd2a8cc398202", size = 42230439, upload-time = "2025-01-16T13:51:35.822Z" }, + { url = "https://files.pythonhosted.org/packages/2c/8b/90eb44a40476fa0e71e05a0283947cfd74a5d36121a11d926ad6f3193cc4/opencv_python-4.11.0.86-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b02611523803495003bd87362db3e1d2a0454a6a63025dc6658a9830570aa0d", size = 62986597, upload-time = "2025-01-16T13:52:08.836Z" }, + { url = "https://files.pythonhosted.org/packages/fb/d7/1d5941a9dde095468b288d989ff6539dd69cd429dbf1b9e839013d21b6f0/opencv_python-4.11.0.86-cp37-abi3-win32.whl", hash = "sha256:810549cb2a4aedaa84ad9a1c92fbfdfc14090e2749cedf2c1589ad8359aa169b", size = 29384337, upload-time = "2025-01-16T13:52:13.549Z" }, + { url = "https://files.pythonhosted.org/packages/a4/7d/f1c30a92854540bf789e9cd5dde7ef49bbe63f855b85a2e6b3db8135c591/opencv_python-4.11.0.86-cp37-abi3-win_amd64.whl", hash = "sha256:085ad9b77c18853ea66283e98affefe2de8cc4c1f43eda4c100cf9b2721142ec", size = 39488044, upload-time = "2025-01-16T13:52:21.928Z" }, +] + +[[package]] +name = "packaging" +version = "25.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f", size = 165727, upload-time = "2025-04-19T11:48:59.673Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", size = 66469, upload-time = "2025-04-19T11:48:57.875Z" }, +] + +[[package]] +name = "pluggy" +version = "1.6.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3", size = 69412, upload-time = "2025-05-15T12:30:07.975Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746", size = 20538, upload-time = "2025-05-15T12:30:06.134Z" }, +] + +[[package]] +name = "pydantic" +version = "2.11.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "annotated-types" }, + { name = "pydantic-core" }, + { name = "typing-extensions" }, + { name = "typing-inspection" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f0/86/8ce9040065e8f924d642c58e4a344e33163a07f6b57f836d0d734e0ad3fb/pydantic-2.11.5.tar.gz", hash = "sha256:7f853db3d0ce78ce8bbb148c401c2cdd6431b3473c0cdff2755c7690952a7b7a", size = 787102, upload-time = "2025-05-22T21:18:08.761Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b5/69/831ed22b38ff9b4b64b66569f0e5b7b97cf3638346eb95a2147fdb49ad5f/pydantic-2.11.5-py3-none-any.whl", hash = "sha256:f9c26ba06f9747749ca1e5c94d6a85cb84254577553c8785576fd38fa64dc0f7", size = 444229, upload-time = "2025-05-22T21:18:06.329Z" }, +] + +[[package]] +name = "pydantic-core" +version = "2.33.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ad/88/5f2260bdfae97aabf98f1778d43f69574390ad787afb646292a638c923d4/pydantic_core-2.33.2.tar.gz", hash = "sha256:7cb8bc3605c29176e1b105350d2e6474142d7c1bd1d9327c4a9bdb46bf827acc", size = 435195, upload-time = "2025-04-23T18:33:52.104Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/18/8a/2b41c97f554ec8c71f2a8a5f85cb56a8b0956addfe8b0efb5b3d77e8bdc3/pydantic_core-2.33.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:a7ec89dc587667f22b6a0b6579c249fca9026ce7c333fc142ba42411fa243cdc", size = 2009000, upload-time = "2025-04-23T18:31:25.863Z" }, + { url = "https://files.pythonhosted.org/packages/a1/02/6224312aacb3c8ecbaa959897af57181fb6cf3a3d7917fd44d0f2917e6f2/pydantic_core-2.33.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3c6db6e52c6d70aa0d00d45cdb9b40f0433b96380071ea80b09277dba021ddf7", size = 1847996, upload-time = "2025-04-23T18:31:27.341Z" }, + { url = "https://files.pythonhosted.org/packages/d6/46/6dcdf084a523dbe0a0be59d054734b86a981726f221f4562aed313dbcb49/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e61206137cbc65e6d5256e1166f88331d3b6238e082d9f74613b9b765fb9025", size = 1880957, upload-time = "2025-04-23T18:31:28.956Z" }, + { url = "https://files.pythonhosted.org/packages/ec/6b/1ec2c03837ac00886ba8160ce041ce4e325b41d06a034adbef11339ae422/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:eb8c529b2819c37140eb51b914153063d27ed88e3bdc31b71198a198e921e011", size = 1964199, upload-time = "2025-04-23T18:31:31.025Z" }, + { url = "https://files.pythonhosted.org/packages/2d/1d/6bf34d6adb9debd9136bd197ca72642203ce9aaaa85cfcbfcf20f9696e83/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c52b02ad8b4e2cf14ca7b3d918f3eb0ee91e63b3167c32591e57c4317e134f8f", size = 2120296, upload-time = "2025-04-23T18:31:32.514Z" }, + { url = "https://files.pythonhosted.org/packages/e0/94/2bd0aaf5a591e974b32a9f7123f16637776c304471a0ab33cf263cf5591a/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:96081f1605125ba0855dfda83f6f3df5ec90c61195421ba72223de35ccfb2f88", size = 2676109, upload-time = "2025-04-23T18:31:33.958Z" }, + { url = "https://files.pythonhosted.org/packages/f9/41/4b043778cf9c4285d59742281a769eac371b9e47e35f98ad321349cc5d61/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f57a69461af2a5fa6e6bbd7a5f60d3b7e6cebb687f55106933188e79ad155c1", size = 2002028, upload-time = "2025-04-23T18:31:39.095Z" }, + { url = "https://files.pythonhosted.org/packages/cb/d5/7bb781bf2748ce3d03af04d5c969fa1308880e1dca35a9bd94e1a96a922e/pydantic_core-2.33.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:572c7e6c8bb4774d2ac88929e3d1f12bc45714ae5ee6d9a788a9fb35e60bb04b", size = 2100044, upload-time = "2025-04-23T18:31:41.034Z" }, + { url = "https://files.pythonhosted.org/packages/fe/36/def5e53e1eb0ad896785702a5bbfd25eed546cdcf4087ad285021a90ed53/pydantic_core-2.33.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:db4b41f9bd95fbe5acd76d89920336ba96f03e149097365afe1cb092fceb89a1", size = 2058881, upload-time = "2025-04-23T18:31:42.757Z" }, + { url = "https://files.pythonhosted.org/packages/01/6c/57f8d70b2ee57fc3dc8b9610315949837fa8c11d86927b9bb044f8705419/pydantic_core-2.33.2-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:fa854f5cf7e33842a892e5c73f45327760bc7bc516339fda888c75ae60edaeb6", size = 2227034, upload-time = "2025-04-23T18:31:44.304Z" }, + { url = "https://files.pythonhosted.org/packages/27/b9/9c17f0396a82b3d5cbea4c24d742083422639e7bb1d5bf600e12cb176a13/pydantic_core-2.33.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:5f483cfb75ff703095c59e365360cb73e00185e01aaea067cd19acffd2ab20ea", size = 2234187, upload-time = "2025-04-23T18:31:45.891Z" }, + { url = "https://files.pythonhosted.org/packages/b0/6a/adf5734ffd52bf86d865093ad70b2ce543415e0e356f6cacabbc0d9ad910/pydantic_core-2.33.2-cp312-cp312-win32.whl", hash = "sha256:9cb1da0f5a471435a7bc7e439b8a728e8b61e59784b2af70d7c169f8dd8ae290", size = 1892628, upload-time = "2025-04-23T18:31:47.819Z" }, + { url = "https://files.pythonhosted.org/packages/43/e4/5479fecb3606c1368d496a825d8411e126133c41224c1e7238be58b87d7e/pydantic_core-2.33.2-cp312-cp312-win_amd64.whl", hash = "sha256:f941635f2a3d96b2973e867144fde513665c87f13fe0e193c158ac51bfaaa7b2", size = 1955866, upload-time = "2025-04-23T18:31:49.635Z" }, + { url = "https://files.pythonhosted.org/packages/0d/24/8b11e8b3e2be9dd82df4b11408a67c61bb4dc4f8e11b5b0fc888b38118b5/pydantic_core-2.33.2-cp312-cp312-win_arm64.whl", hash = "sha256:cca3868ddfaccfbc4bfb1d608e2ccaaebe0ae628e1416aeb9c4d88c001bb45ab", size = 1888894, upload-time = "2025-04-23T18:31:51.609Z" }, + { url = "https://files.pythonhosted.org/packages/46/8c/99040727b41f56616573a28771b1bfa08a3d3fe74d3d513f01251f79f172/pydantic_core-2.33.2-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:1082dd3e2d7109ad8b7da48e1d4710c8d06c253cbc4a27c1cff4fbcaa97a9e3f", size = 2015688, upload-time = "2025-04-23T18:31:53.175Z" }, + { url = "https://files.pythonhosted.org/packages/3a/cc/5999d1eb705a6cefc31f0b4a90e9f7fc400539b1a1030529700cc1b51838/pydantic_core-2.33.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f517ca031dfc037a9c07e748cefd8d96235088b83b4f4ba8939105d20fa1dcd6", size = 1844808, upload-time = "2025-04-23T18:31:54.79Z" }, + { url = "https://files.pythonhosted.org/packages/6f/5e/a0a7b8885c98889a18b6e376f344da1ef323d270b44edf8174d6bce4d622/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a9f2c9dd19656823cb8250b0724ee9c60a82f3cdf68a080979d13092a3b0fef", size = 1885580, upload-time = "2025-04-23T18:31:57.393Z" }, + { url = "https://files.pythonhosted.org/packages/3b/2a/953581f343c7d11a304581156618c3f592435523dd9d79865903272c256a/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2b0a451c263b01acebe51895bfb0e1cc842a5c666efe06cdf13846c7418caa9a", size = 1973859, upload-time = "2025-04-23T18:31:59.065Z" }, + { url = "https://files.pythonhosted.org/packages/e6/55/f1a813904771c03a3f97f676c62cca0c0a4138654107c1b61f19c644868b/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ea40a64d23faa25e62a70ad163571c0b342b8bf66d5fa612ac0dec4f069d916", size = 2120810, upload-time = "2025-04-23T18:32:00.78Z" }, + { url = "https://files.pythonhosted.org/packages/aa/c3/053389835a996e18853ba107a63caae0b9deb4a276c6b472931ea9ae6e48/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0fb2d542b4d66f9470e8065c5469ec676978d625a8b7a363f07d9a501a9cb36a", size = 2676498, upload-time = "2025-04-23T18:32:02.418Z" }, + { url = "https://files.pythonhosted.org/packages/eb/3c/f4abd740877a35abade05e437245b192f9d0ffb48bbbbd708df33d3cda37/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fdac5d6ffa1b5a83bca06ffe7583f5576555e6c8b3a91fbd25ea7780f825f7d", size = 2000611, upload-time = "2025-04-23T18:32:04.152Z" }, + { url = "https://files.pythonhosted.org/packages/59/a7/63ef2fed1837d1121a894d0ce88439fe3e3b3e48c7543b2a4479eb99c2bd/pydantic_core-2.33.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:04a1a413977ab517154eebb2d326da71638271477d6ad87a769102f7c2488c56", size = 2107924, upload-time = "2025-04-23T18:32:06.129Z" }, + { url = "https://files.pythonhosted.org/packages/04/8f/2551964ef045669801675f1cfc3b0d74147f4901c3ffa42be2ddb1f0efc4/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:c8e7af2f4e0194c22b5b37205bfb293d166a7344a5b0d0eaccebc376546d77d5", size = 2063196, upload-time = "2025-04-23T18:32:08.178Z" }, + { url = "https://files.pythonhosted.org/packages/26/bd/d9602777e77fc6dbb0c7db9ad356e9a985825547dce5ad1d30ee04903918/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:5c92edd15cd58b3c2d34873597a1e20f13094f59cf88068adb18947df5455b4e", size = 2236389, upload-time = "2025-04-23T18:32:10.242Z" }, + { url = "https://files.pythonhosted.org/packages/42/db/0e950daa7e2230423ab342ae918a794964b053bec24ba8af013fc7c94846/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:65132b7b4a1c0beded5e057324b7e16e10910c106d43675d9bd87d4f38dde162", size = 2239223, upload-time = "2025-04-23T18:32:12.382Z" }, + { url = "https://files.pythonhosted.org/packages/58/4d/4f937099c545a8a17eb52cb67fe0447fd9a373b348ccfa9a87f141eeb00f/pydantic_core-2.33.2-cp313-cp313-win32.whl", hash = "sha256:52fb90784e0a242bb96ec53f42196a17278855b0f31ac7c3cc6f5c1ec4811849", size = 1900473, upload-time = "2025-04-23T18:32:14.034Z" }, + { url = "https://files.pythonhosted.org/packages/a0/75/4a0a9bac998d78d889def5e4ef2b065acba8cae8c93696906c3a91f310ca/pydantic_core-2.33.2-cp313-cp313-win_amd64.whl", hash = "sha256:c083a3bdd5a93dfe480f1125926afcdbf2917ae714bdb80b36d34318b2bec5d9", size = 1955269, upload-time = "2025-04-23T18:32:15.783Z" }, + { url = "https://files.pythonhosted.org/packages/f9/86/1beda0576969592f1497b4ce8e7bc8cbdf614c352426271b1b10d5f0aa64/pydantic_core-2.33.2-cp313-cp313-win_arm64.whl", hash = "sha256:e80b087132752f6b3d714f041ccf74403799d3b23a72722ea2e6ba2e892555b9", size = 1893921, upload-time = "2025-04-23T18:32:18.473Z" }, + { url = "https://files.pythonhosted.org/packages/a4/7d/e09391c2eebeab681df2b74bfe6c43422fffede8dc74187b2b0bf6fd7571/pydantic_core-2.33.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:61c18fba8e5e9db3ab908620af374db0ac1baa69f0f32df4f61ae23f15e586ac", size = 1806162, upload-time = "2025-04-23T18:32:20.188Z" }, + { url = "https://files.pythonhosted.org/packages/f1/3d/847b6b1fed9f8ed3bb95a9ad04fbd0b212e832d4f0f50ff4d9ee5a9f15cf/pydantic_core-2.33.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95237e53bb015f67b63c91af7518a62a8660376a6a0db19b89acc77a4d6199f5", size = 1981560, upload-time = "2025-04-23T18:32:22.354Z" }, + { url = "https://files.pythonhosted.org/packages/6f/9a/e73262f6c6656262b5fdd723ad90f518f579b7bc8622e43a942eec53c938/pydantic_core-2.33.2-cp313-cp313t-win_amd64.whl", hash = "sha256:c2fc0a768ef76c15ab9238afa6da7f69895bb5d1ee83aeea2e3509af4472d0b9", size = 1935777, upload-time = "2025-04-23T18:32:25.088Z" }, +] + +[[package]] +name = "pygments" +version = "2.19.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7c/2d/c3338d48ea6cc0feb8446d8e6937e1408088a72a39937982cc6111d17f84/pygments-2.19.1.tar.gz", hash = "sha256:61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f", size = 4968581, upload-time = "2025-01-06T17:26:30.443Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8a/0b/9fcc47d19c48b59121088dd6da2488a49d5f72dacf8262e2790a1d2c7d15/pygments-2.19.1-py3-none-any.whl", hash = "sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c", size = 1225293, upload-time = "2025-01-06T17:26:25.553Z" }, +] + +[[package]] +name = "pytest" +version = "8.4.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "iniconfig" }, + { name = "packaging" }, + { name = "pluggy" }, + { name = "pygments" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fb/aa/405082ce2749be5398045152251ac69c0f3578c7077efc53431303af97ce/pytest-8.4.0.tar.gz", hash = "sha256:14d920b48472ea0dbf68e45b96cd1ffda4705f33307dcc86c676c1b5104838a6", size = 1515232, upload-time = "2025-06-02T17:36:30.03Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2f/de/afa024cbe022b1b318a3d224125aa24939e99b4ff6f22e0ba639a2eaee47/pytest-8.4.0-py3-none-any.whl", hash = "sha256:f40f825768ad76c0977cbacdf1fd37c6f7a468e460ea6a0636078f8972d4517e", size = 363797, upload-time = "2025-06-02T17:36:27.859Z" }, +] + +[[package]] +name = "pytest-asyncio" +version = "1.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pytest" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d0/d4/14f53324cb1a6381bef29d698987625d80052bb33932d8e7cbf9b337b17c/pytest_asyncio-1.0.0.tar.gz", hash = "sha256:d15463d13f4456e1ead2594520216b225a16f781e144f8fdf6c5bb4667c48b3f", size = 46960, upload-time = "2025-05-26T04:54:40.484Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/30/05/ce271016e351fddc8399e546f6e23761967ee09c8c568bbfbecb0c150171/pytest_asyncio-1.0.0-py3-none-any.whl", hash = "sha256:4f024da9f1ef945e680dc68610b52550e36590a67fd31bb3b4943979a1f90ef3", size = 15976, upload-time = "2025-05-26T04:54:39.035Z" }, +] + +[[package]] +name = "pytest-cov" +version = "6.1.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "coverage" }, + { name = "pytest" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/25/69/5f1e57f6c5a39f81411b550027bf72842c4567ff5fd572bed1edc9e4b5d9/pytest_cov-6.1.1.tar.gz", hash = "sha256:46935f7aaefba760e716c2ebfbe1c216240b9592966e7da99ea8292d4d3e2a0a", size = 66857, upload-time = "2025-04-05T14:07:51.592Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/28/d0/def53b4a790cfb21483016430ed828f64830dd981ebe1089971cd10cab25/pytest_cov-6.1.1-py3-none-any.whl", hash = "sha256:bddf29ed2d0ab6f4df17b4c55b0a657287db8684af9c42ea546b21b1041b3dde", size = 23841, upload-time = "2025-04-05T14:07:49.641Z" }, +] + +[[package]] +name = "python-dotenv" +version = "1.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/88/2c/7bb1416c5620485aa793f2de31d3df393d3686aa8a8506d11e10e13c5baf/python_dotenv-1.1.0.tar.gz", hash = "sha256:41f90bc6f5f177fb41f53e87666db362025010eb28f60a01c9143bfa33a2b2d5", size = 39920, upload-time = "2025-03-25T10:14:56.835Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/18/98a99ad95133c6a6e2005fe89faedf294a748bd5dc803008059409ac9b1e/python_dotenv-1.1.0-py3-none-any.whl", hash = "sha256:d7c01d9e2293916c18baf562d95698754b0dbbb5e74d457c45d4f6561fb9d55d", size = 20256, upload-time = "2025-03-25T10:14:55.034Z" }, +] + +[[package]] +name = "pyyaml" +version = "6.0.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e", size = 130631, upload-time = "2024-08-06T20:33:50.674Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/86/0c/c581167fc46d6d6d7ddcfb8c843a4de25bdd27e4466938109ca68492292c/PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab", size = 183873, upload-time = "2024-08-06T20:32:25.131Z" }, + { url = "https://files.pythonhosted.org/packages/a8/0c/38374f5bb272c051e2a69281d71cba6fdb983413e6758b84482905e29a5d/PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725", size = 173302, upload-time = "2024-08-06T20:32:26.511Z" }, + { url = "https://files.pythonhosted.org/packages/c3/93/9916574aa8c00aa06bbac729972eb1071d002b8e158bd0e83a3b9a20a1f7/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5", size = 739154, upload-time = "2024-08-06T20:32:28.363Z" }, + { url = "https://files.pythonhosted.org/packages/95/0f/b8938f1cbd09739c6da569d172531567dbcc9789e0029aa070856f123984/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425", size = 766223, upload-time = "2024-08-06T20:32:30.058Z" }, + { url = "https://files.pythonhosted.org/packages/b9/2b/614b4752f2e127db5cc206abc23a8c19678e92b23c3db30fc86ab731d3bd/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476", size = 767542, upload-time = "2024-08-06T20:32:31.881Z" }, + { url = "https://files.pythonhosted.org/packages/d4/00/dd137d5bcc7efea1836d6264f049359861cf548469d18da90cd8216cf05f/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48", size = 731164, upload-time = "2024-08-06T20:32:37.083Z" }, + { url = "https://files.pythonhosted.org/packages/c9/1f/4f998c900485e5c0ef43838363ba4a9723ac0ad73a9dc42068b12aaba4e4/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b", size = 756611, upload-time = "2024-08-06T20:32:38.898Z" }, + { url = "https://files.pythonhosted.org/packages/df/d1/f5a275fdb252768b7a11ec63585bc38d0e87c9e05668a139fea92b80634c/PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4", size = 140591, upload-time = "2024-08-06T20:32:40.241Z" }, + { url = "https://files.pythonhosted.org/packages/0c/e8/4f648c598b17c3d06e8753d7d13d57542b30d56e6c2dedf9c331ae56312e/PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8", size = 156338, upload-time = "2024-08-06T20:32:41.93Z" }, + { url = "https://files.pythonhosted.org/packages/ef/e3/3af305b830494fa85d95f6d95ef7fa73f2ee1cc8ef5b495c7c3269fb835f/PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba", size = 181309, upload-time = "2024-08-06T20:32:43.4Z" }, + { url = "https://files.pythonhosted.org/packages/45/9f/3b1c20a0b7a3200524eb0076cc027a970d320bd3a6592873c85c92a08731/PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1", size = 171679, upload-time = "2024-08-06T20:32:44.801Z" }, + { url = "https://files.pythonhosted.org/packages/7c/9a/337322f27005c33bcb656c655fa78325b730324c78620e8328ae28b64d0c/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133", size = 733428, upload-time = "2024-08-06T20:32:46.432Z" }, + { url = "https://files.pythonhosted.org/packages/a3/69/864fbe19e6c18ea3cc196cbe5d392175b4cf3d5d0ac1403ec3f2d237ebb5/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484", size = 763361, upload-time = "2024-08-06T20:32:51.188Z" }, + { url = "https://files.pythonhosted.org/packages/04/24/b7721e4845c2f162d26f50521b825fb061bc0a5afcf9a386840f23ea19fa/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5", size = 759523, upload-time = "2024-08-06T20:32:53.019Z" }, + { url = "https://files.pythonhosted.org/packages/2b/b2/e3234f59ba06559c6ff63c4e10baea10e5e7df868092bf9ab40e5b9c56b6/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc", size = 726660, upload-time = "2024-08-06T20:32:54.708Z" }, + { url = "https://files.pythonhosted.org/packages/fe/0f/25911a9f080464c59fab9027482f822b86bf0608957a5fcc6eaac85aa515/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652", size = 751597, upload-time = "2024-08-06T20:32:56.985Z" }, + { url = "https://files.pythonhosted.org/packages/14/0d/e2c3b43bbce3cf6bd97c840b46088a3031085179e596d4929729d8d68270/PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183", size = 140527, upload-time = "2024-08-06T20:33:03.001Z" }, + { url = "https://files.pythonhosted.org/packages/fa/de/02b54f42487e3d3c6efb3f89428677074ca7bf43aae402517bc7cca949f3/PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", size = 156446, upload-time = "2024-08-06T20:33:04.33Z" }, +] + +[[package]] +name = "sniffio" +version = "1.3.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc", size = 20372, upload-time = "2024-02-25T23:20:04.057Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235, upload-time = "2024-02-25T23:20:01.196Z" }, +] + +[[package]] +name = "starlette" +version = "0.46.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ce/20/08dfcd9c983f6a6f4a1000d934b9e6d626cff8d2eeb77a89a68eef20a2b7/starlette-0.46.2.tar.gz", hash = "sha256:7f7361f34eed179294600af672f565727419830b54b7b084efe44bb82d2fccd5", size = 2580846, upload-time = "2025-04-13T13:56:17.942Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8b/0c/9d30a4ebeb6db2b25a841afbb80f6ef9a854fc3b41be131d249a977b4959/starlette-0.46.2-py3-none-any.whl", hash = "sha256:595633ce89f8ffa71a015caed34a5b2dc1c0cdb3f0f1fbd1e69339cf2abeec35", size = 72037, upload-time = "2025-04-13T13:56:16.21Z" }, +] + +[[package]] +name = "typing-extensions" +version = "4.14.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d1/bc/51647cd02527e87d05cb083ccc402f93e441606ff1f01739a62c8ad09ba5/typing_extensions-4.14.0.tar.gz", hash = "sha256:8676b788e32f02ab42d9e7c61324048ae4c6d844a399eebace3d4979d75ceef4", size = 107423, upload-time = "2025-06-02T14:52:11.399Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/69/e0/552843e0d356fbb5256d21449fa957fa4eff3bbc135a74a691ee70c7c5da/typing_extensions-4.14.0-py3-none-any.whl", hash = "sha256:a1514509136dd0b477638fc68d6a91497af5076466ad0fa6c338e44e359944af", size = 43839, upload-time = "2025-06-02T14:52:10.026Z" }, +] + +[[package]] +name = "typing-inspection" +version = "0.4.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f8/b1/0c11f5058406b3af7609f121aaa6b609744687f1d158b3c3a5bf4cc94238/typing_inspection-0.4.1.tar.gz", hash = "sha256:6ae134cc0203c33377d43188d4064e9b357dba58cff3185f22924610e70a9d28", size = 75726, upload-time = "2025-05-21T18:55:23.885Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/17/69/cd203477f944c353c31bade965f880aa1061fd6bf05ded0726ca845b6ff7/typing_inspection-0.4.1-py3-none-any.whl", hash = "sha256:389055682238f53b04f7badcb49b989835495a96700ced5dab2d8feae4b26f51", size = 14552, upload-time = "2025-05-21T18:55:22.152Z" }, +] + +[[package]] +name = "uvicorn" +version = "0.34.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click" }, + { name = "h11" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/de/ad/713be230bcda622eaa35c28f0d328c3675c371238470abdea52417f17a8e/uvicorn-0.34.3.tar.gz", hash = "sha256:35919a9a979d7a59334b6b10e05d77c1d0d574c50e0fc98b8b1a0f165708b55a", size = 76631, upload-time = "2025-06-01T07:48:17.531Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6d/0d/8adfeaa62945f90d19ddc461c55f4a50c258af7662d34b6a3d5d1f8646f6/uvicorn-0.34.3-py3-none-any.whl", hash = "sha256:16246631db62bdfbf069b0645177d6e8a77ba950cfedbfd093acef9444e4d885", size = 62431, upload-time = "2025-06-01T07:48:15.664Z" }, +] + +[package.optional-dependencies] +standard = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "httptools" }, + { name = "python-dotenv" }, + { name = "pyyaml" }, + { name = "uvloop", marker = "platform_python_implementation != 'PyPy' and sys_platform != 'cygwin' and sys_platform != 'win32'" }, + { name = "watchfiles" }, + { name = "websockets" }, +] + +[[package]] +name = "uvloop" +version = "0.21.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/af/c0/854216d09d33c543f12a44b393c402e89a920b1a0a7dc634c42de91b9cf6/uvloop-0.21.0.tar.gz", hash = "sha256:3bf12b0fda68447806a7ad847bfa591613177275d35b6724b1ee573faa3704e3", size = 2492741, upload-time = "2024-10-14T23:38:35.489Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8c/4c/03f93178830dc7ce8b4cdee1d36770d2f5ebb6f3d37d354e061eefc73545/uvloop-0.21.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:359ec2c888397b9e592a889c4d72ba3d6befba8b2bb01743f72fffbde663b59c", size = 1471284, upload-time = "2024-10-14T23:37:47.833Z" }, + { url = "https://files.pythonhosted.org/packages/43/3e/92c03f4d05e50f09251bd8b2b2b584a2a7f8fe600008bcc4523337abe676/uvloop-0.21.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f7089d2dc73179ce5ac255bdf37c236a9f914b264825fdaacaded6990a7fb4c2", size = 821349, upload-time = "2024-10-14T23:37:50.149Z" }, + { url = "https://files.pythonhosted.org/packages/a6/ef/a02ec5da49909dbbfb1fd205a9a1ac4e88ea92dcae885e7c961847cd51e2/uvloop-0.21.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:baa4dcdbd9ae0a372f2167a207cd98c9f9a1ea1188a8a526431eef2f8116cc8d", size = 4580089, upload-time = "2024-10-14T23:37:51.703Z" }, + { url = "https://files.pythonhosted.org/packages/06/a7/b4e6a19925c900be9f98bec0a75e6e8f79bb53bdeb891916609ab3958967/uvloop-0.21.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86975dca1c773a2c9864f4c52c5a55631038e387b47eaf56210f873887b6c8dc", size = 4693770, upload-time = "2024-10-14T23:37:54.122Z" }, + { url = "https://files.pythonhosted.org/packages/ce/0c/f07435a18a4b94ce6bd0677d8319cd3de61f3a9eeb1e5f8ab4e8b5edfcb3/uvloop-0.21.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:461d9ae6660fbbafedd07559c6a2e57cd553b34b0065b6550685f6653a98c1cb", size = 4451321, upload-time = "2024-10-14T23:37:55.766Z" }, + { url = "https://files.pythonhosted.org/packages/8f/eb/f7032be105877bcf924709c97b1bf3b90255b4ec251f9340cef912559f28/uvloop-0.21.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:183aef7c8730e54c9a3ee3227464daed66e37ba13040bb3f350bc2ddc040f22f", size = 4659022, upload-time = "2024-10-14T23:37:58.195Z" }, + { url = "https://files.pythonhosted.org/packages/3f/8d/2cbef610ca21539f0f36e2b34da49302029e7c9f09acef0b1c3b5839412b/uvloop-0.21.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:bfd55dfcc2a512316e65f16e503e9e450cab148ef11df4e4e679b5e8253a5281", size = 1468123, upload-time = "2024-10-14T23:38:00.688Z" }, + { url = "https://files.pythonhosted.org/packages/93/0d/b0038d5a469f94ed8f2b2fce2434a18396d8fbfb5da85a0a9781ebbdec14/uvloop-0.21.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:787ae31ad8a2856fc4e7c095341cccc7209bd657d0e71ad0dc2ea83c4a6fa8af", size = 819325, upload-time = "2024-10-14T23:38:02.309Z" }, + { url = "https://files.pythonhosted.org/packages/50/94/0a687f39e78c4c1e02e3272c6b2ccdb4e0085fda3b8352fecd0410ccf915/uvloop-0.21.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5ee4d4ef48036ff6e5cfffb09dd192c7a5027153948d85b8da7ff705065bacc6", size = 4582806, upload-time = "2024-10-14T23:38:04.711Z" }, + { url = "https://files.pythonhosted.org/packages/d2/19/f5b78616566ea68edd42aacaf645adbf71fbd83fc52281fba555dc27e3f1/uvloop-0.21.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3df876acd7ec037a3d005b3ab85a7e4110422e4d9c1571d4fc89b0fc41b6816", size = 4701068, upload-time = "2024-10-14T23:38:06.385Z" }, + { url = "https://files.pythonhosted.org/packages/47/57/66f061ee118f413cd22a656de622925097170b9380b30091b78ea0c6ea75/uvloop-0.21.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bd53ecc9a0f3d87ab847503c2e1552b690362e005ab54e8a48ba97da3924c0dc", size = 4454428, upload-time = "2024-10-14T23:38:08.416Z" }, + { url = "https://files.pythonhosted.org/packages/63/9a/0962b05b308494e3202d3f794a6e85abe471fe3cafdbcf95c2e8c713aabd/uvloop-0.21.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a5c39f217ab3c663dc699c04cbd50c13813e31d917642d459fdcec07555cc553", size = 4660018, upload-time = "2024-10-14T23:38:10.888Z" }, +] + +[[package]] +name = "watchfiles" +version = "1.0.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/03/e2/8ed598c42057de7aa5d97c472254af4906ff0a59a66699d426fc9ef795d7/watchfiles-1.0.5.tar.gz", hash = "sha256:b7529b5dcc114679d43827d8c35a07c493ad6f083633d573d81c660abc5979e9", size = 94537, upload-time = "2025-04-08T10:36:26.722Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2a/8c/4f0b9bdb75a1bfbd9c78fad7d8854369283f74fe7cf03eb16be77054536d/watchfiles-1.0.5-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:b5eb568c2aa6018e26da9e6c86f3ec3fd958cee7f0311b35c2630fa4217d17f2", size = 401511, upload-time = "2025-04-08T10:35:17.956Z" }, + { url = "https://files.pythonhosted.org/packages/dc/4e/7e15825def77f8bd359b6d3f379f0c9dac4eb09dd4ddd58fd7d14127179c/watchfiles-1.0.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0a04059f4923ce4e856b4b4e5e783a70f49d9663d22a4c3b3298165996d1377f", size = 392715, upload-time = "2025-04-08T10:35:19.202Z" }, + { url = "https://files.pythonhosted.org/packages/58/65/b72fb817518728e08de5840d5d38571466c1b4a3f724d190cec909ee6f3f/watchfiles-1.0.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e380c89983ce6e6fe2dd1e1921b9952fb4e6da882931abd1824c092ed495dec", size = 454138, upload-time = "2025-04-08T10:35:20.586Z" }, + { url = "https://files.pythonhosted.org/packages/3e/a4/86833fd2ea2e50ae28989f5950b5c3f91022d67092bfec08f8300d8b347b/watchfiles-1.0.5-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fe43139b2c0fdc4a14d4f8d5b5d967f7a2777fd3d38ecf5b1ec669b0d7e43c21", size = 458592, upload-time = "2025-04-08T10:35:21.87Z" }, + { url = "https://files.pythonhosted.org/packages/38/7e/42cb8df8be9a37e50dd3a818816501cf7a20d635d76d6bd65aae3dbbff68/watchfiles-1.0.5-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ee0822ce1b8a14fe5a066f93edd20aada932acfe348bede8aa2149f1a4489512", size = 487532, upload-time = "2025-04-08T10:35:23.143Z" }, + { url = "https://files.pythonhosted.org/packages/fc/fd/13d26721c85d7f3df6169d8b495fcac8ab0dc8f0945ebea8845de4681dab/watchfiles-1.0.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a0dbcb1c2d8f2ab6e0a81c6699b236932bd264d4cef1ac475858d16c403de74d", size = 522865, upload-time = "2025-04-08T10:35:24.702Z" }, + { url = "https://files.pythonhosted.org/packages/a1/0d/7f9ae243c04e96c5455d111e21b09087d0eeaf9a1369e13a01c7d3d82478/watchfiles-1.0.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a2014a2b18ad3ca53b1f6c23f8cd94a18ce930c1837bd891262c182640eb40a6", size = 499887, upload-time = "2025-04-08T10:35:25.969Z" }, + { url = "https://files.pythonhosted.org/packages/8e/0f/a257766998e26aca4b3acf2ae97dff04b57071e991a510857d3799247c67/watchfiles-1.0.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10f6ae86d5cb647bf58f9f655fcf577f713915a5d69057a0371bc257e2553234", size = 454498, upload-time = "2025-04-08T10:35:27.353Z" }, + { url = "https://files.pythonhosted.org/packages/81/79/8bf142575a03e0af9c3d5f8bcae911ee6683ae93a625d349d4ecf4c8f7df/watchfiles-1.0.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:1a7bac2bde1d661fb31f4d4e8e539e178774b76db3c2c17c4bb3e960a5de07a2", size = 630663, upload-time = "2025-04-08T10:35:28.685Z" }, + { url = "https://files.pythonhosted.org/packages/f1/80/abe2e79f610e45c63a70d271caea90c49bbf93eb00fa947fa9b803a1d51f/watchfiles-1.0.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ab626da2fc1ac277bbf752446470b367f84b50295264d2d313e28dc4405d663", size = 625410, upload-time = "2025-04-08T10:35:30.42Z" }, + { url = "https://files.pythonhosted.org/packages/91/6f/bc7fbecb84a41a9069c2c6eb6319f7f7df113adf113e358c57fc1aff7ff5/watchfiles-1.0.5-cp312-cp312-win32.whl", hash = "sha256:9f4571a783914feda92018ef3901dab8caf5b029325b5fe4558c074582815249", size = 277965, upload-time = "2025-04-08T10:35:32.023Z" }, + { url = "https://files.pythonhosted.org/packages/99/a5/bf1c297ea6649ec59e935ab311f63d8af5faa8f0b86993e3282b984263e3/watchfiles-1.0.5-cp312-cp312-win_amd64.whl", hash = "sha256:360a398c3a19672cf93527f7e8d8b60d8275119c5d900f2e184d32483117a705", size = 291693, upload-time = "2025-04-08T10:35:33.225Z" }, + { url = "https://files.pythonhosted.org/packages/7f/7b/fd01087cc21db5c47e5beae507b87965db341cce8a86f9eb12bf5219d4e0/watchfiles-1.0.5-cp312-cp312-win_arm64.whl", hash = "sha256:1a2902ede862969077b97523987c38db28abbe09fb19866e711485d9fbf0d417", size = 283287, upload-time = "2025-04-08T10:35:34.568Z" }, + { url = "https://files.pythonhosted.org/packages/c7/62/435766874b704f39b2fecd8395a29042db2b5ec4005bd34523415e9bd2e0/watchfiles-1.0.5-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:0b289572c33a0deae62daa57e44a25b99b783e5f7aed81b314232b3d3c81a11d", size = 401531, upload-time = "2025-04-08T10:35:35.792Z" }, + { url = "https://files.pythonhosted.org/packages/6e/a6/e52a02c05411b9cb02823e6797ef9bbba0bfaf1bb627da1634d44d8af833/watchfiles-1.0.5-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a056c2f692d65bf1e99c41045e3bdcaea3cb9e6b5a53dcaf60a5f3bd95fc9763", size = 392417, upload-time = "2025-04-08T10:35:37.048Z" }, + { url = "https://files.pythonhosted.org/packages/3f/53/c4af6819770455932144e0109d4854437769672d7ad897e76e8e1673435d/watchfiles-1.0.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b9dca99744991fc9850d18015c4f0438865414e50069670f5f7eee08340d8b40", size = 453423, upload-time = "2025-04-08T10:35:38.357Z" }, + { url = "https://files.pythonhosted.org/packages/cb/d1/8e88df58bbbf819b8bc5cfbacd3c79e01b40261cad0fc84d1e1ebd778a07/watchfiles-1.0.5-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:894342d61d355446d02cd3988a7326af344143eb33a2fd5d38482a92072d9563", size = 458185, upload-time = "2025-04-08T10:35:39.708Z" }, + { url = "https://files.pythonhosted.org/packages/ff/70/fffaa11962dd5429e47e478a18736d4e42bec42404f5ee3b92ef1b87ad60/watchfiles-1.0.5-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ab44e1580924d1ffd7b3938e02716d5ad190441965138b4aa1d1f31ea0877f04", size = 486696, upload-time = "2025-04-08T10:35:41.469Z" }, + { url = "https://files.pythonhosted.org/packages/39/db/723c0328e8b3692d53eb273797d9a08be6ffb1d16f1c0ba2bdbdc2a3852c/watchfiles-1.0.5-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d6f9367b132078b2ceb8d066ff6c93a970a18c3029cea37bfd7b2d3dd2e5db8f", size = 522327, upload-time = "2025-04-08T10:35:43.289Z" }, + { url = "https://files.pythonhosted.org/packages/cd/05/9fccc43c50c39a76b68343484b9da7b12d42d0859c37c61aec018c967a32/watchfiles-1.0.5-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f2e55a9b162e06e3f862fb61e399fe9f05d908d019d87bf5b496a04ef18a970a", size = 499741, upload-time = "2025-04-08T10:35:44.574Z" }, + { url = "https://files.pythonhosted.org/packages/23/14/499e90c37fa518976782b10a18b18db9f55ea73ca14641615056f8194bb3/watchfiles-1.0.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0125f91f70e0732a9f8ee01e49515c35d38ba48db507a50c5bdcad9503af5827", size = 453995, upload-time = "2025-04-08T10:35:46.336Z" }, + { url = "https://files.pythonhosted.org/packages/61/d9/f75d6840059320df5adecd2c687fbc18960a7f97b55c300d20f207d48aef/watchfiles-1.0.5-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:13bb21f8ba3248386337c9fa51c528868e6c34a707f729ab041c846d52a0c69a", size = 629693, upload-time = "2025-04-08T10:35:48.161Z" }, + { url = "https://files.pythonhosted.org/packages/fc/17/180ca383f5061b61406477218c55d66ec118e6c0c51f02d8142895fcf0a9/watchfiles-1.0.5-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:839ebd0df4a18c5b3c1b890145b5a3f5f64063c2a0d02b13c76d78fe5de34936", size = 624677, upload-time = "2025-04-08T10:35:49.65Z" }, + { url = "https://files.pythonhosted.org/packages/bf/15/714d6ef307f803f236d69ee9d421763707899d6298d9f3183e55e366d9af/watchfiles-1.0.5-cp313-cp313-win32.whl", hash = "sha256:4a8ec1e4e16e2d5bafc9ba82f7aaecfeec990ca7cd27e84fb6f191804ed2fcfc", size = 277804, upload-time = "2025-04-08T10:35:51.093Z" }, + { url = "https://files.pythonhosted.org/packages/a8/b4/c57b99518fadf431f3ef47a610839e46e5f8abf9814f969859d1c65c02c7/watchfiles-1.0.5-cp313-cp313-win_amd64.whl", hash = "sha256:f436601594f15bf406518af922a89dcaab416568edb6f65c4e5bbbad1ea45c11", size = 291087, upload-time = "2025-04-08T10:35:52.458Z" }, +] + +[[package]] +name = "websockets" +version = "15.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/21/e6/26d09fab466b7ca9c7737474c52be4f76a40301b08362eb2dbc19dcc16c1/websockets-15.0.1.tar.gz", hash = "sha256:82544de02076bafba038ce055ee6412d68da13ab47f0c60cab827346de828dee", size = 177016, upload-time = "2025-03-05T20:03:41.606Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/51/6b/4545a0d843594f5d0771e86463606a3988b5a09ca5123136f8a76580dd63/websockets-15.0.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:3e90baa811a5d73f3ca0bcbf32064d663ed81318ab225ee4f427ad4e26e5aff3", size = 175437, upload-time = "2025-03-05T20:02:16.706Z" }, + { url = "https://files.pythonhosted.org/packages/f4/71/809a0f5f6a06522af902e0f2ea2757f71ead94610010cf570ab5c98e99ed/websockets-15.0.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:592f1a9fe869c778694f0aa806ba0374e97648ab57936f092fd9d87f8bc03665", size = 173096, upload-time = "2025-03-05T20:02:18.832Z" }, + { url = "https://files.pythonhosted.org/packages/3d/69/1a681dd6f02180916f116894181eab8b2e25b31e484c5d0eae637ec01f7c/websockets-15.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0701bc3cfcb9164d04a14b149fd74be7347a530ad3bbf15ab2c678a2cd3dd9a2", size = 173332, upload-time = "2025-03-05T20:02:20.187Z" }, + { url = "https://files.pythonhosted.org/packages/a6/02/0073b3952f5bce97eafbb35757f8d0d54812b6174ed8dd952aa08429bcc3/websockets-15.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8b56bdcdb4505c8078cb6c7157d9811a85790f2f2b3632c7d1462ab5783d215", size = 183152, upload-time = "2025-03-05T20:02:22.286Z" }, + { url = "https://files.pythonhosted.org/packages/74/45/c205c8480eafd114b428284840da0b1be9ffd0e4f87338dc95dc6ff961a1/websockets-15.0.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0af68c55afbd5f07986df82831c7bff04846928ea8d1fd7f30052638788bc9b5", size = 182096, upload-time = "2025-03-05T20:02:24.368Z" }, + { url = "https://files.pythonhosted.org/packages/14/8f/aa61f528fba38578ec553c145857a181384c72b98156f858ca5c8e82d9d3/websockets-15.0.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:64dee438fed052b52e4f98f76c5790513235efaa1ef7f3f2192c392cd7c91b65", size = 182523, upload-time = "2025-03-05T20:02:25.669Z" }, + { url = "https://files.pythonhosted.org/packages/ec/6d/0267396610add5bc0d0d3e77f546d4cd287200804fe02323797de77dbce9/websockets-15.0.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:d5f6b181bb38171a8ad1d6aa58a67a6aa9d4b38d0f8c5f496b9e42561dfc62fe", size = 182790, upload-time = "2025-03-05T20:02:26.99Z" }, + { url = "https://files.pythonhosted.org/packages/02/05/c68c5adbf679cf610ae2f74a9b871ae84564462955d991178f95a1ddb7dd/websockets-15.0.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:5d54b09eba2bada6011aea5375542a157637b91029687eb4fdb2dab11059c1b4", size = 182165, upload-time = "2025-03-05T20:02:30.291Z" }, + { url = "https://files.pythonhosted.org/packages/29/93/bb672df7b2f5faac89761cb5fa34f5cec45a4026c383a4b5761c6cea5c16/websockets-15.0.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3be571a8b5afed347da347bfcf27ba12b069d9d7f42cb8c7028b5e98bbb12597", size = 182160, upload-time = "2025-03-05T20:02:31.634Z" }, + { url = "https://files.pythonhosted.org/packages/ff/83/de1f7709376dc3ca9b7eeb4b9a07b4526b14876b6d372a4dc62312bebee0/websockets-15.0.1-cp312-cp312-win32.whl", hash = "sha256:c338ffa0520bdb12fbc527265235639fb76e7bc7faafbb93f6ba80d9c06578a9", size = 176395, upload-time = "2025-03-05T20:02:33.017Z" }, + { url = "https://files.pythonhosted.org/packages/7d/71/abf2ebc3bbfa40f391ce1428c7168fb20582d0ff57019b69ea20fa698043/websockets-15.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:fcd5cf9e305d7b8338754470cf69cf81f420459dbae8a3b40cee57417f4614a7", size = 176841, upload-time = "2025-03-05T20:02:34.498Z" }, + { url = "https://files.pythonhosted.org/packages/cb/9f/51f0cf64471a9d2b4d0fc6c534f323b664e7095640c34562f5182e5a7195/websockets-15.0.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ee443ef070bb3b6ed74514f5efaa37a252af57c90eb33b956d35c8e9c10a1931", size = 175440, upload-time = "2025-03-05T20:02:36.695Z" }, + { url = "https://files.pythonhosted.org/packages/8a/05/aa116ec9943c718905997412c5989f7ed671bc0188ee2ba89520e8765d7b/websockets-15.0.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:5a939de6b7b4e18ca683218320fc67ea886038265fd1ed30173f5ce3f8e85675", size = 173098, upload-time = "2025-03-05T20:02:37.985Z" }, + { url = "https://files.pythonhosted.org/packages/ff/0b/33cef55ff24f2d92924923c99926dcce78e7bd922d649467f0eda8368923/websockets-15.0.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:746ee8dba912cd6fc889a8147168991d50ed70447bf18bcda7039f7d2e3d9151", size = 173329, upload-time = "2025-03-05T20:02:39.298Z" }, + { url = "https://files.pythonhosted.org/packages/31/1d/063b25dcc01faa8fada1469bdf769de3768b7044eac9d41f734fd7b6ad6d/websockets-15.0.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:595b6c3969023ecf9041b2936ac3827e4623bfa3ccf007575f04c5a6aa318c22", size = 183111, upload-time = "2025-03-05T20:02:40.595Z" }, + { url = "https://files.pythonhosted.org/packages/93/53/9a87ee494a51bf63e4ec9241c1ccc4f7c2f45fff85d5bde2ff74fcb68b9e/websockets-15.0.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3c714d2fc58b5ca3e285461a4cc0c9a66bd0e24c5da9911e30158286c9b5be7f", size = 182054, upload-time = "2025-03-05T20:02:41.926Z" }, + { url = "https://files.pythonhosted.org/packages/ff/b2/83a6ddf56cdcbad4e3d841fcc55d6ba7d19aeb89c50f24dd7e859ec0805f/websockets-15.0.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0f3c1e2ab208db911594ae5b4f79addeb3501604a165019dd221c0bdcabe4db8", size = 182496, upload-time = "2025-03-05T20:02:43.304Z" }, + { url = "https://files.pythonhosted.org/packages/98/41/e7038944ed0abf34c45aa4635ba28136f06052e08fc2168520bb8b25149f/websockets-15.0.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:229cf1d3ca6c1804400b0a9790dc66528e08a6a1feec0d5040e8b9eb14422375", size = 182829, upload-time = "2025-03-05T20:02:48.812Z" }, + { url = "https://files.pythonhosted.org/packages/e0/17/de15b6158680c7623c6ef0db361da965ab25d813ae54fcfeae2e5b9ef910/websockets-15.0.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:756c56e867a90fb00177d530dca4b097dd753cde348448a1012ed6c5131f8b7d", size = 182217, upload-time = "2025-03-05T20:02:50.14Z" }, + { url = "https://files.pythonhosted.org/packages/33/2b/1f168cb6041853eef0362fb9554c3824367c5560cbdaad89ac40f8c2edfc/websockets-15.0.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:558d023b3df0bffe50a04e710bc87742de35060580a293c2a984299ed83bc4e4", size = 182195, upload-time = "2025-03-05T20:02:51.561Z" }, + { url = "https://files.pythonhosted.org/packages/86/eb/20b6cdf273913d0ad05a6a14aed4b9a85591c18a987a3d47f20fa13dcc47/websockets-15.0.1-cp313-cp313-win32.whl", hash = "sha256:ba9e56e8ceeeedb2e080147ba85ffcd5cd0711b89576b83784d8605a7df455fa", size = 176393, upload-time = "2025-03-05T20:02:53.814Z" }, + { url = "https://files.pythonhosted.org/packages/1b/6c/c65773d6cab416a64d191d6ee8a8b1c68a09970ea6909d16965d26bfed1e/websockets-15.0.1-cp313-cp313-win_amd64.whl", hash = "sha256:e09473f095a819042ecb2ab9465aee615bd9c2028e4ef7d933600a8401c79561", size = 176837, upload-time = "2025-03-05T20:02:55.237Z" }, + { url = "https://files.pythonhosted.org/packages/fa/a8/5b41e0da817d64113292ab1f8247140aac61cbf6cfd085d6a0fa77f4984f/websockets-15.0.1-py3-none-any.whl", hash = "sha256:f7a866fbc1e97b5c617ee4116daaa09b722101d4a3c170c787450ba409f9736f", size = 169743, upload-time = "2025-03-05T20:03:39.41Z" }, +] diff --git a/test-docker.sh b/test-docker.sh new file mode 100755 index 0000000000000000000000000000000000000000..67b52891631dd599abbedfec374a84d1261532fc --- /dev/null +++ b/test-docker.sh @@ -0,0 +1,161 @@ +#!/bin/bash + +# Test script for LeRobot Arena Transport Server Docker setup +set -e + +echo "๐Ÿค– Testing LeRobot Arena Transport Server Docker Setup" +echo "==================================================" + +# Colors for output +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +NC='\033[0m' # No Color + +# Configuration +CONTAINER_NAME="lerobot-arena-transport-test" +PORT=7860 +MAX_WAIT=60 + +# Cleanup function +cleanup() { + echo -e "\n${YELLOW}Cleaning up...${NC}" + docker stop $CONTAINER_NAME 2>/dev/null || true + docker rm $CONTAINER_NAME 2>/dev/null || true +} + +# Set trap to cleanup on exit +trap cleanup EXIT + +# Step 1: Build the Docker image +echo -e "\n${YELLOW}Step 1: Building Docker image...${NC}" +docker build -t lerobot-arena-transport . || { + echo -e "${RED}โŒ Failed to build Docker image${NC}" + exit 1 +} +echo -e "${GREEN}โœ… Docker image built successfully${NC}" + +# Step 2: Start the container +echo -e "\n${YELLOW}Step 2: Starting container...${NC}" +docker run -d \ + --name $CONTAINER_NAME \ + -p $PORT:7860 \ + -e SERVE_FRONTEND=true \ + lerobot-arena-transport || { + echo -e "${RED}โŒ Failed to start container${NC}" + exit 1 +} +echo -e "${GREEN}โœ… Container started successfully${NC}" + +# Step 3: Wait for container to be ready +echo -e "\n${YELLOW}Step 3: Waiting for container to be ready...${NC}" +COUNTER=0 +while [ $COUNTER -lt $MAX_WAIT ]; do + if curl -s http://localhost:$PORT/health > /dev/null 2>&1; then + echo -e "${GREEN}โœ… Container is ready!${NC}" + break + fi + echo "Waiting... ($COUNTER/$MAX_WAIT)" + sleep 2 + COUNTER=$((COUNTER + 2)) +done + +if [ $COUNTER -ge $MAX_WAIT ]; then + echo -e "${RED}โŒ Container failed to start within $MAX_WAIT seconds${NC}" + echo "Container logs:" + docker logs $CONTAINER_NAME + exit 1 +fi + +# Step 4: Test endpoints +echo -e "\n${YELLOW}Step 4: Testing endpoints...${NC}" + +# Test health endpoint +echo "Testing /health endpoint..." +HEALTH_RESPONSE=$(curl -s http://localhost:$PORT/health) +if echo "$HEALTH_RESPONSE" | grep -q "healthy"; then + echo -e "${GREEN}โœ… /health endpoint working${NC}" +else + echo -e "${RED}โŒ /health endpoint failed${NC}" + echo "Response: $HEALTH_RESPONSE" + exit 1 +fi + +# Test API health endpoint +echo "Testing /api/health endpoint..." +API_HEALTH_RESPONSE=$(curl -s http://localhost:$PORT/api/health) +if echo "$API_HEALTH_RESPONSE" | grep -q "healthy"; then + echo -e "${GREEN}โœ… /api/health endpoint working${NC}" +else + echo -e "${RED}โŒ /api/health endpoint failed${NC}" + echo "Response: $API_HEALTH_RESPONSE" + exit 1 +fi + +# Test frontend +echo "Testing frontend..." +FRONTEND_RESPONSE=$(curl -s http://localhost:$PORT/) +if echo "$FRONTEND_RESPONSE" | grep -q "LeRobot Arena"; then + echo -e "${GREEN}โœ… Frontend is served correctly${NC}" +else + echo -e "${RED}โŒ Frontend test failed${NC}" + echo "Response preview: $(echo "$FRONTEND_RESPONSE" | head -5)" + exit 1 +fi + +# Test API documentation +echo "Testing API documentation..." +DOCS_RESPONSE=$(curl -s http://localhost:$PORT/api/docs) +if echo "$DOCS_RESPONSE" | grep -q "swagger"; then + echo -e "${GREEN}โœ… API documentation accessible${NC}" +else + echo -e "${RED}โŒ API documentation test failed${NC}" + exit 1 +fi + +# Test robotics API +echo "Testing robotics API..." +ROBOTICS_RESPONSE=$(curl -s http://localhost:$PORT/api/robotics/rooms) +if [ $? -eq 0 ]; then + echo -e "${GREEN}โœ… Robotics API accessible${NC}" +else + echo -e "${RED}โŒ Robotics API test failed${NC}" + exit 1 +fi + +# Test video API +echo "Testing video API..." +VIDEO_RESPONSE=$(curl -s http://localhost:$PORT/api/video/rooms) +if [ $? -eq 0 ]; then + echo -e "${GREEN}โœ… Video API accessible${NC}" +else + echo -e "${RED}โŒ Video API test failed${NC}" + exit 1 +fi + +# Step 5: Show container information +echo -e "\n${YELLOW}Step 5: Container information${NC}" +echo "Container status:" +docker ps | grep $CONTAINER_NAME + +echo -e "\nContainer resource usage:" +docker stats --no-stream $CONTAINER_NAME + +# Step 6: Success summary +echo -e "\n${GREEN}๐ŸŽ‰ All tests passed successfully!${NC}" +echo "==================================================" +echo "โœ… Docker image builds correctly" +echo "โœ… Container starts and runs" +echo "โœ… Health endpoints respond correctly" +echo "โœ… Frontend is served" +echo "โœ… API documentation is accessible" +echo "โœ… Robotics API is working" +echo "โœ… Video API is working" +echo "" +echo "๐ŸŒ Access the application at: http://localhost:$PORT" +echo "๐Ÿ“š API docs available at: http://localhost:$PORT/api/docs" +echo "" +echo "To manually test:" +echo " docker run -p 7860:7860 -e SERVE_FRONTEND=true lerobot-arena-transport" +echo "" +echo -e "${YELLOW}Container will be cleaned up automatically.${NC}" \ No newline at end of file