yamdi(http://yamdi.sourceforge.net/)和flvtool2(http://blog.inlet-media.de/flvtool2/)都是对flv文件 进行MetaData注入的工具,两者实施后效果差不多,不过二者的效率有较大的不同,因为yamdi是C编译 的, 效率比较高,而flvtool2是利用Ruby语言的,效率比yamdi差很多,所以大多数时候还是建议采用yamdi,此外同样进行一个最简单的 MetaData注入,yamdi的产生的文件比flvtool2稍微小一些。当然,flvtool2还可以实现影片剪辑,但这个功能 实际上可以在转换的时候同步实现,而不必专门再剪辑(ffmpeg和mencoder都可以在转换的时候同时剪辑)。
下面再简单介绍下两个命令 行工具的参数。
yamdi的参数:
        -i     指定FLV源文件.
        -o      指定输出文件,如果文件名为-,则输出到标准输出设备 上,如果不指定也是
        -x      插入的metadata信息XML文件。如果输出文件省略了,则只生成metadata信息.
        -c      一个写入creator标签的字符串.
        -l      添加 onLastSecond 行为.
        -h      显示帮助信息.
flvtool2的命令行形式:
$flvtool2 [-ACDPUVaciklnoprstvx]... [-key:value]... in-path|stdin [out-path|stdout]
flvtool2的命令参数解释:
在输出路径未指定时,输入文件被覆盖。如果输入路径是目录 ,则输出路径也必须是路径或者省略。处理目录时可以由-r选择参数进行循环控制,你可以使用stdin和stdout参数作为输入和输出路径,从而实现管道或者重定向操作。
可以直接链式指定参数,比如-UP 就相当于 -U -P (更新FLV文件,并且打印meta数据)
主要命令:
-A  添加由-t 标签定义文件名 >指定的标签。
-C  剪辑文件,出入点由 -i 入点> 和 -o 出点> 进行指定
-D  调试 模式,写一些内容到stdout
-H  显示帮助
-P  打印meta数据到stdout
-U  更新FLV文件,实现onMetaTag行为
附件选项:
  -a            在剪辑区域收拢空间
  -c            兼容模式计算同一个onMetaTag标签不同值的情况
  -key:value    Key/value 对格式作为onMetaData标签(覆盖对应的值)
  -i 时间码     定义入点,毫秒格式
  -k            关键帧模式中onCuePoint()标签被添加到最近的关键帧上
  -l            写日志 到当前目录的stream.log中
  -n            调试的层次
  -o 时间码     定义出点,毫秒格式时间
  -p            保护模式只更新还没有处理过的FLV文件
  -r            循环处理一个目录
  -s            Simulation mode never writes FLV data to out-path
  -t 路径       标签指定文件 (MetaTags 写入 XML)
  -v            详细模式
  -x            被插入的XML模式是YAML格式