Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Children Display

Table of Contents

Introduction

WebRTC (Web Real-Time Communication) is a technology that enables Web applications and sites to capture and optionally stream audio and/or video media, as well as to exchange arbitrary data between browsers without requiring an intermediary. The set of standards that comprise WebRTC makes it possible to share data and perform teleconferencing peer-to-peer, without requiring that the user install plug-ins or any other third-party software.

...

RDK-C rdk-next Yocto 3.1 dunfell build for Raspberrypi

server and client connectivity diagram  

                                                      

draw.io Diagram
bordertrue
diagramNameRPI Server clinet connection
simpleViewerfalse
width
linksauto
tbstyletop
lboxtrue
diagramWidth961
revision2

openwebrtc Compilation Procedure For X86

STEP 1:

Below command is cloning the openwebrtc opensource openwebrtc  source into current PC.

git clone https://github.com/rdkcteam/openwebrtcnative-m72webrtc.git


Console output

user@BLTSLRM110:

~/Desktop$

~$ git clone https://github.com/rdkcteam/

openwebrtc

native-

m72

webrtc.git
Cloning into '

openwebrtc

native-

m72

webrtc'...
remote: Enumerating objects:

248119

49, done.
remote: Counting objects: 100% (

7886

41/

7886

41), done.
remote: Compressing objects: 100% (

4130

20/

4130

20), done.

Receiving

remote: Total 49 (delta 11), reused 41 (delta 11), pack-reused 8
Unpacking objects: 100% (

248119

49/

248119

49),

1

41.

15 GiB

97 KiB |

1

511.

67 MiB

00 KiB/s, done.


STEP 2:

Goto native-webrtc/PC_Streamer folder and give below export commands.

sudo chmod 777 webrtc_browser.sh 

./webrtc_browser.sh 

Console output

user@BLTSLRM110:~$ cd native-webrtc/PC_Streamer/

user@BLTSLRM110:~/native-webrtc/PC_Streamer$ sudo chmod 777 webrtc_browser.

remote: Total 248119 (delta 3500), reused 7844 (delta 3468), pack-reused 240233

Resolving deltas: 100% (67555/67555), done.

Updating files: 100% (259872/259872), done.

STEP 2:

Goto openwebrtc-m72 folder and give below export command.

export PATH=$PATH:/home/user/Desktop/openwebrtc-m72/buildtools/linux64/

sh 
[sudo] password for user: 
user@BLTSLRM110:~/native-webrtc/PC_Streamer$ ./webrtc_browser.sh 


STEP 3:

Completion of step2  the binaries are generated into native-webrtc/PC_Streamer/webrtc-checkout/out/Default folder inside.

Validation Procedure of Webrtc

Follwing steps are run into Desktop PC(X86) Side:

STEP 1 , STEP 2, STEP 3, STEP 5 , STEP 6, STEP 7.

Follwing step are run into RPI Board Side:

STEP 4

STEP 1:

Run the peerconnection_server binary located at (native-webrtc/PC_Streamer/webrtc-checkout).

./peerconnection_server

Console output

user@BLTSLRM110:~/Desktop/openwebrtc-m72/out/Default$ ./peerconnection_server

Server listening on port 8888


STEP 2:

Open new terminal Goto openwebrtc-m72/out/Defaultpathand path, run the below two commands one by one.

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)

./peerconnection_client


Refer the below peerconnection_client GTK window.

Image Added


STEP 3:

Provide IP address of server pc and press connect button.


Refer the below peerconnection_client GTK window.

Image Added


STEP 4:

Stop below service before runing the peerconnection_client binary.

systemctl stop rms-launcher
systemctl stop mst-launcher


Run the peerconnection_client binary into RPI board side and Enter server PC IP address, port numner.

peerconnection_client


Console output
root@raspberrypi3-rdk-camera:~# peerconnection_client
Inside constructor CustomSocketServer().....
Initialized thread...
"Registering PeerConnectionClient::RegisterObserver()"
Enter server IP Address
192.168.0.126
Enter port number
8888


STEP 5:

Need to Check whether the peerconnection_server side both clients are connected are not.


Console output

user@BLTSLRM110:~/Desktop/openwebrtc-m72/out/Default$ ./peerconnection_server

Server listening on port 8888

New connection...

New member added (total=1): zaid@zaid-ahmad

Disconnecting socket

Total connected: 1

New connection...

New connection...

New member added (total=2): user@raspberrypi3-rdk-camera

Disconnecting socket

Total connected: 2

New connection...

Disconnecting socket

Total connected: 2

New connection...


STEP 6:

PC side peerconnection_client GTK window shows the number of peers client devices areconnected list.


Image Added


STEP 7:


Double click user@rasspberrypi3-rdk-camerafrom the listed peer connected devices.


Image AddedConsole output