kaltura / nginx-vod-module

NGINX-based MP4 Repackager
GNU Affero General Public License v3.0
1.99k stars 439 forks source link

Not able to play audio only files #1398

Closed sridhard closed 1 year ago

sridhard commented 1 year ago

Hi, I am trying to play a file which has only audio stream using mapped mode using DASH/HLS. Below is the mapped file: { "sequences": [ { "clips": [ { "type": "source", "path": "/home/ubuntu/videos/a.mp4" } ] } ] }

I am getting the below error: 2022/10/29 08:27:47 [error] 21727#0: 35 ngx_http_vod_validate_streams: no matching streams were found, probably invalid segment index while getting mapping, client: 49.37.156.47, server: vod-server, request: "GET /dash/test.json/fragment-1-f1-a1-x3.m4s HTTP/1.1", host: "vodserver.learnyst.com", referrer: "https://shaka-player-demo.appspot.com/" 2022/10/29 08:27:47 [error] 21727#0: 36 ngx_http_vod_validate_streams: no matching streams were found, probably invalid segment index while getting mapping, client: 49.37.156.47, server: vod-server, request: "GET /dash/test.json/fragment-1-f1-v1-x3.m4s HTTP/1.1", host: "vodserver.learnyst.com", referrer: "https://shaka-player-demo.appspot.com/" 2022/10/29 08:27:48 [error] 21727#0: 36 ngx_http_vod_validate_streams: no matching streams were found, probably invalid segment index while getting mapping, client: 49.37.156.47, server: vod-server, request: "GET /dash/test.json/fragment-1-f1-a1-x3.m4s HTTP/1.1", host: "vodserver.learnyst.com", referrer: "https://shaka-player-demo.appspot.com/" 2022/10/29 08:27:49 [error] 21727#0: 36 ngx_http_vod_validate_streams: no matching streams were found, probably invalid segment index while getting mapping, client: 49.37.156.47, server: vod-server, request: "GET /dash/test.json/fragment-1-f1-v1-x3.m4s HTTP/1.1", host: "vodserver.learnyst.com", referrer: "https://shaka-player-demo.appspot.com/" 2022/10/29 08:27:49 [error] 21727#0: 36 media_set_parse_sequences: request has no sequences while getting mapping, client: 49.37.156.47, server: vod-server, request: "GET /dash/test.json/fragment-1-f2-v1-x3.m4s HTTP/1.1", host: "vodserver.learnyst.com", referrer: "https://shaka-player-demo.appspot.com/" 2022/10/29 08:27:51 [error] 21727#0: 35 media_set_parse_sequences: request has no sequences while getting mapping, client: 49.37.156.47, server: vod-server, request: "GET /dash/test.json/fragment-1-f2-v1-x3.m4s HTTP/1.1", host: "vodserver.learnyst.com", referrer: "https://shaka-player-demo.appspot.com/"

erankor commented 1 year ago

From this output, I'm guessing is that you edited the json while the server was active, and you still have either some old JSON in cache, or maybe the manifest response returns from cache. I'm saying this because the log has URLs with 'f2' while the JSON has only one sequence. Try restarting the server + clearing all caches (incl browser cache) and try again. Another option is just to use a new file name (e.g. test2.json)

sridhard commented 1 year ago

@erankor below are the test results

{
  "sequences": [
  {
    "clips": [
        {
          "type": "source",
          "path": "/home/ubuntu/videos/a.mp4"
        }
    ]
  }
  ]
}

Error 2022/11/01 03:00:55 [error] 4711#0: 1 ngx_http_vod_validate_streams: no matching streams were found while reading media header, client: 49.37.156.47, server: vod-server, request: "GET /dash/test2-1.json/manifest.mpd HTTP/1.1", host: "vodserver.learnyst.com", referrer: "https://shaka-player-demo.appspot.com/" 2022/11/01 03:00:56 [error] 4711#0: 2 ngx_http_vod_validate_streams: no matching streams were found while getting mapping, client: 49.37.156.47, server: vod-server, request: "GET /dash/test2-1.json/manifest.mpd HTTP/1.1", host: "vodserver.learnyst.com", referrer: "https://shaka-player-demo.appspot.com/"

DASH Debug Logs Link: https://coursecopy.s3.ap-south-1.amazonaws.com/logs/kaltura_nginx_debug-2.log a.mp4 link: https://coursecopy.s3.ap-south-1.amazonaws.com/logs/a.mp4

erankor commented 1 year ago

Same as I wrote on the other thread - fragmented MP4 is not supported.

sridhard commented 1 year ago

Thanks. It is working