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

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

.avi从命令行获取电影文件(在我的例子中)的比特率、帧率、宽度/高度等信息的最佳方法是什么?我正在寻找一个与 ImageMagicks 类似的基本工具identify

运行mplayer已经给出了这些信息(但还做了更多):

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

有没有办法mplayer只给出这个输出(我没有在 man 中找到它)或者是否有另一个标准 bash 命令来获取相同的信息?

答案1

mplayer附带一个midentify实用程序,可以完成您想要的大部分功能。

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

如果midentify没有随您的mplayer软件包一起安装,则您可能有一个midentify.sh脚本/usr/share/mplayer或类似的东西。如果没有,则仅使用一组特定的参数midenfify运行:mplayer

#!/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
...

答案2

媒体信息命令还为您提供了大量信息:

$ mediainfo IMGP3793.AVI 
General
Complete name                            : IMGP3793.AVI
Format                                   : AVI
Format/Info                              : Audio Video Interleave
File size                                : 121 MiB
Duration                                 : 2mn 16s
Overall bit rate                         : 7 439 Kbps

Video
ID                                       : 0
Format                                   : JPEG
Codec ID                                 : MJPG
Duration                                 : 2mn 16s
Bit rate                                 : 7 339 Kbps
Width                                    : 640 pixels
Height                                   : 480 pixels
Original height                          : 960 pixels
Display aspect ratio                     : 4:3
Frame rate                               : 30.288 fps
Color space                              : YUV
Chroma subsampling                       : 4:2:2
Bit depth                                : 8 bits
Scan type                                : Interlaced
Compression mode                         : Lossy
Bits/(Pixel*Frame)                       : 0.789
Stream size                              : 119 MiB (99%)

Audio
ID                                       : 1
Format                                   : PCM
Format settings, Endianness              : Little
Format settings, Sign                    : Unsigned
Codec ID                                 : 1
Duration                                 : 2mn 16s
Bit rate mode                            : Constant
Bit rate                                 : 88.2 Kbps
Channel count                            : 1 channel
Sampling rate                            : 11.025 KHz
Bit depth                                : 8 bits
Stream size                              : 1.44 MiB (1%)
Alignment                                : Aligned on interleaves
Interleave, duration                     : 33 ms (1.00 video frame)

答案3

您可以使用文件命令。

相关内容