This commit is contained in:
rattatwinko
2025-05-27 17:20:56 +02:00
parent cceb0d44e8
commit a95b78bd8f
25 changed files with 965 additions and 357 deletions

View File

@@ -1,65 +1,88 @@
# Java Security Camera App
# Java Security Camera Application (JSCA)
A Java desktop application for viewing live streams from both USB webcams and network MJPEG cameras.
A Java-based desktop application for managing and viewing multiple camera feeds simultaneously. Supports both local webcams and network cameras.
## Features
- View live streams from USB webcams
- Connect to network MJPEG cameras (e.g., DroidCamX)
- Take snapshots of the current view
- Simple and intuitive user interface
- Support for multiple camera sources
- 🎥 Support for local webcams and network cameras (MJPEG streams)
- 📺 2x2 grid layout for viewing up to 4 camera feeds
- 💾 Save and load camera configurations
- 🔐 Basic authentication for network cameras
- 🖱️ Click-to-select camera panels
- 🎛️ Simple and intuitive menu interface
## Requirements
- Java 11 or higher
- Maven
- USB webcam (for local camera support)
- Network camera with MJPEG stream support (for network camera support)
- Maven 3.6 or higher
- Connected webcam(s) for local camera support
- Network camera URLs (if using IP cameras)
## Building the Application
1. Clone the repository
2. Navigate to the project directory
3. Build with Maven:
1. Clone the repository:
```bash
git clone https://github.com/yourusername/jsca.git
cd jsca
```
2. Build with Maven:
```bash
mvn clean package
```
This will create an executable JAR file in the `target` directory.
## Running the Application
After building, run the application using:
Run the application using:
```bash
java -jar target/security-camera-app-1.0-SNAPSHOT-jar-with-dependencies.jar
```
## Usage
## Usage Instructions
1. Launch the application
2. Select the camera source from the dropdown:
- USB Camera: Uses your computer's webcam
- Network Camera: Connects to an MJPEG stream URL
3. Click "Start" to begin streaming
4. Use the "Snapshot" button to capture the current frame
5. Click "Stop" to end the stream
1. **Adding Cameras**:
- Select an empty camera panel by clicking on it
- Go to Camera -> Add Local Camera to add a webcam
- Go to Camera -> Add Network Camera to add an IP camera
### Using with Network Cameras
2. **Managing Cameras**:
- Click on a camera panel to select it
- Use Camera -> Remove Camera to stop and remove the selected camera
- Use Camera -> Restart Camera to restart the selected camera feed
For network cameras, you'll need to provide the MJPEG stream URL. Common formats include:
- DroidCamX: `http://[IP_ADDRESS]:4747/video`
- Generic IP Camera: `http://[IP_ADDRESS]/video` or `http://[IP_ADDRESS]/mjpeg`
3. **Saving/Loading Configurations**:
- File -> Save Setup to save your current camera configuration
- File -> Load Setup to restore a previously saved configuration
## Network Camera URLs
For network cameras, you'll need the MJPEG stream URL. Common formats include:
- Generic IP Camera: `http://camera-ip:port/video`
- DroidCam: `http://phone-ip:4747/video`
## Troubleshooting
1. No webcam detected:
- Ensure your webcam is properly connected
- Check if other applications are using the webcam
1. **No webcams detected**:
- Check if your webcam is properly connected
- Ensure no other application is using the webcam
2. Network camera not connecting:
2. **Network camera not connecting**:
- Verify the camera URL is correct
- Ensure the camera is on the same network
- Check if the camera supports MJPEG streaming
- Check if the camera is accessible from your network
- Ensure proper credentials are provided if required
3. **Performance issues**:
- Try reducing the number of active cameras
- Check your network bandwidth for IP cameras
- Ensure your computer meets the minimum requirements
## License
This project is open source and available under the MIT License.
This project is licensed under the MIT License - see the LICENSE file for details.
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.