RtpEndpint -> WebRtc using Hardware Encoder

435 views
Skip to first unread message

Matan Givoni

unread,
Oct 29, 2017, 1:30:28 PM10/29/17
to kurento
Hi,

I am trying to broadcast a stream coming from Haivision Makito DVI. Makito is a hardware encoder which captures a FHD display using DVI cable, compresses using h.264 codec and streams in number of protocols (TS over UDP, TS over RTP, Direct RTP, Quicktime, RTMP).
  • So far I have managed to play a RTSP stream from vlc to Kurento
  • I have implemented a RtpEndpoint -> WebRtc example which is published in this repository.
  • The encoder's `sdp` can be accessed here - SDP.

  • At first Kurento had crashed and throw an error saying "Could not join Multicast group: No such Device" which I solved using this post.

  • Now, my server side and client side are working and communicating perfectly but no video can be seen.
Currently I don't have a clue what is the problem.

This is the SDP answer generated by Kurento after using rtpEndpoint.processOffer():

v = 0
o =- 3718280759 3718280759 IN IP4 192.168.6.20
s = Kurento Media Server
c = IN IP4 192.168.6.20
t = 0 0
m = video 58116 RTP/AVP 96
a = fmtp: 96 packetisation-mode=1; sprop=parameter-sets=Z0IAKYxoB4ifl/8AAQABEAAAAMAQAAADyEAAAAAAA=,aM48gAAAAA=
a = ssrc:3106833799 cname:user3165393302@host-52028916
m = audio 34338 RTP/AVP
a = ssrc:396556932 cname:user3165393302@host-52028916
  • Which of the above protocols does Kurento currently support?
  • Do I place some commands in the wrong order?
  • What am I doing wrong?
Please help,

Thanks

Matan Givoni

unread,
Nov 3, 2017, 11:26:40 AM11/3/17
to kurento
Update:

   I have managed to play a stream from the encoder using RTSP and PlayerEndpoint -> WebRTC pipeline.
   But the quality isn't the best (`ffmpeg` and `VLC` doing a much better job).
   I think `transcoding` and the lack of bandwidth control in `PlayerEndpoint` are the reason for low quality.

If VLC can play `QuickTime`, `TS over RTP` and `TS over UDP` streans so I bet `Kurento` can do that too.

  • The encoder broadcasts QuickTime, TS, and Direct RTP using `Multicast` addresses, is that the reason why RtpEndpoint can't connect to the stream?
  • Does `Kurento` even support `Multicast`?
  • Can I disable transcoding and force a h.264 stream to WebRtc? 

Matan Givoni

unread,
Nov 5, 2017, 6:19:09 PM11/5/17
to kurento
Ok I finally managed to make it work.

The problem was a wrong udp port.

I had to take at the udp port described in the  sdp answer which is returned from rtpEndpoint.processOffer() and reconfigure Haivision Makito at runtime.

Thanks for the help :|

Micael Gallego

unread,
Nov 5, 2017, 7:10:10 PM11/5/17
to kur...@googlegroups.com
Glad to hear that. 

It would be great if you could share your code so others can take a look to it.

Best regards

Micael Gallego
Kurento / OpenVidu Project Lead

--
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.
To view this discussion on the web visit https://groups.google.com/d/msgid/kurento/39c18f45-ed98-48ab-a689-90992b58d0a4%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Message has been deleted

Matan Givoni

unread,
Nov 11, 2017, 3:34:46 AM11/11/17
to kurento
I'll share every source code I can.

phom...@gmail.com

unread,
Nov 11, 2017, 3:39:13 AM11/11/17
to kur...@googlegroups.com

Thanks Matan!  That is what I call giving back!  Kurento is a great program that we'll keep alive by just that.

I'm not there yet, and I'm not a node.js guy so I'll need to reverse engineer things, but grabbing from a mpeg compression board and/or USB stick is on my todo list so this will help me!

Paul



On 11/11/17 3:33 AM, Matan Givoni wrote:
I'll share every source code I can.

On Monday, November 6, 2017 at 2:10:10 AM UTC+2, OpenVidu wrote:
Glad to hear that. 

It would be great if you could share your code so others can take a look to it.

Best regards

Micael Gallego
Kurento / OpenVidu Project Lead

On Mon, Nov 6, 2017 at 12:19 AM, Matan Givoni <matan...@gmail.com> wrote:
Ok I finally managed to make it work.

The problem was a wrong udp port.

I had to take at the udp port described in the  sdp answer which is returned from rtpEndpoint.processOffer() and reconfigure Haivision Makito at runtime.

Thanks for the help :|


Friday, November 3, 2017 at 5:26:40 PM UTC+2, Matan Givoni wrote:
Update:

   I have managed to play a stream from the encoder using RTSP and PlayerEndpoint -> WebRTC pipeline.
   But the quality isn't the best (`ffmpeg` and `VLC` doing a much better job).
   I think `transcoding` and the lack of bandwidth control in `PlayerEndpoint` are the reason for low quality.

If VLC can play `QuickTime`, `TS over RTP` and `TS over UDP` streans so I bet `Kurento` can do that too.

  • The encoder broadcasts QuickTime, TS, and Direct RTP using `Multicast` addresses, is that the reason why RtpEndpoint can't connect to the stream?
  • Does `Kurento` even support `Multicast`?
  • Can I disable transcoding and force a h.264 stream 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+u...@googlegroups.com.

To post to this group, send email to kur...@googlegroups.com.
Visit this group at https://groups.google.com/group/kurento.
--
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.
Message has been deleted

Matan Givoni

unread,
Nov 11, 2017, 3:43:24 AM11/11/17
to kurento
UPDATE

It was just a weird behavior caused by a bug in my ICE exchanging implementation.

I can now say that Kurento is able to connect a multicast channel, just make sure you have a proper SDP!
Reply all
Reply to author
Forward
0 new messages