ffprobe查看媒体文件头信息工具

ffprobe查看媒体文件头信息工具一 简述 ffprobe 是 ffmpeg 命令行工具中相对简单的 此命令是用来查看媒体文件格式的工具 二 命令格式在命令行中输入如下格式的命令 ffprobe 文件名 三 使用 ffprobe 查看 mp3 格式的文件本文使用的是歌曲 社会摇 执行的命令为 ffprobeshy mp3 输出内容为 Input 0 mp3 from shy mp3 Metada

一、简述

ffprobe是ffmpeg命令行工具中相对简单的,此命令是用来查看媒体文件格式的工具。

二、命令格式

在命令行中输入如下格式的命令:

ffprobe [文件名] 

三、使用ffprobe查看mp3格式的文件

本文使用的是歌曲《社会摇》,执行的命令为:

ffprobe shy.mp3 

输出内容为:

复制代码
Input #0, mp3, from 'shy.mp3': Metadata: genre : Blues encoder : Lavf56.4.101 comment : 163 key(Don't modify):L64FU3W4YxX3ZFTmbZ+8/UO6KmVXLfTij3uZN/wCXE4a00XHtvOwccwFlS+8ednRD4MnrdUH+aUYZFVY8bObsrabtBM2Ps/UAWPJtsmW/3RXnn6eJcNUHrPALM0003fIpQnn6MOWbdXqog6WFDLpaZJhoPMnFy9u41HxCalUwMEc+mkHNn+nSLlioJfpv4wPBwUhxfLNmOScmXPzOary2k37A/brRx7QUlMD9rkaZ album : 社会摇 title : 社会摇 artist : 萧全 track : 1 Duration: 00:04:09.34, start: 0.025056, bitrate: 323 kb/s Stream #0:0: Audio: mp3, 44100 Hz, stereo, s16p, 320 kb/s Stream #0:1: Video: mjpeg, yuvj444p(pc, bt470bg/unknown/unknown), 500x500 [SAR 72:72 DAR 1:1], 90k tbr, 90k tbn, 90k tbc Metadata: comment : Media (e.g. label side of CD)
复制代码

首先我们看以下这行信息:

Duration: 00:04:09.34, start: 0.025056, bitrate: 323 kb/s

这行信息表示,该视频文件的时长是4分9秒340毫秒,开始播放时间是0.025056,整个文件的比特率是256Kbit/s,然后我们看下一行信息:

Stream #0:0: Audio: mp3, 44100 Hz, stereo, s16p, 320 kb/s

这行信息表示,第一个流是音频流,编码格式是MP3格式,采样率是44.1KHz,声道是立体声,采样表示格式是SInt16(short)的planner(平铺格式),这路流的比特率320Kbit/s。

四、使用ffprobe查看mp4格式的文件

本文使用的是视频《泡沫》,执行的命令为:

ffprobe pm.mp4 

输出内容为:

复制代码
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'pm.mp4': Metadata: major_brand : isom minor_version : 1 compatible_brands: isomavc1 creation_time : 2016-12-17T16:02:05.000000Z album : Yinyuetai artist : yinyuetai.com comment : Yinyuetai-1TR1151 date : 12/18/16 00:02:05 Duration: 00:04:33.51, start: 0.000000, bitrate: 1104 kb/s Stream #0:0(und): Video: h264 (Main) (avc1 / 0x), yuv420p, 960x540, 1008 kb/s, 25 fps, 25 tbr, 25k tbn, 50 tbc (default) Metadata: creation_time : 2016-12-17T16:02:05.000000Z handler_name : 264@GPAC0.5.1-DEV-rev5472 Stream #0:1(und): Audio: aac (LC) (mp4a / 0xD), 44100 Hz, stereo, fltp, 92 kb/s (default) Metadata: creation_time : 2016-12-17T15:50:54.000000Z handler_name : Sound Media Handler
复制代码

首先我们看以下这行信息:

Duration: 00:04:33.51, start: 0.000000, bitrate: 1104 kb/s

这行信息表示,该视频文件的时长是4分33秒510毫秒,开始播放时间是0,整个文件的比特率是1104Kbit/s,然后我们看下一行信息:

Stream #0:0(und): Video: h264 (Main) (avc1 / 0x), yuv420p, 960x540, 1008 kb/s, 25 fps, 25 tbr, 25k tbn, 50 tbc (default)

这行信息表示,第一个流是视频流,编码格式是H264格式(封装格式为AVC1),每一帧的数据表示为yuv420p,分辨率为960×540,这路流的比特率为1108Kbit/s,帧率为每秒钟25帧。

接下来我们看下一行:

Stream #0:1(und): Audio: aac (LC) (mp4a / 0xD), 44100 Hz, stereo, fltp, 92 kb/s (default)

这行信息表示第二个流是音频流,编码方式为ACC(封装格式为MP4A),并且采用的Profile是LC规格,采样率是44.1KHz,声道是立体声,这路流的比特率92Kbit/s。

到此为止,我们就掌握了使用ffprobe提取媒体的头文件信息的方式,并了解了提取出来的信息的含义

五、ffprobe高级使用方式

1. 输出格式信息

复制代码
appledeMacBook-Pro:Desktop renhui$ ffprobe -show_format pm.mp4 ffprobe version 3.4.2 Copyright (c) 2007-2018 the FFmpeg developers built with Apple LLVM version 9.0.0 (clang-900.0.39.2) configuration: --prefix=/usr/local/Cellar/ffmpeg/3.4.2 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --disable-jack --enable-gpl --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-opencl --enable-videotoolbox --disable-lzma libavutil 55. 78.100 / 55. 78.100 libavcodec 57.107.100 / 57.107.100 libavformat 57. 83.100 / 57. 83.100 libavdevice 57. 10.100 / 57. 10.100 libavfilter 6.107.100 / 6.107.100 libavresample 3. 7. 0 / 3. 7. 0 libswscale 4. 8.100 / 4. 8.100 libswresample 2. 9.100 / 2. 9.100 libpostproc 54. 7.100 / 54. 7.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'pm.mp4': Metadata: major_brand : isom minor_version : 1 compatible_brands: isomavc1 creation_time : 2016-12-17T16:02:05.000000Z album : Yinyuetai artist : yinyuetai.com comment : Yinyuetai-1TR1151 date : 12/18/16 00:02:05 Duration: 00:04:33.51, start: 0.000000, bitrate: 1104 kb/s Stream #0:0(und): Video: h264 (Main) (avc1 / 0x), yuv420p, 960x540, 1008 kb/s, 25 fps, 25 tbr, 25k tbn, 50 tbc (default) Metadata: creation_time : 2016-12-17T16:02:05.000000Z handler_name : 264@GPAC0.5.1-DEV-rev5472 Stream #0:1(und): Audio: aac (LC) (mp4a / 0xD), 44100 Hz, stereo, fltp, 92 kb/s (default) Metadata: creation_time : 2016-12-17T15:50:54.000000Z handler_name : Sound Media Handler [FORMAT] filename=pm.mp4 nb_streams=2 nb_programs=0 format_name=mov,mp4,m4a,3gp,3g2,mj2 format_long_name=QuickTime / MOV start_time=0.000000 duration=273. size= bit_rate= probe_score=100 TAG:major_brand=isom TAG:minor_version=1 TAG:compatible_brands=isomavc1 TAG:creation_time=2016-12-17T16:02:05.000000Z TAG:album=Yinyuetai TAG:artist=yinyuetai.com TAG:comment=Yinyuetai-1TR1151 TAG:date=12/18/16 00:02:05 [/FORMAT]
复制代码

2. 输出每个流的具体信息(以JSON格式)

复制代码
appledeMacBook-Pro:Desktop renhui$ ffprobe -print_format json -show_streams pm.mp4 ffprobe version 3.4.2 Copyright (c) 2007-2018 the FFmpeg developers built with Apple LLVM version 9.0.0 (clang-900.0.39.2) configuration: --prefix=/usr/local/Cellar/ffmpeg/3.4.2 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --disable-jack --enable-gpl --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-opencl --enable-videotoolbox --disable-lzma libavutil 55. 78.100 / 55. 78.100 libavcodec 57.107.100 / 57.107.100 libavformat 57. 83.100 / 57. 83.100 libavdevice 57. 10.100 / 57. 10.100 libavfilter 6.107.100 / 6.107.100 libavresample 3. 7. 0 / 3. 7. 0 libswscale 4. 8.100 / 4. 8.100 libswresample 2. 9.100 / 2. 9.100 libpostproc 54. 7.100 / 54. 7.100 { Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'pm.mp4': Metadata: major_brand : isom minor_version : 1 compatible_brands: isomavc1 creation_time : 2016-12-17T16:02:05.000000Z album : Yinyuetai artist : yinyuetai.com comment : Yinyuetai-1TR1151 date : 12/18/16 00:02:05 Duration: 00:04:33.51, start: 0.000000, bitrate: 1104 kb/s Stream #0:0(und): Video: h264 (Main) (avc1 / 0x), yuv420p, 960x540, 1008 kb/s, 25 fps, 25 tbr, 25k tbn, 50 tbc (default) Metadata: creation_time : 2016-12-17T16:02:05.000000Z handler_name : 264@GPAC0.5.1-DEV-rev5472 Stream #0:1(und): Audio: aac (LC) (mp4a / 0xD), 44100 Hz, stereo, fltp, 92 kb/s (default) Metadata: creation_time : 2016-12-17T15:50:54.000000Z handler_name : Sound Media Handler "streams": [ { "index": 0, "codec_name": "h264", "codec_long_name": "H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10", "profile": "Main", "codec_type": "video", "codec_time_base": "1/50", "codec_tag_string": "avc1", "codec_tag": "0x", "width": 960, "height": 540, "coded_width": 960, "coded_height": 540, "has_b_frames": 2, "sample_aspect_ratio": "0:1", "display_aspect_ratio": "0:1", "pix_fmt": "yuv420p", "level": 31, "chroma_location": "left", "refs": 1, "is_avc": "true", "nal_length_size": "4", "r_frame_rate": "25/1", "avg_frame_rate": "25/1", "time_base": "1/25000", "start_pts": 0, "start_time": "0.000000", "duration_ts": , "duration": "273.", "bit_rate": "", "bits_per_raw_sample": "8", "nb_frames": "6835", "disposition": { "default": 1, "dub": 0, "original": 0, "comment": 0, "lyrics": 0, "karaoke": 0, "forced": 0, "hearing_impaired": 0, "visual_impaired": 0, "clean_effects": 0, "attached_pic": 0, "timed_thumbnails": 0 }, "tags": { "creation_time": "2016-12-17T16:02:05.000000Z", "language": "und", "handler_name": "264@GPAC0.5.1-DEV-rev5472" } }, { "index": 1, "codec_name": "aac", "codec_long_name": "AAC (Advanced Audio Coding)", "profile": "LC", "codec_type": "audio", "codec_time_base": "1/44100", "codec_tag_string": "mp4a", "codec_tag": "0xd", "sample_fmt": "fltp", "sample_rate": "44100", "channels": 2, "channel_layout": "stereo", "bits_per_sample": 0, "r_frame_rate": "0/0", "avg_frame_rate": "0/0", "time_base": "1/44100", "start_pts": 0, "start_time": "0.000000", "duration_ts": , "duration": "273.", "bit_rate": "92649", "max_bit_rate": "", "nb_frames": "11779", "disposition": { "default": 1, "dub": 0, "original": 0, "comment": 0, "lyrics": 0, "karaoke": 0, "forced": 0, "hearing_impaired": 0, "visual_impaired": 0, "clean_effects": 0, "attached_pic": 0, "timed_thumbnails": 0 }, "tags": { "creation_time": "2016-12-17T15:50:54.000000Z", "language": "und", "handler_name": "Sound Media Handler" } } ] }
复制代码

3. 显示帧信息

ffprobe -show_frames pm.mp4

4. 查看包信息

ffprobe -show_packets pm.mp4
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/220143.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午9:08
下一篇 2026年3月17日 下午9:09


相关推荐

  • keil如何生成bin文件_keil生成bin

    keil如何生成bin文件_keil生成binMDK生成bin文件方式fromelf.exe –bin-o"$L@L.bin""#L"

    2022年10月20日
    5
  • Linux命令练习.ziw

    Linux命令练习.ziw 2017年1月10日,星期二Linux命令练习1、统计/usr/bin/目录下的文件个数;#ls/usr/bin|wc-l判断/home/goldin目录是否有文件2、取出当前系统上所有用户的shell,要求,每种shell只显示一次,并且按顺序进行显示;#cut-d:-f7/etc/passwd|sort-u4、取出/etc/inittab文件的第6行;#…

    2022年10月12日
    5
  • activity中onResume方法详解[通俗易懂]

    activity中onResume方法详解[通俗易懂]onResume比如做一个音乐播放程序,在播放过程中,突然有电话打进来了,这时系统自动调出电话,而你的音乐播放程序置于后台,触发了onPause方法。当你电话结束后,关闭电话,又自动回到音乐播放程序,此时,触发onResume方法,这时,如果你之前在onPause的时候记录了播放点,就可以在onResume方法里来继续播放。onResume方法是Activity第一次创建时重新加载实例时调用…

    2022年5月6日
    71
  • 豆包签到功能在哪里

    豆包签到功能在哪里

    2026年3月12日
    3
  • python元组索引_Python 元组、列表

    python元组索引_Python 元组、列表Python 中 最常用的数据结构就是序列了 序列有以下几种 元组 列表 字符串等 注 代码都是在 IDE 中编辑的 没有用交互式环境 一 元组 tuple 元组其实有点类似 C 中的数组 即一旦指定了内容 那么这个元组就固定下来不能变了 不过并不是绝对不能改变 如果一个元组成员是一个列表 那么这个列表的修改操作是允许的 另外 Python 是动态语言 因此元组中各个成员并不需要是同一种类型 a 1

    2026年3月16日
    3
  • 同步FIFO和异步FIFO总结[通俗易懂]

    同步FIFO和异步FIFO总结[通俗易懂]文章目录1.FIFO简介2.使用场景3.分类4.FIFO的常见参数5.FIFO设计5.1空满标志生成5.2异步FIFO的设计还要注意跨时钟域问题5.3gray码如何判断空满`6.同步FIFO实现`7.异步FIFO实现8.对FIFO进行约束9.关于异步FIFO最小深度的计算9.1写时钟快于读时钟,写和读的过程中没有空闲周期9.2写时钟频率大于读时钟频率,但在读写的过程中存在空闲周期9.3写时钟慢于读时钟,且读写过程中没有空闲周期9.4写时钟频率小于读时钟频率,但读写过程中存在空

    2022年8月13日
    13

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号