从命令行获取.avi文件信息

伯恩哈德

.avi从命令行获取电影文件的比特率,帧率,宽度/高度(在我的情况下)的信息的最佳方法是什么我正在寻找一种与ImageMagicks类似的基本工具identify

运行mplayer已经提供了此信息(但还有很多其他功能):

VIDEO:  [FMP4]  800x711  24bpp  25.000 fps  1320.9 kbps (161.2 kbyte/s)

有没有办法mplayer只给出这个输出(我没在男人那里找到它),或者有另一个标准的bash命令来获得相同的信息?

mplayer附带了一个midentify实用工具,可以满足您的大部分需求。

输出看起来像变量赋值,因此很容易在脚本/简单解析中使用。

如果midentify您的mplayer软件包未安装,则可能包含midentify.sh脚本/usr/share/mplayer或类似内容。如果没有,则midenfifymplayer使用一组特定的参数运行:

#!/bin/sh
#
# This is a wrapper around the -identify functionality.
# It is supposed to escape the output properly, so it can be easily
# used in shellscripts by 'eval'ing the output of this script.
#
# Written by Tobias Diedrich <[email protected]>
# Licensed under GNU GPL.

if [ -z "$1" ]; then
        echo "Usage: midentify.sh <file> [<file> ...]"
        exit 1
fi

mplayer -vo null -ao null -frames 0 -identify "$@" 2>/dev/null |
    sed -ne '/^ID_/ {
                      s/[]()|&;<>`'"'"'\\!$" []/\\&/g;p
                    }'

-ao-vo并且-frames参数防止mplayer从实际播放的剪辑。其余的只是格式化。

例子:

$ midentify some_random.avi 
ID_VIDEO_ID=0
ID_AUDIO_ID=0
...
ID_VIDEO_BITRATE=258488
ID_VIDEO_WIDTH=320
ID_VIDEO_HEIGHT=240
ID_VIDEO_FPS=29.917
...
ID_LENGTH=4216.76
...
ID_AUDIO_BITRATE=64000
ID_AUDIO_RATE=22050
...

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章