ffmpeg/ffprobe查看音频视频文件信息并输出为json格式

?
1
ffprobe -i 输入视频路径 -v quiet -print_format json -show_format -show_streams

  

./ffprobe -select_streams v -show_packets -of json 1.ts

如果是音频,改 -select_streams a

如果要选择音轨,可以这样 -select_streams a:0

./ffprobe -select_streams a:0 -show_packets -of json 1.ts

--------------------

ffprobe主要用来查看多媒体文件的信息。本文带领大家学习ffprobe的常用命令。
常用参数比较多,可以使用ffprobe --help来查看详细的帮助信息

image.png

上图输出的帮助信息即使ffprobe的常用的操作参数,也是ffprobe的基础参数。例如查看log,查看每一个音频数据包含信息或者视频数据包信息,查看每一个流有多少帧以及每一个流有多少音视频包,查看视频像素点的格式等等。
下面根据以上的输出参数重点举几个栗子:

-show_packets 和 -show_data

使用ffprobe -show_packets input.mp4:

-show_packets查看的多媒体数据包信息使用PACKET标签扩起来了,其中包含的信息内容如下表所示:packet字段说明

字段 说明
codec_type 多媒体类型,如视频包、音频包等
stream_index 多媒体的stream索引
pts 多媒体的显示时间值
pts_time 根据不同格式计算过的多媒体的显示时间
dts 多媒体解码时间值
dts_time 根据不同格式计算后的多媒体解码时间值
duration 多媒体包占用的时间值
duration_time 根据不同格式计算后的多媒体包占用的时间值
size 多媒体包的大小
pos 多媒体包所在的文件偏移位置
flags 多媒体包标记,如关键包与非关键包的标记

除了以上字段和信息之外,还可以通过ffprobe -show_data -show_packets input.mp4组合参数来查看包中的具体数据,输出结果我就不截图展示了,就是在每个packet数据下面有一段data数据。
通过ffprobe读取packets来进行对应的数据分析,使用-show_packets和-show_data配合可以进行更加精确的分析

-show_format命令

通过ffprobe -show_format 命令可以查看多媒体饿封装格式,其使用FORMAT标签扩起来显示:

对输出信息关键字段说明:

字段 说明
filename 文件名
nb_stream 多媒体中包含的流的个数
nb_programs 节目数
format_name 使用的封装模块的名称
format_long_name 封装的完整的名称
start_time 媒体文件的起始时间
duration 媒体文件的总时间长度
size 媒体文件的大小
bit_rate 媒体文件的码率

-show_frames

通过ffprobe -show_frames 命令可以查看视频文件中的帧信息,输出的帧信息使用FRAME标签扩起来:

字段 说明
media_type 帧的类型(视频、音频、字幕等)
key_frame 是否关键帧
pkt_pts Frame包的pts
pkt_pts_time Frame包的pts的时间显示
pkt_dts Frame包的dts
pkt_duration Frame包的时长
pkt_pos Frame包所在文件的偏移位置
width 帧显示的宽度
height 帧显示的高度
pix_fmt 帧的图像色彩格式
pict_type 帧类型

-show_streams

通过ffprobe -show_frames 命令可以查看视频文件中的帧信息,输出的帧信息使用STREAM标签扩起来:

字段 说明
index 流所在的索引区域
codec_name 编码名
codec_long_name 编码全名
profile 编码的profile
level 编码的level
has_b_frame 包含B帧信息
codec_type 编码类型
codec_time_base 编码的时间戳计算基础单位
pix_fmt 图像显示的色彩格式
coded_width 图像的宽度
coded_height 图像的高度
codec_tag_string 编码的标签数据
r_frame_rate 实际帧率
avg_frame_rate 平均帧率
time_base 时间基数(用来计算timestamp)
bit_rate 码率
max_bit_rate 最大码率
nb_frames 帧数

格式化 ffprobe的命令的输出格式

默认的输出格式都是以key - value的格式的显示方式,由于每个人的阅读习惯不一样,有人认为方便有人认为不方便;ffprobe支持多种格式的输出,包括XML、INI、JSON、CSV、FLAT等。
如何定制输出格式呢,ffprobe -print_format 或者 ffprobe -of 来格式化。举个栗子:
ffprobe -of xml -show_streams input.mp4

(0)

相关推荐

  • Excel应用大全 | 来认识Excel数据源吧!

    一本书教会你分分钟搞定数据分析! 跟着小编一起来来认识一下Excel丰富多样的数据源吧! 统一的数据获取和转换体验 从 Excel 2016 开始,Excel 引入了一组强大的数据获取和转换工具 Po ...

  • 《FFmpeg Basics》中文版-19-FFmpeg组件和项目

    写在前面 如果您对音视频技术感兴趣,可以订阅我的专题:音视频专辑 也可以关注我的简书账户: 张芳涛,我后期会发布更多的音视频以及图像处理方面的文章. 正文 FFmpeg项目由4个命令行工具和9个软件库 ...

  • FFprobe使用指南

    FFprobe使用指南

  • 大数据安全分析06_数据解析技术

    由于网络空间态势感知的数据来自众多的网络设备,其数据格式.数据内容.数据质量千差万别,存储形式各异,表达的语义也不尽相同. 如果能够将这些使用不同途径.来源于不同网络位置.具有不同格式的数据进行预处理 ...

  • 【NSII专题报道十二】  ipybd 生物多样性数据清洗开源框架发布

    文冠果开花 记录某个物种,在什么时间,出现在哪里,处于什么状态?是一件多样性极高的工作.比如要用什么语言?什么术语?什么结构?什么格式?什么媒介?去表达和记录.往往不同的平台和个体都可能千差万别.而且 ...

  • 如何查看没有扩展名的视频文件是什么格式

    查看没有扩展名的视频文件的格式,有几种查看方法如下: 一.右击文件,点击属性,在[常规]里查看文件格式. 二.在win7系统中,可以直接左击选中文件,在下方就会出现信息. 注意:一次只能选中一个文件进 ...

  • 怎么查看视频文件的格式?

    工具->文件夹选项->查看.将" 隐藏已知文件类型的扩展名"上的勾儿去掉.

  • 想提取mp4的音频内容,该怎样将mp4视频文件转换成mp3

    大家有没有遇到这种情况,就是特别喜欢一段视频片段的声音对话,想将它单独保存出来作铃声.小编前两天就遇到了,朋友发给我一段海贼王里的视频片段,是路飞在空岛唱歌的内容,哈哈哈!真的太可爱了,小编就想把这个 ...

  • 使用ffmpeg合并视频文件的三种方法

    众所周知,从某些视频网站下载的视频是分段的.比如新浪视频每隔6分钟分段,俗称" 6分钟诅咒". 现在的任务是将这些视频片段合并起来,并且尽量无损. 方法一:FFmpeg conca ...

  • file命令_Linux file命令:查看文件信息或类型

    有人的地方,就有江湖.人往往是最难揣摩的.如果有一面神奇的魔镜能看出一个人的内心,世界会不会变得更加美好呢?Linux 的世界里,file 就是这样一面魔镜,它可以看到每个文件的内心.file 命令可 ...

  • 如何给自己录制的视频文件添加解说?怎么给视频添加背景音乐?视频添加背景音乐

          emmm--小编要哭死了啦,刚刚明明已经编辑好了今天的教程方案了,可是手贱,点了浏览器上方的返回按钮,啊啊啊啊啊,刷新一下,啥也没了,小编要哭死了啦.但是再怎么样还是要很顽强的一边哭一边凭 ...

  • 按百分比压缩视频文件

    按百分比压缩视频文件

  • 要放在电视上播的视频文件应该是什么格式?

    视频软件很多,你所说的是不是在电视上插U盘可以看电影的那种啊?需要确定你的电视机认什么格式是不是啊? 现在的流行格式很多,但是最通用的还是AVI,DAT,MPEG,这几种,现在流媒体电视的普及很广,但 ...

  • rmvb视频文件怎么转换mp4格式?

    小编因为工作的原因,在日常生活工作中是经常需要接触到各种格式类型的,有些格式是我们经常见到地视频类型,而有一些我们就很少见到了.像rmvb这种格式我们在日常生活其实是不常见的,因为由于rmvb格式的视 ...