AAP
AAP

Reputation: 1284

Unable to get nginx-vod-module plugin to work

My first time trying hands on nginx-vod-module or any video streaming for that matter. I just want to play static mp4 videos which I place on the server but via hls instead of direct mp4 access. No actual live streaming

Q1. Am I right in understanding that a mp4 video which I place locally on my server, will automatically get broken down into segments for HLS?

My nginx installation is here: /opt/kaltura/nginx The mp4 file is placed at /opt/kaltura/nginx/test/vid.mp4

In ../nginx/conf/server.conf, I have this:

location /hls/ {
            alias test/;
            vod hls;
            vod_bootstrap_segment_durations 2000;
            vod_bootstrap_segment_durations 2000;
            vod_bootstrap_segment_durations 2000;
            vod_bootstrap_segment_durations 4000;

            include /opt/kaltura/nginx/conf/cors.conf;
        }
location / {
            root   html;
        }

Now, I am able to access the m3u8 file: curl http://104.167xxxxx/hls/vid.mp4/index.m3u8

But when I try to open this file via VLC, I see these errors in errors.log:

*2020/10/31 15:00:08 [error] 12749#0: *60 mp4_parser_validate_stsc_atom: zero entries, client: 49.207 ..., server: ubuntu, request: "GET /hls/vid.mp4/seg-1-v1.ts HTTP/1.1", host: "104.167. ..."
2020/10/31 15:00:08 [error] 12752#0: *61 mp4_parser_validate_stsc_atom: zero entries, client: 49.207 ..., server: ubuntu, request: "GET /hls/vid.mp4/seg-2-v1.ts HTTP/1.1", host: "104.167. ..."
2020/10/31 15:00:09 [error] 12749#0: *62 mp4_parser_validate_stsc_atom: zero entries, client: 49.207 ..., server: ubuntu, request: "GET /hls/vid.mp4/seg-3-v1.ts HTTP/1.1", host: "104.167. ..."
2020/10/31 15:00:10 [error] 12751#0: *63 mp4_parser_validate_stsc_atom: zero entries, client: 49.207 ..., server: ubuntu, request: "GET /hls/vid.mp4/seg-4-v1.ts HTTP/1.1", host: "104.167. ..."*

Q2: Is https must for this to work? Q3: I dont see any /hls/vid.mp4 folder created anywhere on the server. Do I have to manually run ffmpeg separately to create the hls segments?

What wrong am I doing?

Upvotes: 1

Views: 1080

Answers (1)

Ben
Ben

Reputation: 472

I'm no Kaltura expert, but hopefully this will help narrow some of your issues:

A1: Yes, Kaltura will package a solid mp4 to transport stream packets for HLS.

A2: No, this should work over plain http, have run many tests over http myself, does not require https.

A3: No, you don't need to manually run ffmpeg. I believe ffmpeg is a prerequisite, so it should be installed, but you do not need to chunk the mp4 yourself, the kaltura plugin will do this.

I've not seen the particular error message you posted, so afraid I can't help with that.

Upvotes: 1

Related Questions