ffprobe工具主要用于检测多媒体信息,如时长,视频分辨率、帧率、音频采样率、声道数、每个流信息等等。

  • -print_format: 指定信息输出方式,包括xml,json,ini,csv,flat
//用json方式输出信息
ffprobe -i input.mp4 -print_format json
  • -show_frames: 显示每帧数据信息,如pts,packet_size, duration, frame_type
ffprobe -i input.mp4 -show_frames
  • -show_streams:查看多媒体文件中的流信息
ffprobe -i input.mp4 -show_streams
  • -select_streams: 选择要显示的流,v代表video,a代表audio,s代表subtitle
//只显示视频流
ffprobe -i input.mp4 -select_streams v
//只显示音频流
ffprobe -i input.mp4 -select_streams a
//只显示subtitle
ffprobe -i input.mp4 -select_streams s
  • -show_packets 查询多媒体包信息:
    1.codec_type:多媒体类型,如视频包,音频包
    2.stream_index:流索引
    3.pts:presentation timestamp 显示时间值
    4.pts_time:根据不同格式计算过后的显示时间
    5.dts:解码时间decoding timestamp
    6.dts_time:根据不同格式计算过后的解码时间
    7.duration:多媒体包占用的时间值
    8.duration_time:根据不同格式计算过后的时间
    9.size:多媒体包的大小
    10.pos:多媒体包所在文件的偏移位置
    11.flags:多媒体包标记,关键包与非关键包的标记
ffprobe -i input.mp4 -show_packets
  • -show_format:查询多媒体的封装格式
ffprobe -i input.mp4 -show_format

关于ffprobe更多参数可以参考官方网站上的介绍。