怎么看视频文件的编码、帧率、音轨和字幕?
不要根据文件名猜。先读文件里的容器和各媒体流,再决定播放器、字幕或转码问题该往哪里查。
第一次排查,先看 6 类信息
| 字段 | 能回答什么 | 常见用途 |
|---|---|---|
| Container / Format | 文件外层是 MKV、MP4 等什么容器 | 判断是否可能只需重新封装 |
| Video codec | H.264、HEVC、AV1 等 | 判断设备/播放器能否直接解码 |
| Resolution | 实际像素尺寸 | 确认是否真的是 1080p/4K;不能单独代表画质 |
| Frame rate / mode | 帧率及是否存在可变帧率线索 | 排查播放卡顿、同步或转码问题 |
| Audio streams | 编码、声道、语言、采样率 | 判断无声、兼容和音轨选择问题 |
| Subtitle streams | 内挂字幕的格式与语言 | 判断客户端是否可能需要烧录字幕 |
MediaInfo 更适合先做人工检查
如果只是想知道“这个文件到底是什么”,MediaInfo 的树状/文本视图比读命令行输出更快。先确认容器、视频编码、帧率模式、音轨和字幕轨;出现播放问题时再把这些字段与设备支持能力对照。
不要看到“4K”就直接判断质量更好:分辨率只描述像素尺寸,片源、编码效率、码率、HDR 元数据和处理过程都会影响最终画面。
ffprobe 适合需要精确字段或批量检查时
FFmpeg 官方文档说明,ffprobe 会读取多媒体容器和其中各 stream,并能用 -show_format、-show_streams、-select_streams 等选项控制输出。需要脚本化、批量比较或只取指定字段时,它比截图界面更合适。
可以直接复制的 ffprobe 检查命令
已安装 FFmpeg 工具包时,在终端进入文件所在目录,可以用下面的命令列出视频、音频及字幕轨道。把 input.mkv 换成自己的文件名。
ffprobe -v error -show_entries stream=index,codec_type,codec_name,width,height,r_frame_rate -of json input.mkv这是读取信息的命令,不会转码,也不会改写源文件。如果想检查容器层面的信息,可改用 ffprobe -v error -show_format input.mkv。注意 JSON 输出里各字段可能缺失,不能假设所有轨道都有宽高或帧率。详见 ffprobe 官方文档。
把结果用于下一步,而不是把参数抄一遍
- 只有某个播放器异常:优先检查播放器硬件解码、字幕或音频输出设置。
- 所有播放器都异常:再怀疑文件时间戳、编码、损坏或设备链路。
- 字幕显示方框:更像字体/字形问题;乱码则先查字符编码,见字幕乱码诊断。
- 音画越播越偏:把帧率模式、轨道持续时间和采样率列入排查,见音画同步诊断。
- 家庭媒体服务器频繁转码:拿这里查到的编码和字幕格式,与客户端支持能力对照,见Plex / Jellyfin 选择与转码。
MediaInfo/ffprobe 能告诉你“文件里是什么”,但不会自动判断画质好坏,也不能仅凭一个字段证明文件来源或完整性。
还可查看 MediaInfo 的使用场景。