Kurento one2one sample runs smoothly on local but lags heavily on server - server

I installed Kurento 6.0 one2one video call sample on my local machine and tested in local network. Chat worked smoothly. After that I put it on my dedicated server and tried it over internet. It starts to lag and freeze 10 or 15 seconds after the start of call. The server has 16mbits download speed and 10 mbits upload speed. It seems enough for one conference.

And what's your connection speed? Please check also the CPU load, as if you've chosen a very small instance, or using a computer vision filter, you might find that it's eating up all your resources.
EDIT 1
It looks like the link quality of your client is not very good, and the lagging is not in the server, but in the client.

Related

Chromium 88 data leaking in kiosk mode

I am using Chromium 88 in kiosk mode connected cellular. Chromium is running the site as http://localhost with occasional data push from server. Even when a static page is on there is a constant data exchange around 470 bytes per second which is 1MB per hour. Since I am on a cellular with $0.10 per MB this adds up. Is there any way to completely stop chromium in sending any data when idle? Below are the command line inputs I've already tried but I am still not able to stop the data leak. Any thoughts on how to completely stop chromium sending data will be good. I cannot completely work offline mode, because I need to send some data from server once a day to keep it refreshed.
Any pointer will be helpul.
/usr/bin/chromium-browser
--disable-sync
--data-reduction-proxy-lo-fi
--enable-data-reduction-proxy-savings-promo
--disable-background-networking
--disable-component-update
--dns-prefetch-disable
--disable-plugins
--no-pings
--disable-background-mode
--disable-translate
--disable-session-crashed-bubble
--noerrdialogs
--disable-infobars
--kiosk http://localhost
I found the answer myself. Documenting answer for others. chromium-browser contains google services which starts automatically and connect to account.google.com, *.googleapis.com, safebrowsing.googleapis.com and many others which slowly leaks data around 1 mb per hour. This is not a big deal if connected to WiFi but is an issue when connected to cellular with data only plan. So I removed chromium-browser and added ungoogled-chromium https://github.com/Eloston/ungoogled-chromium which strips out all google services. They have the latest chromium version and it works exactly the same without google services.
I personally think if anyone using raspberry pi chromium without google services should install this.

Asynchronicity between behavior and flows on Mitmproxy

I am trying to reverse engineer the API of an IoT device using mitmproxy. My setup is an iphone, computer running on MacOS 10.14, and an IoT device (watering pump) that can only access the wireless network after being plugged into the computer via USB connection, i.e. a not genuinely WiFi device. My phone is configured to point to the computer, which is running mitmproxy on a standard configuration.
When I send instructions from the app controlling the device on my phone to the device itself, presumably these instructions are sent to the computer, to the device cloud server, and then to the device. With these assumptions, one would think that they would see the flow of POST requests in mitmproxy before observing the results of those instructions. That is, if you send an instruction to turn on the pump, you'd think you'd see POST request containing that instruction show up in the mitmproxy flows before you see the pump turn on.
However that is not the case here. What happens is that, when I send instructions from the app, I observe the expected behavior from the IoT device, and then the flow of requests appear on the mitmproxy console seemingly at random. There seems to be no determinate relationship between the instructions I send and the requests that appear; they show up 5 seconds later, 5 minutes later, or 30 minutes later. Is this an intentional security feature? To somehow jam MITMproxies so that hackers cannot easily isolate the knowledge of which packet is performing which instruction? Or is it just something that I am doing wrong? Does anyone have any ideas as to what could be happening hear and potential solutions for making the flow of requests appear in real time? Ty

MotionEyeOS without internet

I am trying to build a small system which include a rPi and rPi Zero. rPi act as local wifi hotspot and rPi zero connect to rPi hotspot.Then I access zero camera through rPi. My diagram looks like this.
It works totally fine if I have a LAN connection. Once I remove the lan connection motionEyeOs won't stream any data. And even it disconnect from wifi and go to boot loop.
So my question, is there any way we can make motionEyeOs works with out actual internet ?.
The answer to your question: You can set link_watch="false" in /data/etc/watch.conf
But this come with a few other problems:
If your camera boots without network connection (internet), it has no time set (your videos and images could get overwritten)
If your camera boots without or looses network connection (internet), the camera does not try to reconnect and you have no other chance and have to connect a keyboard an monitor to it
A hardware clock would help for the first problem but I am still searching for a solution for the second. If you already have one, I would appreciate it, if you could help me out.
https://www.raspberrypi.org/documentation/usage/camera/raspicam/raspivid.md
This is what I use for an offline video recorder and it only needs the software and a power source..Camera also but you get the idea. Keep your image (os) small as possible as this can fill an sd card fast. If I remember right, I used 800 x 600 and it would use a gig an hour.

Keep StreamSocketListener running in background on Windows Phone 8

I want to run a server on Windows Phone 8. It is important that the server keeps running even if the user opens another app or the screen lock turns on. Relying on an internet connection is not an option. It should work in a local network.
UseCase: The server is needed for a multiplayer game. The idea is that one player starts a local server. After that, all players (including the player who starts the local server) can connect to this server using a webbrowser. The server delivers html and responds to ajax calls.
It seems that PeriodicTask and ResourceIntensiveTask do not fit my needs. Is that correct? How can I run an app in the background that is always listening for incoming tcp connections?
I don't know a clean way. But if you're happy with a hack: You could use the Geolocator. This blog gives a step by step guidance: How to create application which executes in the background on Windows Phone 8?
As most of the hacks, this brings some problems and questions (probably more than I mention here):
If the user turns off the GPS, your server won't be reachable anymore.
I don't know how strict Microsoft is with what you can publish on their store.
No way to do this on Windows Phone.

Intentionally slow down localhost web server

I am working on an iphone app and for testing i am using localhost server for sending/receiving requests/responses.
But the speed seems to very fast from actual download and upload on 3G or other mobile data network.
I want to test my app with slower internet connection.
Is there any way I can slower down my macbook's apache server?
Thanks!
Put a 'slug' into the server code that processes your request, e.g. the PHP module you're calling. A simple slug would be a for loop that will tie up the server program before it responds. Or something that copies large files.
You'll need to experiment until you get the right sort of delay.