This Confluence has been LDAP enabled, if you are an ASF Committer, please use your LDAP Credentials to login. Any problems file an INFRA jira ticket please.

Child pages
  • [GSOC 2016] webrtc implementation

Versions Compared


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


  1. General parameters for webrtc app
  2. Our signal server on Java
  3. Native client and MCU server

General parameters for webrtc app


You also can test signal server - all instructions are in README file.

Native client


As I mention in Our signal server chapter the RTCPeerConnection API is oriented on p2p connections but It allows to create client-server solutions.


I've implementing RTCPeerConnection api for java. I used the native webrtc source and JNI because implementing webrtc requires a lot of protocols (SRTP, SCTP,  RTP etc).

I would have done this JNI stuff but I hadn't been stuck with one problem. I couldn't glue JNI and multi-threading native client. I've received JVM errors about damaged frame stack.

So I've implemented demo native client that works via console as signaling. The native client's code is attached to the this doc.

To build and test it you must do the following tasks:

  1. Go to the and install depot tools
  2. Then checkout chromium webrtc sources. Instructions are here - Check-outing will borrow a lot of time ~ 1 hour for me.
  3. Then copy my native client code to src/webrtc/examples/peerconnection/linux (or windows if you use it)
  4. Then you must install ninja build system and run
  5. $ ninja -C out/Debug
  6. in your src directory
  7. Finally the peer_connection_client must arrive in your out/Debug directory
  8. Then just execute it and test. It provides testing instructions.

It can connect to the browser RTCPeerConnection and dump stream into hard disk.