【问题标题】:How to set duration of mp4 using mp4 atom?如何使用 mp4 atom 设置 mp4 的持续时间?
【发布时间】:2021-12-13 02:10:57
【问题描述】:

我想使用 mp4 原子设置 mp4 文件的持续时间。我已经更新了 mvhd、mdhd、tkhd 的持续时间属性,但没有运气。我想要做的是将长度从 3 分钟设置为 30 秒,比如说。我知道 time=duration/timescale。

谢谢。

【问题讨论】:

标签: mp4


【解决方案1】:

字段中的持续时间只是一种摘要。您需要延长每张图片的显示时间。通过操作此处找到的框来做到这一点:

/moov/trak/mdia/minf/stbl/stts

是时候对 atom/box 进行采样了。如果手头没有 ISO/EIC 14496-12,您可以安全地使用 Quicktime 文件格式规范来了解此原子/框的内容和结构。

要提高或降低视频的速度,您可以将每个样本持续时间(大多数情况下只有一个)乘以一个因子。

注意:H264 视频在某些情况下也有 ctts 框(如果使用 B 帧)。您还需要修改那里的时间。

【讨论】:

    【解决方案2】:

    编辑 mp4 文件并不简单,因为修改一个框会影响其大小以及所有祖先的大小。计时值也紧密相关:DTS、cts、轨道持续时间、编辑列表、电影持续时间......一些操作可以简单地完成,例如延长轨道最后一个样本的持续时间并反映标题中的变化.在您的情况下,减少持续时间意味着忽略一些样本。您可以编辑示例表,但这非常困难,并且几乎会更改所有框。您可以使用编辑列表,但这也很难。使用 MP4Box 制作新文件更容易:

    MP4Box -add input.mp4:dur=30 output.mp4
    

    【讨论】:

      猜你喜欢
      • 2013-08-28
      • 2014-08-07
      • 2012-07-05
      • 1970-01-01
      • 2011-06-25
      • 1970-01-01
      • 2019-07-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多