Discover and test RTSP camera streams on your network
Project description
RTSP Network Scanner
Discover and test RTSP camera streams on your network.
What is it?
A Python tool to find RTSP cameras, test streams, and discover channels. Perfect for network admins, security professionals, and anyone working with IP cameras.
Installation
pip install rtsp-network-scanner
Quick Start
# Find cameras on your network
rtsp-scanner scan-network 192.168.1.0/24
# Test a specific camera
rtsp-scanner test-url rtsp://192.168.1.100:554/stream
# Discover channels on a camera
rtsp-scanner quick-scan 192.168.1.100
# Get help
rtsp-scanner --help
Features
- 🔍 Network Scanning - Find RTSP cameras on any network
- ✅ URL Testing - Validate and test RTSP stream URLs
- 📺 Channel Discovery - Auto-detect available camera channels
- 🔐 Credential Testing - Test common default passwords
- ⚡ Fast - Multi-threaded scanning
- 📊 Export - Save results as JSON or CSV
- 🐍 Python API - Use it in your own scripts
Usage Examples
Scan Network for Cameras
rtsp-scanner scan-network 192.168.1.0/24
Test RTSP URL
rtsp-scanner test-url rtsp://192.168.1.100:554/stream --username admin --password admin
Find Channels
rtsp-scanner scan-channels 192.168.1.100
Export Results
rtsp-scanner scan-network 192.168.1.0/24 --output results.json
Debug Mode
rtsp-scanner scan-network 192.168.1.0/24 --debug
Python API
from rtsp_scanner.core.port_scanner import PortScanner
# Scan network
scanner = PortScanner()
results = scanner.scan_network('192.168.1.0/24')
print(f"Found {len(results)} cameras")
from rtsp_scanner.core.rtsp_tester import RTSPTester
# Test URL
tester = RTSPTester()
result = tester.test_rtsp_connection('rtsp://192.168.1.100:554/stream')
print(f"Reachable: {result['reachable']}")
from rtsp_scanner.core.channel_scanner import ChannelScanner
# Find channels
scanner = ChannelScanner()
channels = scanner.quick_scan('192.168.1.100')
for ch in channels:
print(f"Found: {ch['path']}")
Commands
| Command | Description |
|---|---|
scan-network |
Scan network for RTSP ports |
scan-ports |
Scan single host |
test-url |
Test RTSP URL |
validate-url |
Validate URL format |
scan-channels |
Discover camera channels |
quick-scan |
Fast channel scan |
test-credentials |
Test default passwords |
Common Options
--debug # Enable debug output
--output FILE # Save to JSON/CSV
--timeout SECONDS # Connection timeout
--workers NUM # Concurrent threads
Supported Cameras
Works with most IP cameras using RTSP:
- Hikvision
- Dahua
- Axis
- Foscam
- Amcrest
- TP-Link
- Generic ONVIF cameras
Requirements
- Python 3.7+
- No external dependencies
Security Notice
⚠️ Only use on networks you own or have permission to test.
This tool is for:
- Testing your own cameras
- Authorized security assessments
- Network troubleshooting
- Educational purposes
License
MIT License - see LICENSE file
Links
- GitHub: https://github.com/sssanjaya/rtsp-network-scanner
- PyPI: https://pypi.org/project/rtsp-network-scanner/
- Issues: https://github.com/sssanjaya/rtsp-network-scanner/issues
Contributing
Contributions welcome! Please feel free to submit a Pull Request.
Author
Sanjay H - contact@sanjayhona.com.np
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rtsp_network_scanner-1.0.2-py3-none-any.whl.
File metadata
- Download URL: rtsp_network_scanner-1.0.2-py3-none-any.whl
- Upload date:
- Size: 17.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
23ad764271e0109b269c4467f5f5969f1061dd6e87d73df7f0ed9b59686a4fce
|
|
| MD5 |
94816effd20985bf442cf4cafd1878aa
|
|
| BLAKE2b-256 |
e2ab8c7b756951b1fe0ee21b8712c9632b29adecc90b475762a5c9a2cea82a16
|