Sounds good. Let me see if I can find some working JNI example. Please keep also in mind that we are still not sure around the server-to-client streaming because of bandwidth requirements. The work that you are doing now, we might require it if I am right with my expected bandwidth usage of scenarios with more then 1 viewer.
Do you have an idea how this will work in case the server has to act to re-stream the audio/video signal ? So the work you're doing with the native client is potentially the basis for quite some more functionality. Thanks, Sebastian 2016-07-25 19:31 GMT+12:00 Dmitriy - <[email protected]>: > No-no, thank you. > I'm just busy at weekends. > > I try to invoke this code: > >> private native void sendOffer(String offer); >> >> From my signal server. > > I'm trying load library via: > > static { > System.loadLibrary("webrtc-client"); > } > > How it work? > > Now we have webRTC implementation many-to-many video/audio calls in the > browser. The signal server receive OFFER from one client and send it to the > other. > The sequence of action is: > > 1. Client1 -> sends offer (to client2) to signal server > > 2.Signal server retransmits offer to Client2 > > 3. Client2 receives offer from Client1 and send answer message to the signal > server > > ... (both client exchanges ice candidates similar) > > As I write own signal server for OM we can include even one client in this > communication. This is simple modification of step 2. > > 2. Signal server retransmits offer to Client2 and sends the offer to the > native client. > > Native client has own ip, port and work with webrtc stacks (rtp, srtp and > others) but It doesn't send anything to others client. > It only receives streams and save it. > > Basically the native code should start a client that connects to the >> browser clients as if it would be yet another browser, right ? > > Yes, you are right. > > Still, there would be some requirement to trigger APIs from the server >> into the native code, for instance to start listening on some specific >> room/urls and start the transfer. >> > > Yes, but now I'm work only with demo app and I suggest that for all rooms > flag for recording video is set. We can change it after demo will work. > I understand that demo app should be many-to-many video/audio conference + > save all streams on the server. > > > On Mon, Jul 25, 2016 at 8:45 AM, [email protected] < > [email protected]> wrote: > >> @Dima, >> >> maybe I am a bit overwhelming with my requests :) >> >> I think I have a fairly good understanding about how it should work. >> Basically the native code should start a client that connects to the >> browser clients as if it would be yet another browser, right ? >> >> Still, there would be some requirement to trigger APIs from the server >> into the native code, for instance to start listening on some specific >> room/urls and start the transfer. >> >> Do you have a rough idea which of those APIs are ? I think one basic step >> would be to define those APIs so that we have some sort of interface spec >> of what we need to integrate with. >> >> The other part around JNI integration, there are multiple ways of solving >> this. >> >> Did you have any further questions or ideas ? >> >> Thanks, >> Sebastian >> >> >> 2016-07-22 18:29 GMT+12:00 [email protected] <[email protected]>: >> >>> Hi Dima, >>> >>> what are the APIs in the JNI code you try to invoke ? >>> >>> Did you compile the native code already? For what platform? >>> >>> If it's Ubuntu or OSx you might send the libraries and I can try to find >>> out how to trigger it from the Java code. >>> >>> But generally how will the browser connect to the native code ? What's >>> the theory behind that ? Will the native code start and listen on it's own >>> port or ? >>> >>> Thanks, >>> Sebastian >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> 2016-07-22 16:58 GMT+12:00 Dmitriy - <[email protected]>: >>> >>>> Changes in last week: >>>> >>>> - add broadcast offers to room ( >>>> https://github.com/Dima00782/signalling_server/commit/38c81016ba16b8b317762cba87e8950db75e9328 >>>> ) >>>> - add creating rtcPeerConnection in native client and remove >>>> unnecessary modules like gtk on linux platform ( >>>> https://github.com/Dima00782/OMStreamSaver/commit/81c1d65fe3e3f07f9c3e69798af44e3e7448fe16 >>>> ) >>>> >>>> Future plans are support many-to-many video calls in web client (20 >>>> hours) and launch demo app on demo server. >>>> >>>> Problems: >>>> I can't attach JNI library to my signal server. >>>> I tried do this stuff via - System.loadlLibrary("webrtc-native-client") >>>> but in red5 app tomcat embed overload some paths and raised exception - >>>> java.lang.UnsatisfiedLinkError. >>>> >>>> Also I tried to google the problem and >>>> - I changed CATALINA_HOME and java.library.path >>>> - tried create shared/library directory in $HOME_RED5 >>>> By this time it doesn't work. Maybe someone knows how load jni libs >>>> easy? >>>> >>>> -- >>>> Regards, >>>> Dmitry Bezheckov. >>>> >>> >>> >>> >>> -- >>> Sebastian Wagner >>> https://twitter.com/#!/dead_lock >>> [email protected] >>> >> >> >> >> -- >> Sebastian Wagner >> https://twitter.com/#!/dead_lock >> [email protected] >> > > > > -- > Regards, > Dmitry Bezheckov. > -- Sebastian Wagner https://twitter.com/#!/dead_lock [email protected]
