Compiling the kaltura nginx with live rtmp

I am able to stream, the encoder is connects, I can see in /tmp/var/hlsme/ tmp/var/dashme stream chunks, but i cannot see the stream in any jwplayer or the kaltura player.

I see. Please provide a sample embed page so I can take a look…
Thanks,

http://31.14.40.115/kalt.html -kalt player with hls link
http://31.14.40.115/jwplayer.html - jwplayer with rtmp link ( at some point it gives a crossdomain.xml error, if you leave it to load enough

in the encoder i am streaming to 162.244.80.111:1935/kLive

In the kmc i did manual live stream, unchecked akamai hd and in the hls link window i entered http://162.244.80.111:1935/hlsme/test.m3u8

@razvan_iacob,

This is an embed code for the legacy Flash player [KDP].
Please go to KMC->Studio and create an HTML5 player, then provide the embed code for that.

Thanks,

@jess

Hi, http://31.14.40.115/kalt.html
Hope this is ok.

Hi @razvan_iacob,

If you open the page and your browser’s dev tools under the “console” tab, you’ll see this is a player of version 2.45. We need version 2.48.1 and above but regardless of that, trying to stream to rtmp://31.14.40.115:1935/kLive/test, I get a response that makes me believe I am answered by the Wowza daemon, not Nginx…

$ ffmpeg -re -i /path/to/mp4 -c copy -f flv "rtmp://31.14.40.115:1935/kLive/test"

Returns with:

[rtmp @ 0x1b1f260] Unknown connect error (unsupported authentication method?)
[rtmp @ 0x1b1f260] Server error: Connection failed: Application folder ([install-location]/applications/kLive) is missing.
rtmp://31.14.40.115:1935/kLive/test: Unknown error occurred

If you do:

$ curl -I -v 31.14.40.115:1935

You’ll see I’m right and it is Wowza, not Nginx that answers:

* Server WowzaStreamingEngine/4.5.0 is not blacklisted
< Server: WowzaStreamingEngine/4.5.0
Server: WowzaStreamingEngine/4.5.0

i had wowza on the server, but it’s not running on it…
I’ll double check…

Jess the streaming server is 162.244.80.111, 31.14.40.115 is just a test server and yes it has Wowza, but i use it only for the web server to load players.

So, the streaming server is 162.244.80.111:1935/kLive
31.14.40.115 is just a web server where I test the players.

[root@nginx conf.d]# netstat -anp|grep 1935
tcp 0 0 0.0.0.0:1935 0.0.0.0:* LISTEN 3731/nginx
tcp 0 0 162.244.80.111:1935 89.136.235.146:52056 ESTABLISHED 3735/nginx
tcp 0 0 162.244.80.111:1935 89.136.235.146:63032 ESTABLISHED 3740/nginx
tcp 0 0 162.244.80.111:1935 162.244.80.215:46479 ESTABLISHED 3737/nginx
tcp 0 0 162.244.80.111:1935 89.136.235.146:63522 ESTABLISHED 3735/nginx

89.136.235.146 this is my encoder ip, as you can see it shows it connected.

@razvan_iacob,

I see. I missed

Before… sorry!

At any rate, streaming to rtmp://162.244.80.111:1935/kLive/test seems fine and I am also getting the manifest when making a request to http://162.244.80.111:88/hlsme/test.m3u8

Your JWPlayer is trying to load the manifest from http://162.244.80.111:1935/kLive/test/playlist.m3u8, which is wrong. Should be http://162.244.80.111:88/hlsme/test.m3u8, which is why it isn’t working.

The Kaltura player should be upgraded to latest, i.e: v2.50. This can be done by running:
# yum update kaltura-html5lib

And does not necessitate upgrading the entire server [although, it is recommended]. If you want to only upgrade the player, then after running the yum update commend, you’ll also need to update /opt/kaltura/app/configurations/local.ini and set:

html5_version = v2.50 

and /opt/kaltura/web/flash/kmc/v5.40.3/config.ini, replacing all .*html5_version and setting v2.50 instead of the currently set version.

Then you’ll need to re-run /opt/kaltura/bin/kaltura-front-config.sh

When I streamed using

$ ffmpeg -re -i /path/to/mp4 -c copy -f flv "rtmp://162.244.80.111/kLive/test"

I was able to play the stream using http://osmfhls.kutu.ru/, passing along http://162.244.80.111:88/hlsme/test.m3u8 as the M3U8 URL.

Same when using https://www.hlsplayer.net/

Thanks Jess,
Will do what you suggested and get back to you.
I really appreciate your help ! Much obliged :slight_smile:

Hi @razvan_iacob,

You’re welcome, of course.

Keep me posted.
Also, note that once you get it to work, you should configure FW rules to prevent streaming from 0.0.0.0 and restrict to a known IP range, otherwise, anyone could stream from anywhere.
Alternatively, look at the RTMP module auth options so that auth will be required when streaming.

Hi Jess,
Most def i’ll add auth to the nginx module, i’m keeping it open for testing purposes. Very good point, thank you !

Jess is there any chance I can ruin my install if i run /opt/kaltura/bin/kaltura-front-config.sh on my front node ?

I did all the changes, but i’m scared to run the front config fearing it will render the platform unsusable, and i have quite a bit of content and accounts on it.

Hi @razvan_iacob,

This shouldn’t break anything but, as you know, with software, as good as it may be, there is always a chance:)
If something should break, I’ll be here to assist, as always.

Hi Jess,
You’re right as always, worked as a charm. :slight_smile: thanks my friend, now i just have to try and automate the insertion of the hls links in customers accounts. Any idea how I might do that ?

For always in your debt,
Jacob R.

P.S: If you ever need a free VPS, pm me :slight_smile:

Hi Jacob,

Glad we’re good. Not sure I understand what you mean by “now i just have to try and automate the insertion of the hls links in customers accounts.”, can you please explain what you’re trying to achieve?

Basically I’m trying to make so that the hls links auto add themselfs when the user clicks add livestream entry…