[FFmpeg-trac] #11249(avcodec:new): `ffprobe` reported MPEG-2 GOP header timecodes 1 frame early

FFmpeg trac at avcodec.org
Sun Oct 20 23:55:28 EEST 2024


#11249: `ffprobe` reported MPEG-2 GOP header timecodes 1 frame early
---------------------------------------+-----------------------------------
             Reporter:  MaxEliaserAWS  |                    Owner:  (none)
                 Type:  defect         |                   Status:  new
             Priority:  normal         |                Component:  avcodec
              Version:  git-master     |               Resolution:
             Keywords:  mpeg2video     |               Blocked By:
             Blocking:                 |  Reproduced by developer:  0
Analyzed by developer:  0              |
---------------------------------------+-----------------------------------
Comment (by MasterQuestionable):

 ͏    As I'm trying to sort these things out: I have to pay attention to
 every, even the slightest details.
 ͏    So to not retrace the very old mistakes.

 ͏    Based on your description the 10 h alike offset appears constant, and
 applies environment-wide.
 ͏    So there should be no difference just adding/subtracting it to
 satisfy specific use.
 ͏    [ Bear the havoc of alike, of course. ]

 ͏    Legacy workflows have their own expectations.
 ͏    That modern technologies may not satisfy, for each other.

 ͏    Old content may as well be restored in new definitions.
 ͏    And when properly done: likely of higher quality.
 ͏    [ Modern structure is VFR based. 29.976 whatsoever, doesn't really
 matter. ]

 ͏    Whatsoever you seem to miss the core question:
 ͏    "timestamps of GOP be additionally stored"
 ͏    ; not really about SMPTE timecodes in general.

 [[
 ͏    "Why should the timestamps of GOP be additionally stored, when
 directly derivable?"
 ͏    I don't really disagree, for containers/codecs that can signal a
 non-0 starting PTS.

 ͏    I would just note that there are a lot of workflows/software out
 there, which still rely on timecode:
 ͏    And which do not do this derivation, even though it is possible to
 do.

 ͏    An example of where it might not be as easily derivable is in the
 !QuickTime format:
 ͏    Where the STTS/CTTS box structure cannot easily achieve a non-0
 starting PTS.
 ͏    But where timecode can be signaled as a separate track of type
 "tmcd", to start the timeline at 10:00:00:00.

 ͏    It is still standard in television production to start timecodes at
 10 hours (1 hour for film).
 ͏    This practice was established because mechanical tape/film equipment
 needs a little bit of time, to get its motors spinning up to full speed:
 so the tape can't start at 0.
 ͏    If the pre-roll starts at 9:59:52:00, then the actual content can
 start at 10:00:00:00, a nice round number.
 ͏    .
 ͏    Although we don't use this type of equipment anymore, this convention
 is still absolutely standard in television/broadcast.
 ͏    And there are a lot of files out there which signal this in timecode
 but not in PTS.

 ͏    Some information on this is here:
 ͏    [20210407] Why Does TV Timecode Start At 10 HOURS???
 ͏    704 s (11:44)
 ͏    https://www.youtube.com/watch?v=C-aJEhZtnVo
 ͏    The Crow Hill Company (@!TheCrowHillCo)
 [[
 ͏    In a recent series of seminars about writing FACENT or "factual
 entertainment", a few of you asked why did the timecode for TV start at 10
 hours???
 ͏    Well in this vlog I attempt to explain that with a few historical
 nuggets, that even the most seasoned of you may be surprised you didn't
 know!
 ]]
 ͏    (apologies for video, I would have provided a written resource if I
 could find one)

 ͏    If we were to redesign all video software and file formats today, I
 agree it would be better to just focus on PTS and eliminate SMPTE
 timecode.
 ͏    But old technology still has a lot of influence from beyond the
 grave, and people still want to watch the old content.
 ͏    (otherwise we'd have stopped using 29.976 FPS in North America a long
 time ago)

 ͏    For FFmpeg's use case as a self-contained transcoder, it's probably
 easy to avoid using timecode.
 ͏    But for FFprobe's use as a video analyzer tool or "avcodec" 's use in
 other video software, I would argue for its continued usefulness.

 ͏    Anyway, thanks for the opportunity to nerd out about video stuff.
 This was fun!
 ]]
-- 
Ticket URL: <https://trac.ffmpeg.org/ticket/11249#comment:15>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list