如何使用 mediainfo 在一行中获取电影中的信息?

如何使用 mediainfo 在一行中获取电影中的信息?

Mediainfo 文本对我来说太长了,所以。我正在寻找如何配置 mediainfo 以便只提供这些信息:“文件名、带比特率的视频编解码器 + 带比特率的音频编解码器、电影的大小和持续时间”我如何编辑 mediainfo 模板?

提前致谢

答案1

根据曼媒体信息您可以使用Inform选项:

--Inform=FMT
     Template defined information display.

     FMT is "[xxx;]Text", where xxx can be any one of General, Video,
     Audio, Text, Chapter, Image, or Menu. Text can be the template
     text, or a filename in the form of file:///path

以下是一个例子:

% mediainfo --Inform="Video;%Codec%" Jellyfish-3-Mbps.mkv
V_MPEG4/ISO/AVC

答案2

文件名、文件大小和持续时间都是“常规信息参数”

视频编解码器和比特率是“视频信息参数”

音频编解码器和比特率是“音频信息参数”

以下模板将准确帮助您获取所需内容。(但由于媒体文件的扫描方式,并非按照指定的顺序)冒号:不是必需的,仅用于提高可读性,分号;是必需的。

General;Name=%CompleteName% :Size=%FileSize/String1% :Duration=%Duration/String3%
Video;:%Codec/String% %BitRate/String% 
Audio; %Format% : %BitRate/String% 

您可以通过发出以下命令在媒体文件上使用它: mediainfo --Inform=file:///path/to/template/Your1lineminfotemplate.txt test.mp4

其中, /path/to/template/Your1lineminfotemplate.txt是模板文件的完整路径,test.mp4是媒体文件的路径。

这将产生类似如下的输出:

名称=test.mp4:大小=165 MiB:持续时间=00:43:13.690:HEVC:432 Kbps AAC:96.0 Kbps

如果您需要以特定的顺序移动它们,您可以随时使用cut(在本例中:作为分隔符)将特定部分分配给变量,然后通过将各部分分配给新变量按照您想要的顺序构建输出。

要查看完整的参数列表,您可以查询发出命令mediainfo --Info-Parameters

相关内容