我正在编写一个处理图像和各种动画元数据的应用程序,因此我正在寻找一种方法来查找有关动画文件的基本信息,例如:
- 长度(以分钟/秒/帧为单位)
- 像素的纵横比
- 单个帧的分辨率
- 帧率
现在,我让我的程序执行
mplayer -identify animfile.avi
并解析其控制台输出,其中包含我需要的机器可读格式的所有信息。这很好用,但我知道该程序的一些潜在用户更喜欢vlc作为媒体播放器,所以我宁愿避免对安装 mplayer 的硬依赖。
我试过了
vlc -vv animfile.avi
它在控制台上打印出大量垃圾,有时包含我正在寻找的东西。不过,格式和打印的数据似乎因动画的文件格式而异。
有没有一种更简单的方法可以从任何格式的动画中提取基本信息,一个使用 vlc 或其他通常在典型 Linux 安装上可用的应用程序/库的解码器(尤其是动画的长度)?
编辑:我宁愿使用另一个程序来做脏活,因为这应该适用于任何动画格式,例如 avi、mpg、mov、wmv、vob 等。
编辑:totem-video-indexer 似乎更有希望,并且也包含在标准安装中。然而,没有足够的编解码器使其有用。这可以通过从 medibuntu 安装“非免费编解码器”包来解决。