You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: README.md
+18-18
Original file line number
Diff line number
Diff line change
@@ -17,20 +17,20 @@ The ESP camera component was modified to send the data as it's received from the
17
17
18
18
The wifi data is send using packet injection with configurable rate - from 2 MB CCK to 72MB MCS7 - and power.
19
19
20
-
The air unit can also record the video straight from the camera to a sd card. The format is a rudimentary MJPEG without any header so when playing back the FPS will be whatever your player will decide.
20
+
The air unit can also record the video straight from the camera to a sd card. The format is a rudimentary MJPEG without any header so when playing back the FPS will be whatever your player will decide.\
21
21
There is significant buffering when writing to SD (3MB at the moment) to work around the very regular slowdowns of sd cards.
22
22
23
23
24
24
25
25
The receiver is a Raspberry PI 4 with 2 wifi adapters in monitor mode (TL-WN722N). The adapters work as diversity receivers and the data is reconstructed from the FEC packets.
26
26
27
-
The JPEG decoding is done with turbojpeg to lower latency and - based on the resolution - can take between 1 and 7 milliseconds.
27
+
The JPEG decoding is done with turbojpeg to lower latency and - based on the resolution - can take between 1 and 7 milliseconds.\
28
28
It's then uploaded to 3 separate textures as YUV and converted to RGB in a shader.
29
29
30
-
The link is bi-directional so the ground station can send data to the air unit. At the moment it sends camera and wifi configuration data but I plan to have a full bi-directional serial port for telemetry coming soon.
30
+
The link is bi-directional so the ground station can send data to the air unit. At the moment it sends camera and wifi configuration data but I plan to have a full bi-directional serial port for telemetry coming soon.\
31
31
The back link uses 64byte packets with a 2/6 FEC encoding (so quite solid) at a low wifi rate (I think 1Mb).
32
32
33
-
This is very WIP at the moment, but it proves that the ESP32 can definitely stream video with very low latency.
33
+
This is very WIP at the moment, but it proves that the ESP32 can definitely stream video with very low latency. \
34
34
I plan to use this is a long range micro quad.
35
35
36
36
Here is a video shot at 30 FPS at 800x600 (video converted from the source mjpeg):
- I use a Raspberry Pi 4 in a RasPad3 enclosure, but any HDMI display should work. Raspberry Pi 3 should work as well.
55
55
- You need to use 2 TL-WN722N adapters connected to USB. Check the EZ-wifibroadcast wiki for more info about the hardware revision of these adapters and alternative adapters. Make sure you get the 2.4GHz ones, of course. NOTE: the adapters are critical, not all work in monitor mode!
56
-
- If you only have one adapter or they are not called `wlan1` & `wlan2`, check the `main.cpp` file and change the names and number there:
57
-
`rx_descriptor.interfaces = {"wlan1", "wlan2"};`
58
-
`tx_descriptor.interface = "wlan1";`
56
+
- If you only have one adapter or they are not called `wlan1` & `wlan2`, check the `main.cpp` file and change the names and number there:\
57
+
`rx_descriptor.interfaces = {"wlan1", "wlan2"};`\
58
+
`tx_descriptor.interface = "wlan1";`\
59
59
Eventually this should be command line driven.
60
60
- The UI uses ImGui and is touch driven - but mouse should work as well
0 commit comments