如何计算mp4视频的开始时间?
How to calculate the start time of mp4 video?
我正在研究mp4视频结构。我在读取以下 mp4 video
的开始时间值时遇到问题
我已阅读此答案
而且说Edit atom可以修改开始时间
使用 ffprobe
我有以下输出:
"start_time": "0.033333",
"duration_ts": 327,
"duration": "10.900000",
"bit_rate": "9420949",
使用 mp4dumper
我有以下原子结构,证明缺少编辑原子文件:
ftyp (24 @ 0)
free (8 @ 24)
moov (7034 @ 32)
mvhd (108 @ 40)
trak (2883 @ 148)
tkhd (92 @ 156)
mdia (2783 @ 248)
mdhd (32 @ 256)
hdlr (52 @ 288)
minf (2691 @ 340)
smhd (16 @ 348)
dinf (36 @ 364)
dref (28 @ 372)
url (12 @ 388)
stbl (2631 @ 400)
stsd (91 @ 408)
mp4a (75 @ 424)
stts (24 @ 499)
stsc (304 @ 523)
stsz (2056 @ 827)
stco (148 @ 2883)
trak (4035 @ 3031)
tkhd (92 @ 3039)
mdia (3935 @ 3131)
mdhd (32 @ 3139)
hdlr (52 @ 3171)
minf (3843 @ 3223)
vmhd (20 @ 3231)
dinf (36 @ 3251)
dref (28 @ 3259)
url (12 @ 3275)
stbl (3779 @ 3287)
stsd (163 @ 3295)
avc1 (147 @ 3311)
stts (24 @ 3458)
ctts (1960 @ 3482)
stsc (40 @ 5442)
stsz (1328 @ 5482)
stco (148 @ 6810)
stss (108 @ 6958)
mdat (13096745 @ 7066)
如何ffprobe
计算0.033333开始时间值?
在此文件中,视频轨道时基为1/30,没有编辑列表,第一个视频样本在ctts中的偏移量为1 table。因此,第一个视频样本的 pts 是 0 的 dts + 1 的 ctts = 1,以 TB 为单位,绝对时间为 1 * 1/30 = 0.03333。没有较早点的帧,所以这是轨道开始时间。
我正在研究mp4视频结构。我在读取以下 mp4 video
的开始时间值时遇到问题我已阅读此答案
而且说Edit atom可以修改开始时间
使用 ffprobe
我有以下输出:
"start_time": "0.033333",
"duration_ts": 327,
"duration": "10.900000",
"bit_rate": "9420949",
使用 mp4dumper
我有以下原子结构,证明缺少编辑原子文件:
ftyp (24 @ 0)
free (8 @ 24)
moov (7034 @ 32)
mvhd (108 @ 40)
trak (2883 @ 148)
tkhd (92 @ 156)
mdia (2783 @ 248)
mdhd (32 @ 256)
hdlr (52 @ 288)
minf (2691 @ 340)
smhd (16 @ 348)
dinf (36 @ 364)
dref (28 @ 372)
url (12 @ 388)
stbl (2631 @ 400)
stsd (91 @ 408)
mp4a (75 @ 424)
stts (24 @ 499)
stsc (304 @ 523)
stsz (2056 @ 827)
stco (148 @ 2883)
trak (4035 @ 3031)
tkhd (92 @ 3039)
mdia (3935 @ 3131)
mdhd (32 @ 3139)
hdlr (52 @ 3171)
minf (3843 @ 3223)
vmhd (20 @ 3231)
dinf (36 @ 3251)
dref (28 @ 3259)
url (12 @ 3275)
stbl (3779 @ 3287)
stsd (163 @ 3295)
avc1 (147 @ 3311)
stts (24 @ 3458)
ctts (1960 @ 3482)
stsc (40 @ 5442)
stsz (1328 @ 5482)
stco (148 @ 6810)
stss (108 @ 6958)
mdat (13096745 @ 7066)
如何ffprobe
计算0.033333开始时间值?
在此文件中,视频轨道时基为1/30,没有编辑列表,第一个视频样本在ctts中的偏移量为1 table。因此,第一个视频样本的 pts 是 0 的 dts + 1 的 ctts = 1,以 TB 为单位,绝对时间为 1 * 1/30 = 0.03333。没有较早点的帧,所以这是轨道开始时间。