FFPROBE命令及使用方法

最大帧分析命令:
ffprobe -i a.mp4 -show_frames -show_entries frame=pict_type,pkt_size > frame_size.txt
文件分析结果:

 

pkt_size为每一个帧的大小,单位为字节,例如277154Byte=270.658KB
94281

将视频中的每一帧信息输出到文件中:
ffprobe -i video.mp4  -show_frames  > frames.txt    每一帧的信息都会打到frames.txt 文件中

从https://ffbinaries.com/downloads 下载最新的4.1版本的Windows 64位FFprobe,FFprobe用于从多媒体流中获取相关信息或查看文件格式信息,并以可读的方式打印,FFprobe可以作为一个命令行程序单独使用。

以下汇总FFprobe的常用操作:
-show_packets 和 -show_data

ffprobe -show_packets live_rate_frame.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组合参数来查看包中的具体数据

-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_streams 命令可以查看视频文件中的帧信息,输出的帧信息使用STREAM标签扩起来:
[STREAM]
index=0
codec_name=hevc
codec_long_name=H.265 / HEVC (High Efficiency Video Coding)
profile=Main
codec_type=video
codec_time_base=751/11270
codec_tag_string=hvc1
codec_tag=0x31637668
width=2304
height=1296
coded_width=2304
coded_height=1296
closed_captions=0
has_b_frames=0
sample_aspect_ratio=N/A
display_aspect_ratio=N/A
pix_fmt=yuvj420p
level=153
color_range=pc
color_space=bt709
color_transfer=bt709
color_primaries=bt709
chroma_location=left
field_order=unknown
timecode=N/A
refs=1
id=N/A
r_frame_rate=20/1
avg_frame_rate=11270/751
time_base=1/90000
start_pts=0
start_time=0.000000
duration_ts=27036000
duration=300.400000
bit_rate=1799764
max_bit_rate=N/A
bits_per_raw_sample=N/A
nb_frames=4508
nb_read_frames=N/A
nb_read_packets=N/A
DISPOSITION:default=1
DISPOSITION:dub=0
DISPOSITION:original=0
DISPOSITION:comment=0
DISPOSITION:lyrics=0
DISPOSITION:karaoke=0
DISPOSITION:forced=0
DISPOSITION:hearing_impaired=0
DISPOSITION:visual_impaired=0
DISPOSITION:clean_effects=0
DISPOSITION:attached_pic=0
DISPOSITION:timed_thumbnails=0
TAG:language=und
TAG:handler_name=VideoHandler
TAG:vendor_id=[0][0][0][0]
[/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:帧数
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值