三、ffprobe命令
ffprobe命令- ffprobe用来查看多媒体文件的信息
常用命令如下所示:
ffprobe -show_packets input.mp4
//获取文件信息并显示文件中每个帧的包信息(包含audio和video包),如下图所示:
-
codec_type : 帧类型,如视频包、音频包等
-
stream_index : 多媒体的stream索引(上图的stream0表示video数据,steam1表示audio数据)
-
pts(Presentation Time Stamp) : 显示时间戳,这个时间戳用来告诉播放器该在什么时候显示这一帧的数据。
-
pts_time : 将pts换算为时间后的值
-
dts(Decoding Time Stamp) : 解码时间戳,表示在什么时候解码的这一帧数据。
-
dts_time : 将dts换算为时间后的值
-
duration : 该帧占用的时间值(需要持续多久切换下一帧)
-
duration_time : 根据不同格式计算后的多媒体包占用的时间值
-
size : 该帧的大小
-
pos : 该帧所在的文件偏移位置
-
flags : 该帧标记,如关键包与非关键包的标记
ffprobe -show_packets -show_data input.mp4
//获取文件信息并显示文件中每个帧的包信息以及包里的具体data信息
ffprobe -show_format input.mkv
//获取文件信息以及格式信息,如下图所示
-
nb_streams : 打开的视频文件中流的数量,一般为2,表示音频流和视频流
-
nb_programs : 节目数
-
format_name : 文件封装格式名称, 该文件的格式是Matroska,webm(MKV的全称)格式
-
format_long_name : 文件封装格式具体的名称
-
start_time : 起始时间
-
duration : 视频总时长
-
size : 文件大小
-
bit_rate : 码率, 码率公式为 码率(kbps)=文件大度小(KB)*8/时间(秒)
-
probe_score : 探测出的视频评分,100是最大的分数,这意味着FFmpeg确信格式是真实的
ffprobe -show_streams input.mkv
//获取视频文件中流的具体信息,比如音频采样率、视频尺寸、帧率等