FFmpeg 被誉为瑞士军刀,是音视频工程师和开发者最常用的命令行工具。然而,在进行视频转码、剪辑或排查播放故障之前,准确获取视频文件的底层编码信息是第一步。本文中简鹿办公将详细介绍如何使用 FFmpeg 及其配套工具查看视频编码格式,并辅以日常图形界面操作作为补充。
虽然 FFmpeg 本身功能强大,但查看媒体文件详细参数时,官方更推荐使用其配套的媒体分析器 ffprobe。它专为分析而生,能够以人类可读或机器可读的形式输出底层信息。
最基础且常用的命令是:
ffprobe -v error -show_format -show_streams input.mp4
该命令中,-v error 用于过滤掉冗余的日志信息,仅保留关键参数;-show_format 会输出媒体容器的整体信息(如时长、总码率、文件大小);-show_streams 则会列出文件内部的所有流(视频流、音频流、字幕流等),包括具体的编解码器类型、分辨率和帧率。
对于需要进行批量处理或程序解析的场景,可以追加 -of json 参数,让 ffprobe 输出标准的 JSON 格式数据,方便开发者直接提取 codec_name(如 h264、hevc)等关键字段。
如果不想单独调用 ffprobe,直接使用 ffmpeg -i 也能快速获取视频的编码概况。
执行命令 ffmpeg -i input.mp4 后,FFmpeg 会在控制台打印出文件的详细元数据。在输出的流信息中,寻找 Stream #0:0 这样的标识,其后紧跟的英文字母即代表编码格式。
例如,看到 Video: h264 (High) 即表示视频采用了 H.264 编码,Audio: aac (LC) 则表示音频为 AAC 编码。这种方式非常适合在命令行中快速确认文件的基本属性。
在查看视频文件编码的同时,有时还需要确认当前安装的 FFmpeg 版本是否支持该编码的解码或硬件加速。
通过执行 ffmpeg -codecs,可以列出当前环境支持的所有编解码器。在输出列表中,每一行开头的字母具有特定含义:D 代表支持解码(Decoding),E 代表支持编码(Encoding),V 代表视频,A 代表音频。例如,DEV.L. h264_nvenc 表示当前 FFmpeg 支持使用 NVIDIA 显卡进行 H.264 的硬件编码。
此外,执行 ffmpeg -hwaccels 可以查看当前支持的硬件加速技术(如 cuda、qsv、videotoolbox 等),这对于需要利用 GPU 加速视频处理的场景至关重要。
对于不熟悉命令行操作的普通用户,借助常见的媒体播放器也能轻松查看视频编码信息:
QuickTime Player(macOS):打开视频后,按下 Command + I 调出影片信息窗口,点击“详细信息”即可看到视频轨道的 codec_name 和音频编码器。
VLC 播放器(跨平台):加载视频后按下 Ctrl + J(Windows)或 Command + I(macOS),在“编解码器”标签页中,可以直观地看到完整的视频与音频编码器名称、分辨率及色彩空间信息。
掌握上述方法,无论是通过专业的命令行工具进行深度分析,还是借助播放器进行快速查看,都能帮助你精准掌握视频文件的底层编码属性。