2

我有一个 MP4 解析器软件,它可以获取片段.mp4视频,解析MOOV和片段标题并将其流式传输。我自己使用and /生成了一个.mp4文件,但是软件在处理它时遇到了问题。FFMPEGMP4Boxbento4

ffmpeg -i input.mp4 -g 25 -c:v libx264 -c:a copy out1.mp4

mp4fragment out1.mp4 --fragment-duration 1000 --track 'video' output.mp4

使用该MP4 Explorer软件,我注意到在我生成的.mp4文件中,对于所有moof.traf.trun,样本持续时间设置为0,但在 Track Fragment Header 框中,它将 设置default_sample_duration为 512。虽然在另一个.mp4工作正常的文件中,没有default_sample_duration字段,但是每个单独的样本的持续时间为 512。看起来这可能会导致问题。右图显示工作的 mp4,左图是我生成的 mp4。

这是FFMPEG(或MP4Boxbento4)较新版本的更新吗?有没有办法强制设置样本中的样本持续时间?

我的 .mp4 文件

工作 .mp4 文件

在此处输入图像描述

4

1 回答 1

1
  1. 解析TFHD
  2. 提取 default_sample_duration
  3. 使用 default_sample_duration 而不是 TRUN 中的缺席持续时间
于 2017-07-31T21:02:59.530 回答