🎬 第三章 音视频开发常用工具
📄 一句话概括

三种用法按场合选——判断标准很简单:人看还是程序看。人看选界面,程序看选 JSON。

📝 本节和前面几节的关系

3.2.1 讲了 MediaInfo 是什么,这一节讲怎么用。

一、三种用法

图形界面:看单个文件——直观,但不能批量。 命令行文本:脚本里读结果——可解析,但要记参数。 命令行 JSON:程序里消费——结构化,输出更长。 三种没有优劣,选哪种只看一件事:这一次是谁在看。

二、图形界面怎么用

打开文件后,界面会按【容器/视频/音频/文本】分组列出信息。 可以切换【简易/详细】两种视图,调试时用详细视图能看到更细的参数。 还能直接导出成文本或 JSON——这一步就把界面用法变成了脚本用法。

三、命令行怎么用

基本形式:mediainfo 文件名——直接输出文本。 要结构化输出:mediainfo --Output=JSON 文件名。 只取某一类信息:mediainfo --Inform="Video;%Width%x%Height%" 文件名。 这三条覆盖了绝大多数脚本场景。

四、什么时候必须用命令行

两种情况:批量和接入程序。 要处理 1000 个文件,界面是一个个点不现实的。 要让程序根据规格自动决定【要不要转码】,也必须拿到结构化输出。 这就是为什么学工具一定要学到命令行——界面只能解决一个人的一次问题。

五、动手 Demo:三种用法,按场合选

MediaInfo 有三种常见用法,各对应一个场合。

ways = [
    ("图形界面",   "看单个文件", "直观 / 不能批量"),
    ("命令行文本", "脚本里读结果", "可解析 / 要记参数"),
    ("命令行 JSON", "程序里消费", "结构化 / 输出更长"),
]
for how, scene, note in ways:
    print("%-12s %-12s %s" % (how, scene, note))

实跑输出:

--------------------------------------------------------------------
三种用法,按场合选
--------------------------------------------------------------------

MediaInfo 有三种常见用法,各对应一个场合。

  用法            适用场合         优点 / 代价
  ---------------------------------------------------
  图形界面        看单个文件       直观 / 不能批量
  命令行文本      脚本里读结果     可解析 / 要记参数
  命令行 JSON     程序里消费       结构化 / 输出更长

  【MediaInfo --Output=JSON 文件】这种写法,就是**让程序去读**的样子。
  判断标准很简单:**人看还是程序看**。人看选界面,程序看选 JSON。

判断标准很简单:人看还是程序看。人看选界面,程序看选 JSON。 界面里也能导出 JSON——这一步就把界面用法变成了脚本用法。

30 秒实验

  1. 在 MediaInfo 界面里打开一个文件,按【导出】存成 JSON。
  2. 打开那个 JSON 看一眼,找出界面里没显示出来的字段。

常见误区

  1. 只会用界面。批量和接入程序都必须要命令行。
  2. 记不住参数就放弃。常用的只有三条,抄在便签上就够了。
自测三问(点开对答案) 1. MediaInfo 的三种用法分别适合什么场合? —— 界面看单个文件、命令行文本给脚本读、JSON 给程序消费。 2. 什么时候必须用命令行? —— 批量处理,或者要把规格接入程序做判断。 3. 怎么从界面用法过渡到脚本用法? —— 在界面里导出成文本或 JSON,照着那份格式写命令。

相关笔记