ffprobe安装与简单使用

ffprobe 是 FFmpeg 多媒体框架中的一个强大工具,主要用于分析和获取多媒体文件(如视频、音频)的详细信息。

第一部分:安装 ffprobe

ffprobe 通常作为 FFmpeg 套件的一部分被捆绑安装。因此,安装 ffprobe 本质上就是安装 FFmpeg。

Linux 系统安装

Ubuntu / Debian

使用 apt 包管理器:

bash 复制代码
sudo apt install ffmpeg

安装完成后,在终端输入 ffprobe -version 来验证安装。


第二部分:使用 ffprobe

ffprobe 的基本命令格式为:

bash 复制代码
ffprobe [options] input_file
常用选项和示例

1. 显示媒体文件的基本信息(最常用)

这是默认行为,会输出容器格式、流信息(视频、音频、字幕等)、时长、码率等。

bash 复制代码
ffprobe input.mp4

2. 以 JSON 格式输出详细信息,便于脚本解析
-print_format json-of json 指定输出格式为 JSON。
-show_format 显示容器格式信息。
-show_streams 显示所有流的信息。

bash 复制代码
# 输出非常详细的所有信息(格式+流)
ffprobe -v quiet -print_format json -show_format -show_streams input.mp4

# 只获取容器格式信息
ffprobe -v quiet -print_format json -show_format input.mp4

# 只获取视频流的信息(结合 grep 等工具)
ffprobe -show_streams input.mp4 | grep codec_name
  • -v quiet 用于 suppress 不必要的输出,让结果更干净。

3. 显示数据包(packet)信息

bash 复制代码
ffprobe -show_packets input.mp4

4. 显示帧(frame)信息

bash 复制代码
ffprobe -show_frames input.mp4

5. 选择特定的流

使用 -select_streams 选项可以指定要分析的流类型。

  • v:0:第一个视频流
  • a:0:第一个音频流
  • s:0:第一个字幕流
bash 复制代码
# 只显示第一个视频流的信息
ffprobe -show_streams -select_streams v:0 input.mp4

# 只显示所有音频流的信息
ffprobe -show_streams -select_streams a input.mp4

6. 获取特定值(用于脚本)

结合 -show_entries-of default=noprint_wrappers=1:nokey=1 可以只输出想要的具体值,非常适合在 Shell 脚本中使用。

bash 复制代码
# 获取视频时长(秒)
ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 input.mp4

# 获取视频编码格式
ffprobe -v error -select_streams v:0 -show_entries stream=codec_name -of default=noprint_wrappers=1:nokey=1 input.mp4

# 获取视频分辨率(宽高)
ffprobe -v error -select_streams v:0 -show_entries stream=width,height -of csv=s=x:p=0 input.mp4
# 输出示例:1920x1080

# 获取音频采样率
ffprobe -v error -select_streams a:0 -show_entries stream=sample_rate -of default=noprint_wrappers=1:nokey=1 input.mp4

# 获取总比特率(码率)
ffprobe -v error -show_entries format=bit_rate -of default=noprint_wrappers=1:nokey=1 input.mp4
  • -v error 只显示错误信息,让输出只有想要的数据。

7. 输出简洁的格式和流信息

bash 复制代码
ffprobe -show_format -show_streams input.mp4

总结

命令示例 用途
ffprobe input.mp4 快速查看文件基本信息
ffprobe -print_format json -show_format -show_streams input.mp4 获取文件的完整详细信息(JSON)
ffprobe -v error -show_entries stream=width,height -of csv=s=x:p=0 input.mp4 脚本常用:获取视频分辨率
ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 input.mp4 脚本常用:获取视频时长
ffprobe -show_streams -select_streams v:0 input.mp4 只查看第一个视频流的详细信息

ffprobe 的功能非常强大,以上只是最常用的一些命令。可以通过 ffprobe -h full 查看所有可用的选项和帮助信息。对于媒体文件分析和自动化处理来说,它是一个不可或缺的工具。

相关推荐
arbboter6 个月前
【工具】C#游戏防沉迷小工具
游戏·c#·小工具·防沉迷·提醒·进程时间
吴边落木10 个月前
一步步教你学会如何区域录制屏幕转换成gif图
小工具·gif·表情包制作
四问四不知2 年前
Screenshot To Code
python·小工具
林晓lx2 年前
DocTemplateTool - 可根据模板生成word或pdf文件的工具
小工具·npoi
林晓lx2 年前
ExcelPatternTool 开箱即用的Excel工具包现已发布!
中间件·.net·小工具
小星星·2 年前
Qt无边框青绿色主题
qt·小工具
末点2 年前
C#盯盘小工具,“监”
c#·股票·小工具·盯盘