gpt4 book ai didi

ffmpeg - "ffprobe -v trace demo.mp4"输出的含义

转载 作者:行者123 更新时间:2023-12-04 22:59:01 25 4
gpt4 key购买 nike

Mp4 文件的“mdat 框”可能位于文件的最后。我想知道使用“ffmpeg”或“ffprobe”的“mdat”框的位置。

Mp4 由 'ftyp'、'moov' 和 'mdat' BOX 组成。每个 BOX 由“BoxHeader”和“BoxData”组成。 “BoxHeader”由“BoxSize(4Byte)”、“BoxType(4Byte)”、“BoxLargesize(8Byte,只有当box size超过4Byte表达式的范围时才有,那么BoxSize的值为1)”。

在程序中,您可以先读取 8 Byte 并知道 'ftyp box' 的大小,然后寻找大小并读取 8 Byte 以知道下一个框是否是 'moov box'。如果不是'moov',它应该是'mdat box',然后寻找交叉'mdat box'找到'mdat box'......

但我想用'ffprobe'来找到'moov'的位置。我使用'ffprobe -v trace demo.mp4',输出如下

[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fc8fd000e00] Format mov,mp4,m4a,3gp,3g2,mj2 probed with size=2048 and score=100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fc8fd000e00] type:'ftyp' parent:'root' sz: 28 8 41044500
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fc8fd000e00] ISO: File Type Major Brand: mp42
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fc8fd000e00] type:'moov' parent:'root' sz: 17943 36 41044500
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fc8fd000e00] type:'mvhd' parent:'moov' sz: 108 8 17935

我想知道 type:'ftyp' parent:'root' sz: 28 8 41044500的意思: type:'ftyp' parent:'root'很容易知道, sz: 28 8 41044500真的让我很困惑,我猜 28是ftyp box的大小,但是 8 41044500的意思是什么?

你能解释一下 sz: 28 8 41044500的意思吗? ,在哪里可以找到文档?

最佳答案

考虑

type:'mvhd' parent:'moov' sz: 108 8 17935

type 和 parent 分别表示当前框和父框的类型。
sz 有三个值(尺寸)。

第一个值 108表示当前框的总大小,包括表头。

第二个值, 8 , 表示框数据相对于框头开始的起始偏移量。这是必需的,因为框大小可以是 8 个字节,并且框类型可以有一个 UUID,在这种情况下,可能长达 20 个字节。即使盒子没有数据,这个偏移量也将是非零的,例如 free .

第三个值, 17935 , 是父框的数据大小。

关于ffmpeg - "ffprobe -v trace demo.mp4"输出的含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56180239/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com