docs
属性命名规范

属性命名规范

约定

  • 属性名应尽量只使用 ASCII 字符集,并与 XML 属性名兼容。也就是说 不要用连字符。
  • 如果首字符是 _ 或 .,则该属性在 xml 消费器和 mlt_properties_dump() 的序列化输出中是隐藏的
  • _ 分隔符用于分隔音节,或者像命名空间那样用一个前缀来限定该属性。
  • . 分隔符通常用于表示某种层级关系。第一部分可能是服务模块或 模块的名称,例如 “frei0r”。也可能指一个嵌套对象,例如 “transition.”, 当一个滤镜内部包含一个转场来完成它的部分工作时就是这样。
  • 前缀 meta. 是特殊的,表示其内容是元数据。带有此前缀的生产器属性会被 自动复制到它生成的帧上。
  • 前缀 set. 是特殊的。带有此前缀的生产器属性会被自动复制到它生成的帧上, 但帧上的属性名会去掉 set. 前缀。
  • 前缀 consumer. 表示这是一个消费器属性,应当被复制到帧上,以便各服务模块 能够看到它们。

元数据属性

  • meta.attr.*.markup:用于描述资源的通用元数据,类似 MP3 的 ID3 标签 (opens in a new tab) 和 都柏林核心(Dublin Core) (opens in a new tab)。之所以有一个 “.markup” 后缀,是为了以后 可以加入其他表示形式或“属性的属性”。举例来说,将来可以增加一个 character_set。
  • meta.attr.vitc.*:“vitc” = 垂直间隔时间码(vertical interval timecode) (opens in a new tab)
  • meta.media.*:媒体属性,数量很多,例如 width。在一个复用(multiplexed)资源中, 这些属性可以用 . 作为分隔符构成层级结构。
  • meta.volume:用于在帧上携带一个 [0, 1.0] 范围的音量调整,如同 ReplayGain (opens in a new tab)
  • meta.fx_cut:一个由 mlt_playlist 保留的标志(0 或 1)
  • meta.map.audio.*:用于在 avformat 消费器中重映射音频声道
  • meta.top_field_first:设置在生产器上的标志,由 fieldorder 滤镜使用
  • meta.swap_fields:设置在生产器上的标志,由 fieldorder 滤镜使用

更多文档