This is my first post to the forum. I’m quite new for WebRTC and Janus.
Exactly following the instruction at the
page, I have successfully made up Raspberry camera stream a video to FireFox on my home PC. Then I wanted to see the video out of my home. I have tried some solutions below.
Solution 1
- Install Janus and Nginx with the streaming demo contents to a virtual machine at Amazon EC2 and accept any traffic
- Install STUN/TURN servers to another virtual machine at EC2 and accept any traffic
- Make Gstreamer running on Pi to send the video stream to Janus on EC2
- Modify janus.cfg to use STUN/TURN servers on EC2
I could successfully see the video out of my home, but I do not like this solution, because the video traffic is going through Janus gateway, which may be a bottle neck for wide deployment. Then I have made up the second solution:
Solution 2
- Switch Gstreamer back to send video to Janus ruining locally on Pi
- Modify the demo contents at EC2 to use Janus on Pi. To make it work, I need to do the following two steps
- Register an alias of Pi at my dynamic DNS provider
- Set up my home router to forward TCP port 8088 traffic from Internet to the private IP address of Pi
I could successfully see the video out of my home, but I do not like this solution, because I need to configure the port forwarding of my home router. The solution does not make use of a value of WebRTC, zero configuration. Then I’m wondering the third solution, which is something like below:
Solution 3
- Setup some signaling server on EC2
- Modify the demo contents to establish WebSocket to the signaling server send any API calls to the signaling server
- Make Janus establish WebSocket to the signaling server to accept any API calls forwarded by the signaling server
I wish if I had this solution, because of zero configuration and no bottle neck at EC2. My problem is that I’m not capable to write a program for the solution
I would like to ask the experts in this forum if there is any better solution.
Regards,
Jun