Amir Eshaq
Amir Eshaq
  • 31
  • 257 554
Use Electron, React & WebRTC to control a desktop remotely - Part 2
This video series is somewhat a continuation from my previous WebRTC series because in this series we are going to use WebRTC to stream a peer's desktop and give control to another peer.
This is going to be an exciting series.
source code: github.com/jamalag/remote-desktop-control-part-2
มุมมอง: 7 007

วีดีโอ

OSS vs ONL (ottawa)
มุมมอง 8352 ปีที่แล้ว
OSS vs ONL (ottawa)
Use Electron, React & WebRTC to control a desktop remotely - Part 1
มุมมอง 13K2 ปีที่แล้ว
This video series is somewhat a continuation from my previous WebRTC series because in this series we are going to use WebRTC to stream a peer's desktop and give control to another peer. This is going to be an exciting series. source code: github.com/jamalag/remote-desktop-control
webrtc hands-on (React hooks)
มุมมอง 13K2 ปีที่แล้ว
I had prepared this video to upload to Udemy but I then changed my mind and decided to share it on TH-cam. It is almost similar to my other WevRTC-React video series but in this video I use React hooks instead and covers up to Signaling server. I hope this helps.
WebRTC: mediasoup (SFU) N - N hands on - Part 4
มุมมอง 13K3 ปีที่แล้ว
We will pick up from the previous video and make changes to implement a many to many video conference. source code: github.com/jamalag/mediasoup3 The logic in this episode changes completely from the previous one to one tutorial. Note 1. make sure listenIps is configured correctly: - if you are following the video using a docker container, then listenIps: [ { ip: '0.0.0.0', announcedIp: '[COMPU...
WebRTC: mediasoup (SFU) 1-1 hands on - Part 3
มุมมอง 8K3 ปีที่แล้ว
We will pick up from the previous video and refactor the code and remove all the buttons except the publish (producer's) and consume (consumer's). source code: github.com/jamalag/mediasoup2 This is just the next step in the series; we are just removing the manual steps. When we click the publish button, we want it to take the full flow from getUserMedia all the way to streaming media to mediaso...
WebRTC: mediasoup (SFU) introduction - Part 1
มุมมอง 22K3 ปีที่แล้ว
* I forgot to mention in the video that the count of Producers/Consumers is only considering one media stream (video). If you add audio, that will be a separate producer/consumer from the same transport. I hope this makes sense. This video is a quick introduction to mediasoup what you need to establish a successful connection from a participant to the mediasoup server. We will also explain the ...
WebRTC: mediasoup (SFU) hands on - Part 2
มุมมอง 30K3 ปีที่แล้ว
In this mediasoup tutorial you will learn the basics of integrating mediasoup SFU in your node.js application. Please look at the description below for code and mediasoup communication steps. In this tutorial I have used a docker container to run the application, but you should be able to run on the environment of your choice. So we start with creating a Dockerfile and docker-compose.yml. CODE:...
WebRTC Let's learn together (Flutter) - Part 2
มุมมอง 19K4 ปีที่แล้ว
WebRTC Let's learn together series - Part 2 In this video, we write code in ReactJS to demonstrate manual exchange of SDP and ICE Candidate between Peer Connections in two browsers within the same computer as well as between two Browsers from two different computers within the same LAN. The manual exchange of description and candidates demonstrates how a Signalling Server does it. This will def...
WebRTC Let's learn together (Flutter, GetUserMedia) - Part 1
มุมมอง 26K4 ปีที่แล้ว
In this first part, we will briefly describe and provide pointers to what WebRTC is, supported browsers, Signaling and STUN/TURN. We will also write a small Flutter application to demonstrate getUserMedia to capture video from the webcam. Source Code: github.com/jamalag/flutter-webrtc-part1.git Some useful links … Troubleshooting WebRTC Connection Issues blog.addpipe.com/troubleshooting-webrtc-...
WebRTC Let's learn together (ReactNative, Rooms, 1:N) - Part 7
มุมมอง 8K4 ปีที่แล้ว
This is Part 7 of the series WebRTC Let's learn together In Part 6b we enabled and fixed the audio track issue and also introduced audio/video mute, local video drag around, chat (text and image), webrtc datachannel, and implemented disconnect of peers. In this video, we are going to do a little cleanup on the web application and we are also going to apply almost the same features from parts 5,...
WebRTC Let's learn together (ReactJS, Chat, Data Channel) - Part 6 (b)
มุมมอง 3.5K4 ปีที่แล้ว
This is Part 6b of the series WebRTC Let's learn together In part 6a, we showed simple implementation of rooms, however, we did not enable audio. In this video we are going to enable and fix the audio track issue and also introduced the following exciting features ... - audio/video mute - local video drag around - chat (text and image) - webrtc datachannel - disconnect peers Part 6b Source Code...
WebRTC Let's learn together (ReactJS, Rooms) - Part 6 (a)
มุมมอง 3.2K4 ปีที่แล้ว
Sorry about the audio This is Part 6a of the series WebRTC Let's learn together In part 5 of this series, we showed how to implement a 1:N design mesh topology. In this video we are going to show a simple implementation of rooms where peers connect to other peers via rooms. If a room is not specified a peer joins into a default room '/'. In this demonstration room is declared after the hostname...
WebRTC Let's learn together (setup iisnode on IIS/Windows)
มุมมอง 3.9K4 ปีที่แล้ว
This video is part of the WebRTC Let's learn together series Not everyone hosts node server in Linux based environment, there are those whose option is only limited to Microsoft Windows Server. Therefore this video shows you how to setup your Windows Server to host your node application in IIS using iisnode. It takes you through adding Features in Windows, install Letsencrypt certificate, addin...
WebRTC Let's learn together (ReactJS) - Part 2
มุมมอง 7K4 ปีที่แล้ว
WebRTC Let's learn together series - Part 2 (Updated - No Music) In this video, we write code in ReactJS to demonstrate manual exchange of SDP and ICE Candidate between Peer Connections in two browsers within the same computer as well as between two Browsers from two different computers within the same LAN. The manual exchange of description and candidates demonstrates how a Signalling Server d...
WebRTC Let's learn together (ReactJS, 1:N) - Part 5
มุมมอง 9K4 ปีที่แล้ว
WebRTC Let's learn together (ReactJS, 1:N) - Part 5
WebRTC Let's learn together (ReactNative) - Part 4
มุมมอง 16K4 ปีที่แล้ว
WebRTC Let's learn together (ReactNative) - Part 4
WebRTC Let's learn together (ReactJS) - Part 3
มุมมอง 10K5 ปีที่แล้ว
WebRTC Let's learn together (ReactJS) - Part 3
WebRTC Let's learn together (ReactJS) - Part 3
มุมมอง 4.3K5 ปีที่แล้ว
WebRTC Let's learn together (ReactJS) - Part 3
WebRTC Let's learn together (ReactJS) - Part 2
มุมมอง 9K6 ปีที่แล้ว
WebRTC Let's learn together (ReactJS) - Part 2
WebRTC Let's learn together (ReactJS) - Part 1
มุมมอง 31K6 ปีที่แล้ว
WebRTC Let's learn together (ReactJS) - Part 1

ความคิดเห็น

  • @user-dev953
    @user-dev953 วันที่ผ่านมา

    Sir, thank you so much for your high-quality lectures. I was surprised by how excellent the delivery was. You became the teacher of my heart.

  • @hynguyen1794
    @hynguyen1794 8 วันที่ผ่านมา

    thanks for saving my ass in the "announcedAddress" part.

  • @ArchitPorwal
    @ArchitPorwal 20 วันที่ผ่านมา

    Getting white stream when joining the call from another device which is not on same Wi-Fi, can anyone tell me what maybe the cause of the issue?

  • @nomannayeem6673
    @nomannayeem6673 หลายเดือนก่อน

    more....love from dhaka

  • @nomannayeem6673
    @nomannayeem6673 หลายเดือนก่อน

    we want full project....love from dhaka bangladesh

  • @Fahadghaffar-r7e
    @Fahadghaffar-r7e หลายเดือนก่อน

    I need help. Can you give me your email address so I can contact you? I'm a little confused-you use Chrome to connect to another computer, so why do you use the Electron app? Also, how can I connect to another computer using a unique ID?

  • @code4lifechannel37
    @code4lifechannel37 หลายเดือนก่อน

    I want to allow some specific IPs (like Viet Nam's IP, Korean's IP...) to join the group. How do I update the code? How do I limit the users' participation in the group? Thanks so much and waiting for your response

  • @code4lifechannel37
    @code4lifechannel37 หลายเดือนก่อน

    Amazing topic 😂🤗

  • @mrezamuktasib
    @mrezamuktasib หลายเดือนก่อน

    i think there is some problem if people join in same time its got .transport undefined?

  • @MEZENNERFARES
    @MEZENNERFARES หลายเดือนก่อน

    SIr do you have any video or resource explaining how to separate the audio from the video so I can add button to mute mic and a button to enable/disable camera? thank you in advance

  • @pratikgiri9143
    @pratikgiri9143 หลายเดือนก่อน

    i am getting error: cannot produce video when executing connectSendTransport

  • @MEZENNERFARES
    @MEZENNERFARES หลายเดือนก่อน

    You're an amazing explainer with a load of information that we can learn from you, inshallah your content will never stop and may allah reward you for it

  • @ajohnjebaraj9638
    @ajohnjebaraj9638 หลายเดือนก่อน

    can i get the code?

  • @gibing1693
    @gibing1693 หลายเดือนก่อน

    hi Amir,can please give me your email Id so that i can contact you regarding a project.

  • @cxyi7
    @cxyi7 หลายเดือนก่อน

    so good 💯

  • @richard_cevallos
    @richard_cevallos หลายเดือนก่อน

    How do you configure the ports of the workers if I am using nginx ?

  • @Sam-v8p4l
    @Sam-v8p4l 2 หลายเดือนก่อน

    Why is there only one producer and one consumer variable on the server? Both participants are both consumers and producers, so why don't we need two of each?

  • @nevink3123
    @nevink3123 2 หลายเดือนก่อน

    Hi Amir. Thanks for the wonderful tutorial and appreciate you for taking time to demo and explain the code in detail. I followed your code ( incorporated the minor changes from the code in github ), but unfortunately I am unable to see the remote cameras in both sides. I am able to see my local camera on the left side but the remote camera is not showing up. I don't see any error from in the console when i set the candidate. The offer and the answer call works fine and even though I set the Remote Description properly, it does not show the Remote video when i set the candidate. I used multiple candidate jsons from the peer2, but unable to see the remote video. Any idea what could be the possible reason ? In the console, I see RTCIceConnectionState.RTCIceConnectionState Checking js_primitives.dart:28 RTCIceConnectionState.RTCIceConnectionStateConnected, but the video is not showing up.

    • @amireshaq
      @amireshaq 2 หลายเดือนก่อน

      oh wow, this was the only time I ever touched Flutter and it was mainly to show how you can establish a webRTC connection in a Flutter application. One thing you may want to try is using a TURN server.

    • @nevink3123
      @nevink3123 2 หลายเดือนก่อน

      @@amireshaq Thank you for your quick reply. Let me try that.

    • @nevink3123
      @nevink3123 2 หลายเดือนก่อน

      Amir. I think there is no issue with your code and in my case it failed due to version mismatch. I am using the latest version of flutter webrtc( flutter_webrtc 0.11.6) and looks like it has some compatibility issues. I tried version 0.9.24 with your code and it worked fine. Thank you..

    • @amireshaq
      @amireshaq 2 หลายเดือนก่อน

      @@nevink3123 great you found the issue.

  • @hamexmusic-vy5cn
    @hamexmusic-vy5cn 2 หลายเดือนก่อน

    why final codes in github has not multiple users join ?

  • @JaspreetSingh-ck2lz
    @JaspreetSingh-ck2lz 2 หลายเดือนก่อน

    Have anybody created one to many or few to many? If yes then please share the code, that'll be very beneficial for me

  • @JaspreetSingh-ck2lz
    @JaspreetSingh-ck2lz 2 หลายเดือนก่อน

    Is this is one to one only?

  • @andrewmarabante4548
    @andrewmarabante4548 2 หลายเดือนก่อน

    Great Series! I learned a lot and was able to set up my first ever webcam website!! I appreciate the time you took to make this, mediasoup / webRTC was scary for me to start a new developer, so many different configs and documentation to read.. and here we have a full step by step guide!

  • @nguyenhao2302
    @nguyenhao2302 2 หลายเดือนก่อน

    How to load test?

  • @DeepanshMaurya-w7i
    @DeepanshMaurya-w7i 2 หลายเดือนก่อน

    When I am using different tab as consumer then I am not able pass the check router.canconsume but if I use same tab for producer and consumer then it is working why this behaviour

  • @DeepanshMaurya-w7i
    @DeepanshMaurya-w7i 2 หลายเดือนก่อน

    When I am using different tab as consumer then I am able not pass the check router.canconsume but if I use same tab for producer and consumer then it is working why this behaviour

  • @deepanshuvishwakarma468
    @deepanshuvishwakarma468 3 หลายเดือนก่อน

    nicely explained , such hard work , we love you work

  • @Ubaiish
    @Ubaiish 3 หลายเดือนก่อน

    The series is amazing. Please bring more videos to it.

  • @paw_snowy
    @paw_snowy 3 หลายเดือนก่อน

    hello mr amir, is there any next episode or part of the video u talk about in the desc

    • @amireshaq
      @amireshaq 3 หลายเดือนก่อน

      that's a good point, I completely forgot about those two suggestions I made. However, I am working on gstreamer to stream a video from a file to a peer over webrtc. I will be using python this time. I plan to make a video about it and after that hopefully integrate with mediasoup e.g. to broadcast video to many.

    • @paw_snowy
      @paw_snowy 3 หลายเดือนก่อน

      thanks for the reply.Eagerly awaiting.

  • @Ubaiish
    @Ubaiish 3 หลายเดือนก่อน

    Best video available on youtube for mediasoup. Hats off you sir.

  • @kmk69
    @kmk69 4 หลายเดือนก่อน

    Very well explained, man. I want to be able to understand the whole package just by reading api docs like you one day. Thanks from Myanmar - Khaing Myel Khant ( junior full-stack dev)

  • @hellome3046
    @hellome3046 5 หลายเดือนก่อน

    mhara bhai chandrashekhar putt ravidas da

  • @JS_shorts_dev
    @JS_shorts_dev 5 หลายเดือนก่อน

    Should the server be hosted separately to connect two separate nodes?

  • @azbeatz8451
    @azbeatz8451 5 หลายเดือนก่อน

    is router our room?

  • @CptProv
    @CptProv 5 หลายเดือนก่อน

    Finally, after studing and tinkering for weeks with mediasoup, a clear explaination!

  • @MD_x95
    @MD_x95 5 หลายเดือนก่อน

    I am facing issue with proxy address which you set in pakage.json file to remove 404 error BUT i am, still facing the error

    • @amireshaq
      @amireshaq 5 หลายเดือนก่อน

      let me review the code again to understand your issue.

    • @MD_x95
      @MD_x95 5 หลายเดือนก่อน

      @@amireshaq there is some sort of url blocked by cors..

  • @azbeatz8451
    @azbeatz8451 5 หลายเดือนก่อน

    i am receiving the consumer remote track but cant play with uesref hook in react

  • @NF_160
    @NF_160 6 หลายเดือนก่อน

    Hello sir i did like u but fortunately, cannot see the remote cameras in both ends (i can see my local camera in Web but not the remote camera in my mobile. and same i can see my local camera in Mobile but not the remote camera in my web.). can u pls help me with this?

  • @somnathdas8922
    @somnathdas8922 6 หลายเดือนก่อน

    Sir is this possible to build same things in react native?

  • @dantedt3931
    @dantedt3931 6 หลายเดือนก่อน

    I've never seen anyone who explains and demonstrates WebRTC concepts like Amir. Thank you.

  • @sahilmohammad01
    @sahilmohammad01 6 หลายเดือนก่อน

    Hi Amir, thanks for amazing tutorial. I have a doubt, what path should I add in volumes section of docker-compose.yml is place of "Users/amireshaq/DATA/Tutorials/My Tutorials/mediasoup/src:/usr/src"? Is there any repo that we have to clone first for the same.

    • @amireshaq
      @amireshaq 6 หลายเดือนก่อน

      I realize that I was n't make use of that path binding. The intention was to code the project locally and have a copy of the files in the container; the other way also applies. So you can use any local path you wish to have access to the code in the container.

  • @danguiismaelkone08
    @danguiismaelkone08 7 หลายเดือนก่อน

    hi good tut. want to know how to use React native with mediasoup i have gone through the doc but seing black screen

    • @amireshaq
      @amireshaq 7 หลายเดือนก่อน

      Hi, did you follow this link? mediasoup.org/documentation/v3/mediasoup-client/react-native/

  • @mahmoudabdulfattah7294
    @mahmoudabdulfattah7294 7 หลายเดือนก่อน

    thank you dear

  • @galaxym02Samsung-c8s
    @galaxym02Samsung-c8s 7 หลายเดือนก่อน

    plz, create random call in reactjs webrtc

  • @Chowdary903
    @Chowdary903 7 หลายเดือนก่อน

    Hi Amir, Good evening can you show how to deploy this application on iis windows

    • @amireshaq
      @amireshaq 7 หลายเดือนก่อน

      Hi Chowdary, you may want to see if someone has ported mediasoup to be used with c#

    • @Chowdary903
      @Chowdary903 7 หลายเดือนก่อน

      actually i was trying to deploy the part4 final application on my local machine for test purpose if it works the i want to implement it to connect sip server. @@amireshaq

    • @Chowdary903
      @Chowdary903 7 หลายเดือนก่อน

      help me with the process how to deploy in windows iis. i have seen your webrtc iis deployment method but it did not worked for this.

    • @amireshaq
      @amireshaq 7 หลายเดือนก่อน

      @@Chowdary903 that is a pretty old video, I have not touched IIS in a very long time. This link might help ... harveywilliams.net/blog/installing-iisnode

    • @amireshaq
      @amireshaq 7 หลายเดือนก่อน

      @@Chowdary903 also check this ... adrianjnkns.medium.com/iis-hosting-nodejs-application-572d81689f9e

  • @박공부-m5h
    @박공부-m5h 7 หลายเดือนก่อน

    너무 감사합니다 webrtc에 대해서 알아보는 좋은 시간이였습니다.

    • @amireshaq
      @amireshaq 7 หลายเดือนก่อน

      이 튜토리얼이 도움이 되었다니 기쁘네요.

  • @kierkegaard77
    @kierkegaard77 7 หลายเดือนก่อน

    Hello Mr. Eshaq. I am trying to use mediasoup on flutter but I cannot produce video and audio. I can consume but client doesnt take my streams. I see socket transfers done correctly but renderer do not render my flutter stream. Can you give me advice

    • @amireshaq
      @amireshaq 6 หลายเดือนก่อน

      Hi, I haven't had a chance to review your issue but did you eventually get the issue resolved. Excuse me for not replying sooner.

  • @bkm215
    @bkm215 8 หลายเดือนก่อน

    Hi Amir, I am getting below error on socket.on('disconnect', () => { const {roomName} = peers[socket.id] ^ TypeError: Cannot destructure property 'roomName' of 'peers[socket.id]' as it is undefined. Could you pls check once..

    • @Ubaiish
      @Ubaiish 3 หลายเดือนก่อน

      when your server disconnect its looking for the room to remove , but there is no room that client has joined. Most probably you are using react for this is yes call io() inside the component only

  • @somnathdas8922
    @somnathdas8922 8 หลายเดือนก่อน

    Sir you explain mediasoup very well, please make more video on mediasoup.

  • @arupde6320
    @arupde6320 8 หลายเดือนก่อน

    be regular

  • @parvjain2960
    @parvjain2960 8 หลายเดือนก่อน

    can i also perform same operations in react native ?

    • @amireshaq
      @amireshaq 8 หลายเดือนก่อน

      I am not sure I understand the question.