【问题标题】:Strange NTSC frame timestamps in Mp4 videoMp4视频中奇怪的NTSC帧时间戳
【发布时间】:2020-03-17 08:39:38
【问题描述】:

我正在调查在 Android 三星平板电脑上拍摄的 mp4 视频。我使用 MediaCodec 和 MediaExtractor 来获取一些关于它的详细信息,并发现了一些对我来说没有意义的有趣的东西。 NTSC 视频似乎是 1080p/29.97fps。我与 MediaExtractor.SampleTime 信息一起制作了一个帧列表。这是列表:

0-KEY timestamp: 0
1- timestamp: 36711  diff:36711
2- timestamp: 70022  diff:33311
3- timestamp: 103322  diff:33300
4- timestamp: 136655  diff:33333
5- timestamp: 169955  diff:33300
6- timestamp: 203300  diff:33345
7- timestamp: 236588  diff:33288
8- timestamp: 269955  diff:33367
9- timestamp: 303244  diff:33289
10- timestamp: 336577  diff:33333
11- timestamp: 369855  diff:33278
12- timestamp: 403166  diff:33311
13- timestamp: 436511  diff:33345
14- timestamp: 469800  diff:33289
15- timestamp: 503111  diff:33311
16- timestamp: 536477  diff:33366
17- timestamp: 569733  diff:33256
18- timestamp: 603055  diff:33322
19- timestamp: 636388  diff:33333
20- timestamp: 669700  diff:33312
21- timestamp: 703000  diff:33300
22- timestamp: 736311  diff:33311
23- timestamp: 769633  diff:33322
24- timestamp: 802944  diff:33311
25- timestamp: 836311  diff:33367
26- timestamp: 869577  diff:33266
27- timestamp: 902933  diff:33356
28- timestamp: 936211  diff:33278
29- timestamp: 969522  diff:33311
30-KEY timestamp: 1002833  diff:33311

有趣的事实是,帧的持续时间变化超出我的预期。我认为持续时间应该是 1 / (30 / 1001) 毫秒 ~33.366ms。 但正如我所看到的,第一帧是 ~36.711 毫秒。对我来说更有趣的是第 30 帧(从零开始)从 1.002833 秒开始。
它不应该从 1.001 秒开始吗? 谁能推荐我一些关于数字形式的 NTSC 视频的文章?我是否遗漏了一些重要的东西,或者我的示例中的时间戳是否不标准?
最初我在考虑是否能够计算流时间以从我会跳过的许多帧中寻找。假设我想跳过 mp4 流的 27 帧。我应该寻找什么时间?最后我查看了帧列表并想知道发生了什么:)

【问题讨论】:

  • 也许你可以分享一个示例文件的链接。

标签: video mp4 android-mediacodec ntsc


【解决方案1】:

您的思维过程已成定局,但您缺少一件事。大多数软件都很烂。您说的是真的,但是编写生成该 mp4 的软件的人不在乎,也不知道如何正确打包文件。可悲的是,野外的大多数视频文件都是这样的。

尝试平均所有持续时间,它可能非常接近 30000/1001

【讨论】:

    【解决方案2】:

    谢谢大家的回复,对不起,我得到的信息是29.97,但是有机会看另一个相同类型的视频后,我发现这肯定是一个可变帧率视频. (第二个视频有一帧,持续时间为 466333us)
    无论如何,因为它是一个实时捕捉视频(不是静态图片的演示或类似的东西),我不明白为什么帧持续时间不以固定帧速率的倍数变化。例如 frame0 = 33.366ms 和 frame1 = 66.732 (33.366 * 2)。
    想知道将此类视频转码为不同帧率格式(例如 23/24/25/29.97)是多么容易:)

    【讨论】:

      猜你喜欢
      • 2018-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-07
      • 2019-10-10
      • 2015-10-20
      • 2011-11-20
      相关资源
      最近更新 更多