mux.js icon indicating copy to clipboard operation
mux.js copied to clipboard

Stutters in video playback on Firefox/Win7+8

Open squarebracket opened this issue 8 years ago • 3 comments

HLS on Firefox/Win7+8 stutters significantly during video playback. The problem doesn't occur on any other browser or any other OS.

The same stream works on hls.js so I wonder if maybe that specific Firefox build is very strict or specific in terms of its interpretation of MP4 boxes.

squarebracket avatar May 30 '17 16:05 squarebracket

I did a comparison between the output of hls.js and mux.js. Here's some differences:

  1. The sizes are different. hls.js: moov.size = 701; moov.trak.size = 533; etc... mux.js: moov.size = 649; moov.track.size = 493; etc...

  2. The versions are different hls.js: moov.mvhd.version = 1; moov.trak.tkhd.version = 1 mux.js: moov.mvhd.version = 0; moov.trak.tkhd.version = 0

  3. The durations are wildly different, for some reason? hls.js: moov.mvhd.duration = 900900 mux.js: moov.mvhd.duration = 4294967295

  4. hls.js includes pasp box, which mux.js does not

  5. mux.js includes some traf info that hls.js does not mux.js:

      sampleDescriptionIndex: 1
      defaultSampleDuration: 0
      defaultSampleSize: 0
      defaultSampleFlags: 0
      size: 3216

hls.js just has size

  1. trun samples have different isNonSyncSample flags hls.js: all except first have isNonSyncSample = 1 mux.js: all have isNonSyncSample = 0

squarebracket avatar Jun 05 '17 17:06 squarebracket

^ that was on an SD segment, but it looks like it only happens with HD segments, so I will retest with an HD segment

squarebracket avatar Jun 05 '17 20:06 squarebracket

I made a comparison between a working HLS feed I found on the internet and the one that wasn't worked. My media is using the base profile with no constraint flags and a level of 30 or 31. Changing the profile to main caused the problem to disappear. I'm not sure why there would be a problem with mux.js but not hls.js if it's the video bits that are caused the problem. But that seems to be the case.

squarebracket avatar Jun 07 '17 21:06 squarebracket