A desktop application for receiving and viewing live streaming from DJI drones on PC. Receives RTMP streaming from DJI Fly app and provides stable viewing experience. This application is designed specifically for DJI devices and RTMP streaming.
- π― Key Features
- π Quick Start
- π Detailed Usage
- π οΈ System Requirements
- π± Tested Devices
- π§ Troubleshooting
- ποΈ Development Information
- π‘ RTMP Stream Reception: Receives streaming from DJI Fly app and DJI devices
- π₯ Quality Streaming: Multiple quality modes for optimal viewing experience
- π± DJI Device Support: Detailed connection guide for all DJI devices included
- π Web UI: User-friendly interface with real-time controls
- β‘ Resolution Conversion: Real-time resolution adjustment and optimization
- π§ H.264 Encoding: Fixed H.264 encoding errors for stable streaming
- π€ DJI Device Support: Optimized for DJI Neo and O4 Air Unit
- Download the latest
.dmgfile from Releases - Choose the correct version for your Mac:
- Intel Mac:
DJI Fly Stream Viewer-[version].dmg - Apple Silicon (M1/M2/M3/M4):
DJI Fly Stream Viewer-[version]-arm64.dmg
- Intel Mac:
- Double-click the downloaded
.dmgfile - Drag "DJI Fly Stream Viewer" to the Applications folder
- Launch "DJI Fly Stream Viewer" from Applications
- Download
DJI Fly Stream Viewer Setup [version].exefrom Releases - Double-click the downloaded
.exefile - Follow the installation wizard
- Launch "DJI Fly Stream Viewer" from Desktop or Start Menu
- Install DJI Fly app on your smartphone
- Connect DJI device to smartphone with USB-C cable
- Power on DJI device
Step 1: Launch DJI Fly App
- Launch DJI Fly app and press the Connection Guide button when it appears
Step 2: Open Camera View
- Press the Camera View button in the top right corner
Step 3: Access Settings
- When drone preview appears, press the [...] button in the top right corner
Step 4: Select Live Streaming
- Click the Transmission tab and select Live Streaming Platforms
Step 5: Choose RTMP
- Press RTMP to select custom RTMP streaming
Step 6: Enter RTMP URL
- Enter the RTMP URL shown on this app's main screen:
rtmp://[displayed IP address]/live/s - Press Start LiveStream
Step 7: Streaming Success
- When connection is successful, the drone video will appear on this app's main screen
The application will automatically detect the stream and start playback. You can also manually select quality modes from the interface.
| Setting | Recommended Value |
|---|---|
| Resolution | 1080p (High Quality) / 720p (Stability Focus) |
| Bitrate | 2-4 Mbps |
| Frame Rate | 30fps |
| Codec | H.264 |
- π₯ Standard Quality (1080p): High quality with optimal stability
- β‘ Enhanced 720p: Optimized quality with good performance
- β‘ Enhanced 480p: Optimized for lower bandwidth environments
| Resolution | Use Case |
|---|---|
| Original | Preserves source quality |
| 720p | Balanced quality and performance |
| 480p | Low bandwidth environments |
- OS: macOS 10.14+ / Windows 10+
- CPU: Intel Core i3 / Apple M1 or equivalent
- Memory: 4GB RAM
- Network: Wired LAN recommended
- OS: macOS 12.0+ / Windows 11+
- CPU: Intel Core i5 / Apple M1 Pro or equivalent
- Memory: 8GB RAM
- Network: Gigabit Ethernet
- DJI Neo: Fully tested and supported
- O4 Air Unit: Fully tested and supported
- DJI Goggles 3: Fully tested and supported
- DJI Goggles (other models): Compatible with standard connection steps
- Check firewall settings
- Verify ports 1935, 8000, 8081 are open
- Ensure devices are on the same network
- Try restarting the application
- Switch from Wi-Fi to wired connection
- Lower resolution (720p β 480p)
- Try standard quality mode instead of enhanced modes
- Clear browser cache and reload
- Check browser audio settings
- Verify DJI Fly app audio settings
- Check system volume settings
- Ensure audio codec is supported
# Check ports in use
lsof -i :1935 -i :8000 -i :8081# View application logs (development mode)
npm run electron
# Check console for error messagesdji-fly-viewer/
βββ electron/ # Electron main process
β βββ main.js
βββ public/ # Web frontend
β βββ index.html
β βββ app.js
β βββ style.css
β βββ connection-guide.html
β βββ app_guide/ # Connection guide images
βββ server.js # Node.js server
βββ package.json # Dependencies & build config
βββ dist/ # Built applications
- node-media-server: RTMP server implementation
- express: Web server framework
- electron: Desktop application wrapper
- ffmpeg-static: Video conversion engine
# Install dependencies
npm install
# Start development mode
npm run electron
# Start server only
npm start
# Build macOS DMG
npm run build-mac
# Build Windows installer
npm run build-win
# Build all platforms
npm run build-allGET /api/streams # Active streams list
GET /api/server-info # Server information (IP, etc.)
POST /api/stream/resolution/:streamKey/:resolution # Resolution conversion
POST /api/stream/stop-conversion/:streamKey # Stop resolution conversion
MIT License
- Fork this repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Create a Pull Request
- Report issues on GitHub Issues
- Please include the following information in bug reports:
- OS & Version
- DJI drone/goggles model
- Error messages
- Steps to reproduce
- Post feature requests on GitHub Discussions
See the full release history and download the latest version at GitHub Releases.
- β Universal DJI device support: Support for all DJI devices, not just DJI Goggles 3
- β Multi-language support: English/Japanese interface with language preference saving
- β Enhanced connection guide: Step-by-step visual guide with actual app screenshots
- β Cleaner UI: Removed emojis from buttons for professional appearance
- β Automatic releases: GitHub Actions powered build and release system
- β Fixed DJI compatibility: Corrected stream URL paths for DJI devices
- β Enhanced DJI support: Optimized for DJI Neo and O4 Air Unit
- β H.264 encoding fix: Resolved H.264 encoding errors
- β Stream processing improvements: Fixed RTMP input URLs for resolution conversion
- β Cross-platform support: Windows x64/ia32 and macOS Intel/ARM64
πΉ Enjoy your drone streaming with DJI Fly Stream Viewer!