Does Kurento transcodes video automatically?

718 views
Skip to first unread message

ankit...@gmail.com

unread,
Apr 1, 2018, 1:09:13 PM4/1/18
to kurento
Hi,

I just noticed that my chrome Android and Safari IOS cannot connect with each other without kurento in p2p. While with kurento it works, does kurento transcodes the video on the fly from vp8 to h264 or vice versa? I am getting very poor performance on my kurento, 150 users max on my 8GB and 4vcpu Digital ocean server while others claim 1000 users with 20%(jitsi) but I don't want to use them coz of one recording at a time. I want to disable this if it really happens, how can I do this? Will creating an Android app for chrome be better than transcoding for scalability.

Regards

Micael Gallego

unread,
Apr 1, 2018, 2:02:59 PM4/1/18
to kur...@googlegroups.com
Hi,

Kurento does transcoding if needed. In your case, if you want to avoid transcoding between chrome and ios you should force H264 codec between them. This can be done modifying SDP response like described in this post:


Also, if you want to be sure if transcoding is happening in KMS is looking to MediaTranscodingStateChange


Regarding to scalability, the only way to know most performant server is making performance testing yourself comparing different media servers. 

Regards.

--
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.
To post to this group, send email to kur...@googlegroups.com.
Visit this group at https://groups.google.com/group/kurento.
To view this discussion on the web visit https://groups.google.com/d/msgid/kurento/c33643d7-89af-4660-9986-608999ae36df%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Message has been deleted

euler27183

unread,
Apr 1, 2018, 9:55:24 PM4/1/18
to kurento
Is it always the case that if both endpoints use H.264, then no video transcoding happens? What about if it is done across protocols like RTSP to WebRTC?

Micael Gallego

unread,
Apr 2, 2018, 1:30:09 AM4/2/18
to kur...@googlegroups.com
If both endpoints use the same H264 profile, then there is no transcoding at all. But it is possible that a IP cam only offer an incompatible H264 profile, then it is necessary to transcode to WebRTC. For that reason, the event it is very interesting.

Best regards

Micael Gallego
Kurento / OpenVidu Project Lead

On Mon, Apr 2, 2018 at 3:55 AM, euler27183 <volati...@gmail.com> wrote:
Is it always the case that if both endpoints use H.264, then no video transcoding happens? What about if it is done across protocols like RTSP to WebRTC?
--
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+unsubscribe@googlegroups.com.

To post to this group, send email to kur...@googlegroups.com.
Visit this group at https://groups.google.com/group/kurento.

Micael Gallego

unread,
Apr 7, 2018, 10:48:29 AM4/7/18
to kur...@googlegroups.com
You can check if transcoding is happening querying this method:


You can also subscribe to events.

In your case, you have to call to this method in the WebRtcEndpoint.

Best regards

Micael Gallego
Kurento / OpenVidu Project Lead

On Sun, Apr 1, 2018 at 10:27 PM, euler27183 <volati...@gmail.com> wrote:
Hi Micael,

Is there documentation as to whether Kurento video transcodes if you have a PlayerEndpoint using RTSP and send it to a WebRTC endpoint? If both endpoints use H.264, then does transcoding still happen? Does adapting bit rate on the WebRTC endpoint affect this?
To unsubscribe from this group and stop receiving emails from it, send an email to kurento+unsubscribe@googlegroups.com.

To post to this group, send email to kur...@googlegroups.com.
Visit this group at https://groups.google.com/group/kurento.

Neil Young

unread,
Sep 25, 2021, 4:30:32 AM9/25/21
to kurento
I have a WebRTC upstream delivering VP8 towards KMS. This is connected to an RTPEndpoint. AFAIK RTPEndpoint is just supporting H.264. Hence I'm pretty sure, that there is some transcoding happening. But I can't figure it out. From the system load on the KMS I see, that there must be a transcoding, because if I disable VP8 my WebRTC upstream is H.264 and the load is slightly lower.

I already tested to examine the both elements I have in my node server:

gWebRTCEndpoint.isMediaTranscoding("VIDEO").then((result) => { console.log("transcoding", result)})
gRtpEndpoint.isMediaTranscoding("VIDEO").then((result) => { console.log("transcoding", result) })

But both promises return false in all scenarios.

What am I doing wrong?


Paulo Lanzarin

unread,
Sep 25, 2021, 3:00:07 PM9/25/21
to kur...@googlegroups.com
Although I believe the API state should be returning `true` if the media stream is being transcoded, you can
be completely sure about what's going on regarding transcoding state by skimming through the logs.

I believe setting `agnosticbin:5` should expose caps intersection data (you'd be able to see source and sink codecs).
`Kurento*:5,kms*:5` (sorry; can't remember the specific elements) should also enable log messages which clarifies
whether something is being transcoded. grep for `TRANSCODING ACTIVE` (`TRANSCODING INACTIVE` for the negation) in the logs.

Neil Young

unread,
Sep 26, 2021, 3:16:29 AM9/26/21
to kurento
@prlanzarin You are completely right. I already recalled the required settings to observe this behaviour in the KMS and indeed, the transcoding happens.
Reply all
Reply to author
Forward
0 new messages