Comments (9)
https://github.com/svpcom/wifibroadcast/wiki
Q: What is a difference from original wifibroadcast?
A: Original version of wifibroadcast use a byte-stream as input and splits it to packets of fixed size (1024 by default). If radio packet was lost and this is not corrected by FEC you'll got a hole at random (unexpected) place of stream. This is especially bad if data protocol is not resistent to (was not desired for) such random erasures. So i've rewrite it to use UDP as data source and pack one source UDP packet into one radio packet. Radio packets now have variable size depends on payload size. This is reduces a video latency a lot.
There are no difference in HW usage (but actual range depends what wifi speed ans MCS scheme you will set), so you will get the same range as with EzWFB
from wfb-ng.
How about the video quality? Which one will provide with better image quality?
from wfb-ng.
Video quality depends on you video codec, not on WFB. With default settings WFB use MCS-1 HT40+ SGI modulation. It supports maximum bandwidth 30Mbit/s. It is sufficient for H264 720p 60fps or 1080p 30fps. But bitrate depends from video codec quality. For example different HW H264 codecs will provide different bitrate for the same video.
from wfb-ng.
So you need to select modulation for you need - you distance, bitrate, interference, wifi band, etc.
from wfb-ng.
Hello Svpcom,
Thankyou for answering my queries. I have one more question. If I want AES encryption with your implementation, how can I go about it?
from wfb-ng.
https://github.com/svpcom/wifibroadcast/wiki/Encryption
Wifibroadcast encrypts data stream using libsodium.
When TX starts, it generates new session key, encrypts it using public key authenticated encryption (cryptobox) and announce it every SESSION_KEY_ANNOUNCE_MSEC (default 1s). Data packets encrypted by crypto_aead_chacha20poly1305_encrypt using session key and packet index as nonce.
WFB doesn't use AES. It use elliptic crypto from libsodium: chacha20 + poly1305
from wfb-ng.
I am aware of the encryption that you have added. I have gone through your wiki completely.
If I want to change this to AES, how can I go about it? I have seen that libsodium supports AES 256.
from wfb-ng.
https://download.libsodium.org/doc/secret-key_cryptography/aead/aes-256-gcm
Replace crypto_aead_chacha20poly1305* with crypto_aead_aes256gcm* (functions and variable types)
But aes is slow compared to chacha20poly1305
from wfb-ng.
Be aware - it will not work on ARM:
Limitations
The current implementation of this construction is hardware-accelerated and requires the Intel SSSE3 extensions, as well as the aesni and pclmul instructions.
Intel Westmere processors (introduced in 2010) and newer meet the requirements.
There are no plans to support non hardware-accelerated implementations of AES-GCM. If portability is a concern, use ChaCha20-Poly1305 instead.
from wfb-ng.
Related Issues (20)
- Can i use mavlink-router to send data? HOT 3
- [DOC] docfix about udev rules HOT 3
- [DESIGN] how to bypass up&down camera control mavlink messages HOT 1
- [FEATURE] good to have a better indication of video issues HOT 2
- FPV-Camera Service Script fail to start
- Does it support h265? HOT 4
- [BUG] don't compile in arm32v7/ubuntu HOT 4
- Build for nanopi NEO-Core HOT 4
- Требует python3-all-dev HOT 1
- Speed up mavlink? HOT 6
- ssh connection HOT 1
- wfb-cli gs cannot be used HOT 12
- [Jetson Orin] wfb-ng/env/bin/pip: No such file or directory HOT 13
- If RTL88xx support 11ac or only can use 11n to broadcast? HOT 4
- [BUG]wifi driver failed to compile on ubuntu 24.04 LTS HOT 10
- wfbng@gs fails to start as "ip link set" command returns No such device (-19) HOT 1
- Why I use RTL8812AU 2.4g, the signal seems to be poor? HOT 1
- [REQUEST] radxa zero 3w with cam as airunit support HOT 1
- [BUG] Unable to install wfb-ng in fresh ubuntu installation HOT 12
- The fopen function can specify binary read mode, which is more suitable for reading key files. HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from wfb-ng.