9 | | To demonstrate this, consider the slightly uncommon framerate 23.976 (2997/125). In order to have a truncating float representation, the segment duration (=GOP_SIZE/framerate) must, at minimum, have a reduced fraction representation with only facts of 2 and 5 in the denominator. Because the GOP_SIZE is an integer and 2997 has no factors of 2 or 5, the GOP_SIZE must at minimum have 2997 as a factor in order to be compatible with ffmpeg's DASH muxer. If this minimum value is chosen, the segment duration would be 2997/23.976=125 seconds. So the ffmpeg DASH muxer is unusable in no-timeline mode with framerates of 23.976 and segment lengths under 125 seconds (not generally usable for streaming). Note in addition to this, to be compatible with the DASH muxer the reduced fraction representation of the segment length must have a denominator <=`10^6` due to the microseconds used, but that's not relevant to see the failure here. |
| 9 | To demonstrate this, consider the slightly uncommon framerate 23.976 (2997/125). In order to have a truncating float representation, the segment duration (=GOP_SIZE/framerate) must, at minimum, have a reduced fraction representation with only factors of 2 and 5 in the denominator. Because the GOP_SIZE is an integer and 2997 has no factors of 2 or 5, the GOP_SIZE must at minimum have 2997 as a factor in order to be compatible with ffmpeg's DASH muxer. If this minimum value is chosen, the segment duration would be 2997/23.976=125 seconds. So the ffmpeg DASH muxer is unusable in no-timeline mode with framerates of 23.976 and segment lengths under 125 seconds (not generally usable for streaming). Note in addition to this, to be compatible with the DASH muxer the reduced fraction representation of the segment length must have a denominator <=`10^6` due to the microseconds used, but that's not relevant to see the failure here. |