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]

Reply via email to