当前位置:   article > 正文

ffmpeg 使用ffprobe 已JSON格式输出音视频信息,附带参数说明

ffmpeg 使用ffprobe 已JSON格式输出音视频信息,附带参数说明

ffprobeFFmpeg 套件中的一个工具,用于分析多媒体内容,如视频、音频和图像。它能够显示各种信息,包括格式、流详情、标签、包信息等。当 ffprobe 输出 JSON 格式时,它会以 JSON 对象的形式提供结构化的数据,这使得数据易于解析和处理。

要让 ffprobe 输出 JSON 格式的数据,你可以使用 -print_format 选项,然后指定 json 作为输出格式。以下是一个基本的 ffprobe 命令示例,它输出 JSON 格式的媒体信息:

ffprobe -v error -show_format -show_streams -print_format json=compact=1 input_video.mp4
  • 1

在这个命令中:

  • -v error:设置日志级别为错误,以避免输出无关的信息。
  • -show_format:显示多媒体内容的格式信息。
  • -show_streams:显示所有的流信息。
  • -print_format json=compact=1:设置输出格式为 JSON,并且使用紧凑格式(没有多余的空格和缩进)。
  • input_video.mp4:指定要分析的输入文件。

输出的 JSON 对象可能看起来像这样:

{
  "format": {
    "filename": "input_video.mp4",
    "nb_streams": 2,
    "format_name": "mov,mp4,m4a,3gp,3g2,mj2",
    "format_long_name": "QuickTime / MOV",
    "start_time": "0.000000",
    "duration": "28.769000",
    "size": "31457336",
    "bit_rate": "884437",
    "probe_score": 100,
    "tags": {
      "major_brand": "mp42",
      "minor_version": "0",
      "compatible_brands": "mp42avc1",
      "creation_time": "2021-09-01T00:00:00.000000Z"
    },
    "format_tags": {
      "major_brand": "mp42",
      "minor_version": "0",
      "compatible_brands": "mp42avc1"
    }
  },
  "streams": [
    {
      "index": 0,
      "codec_name": "avc1",
      "codec_long_name": "AAC (Advanced Audio Coding)",
      "profile": "LC (Low Complexity)",
      "codec_type": "audio",
      "codec_time_base": "1/44100",
      "codec_tag_string": "[0][0][0][0]",
      "codec_tag": "0x[0][0][0][0]",
      "sample_fmt": "fltp",
      "sample_rate": "44100",
      "channels": 2,
      "channel_layout": "stereo",
      "bits_per_sample": 0,
      "r_frame_rate": "25/1",
      "avg_frame_rate": "25/1",
      "time_base": "1/44100",
      "start_pts": 0,
      "start_time": "0.000000",
      "duration_ts": 1264800,
      "duration": "28.700000",
      "bit_rate": "93696",
      "max_bit_rate": "93696",
      "buf_size": "6144",
      "nb_frames": 1168,
      "disposition": {
        "default": 0,
        "dub": 0,
        "original": 0,
        "comment": 0
      },
      "tags": {
        "language": "eng",
        "title": "Soundtrack"
      }
    },
    {
      "index": 1,
      "codec_name": "avc1",
      "codec_long_name": "AVC (H.264, MPEG-4 AVC, MPEG-4 part 10)",
      "profile": "High",
      "codec_type": "video",
      "codec_time_base": "1/50",
      "codec_tag_string": "[0][0][0][0]",
      "codec_tag": "0x[0][0][0][0]",
      "width": 1920,
      "height": 1080,
      "has_b_frames": 2,
      "sample_fmt": "yuv420p",
      "pix_fmt": "yuv420p",
      "time_base": "1/50",
      "start_pts": 4,
      "start_time": "0.080000",
      "duration_ts": 631800,
      "duration": "14.200000",
      "bit_rate": "826336",
      "max_bit_rate": "826336",
      "buf_size": "4096",
      "nb_frames": 2256,
      "disposition": {
        "default": 1,
        "dub": 0,
        "original": 0,
        "comment": 0
      },
      "tags": {
        "language": "eng",
        "title": "Video"
      }
    }
  ]
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96

这个 JSON 对象包含了输入视频文件的格式信息和流信息。format 部分包含了文件级别的信息,如文件名、格式名称、时长、大小等。streams 数组包含了每个流的详细信息,如编解码器名称、分辨率、帧率、比特率等。

你可以根据需要调整 ffprobe 命令的选项来获取不同的信息。例如,如果你只对视频流感兴趣,可以使用 -show_streams 选项,并且可能不需要 -show_format 选项。

JSON 输出的格式是紧凑的,没有多余的空格和缩进,这使得它更容易被程序读取和解析。如果你更喜欢易读的格式,可以省略 compact=1 选项,ffprobe 将会输出带有缩进的 JSON 数据。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/423808
推荐阅读
相关标签
  

闽ICP备14008679号