Re: [Contact Kurento] Kurento Media Server

354 views
Skip to first unread message

LuLop

unread,
Mar 20, 2014, 7:44:23 AM3/20/14
to David Salvador, kur...@googlegroups.com
Yes, you will have problems.

You need 12.10 or later. Read installation instructions, please.

L.

El 20/03/2014, a las 11:43, David Salvador <djcsa...@gmail.com> escribió:

> Hi guys,
>
> I've been "away" working on another use case for my thesis, and will
> now start working with video share using kurento MS.
>
> I have one question, the machine i have available has Ubuntu 12.04 TLS
> installed, is this going to be a problem ?
>
> Cheers,
> David Salvador
>
> 2013-12-23 20:57 GMT, LuLop <lu...@kurento.com>:
>> Dear David,
>>
>> You need two components of Kurento Media Framework for your Thesis
>> 1. Kurento Media Server
>> - This provides low level media capabilities for receiving/sending media.
>> H.264 is currently supported and validated. H.263 in theory is also
>> supported, but we have not performed extensive tests on it.
>> - Follow these instructions for installing MKS
>> https://github.com/Kurento/kurento-media-server/wiki/Kurento-Media-Server-Binary-Install-Guide
>>
>> 2. Kurento Media API
>> - This is a Java API designed for consuming easily the capabilities of KMS.
>> You can use this API into any Java application, no matter if it is based on
>> Servlets, SIP Servlets or whatever.
>> - Follow the attached instructions for importing the media-api from maven
>> central and developing with it (concentrate on the kmf-media-api stuff,
>> which is the interesting part for your use case)
>>

Jose Antonio Santos Cadenas

unread,
Mar 21, 2014, 6:47:26 AM3/21/14
to kurento, David Salvador
2014-03-20 12:44 GMT+01:00 LuLop <lu...@kurento.com>:
Yes, you will have problems.

You need 12.10 or later. Read installation instructions, please.

13.10 (saucy)
 

--
You received this message because you are subscribed to the Google Groups "kurento" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kurento+u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

David Salvador

unread,
Mar 21, 2014, 11:54:57 AM3/21/14
to kur...@googlegroups.com, David Salvador
Yep, i realized he was talking about 13.10. 

I've installed Kurento on a Ubuntu 13.10 machine, and read the Users_and_Programmers_Guide.

Now I have a few doubts about the KMF API... and I'm sorry if the questions i have are very "obvious", but I'm just starting with Media server's technology.

My objective is: 

I'm implementing an solution for delivering video share in VoIP calls, and in fact what i need is for a Server to send video files (located on the same machine as the server), to endpoints.

So... let's assume Alice and Bob are in a call with each other... and my Server is in the Signalling Path of the call, so we have something like this:

Alice<-------->Server<-------->Bob

I now need for the server to "Invite" Alice to receive a video.... then Alice should answer with is SDP... and then the video is sent from server to alice (pretty simple SIP/SDP Invite/200).

now...  again with Kurento... For what I've read in the API, what I'll need is a RTPEndpoint and a PlayerEndpoint (right?), what I'm actually not sure is how to retrieve the sdp from kurento (that i need to send in the "Invite" to Alice), and then... when the response comes from Alice (with her SDP), how to set that as the RemoteSDP for RTPEndpoint....

Thanks in advance for all the help,
David Salvador

LuLop

unread,
Mar 21, 2014, 6:34:33 PM3/21/14
to kur...@googlegroups.com, David Salvador
David,
I think that you are trying to build a typical back-to-back capability for calls. If you just want real-time media, you only need two RtpEndpoints, one for "Alice" and one for "Bob", then, you connect the RtpEndpoints among each other and you have the call. However, I recommend you to use WebRTC if you are not restricted to RTP, you will have a bunch of additional functionalities and the capability of using WWW based clients.

Sdp endpoints (both WebRtcEndpoint and RtpEndpoint) allow to recover SDP for negotiation and to negotiate SDPs from the remote site. Take a look to the documentation on the Media API.

Best.

L.

David Salvador

unread,
Mar 24, 2014, 5:46:28 AM3/24/14
to kur...@googlegroups.com, David Salvador
Hi Luis,

Tnks for the fast answer. Actually I am restricted to RTP, so I'll have to use RTPEndpoints.

Also... My objective is not to connect "Alice" and "Bob" in a call, they connect to each other directly. What I need is, when they are already in a call, for the server to send SIP "Invite" to one of the endpoints in order to make a video share. then, the endpoint will answer with a 200 OK (with their capabilities in the SDP), and then, the server will send to the endpoint a video. So, for example if the server makes a video share with "Alice", the other enpoint in the call (in this case "Bob") will not be aware of the video share that the server is making with "Alice".

I'm sorry if i did not explain myself correctly before.

In attach I've put a diagram of what I'm looking for. My doubts are:

1- At the beginning of video share, the Media server is not aware of the Endpoint capabilities (SDP), so... i need to send an Invite for video share.. I know how to send the sip invite, I'm just not sure how to retrieve the media server SDP.

2- When the 200 Ok arrives with the capabilities of the endpoint (ports and codecs etc... on the SDP), how do i "tell" the media server: "here is the sdp of the Endpoint... and start sending the video". 

3- How do I specify to the server which file to send? 


Please corect me if I'm wrong, but RTPEndpoints "represent" an actual Endpoint right? not the server?

Again... I'm sorry to flood you with all the questions, and thanks a lot for all the help

Cheers,
David Salvador
architecture_diagrams - David.jpg

David Salvador

unread,
Mar 24, 2014, 8:33:34 AM3/24/14
to kur...@googlegroups.com, David Salvador
For the examples I've seen in the repository, and for what i've learned from Documentation, this is what I think i should do (Please correct me if I'm wrong):

1- Create MediaPipelineFactory from bean (Spring injection)
2- Get MediaPipeline
3- Create PlayerEndpoint for video
4- Create RTPEndpoint
5- Connect RtpEndpoint & PlayerEndpoint
6- Generate offer (This will give me the local SDP from server right?)
7- Send this SDP throw SIP to Endpoint
8- When 200OK arrives from Endpoint, get the SDP
9- RtpEndpoint processOffer (previous SDP)

Am I close to what i should do ?

Cheers,
David Salvador

LuLop

unread,
Mar 24, 2014, 12:15:22 PM3/24/14
to kur...@googlegroups.com, David Salvador
Yes, what you need to do is approximately what you propose (se my commend below). Make a try and tell us if there are problems.


El 24/03/2014, a las 13:33, David Salvador <djcsa...@gmail.com> escribió:

For the examples I've seen in the repository, and for what i've learned from Documentation, this is what I think i should do (Please correct me if I'm wrong):

1- Create MediaPipelineFactory from bean (Spring injection)
2- Get MediaPipeline
3- Create PlayerEndpoint for video
4- Create RTPEndpoint
5- Connect RtpEndpoint & PlayerEndpoint
PlayerEndpoint#connect(RtpEndPoint); //Connections are from source to sink

David Salvador

unread,
Mar 24, 2014, 12:24:20 PM3/24/14
to kur...@googlegroups.com, David Salvador
Tnks a lot for the answer! 

I don't know if you need, but if you want, i can later send you the code,maybe for creating an example or something like that. I'll be using Mobicents JainSlee to handle sip/sdp, and kurento for rtp connections. 

Cheers,
David Salvador

LuLop

unread,
Mar 24, 2014, 12:33:01 PM3/24/14
to kur...@googlegroups.com, David Salvador
It would be nice if you share the code with the community by uploading it to a github repo and sharing the link in this list, so that other members can see the use-case and analyze it.

Best.

L.

David Salvador

unread,
Mar 24, 2014, 1:08:45 PM3/24/14
to kur...@googlegroups.com, David Salvador
Sure,

I'll put it when it's complete! Others might have the same doubts i had.

I'm just not really sure how to use Bean injection with Jboss.. any help regarding that ?

Cheers,
David

pablo...@gmail.com

unread,
May 16, 2014, 5:19:31 AM5/16/14
to kur...@googlegroups.com, David Salvador
Did you manage to get this working?

I have been playing with the kmf-content-demo and I have an idea how to implement SIP servlets but I'm stuck in the combination of both realms.

Correct me if I'm wrong, but my idea is to implement a SIP servlet, and use the doInvite call to talk to the KMS as it is done in an onContentRequest.

My problem is how to get a MediaPipelineFactory inside the SIP servlet as I don't have any RtpContentSession to start with.

It would be great if you could share a small example showing how to talk to the KMS from SIP servlets.

Regards,
Pablo

akshay...@gmail.com

unread,
Jun 15, 2016, 9:11:47 AM6/15/16
to kurento, djcsa...@gmail.com
Hi David,
Did you manage to create a github directory. It would be really helpful if you could share aPOc as I am also trying to implement something similar
Thank you in advance.

Warm regards,
Akshay
Reply all
Reply to author
Forward
0 new messages