Jos*_*ine 5 multimedia command-line video media
我现在使用mediainfo。
太详细了
$ mediainfo vine.mp4 | wc -l
66
Run Code Online (Sandbox Code Playgroud)
我希望有一个只有简短摘要的命令。6 行输出。
Joh*_*024 12
首先定义一个shell函数:
shortinfo() {
mediainfo --Inform="General;Duration=%Duration/String3%\nFile size=%FileSize/String1%" "$@"
mediainfo --Inform="Video;Resolution=%Width%x%Height%\nCodec=%CodecID%" "$@";
}
Run Code Online (Sandbox Code Playgroud)
现在,在您的视频文件上使用这个 shell 函数。例如:
$ shortinfo sample.mp4
Duration=00:00:10.027
File size=13 MiB
Resolution=1920x1080
Codec=avc1
Run Code Online (Sandbox Code Playgroud)
要使 shell 函数永久化,请将其放在您的~/.bashrc文件中。
mediainfo允许自定义输出,但据我所知,自定义输出一次只能来自一个部分(常规、视频、音频)。这导致我们需要两个mediainfo命令。第一个从general类别中选择信息:
mediainfo --Inform="General;Duration=%Duration/String3%\nFile size=%FileSize/String1%" "$@"
Run Code Online (Sandbox Code Playgroud)
第二个从Video类别中选择信息:
mediainfo --Inform="Video;Resolution=%Width%x%Height%\nCodec=%CodecID%" "$@";
Run Code Online (Sandbox Code Playgroud)
如您所见,输出允许我们插入我们喜欢的任何文本,然后使用由百分号包围的字符串替换文件参数,例如%CodecID%. 信息可以放在一条线上,也可以分散在几条线上。要插入换行符,请使用字符串\n。
要获取可以放入自定义输出的所有可能文件参数的列表,请运行:
mediainfo --info-parameters | less
Run Code Online (Sandbox Code Playgroud)
小智 5
现在也可以在命令行上:
mediainfo --Output=$'General;File=%FileName%\\nDuration=%Duration/String3%\\nFile size=%FileSize/String1% \nVideo;Resolution=%Width%x%Height%\\nCodec=%CodecID%\\n\\n' *.mkv
Run Code Online (Sandbox Code Playgroud)
注意各部分之间的“\n”
在 Ubuntu 18.04 上测试
MediaInfo 命令行,MediaInfoLib - v17.12