Try jitsi meet with raspberry pi - webrtc

I tried to use jitsi meet for video conference on raspberry.
First, I use the public server at https://meet.jit.si/ to create a room and joins to that room from my raspberry pi 3 board. I have a picam camera v1 plug in to pi board and an external usb speaker.
Second, I use chromium-browser to join the meeting from raspberry and the preview video looks good. After that, I join that room from my pc using chrome browser then I notice the video is lagged and sluggish on both preview (on raspberry) and the peer (PC browser).
I think the bottleneck is network so I tried to host jitsi meet to one of my PC running ubuntu 16.04 and the result is the same.
I do think that Jitsi Meet implements SFU by videobridge so it should not affect the performance of preview in local browser.
Have anyone success with jitsi meet on raspberry with HD 720p for video conferencing ?
Any recommendations are appreciated.
Thanks

I think it's quite possible the lag is due to the encoding, do you know if the pi3 can encode vp8 efficiently? You might try it with h264 instead and see if that makes any difference, I think pi has hw acceleration for that.
You can try this by setting 'preferH264' in config.js to true (make sure to verify in the sdp that h264 is preferred)
Jitsi also supports direct p2p calls for conferences with only 2 participants, so you can eliminate the bridge altogether if you think it's causing problems.

Related

Using Roku's USB for ECP 'query' commands?

I added an ESP8266 nodeMCU for TV and SoundBar IR commands. It also provides a LAN server delivering an HTML/javascript based remote controller to my devices - computer, tablets and mobile phones.
I use this same remote setup for both a Roku4 w/ an old Dynex (dumb) TV as well as a newer TCL Roku Smart TV w/ soundbar.
Question is, can I access Roku data as used to be provided by ECP queries like '/query/apps' and '/query/active-app' via the Roku's USB port? ...if not, what is required to accomplish this end?
The definitive answer from the Roku folks is no. It's use is for data storage devices.

Use IP camera with OPEN CV without internet connection (direct connection to pc)

I am sorry, this might not be the correct platform to ask this kind of question but I couldn't think of any other place .
I for one of my project I need to capture some video footage from an outdoor camera using open cv. Actually, its a part of a bigger project where another signal triggers the camera. Since the camera will be located outside, I am looking for weather proof night vision enabled USB cameras that I can easily control via OPENCV. However I cannot find any descent USB camera and most of the websites show IP cameras. My problem is that the installation will be at a site where there is no internet so I cannot use internet. Can anybody please suggest if and how these IP cameras can be connected to the PC and be controlled via OPEN CV or else suggest some websites where I can get descent outdoor USB IR cameras.
I have also tried the NOIR Raspi camera but the quality is not very good and I think the range will also not be very good. Moreover running OPEN CV on RpI is very slow even for simple video recording.
Please refer to that thread for how to use IP cameras with open CV. I didn't try it personally, but a simple google search got me that. http://answers.opencv.org/question/133/how-do-i-access-an-ip-camera/
To access an IP camera is very simple, you just need this line:
cv2.VideoCapture("rstp://ipaddress:port/blahbla")
Now, if you dont have internet the IP camera as the PI should be on the same network, you can have a wireless router with no internet.
If you dont have a wireless router you can create a hotspot on your PI so you can connect the Camera directly to the PI, alot of IP cameras support hotspot so you can connect your pi to them.

connecting 2 Kinect sensors to my notebook

I am trying to connect 2 kinect sensors to my notebook. I know that I have to have at least 2 separate USB 2.0 controllers. According to tis website: LINK I have the same settings as in the picture. So I think that connecting 2 kinect sensors should be possible for me. I have 3 regular USB2 ports and one combined with e-SATA. So I have 4 ports to connect USB devices. However, when I try to connect 2 Kinect sensors (each time into different ports), I am always getting error message on one device (in windows device manager):
This device cannot start. (Code 10)
Can anyone help me please? I do not have any other computer and dont want to buy new just because USB controllers. I thing there has to be a way to do this. Thank you
can you please get a schematic of your notebook's motherboard and double check how your 3 ports are connected to the 2 controllers you mention. Hopefully 1 out of the 3 ports will be connected to a different controller from other 2 ports.
Does your notebook allow you to connect an express card to it ? Perhaps you could get an additional port this way.
With a custom built PC and a PCI Express USB expansion card we've got 3 kinects connected at the same time for an art-installation/robotics project.
I remember though at the time getting 2 Kinects running at the same time on my old 2008 macbook with no problems. Note that this was with either the libfreenect and OpenNI drivers, since the Kinect SDK driver doesn't work on osx.
Also, since you're using the Kinect SDK, I'm guessing you are using either Kinect for Windows (v1 if you will) or Kinect for Xbox360 and not the Kinect 2 for Windows since the current Alpha release of the SDK currently only allows a single sensor.
Update
Had a quick look here:
although couldn't easily find the schematics. My guess is two USB ports are connected to the same controller and the 3rd USB port might(don't take my word for it, check the manufacturers specs) be connected to a separate usb controller, in which case connecting one kinect to one side of your laptop and the other kinect to the port on the opposite should work. Make sure you see both sensors in Device Manager(run devmgmt.msc).
Also, just to double check your sensors as well, try connecting one, running a demo/test, then disconnecting and using a second sensor on the same port.
If both sensors work individually work on the same port, test them also on the usb port on the opposite side. You just want to make sure neither the sensors nor your ports are faulty. Lastly, if your hardware looks fine (power is good, sensors and ports are good), double check your code and me sure you don't accidentally open the same sensor twice or any other mistake that might be easy to miss.
If you have a friend you can either borrow another laptop for a short time just to test that would also be good. You can also try getting an USB Express Cardâ„¢ card for your laptop. Although a long shot, you could try to disable other usb devices on your laptop, leaving as much bandwidth available to the ports as possible. You should be able to do this either from Device Manager or your potentially from BIOS settings.

webcam interfacing with stm32

I want to use the STM32F4 microcontroller to receive a video stream then stream it over ethernet with the rtsp protocol .
I need you guys to tell me wich circuit would be the best for interfacing with STM32.
Can I interface a webcam with the STM32 via the USB OTG ? (I have basic ideas about usb protocol, but the problem is that the webcam I have is not supported by linux so there is no code source for the drivers, so no Endpoint references ...)
Is it possible to define Endpoints and vendor-specific commands that trigger the bulk transfer of video ( streaming ) by debugging the usb traffic ?
Or, would you recommend another circuit that provide video stream simple to interface with the STM32 .
I know this is kind of crazy thing to do, but I'm asking how hard it's gonna be ?
Let me know what you think of this project ?
PS:
The rtsp part of the project is not the purpose of this topic .
Thanks in advance.
You can't easily run linux on an STM32F4, nor is getting a USB stack running on it, and writing your own webcam driver trivial. I would recommend going with some sort of embedded camera, or moving up to a processor that can support a full linux distro running on it.
As stbtrax mentioned the STM32F4 processor cannot really handle video processing, so your best to move to an embedded OS system such as Odroid.
Another option is to interface a camera direct to STM32F4 using DCMI and then stream theis over USB using UVC as this guy has done. You will be limited with resolution here.
https://github.com/iliasam/STM32F4_UVC_Camera

Is it possible to determine usb protocol from an installed driver?

Just as the question states, the goal is to reverse engineer the protocol used by a device.
Let's say you have a webcam, an Arduino and an Arduino USB Host shield. You want to talk to that webcam, from which you don't know the protocol. Can it be done by monitoring USB data packets and by analyzing the driver installed for that device?
It would be a really interesting project.
Thanks in advance.
I often use a serial spy program to look at the conversation between two devices. In windows you can pay for it...
http://www.sinnovations.com/htdocs/serial-port-monitor.htm
In Linux it's free...
http://www.cyberciti.biz/faq/howto-monitor-data-on-a-serial-port-in-linux/