abcdesktopio / oc.user

abcdesktop main graphical user container
GNU General Public License v2.0
3 stars 2 forks source link

How to enable microphone and webcam ? #51

Open Disha5harma opened 1 year ago

Disha5harma commented 1 year ago

Hello, I am a research enthusiast and an opensource contributor. I am really amazed by your project and want to contribute in this project. What changes can be made to enable webcam and microphone in this project? I have set up janus server on the host server itself and in the pulseaudio default.pa file , I have created RTP stream module and in rtp.destination I have pointed Janus server IP , but now I am unable to play sound as well. So am I going in the right direction to enable mic or are these steps only for sound quality improvement? Please reply ASAP. Thanks in advance

alexandredevely commented 1 year ago

Hi Disha,

Thank you for your comments, and for your interest in the abcdesktop project. Enable webcam and microphone in abcdesktop is a really smart proposal. You need to capture webcam stream and microphone stream from the web browser, forward it to the janus gateway, and then forward it to the pulseaudio server embedded in the oc.user pod.

To resume and make it easily, you want to speak in a web browser and to listen your voice on another device.

By default, as you can check it on the web site https://demo.abcdesktop.io, the stream come only from user's pod to web browser.

I think that you need to go step by step, because it's a big and great new features.

Use microphone first ( it's more easy than video )

  1. Get a janus server and configure it, add a web site
  2. capture microphone from the web browser, the janus javascript sample can help you. Janus is a great projet, you will find lot of examples
  3. Configure janus to forward the microphone stream to dedicated pulseaudio server ( not running on the same host)
  4. At this point you should be able to ear your voice from the web browser to another ( dedicated ) pulseaudio server.

PS: Use the same LAN to prevent NAT or TCP/UDP port issues. PS': The next step is to update python code and javascript code to do it.

Have fun ! You have a great idea

Alexandre

alexandredevely commented 1 year ago

Hello,

Note about janus release:

these are the demos and documentation for the 0.x version of Janus, which is considered legacy.

Pyos service need the legacy release janus 0.7.3

Janus version command

janus --version
Janus commit: not-a-git-repo
Compiled on:  Fri Feb  7 23:32:33 UTC 2020
janus 0.7.3

Alexandre

Disha5harma commented 11 months ago

Thanks a lot for your previous solution. I have started working on this, will update you regarding this.