Audio follow video service using websocket connections. A test websocket server is included.
- WebSocket-based audio-video synchronization
- Real-time communication protocols
- Built-in test server for development
- Docker support for easy deployment
- RESTful API with Fastify framework
- Node.js >= 18.15.0 (LTS)
- npm or yarn package manager
Clone the repository and install dependencies:
git clone <repository-url>
cd afv-backend
npm installStart the AFV Backend server:
npm startStart the server in development mode with hot reload:
npm run devThe project includes a WebSocket test server for development:
npm run dev-serverOnce the WebSocket server is running, establish a connection and press keys 0-9 to send test messages. You can customize these messages by editing src/server/messages.ts.
Build and run using Docker:
# Build image
docker build -t afv-backend .
# Run with docker-compose
docker-compose upThe project includes a GitHub Action workflow called "Trigger build of Docker Image" for automated builds and deployments.
npm test- Run testsnpm run lint- Run ESLintnpm run typecheck- Run TypeScript type checkingnpm run pretty- Check code formatting
src/
├── api/ # API server implementation
├── server/ # WebSocket test server
└── ...
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0) - see the LICENSE file for details.
You are free to:
- Use, modify, and distribute the software
- Create derivative works
- Use it for personal, educational, or research purposes
Important: The AGPL-3.0 license requires that if you distribute this software or run it as a network service, you must also make the source code (including any modifications) available under the same license terms.
For commercial licensing or if the AGPL-3.0 terms don't meet your needs, please contact [email protected].
Join our community on Slack where you can post questions regarding any of our open source projects.
Eyevinn's consulting services include:
- Further development of this component
- Customization and integration into your platform
- Support and maintenance agreements
Contact [email protected] for more information.
Eyevinn Technology is an independent consultant firm specialized in video and streaming. We are not commercially tied to any platform or technology vendor, allowing us to provide unbiased solutions.
As part of our commitment to innovation, we develop proof-of-concepts and open source tools. We share our knowledge through technical blogs and by open sourcing our code.
Interested in working with us? Contact us at [email protected]!