怎么看视频文件的编码、帧率、音轨和字幕?

不要根据文件名猜。先读文件里的容器和各媒体流,再决定播放器、字幕或转码问题该往哪里查。

第一次排查,先看 6 类信息

字段能回答什么常见用途
Container / Format文件外层是 MKV、MP4 等什么容器判断是否可能只需重新封装
Video codecH.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 Documentation

可以直接复制的 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 的使用场景。