答案1
首先定义一个shell函数:
shortinfo() {
mediainfo --Inform="General;Duration=%Duration/String3%\nFile size=%FileSize/String1%" "$@"
mediainfo --Inform="Video;Resolution=%Width%x%Height%\nCodec=%CodecID%" "$@";
}
现在,在你的视频文件上使用此 shell 函数。例如:
$ shortinfo sample.mp4
Duration=00:00:10.027
File size=13 MiB
Resolution=1920x1080
Codec=avc1
要使 shell 函数永久存在,请将其放在您的~/.bashrc
文件中。
怎么运行的
mediainfo
允许自定义输出,但据我所知,自定义输出一次只能来自一个部分(常规、视频、音频)。这导致我们需要两个mediainfo
命令。第一个从general
类别中选择信息:
mediainfo --Inform="General;Duration=%Duration/String3%\nFile size=%FileSize/String1%" "$@"
第二个从Video
类别中选择信息:
mediainfo --Inform="Video;Resolution=%Width%x%Height%\nCodec=%CodecID%" "$@";
如您所见,输出允许我们插入任何我们喜欢的文本,然后使用百分号包围的字符串(例如)替换文件参数%CodecID%
。信息可以放在一行或分散在几行中。要插入换行符,请使用字符串\n
。
要获取可在自定义输出中放入的所有可能的文件参数的列表,请运行:
mediainfo --info-parameters | less
答案2
现在也可以在命令行上执行:
mediainfo --Output=$'General;File=%FileName%\\nDuration=%Duration/String3%\\nFile size=%FileSize/String1% \nVideo;Resolution=%Width%x%Height%\\nCodec=%CodecID%\\n\\n' *.mkv
注意各部分之间的“\n”
在 Ubuntu 18.04 上测试
MediaInfo 命令行,MediaInfoLib - v17.12