ffmpeg工具包含了ffprobe这个工具,ffprobe可以查看、导出音视频文件的各种信息,比如音频和视频的封装信息,音频和视频的编码参数、音频和视频的像素格式、音频和视频的时长等。
一、ffprobe查看输入mp4文件的基本信息
ffprobe -i input.mp4
mp4文件信息如下图所示;其中蓝色框是视频码流的信息,绿色框是音频码流的信息。可以看出输入的mp4中包含了一路视频流和一路音频流。
上图蓝色框中视频流信息中依次包含了视频的编码格式/编码档次(h264 Base line)、视频的像素格式(yuv420p)、视频的分辨率(480x360)、视频的码率(978kb/s)、视频的帧率(25fps)。
上图绿色框中音频流信息中依次包含了音频的编码格式/编码级别(AAC LC)、音频的采样率(44100HZ)、音频的声道(stereo/双声道)、音频的码率(132kb/s)。
在ffprobe打印的信息中有mp4的总时长和mp4的平均码率,如下Duration: 00:00:10.00表示mp4的一视频总时长为10.0s;bitrate: 1114 kb/s为mp4中音频和视频平均码率为1114kb每秒。
Duration: 00:00:10.00, start: 0.000000, bitrate: 1114 kb/s
二、ffprobe查看输入mp4文件的格式信息(-show_format)
ffprobe -i input.mp4 -show_format
mp4文件-show_format的信息如下图所示;绿色框是输入mp4的格式信息,包含了文件名(filename=input.mp4、mp4文件中包含的码流个数(nb_streams=2)、格式名称(format_name=mov,mp4)、mp4文件时长(duration=10.00(单位是秒))、mp4文件的大小(size=1393457(单位字节))、mp4文件码率(bit_rate=1114765(单位是bits/s)),以及其他参数。
三、ffprobe查看输入mp4文件的码流信息(-show_streams)
ffprobe -i input.mp4 -show_streams
ffprobe使用-show_streams参数可以查看音频和视频各个码流的信息,按照码流在文件中的标号位置依次显示,如下图是视频的streams信息,视频流的标号index=0,所以先显示视频的streams信息。视频的streams信息包含了视频编码参数(h264编码、profile=Baseline)、视频宽高(=480,=360)、视频的宽高比(display_aspect_ratio=4:3)、视频的像素格式(yuv420p)、视频的颜色空间信息(color_range/color_space/color_transfer/color_primaries)、视频的帧率(r_frame_rate)、视频的基准时间(time_base)、视频的帧数(nb_frames)等。
音频的码流信息如下图。
三、ffprobe查看输入mp4文件的帧信息(-show_frames)
ffprobe -i input.mp4 -show_frames
ffprobe使用show_frames可以查看音视频的每一帧的信息,如果视频包含了200帧,则会显示200帧的信息,所以show_frames的信息是非常多的,input.mp4的帧信息(show_frames)部分如下图。红色框显示的是音频等一帧信息,绿色框内史视频的一帧信息。每一帧信息包含了pts/dts、以及对应的以秒(float类型)为单位的时间参数、当前帧的持续时长(pkt_duration)、当前帧的大小(pkt_size)、当前帧在文件中的位置(pkt_pos)等信息。
通常ffprobe可以在一条命令中使用-show_format -show_streams -show_frames 来查看输入音视频的详细信息,如下:
ffprobe -i input.mp4 -show_format -show_streams -show_frames
ffprobe也支持将显示的文件信息按照指定格式来输出,可以使用-print_format json来指定输出的格式为json。如下是ffprobe将输入音视频文件的信息安卓json的格式输出到ffprobe_info.json中,这样就可以打开ffprobe_info.json来查看音视频等详细信息。
ffprobe -i input.mp4 -print_format json -show_format -show_streams -show_frames > ffprobe_info.json
猜你喜欢
网友评论
- 搜索
- 最新文章
- 热门文章