Changes between Version 2 and Version 3 of Ticket #9440


Ignore:
Timestamp:
Sep 26, 2021, 2:49:33 AM (3 years ago)
Author:
Gregory Beauregard
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #9440 – Description

    v2 v3  
    77Not all slightly uncommon framerates in the wild have '''any''' reasonable segment duration that can be represented exactly with an integer number of microseconds, meaning that ffmpeg's dash muxer does not support these framerates in no-timeline mode.
    88
    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.
     9To 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.
    1010
    1111