【ffmpeg基础】使用ffprobe查看音视频信息

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

【ffmpeg基础】使用ffprobe查看音视频信息_ffmpeg查看视频信息-CSDN博客 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目录 第一章 多媒体概念介绍 6 1.1视频格式 6 1.1.1常见格式 6 1.2音频格式 9 1.2.1常见格式 9 1.2.2比较 15 1.3字幕格式 15 1.3.1外挂字幕与内嵌字幕的阐述 15 1.3.2外挂字幕视频与内嵌字幕视频的画面比较 15 1.3.3外挂字幕的三种格式 15 1.4采集录制和播放渲染 16 1.4.1视频采集 16 1. 4.2视频录制 17 1.4.3视频渲染 17 1.5编解码器 18 1.6容器和协议 19 1.6.1容器格式和编码格式 19 1.6.2协议 26 1.6.2.1 视频协议 26 1.6.2.2 音频协议. 26 1.6.2.3 上层通讯协议 27 1.7常用概念介绍 27 1.7.1硬解 27 1.7.2 IBP帧 28 1.7.3 DTS和PTS 31 1.7.4 分辨率 31 1.7.5 码率 32 1.7.6 帧率 32 1.7.7 RGB和YUV 32 1.7.8 实时和非实时 32 1.7.9 复合视频和s-video 32 1.7.10 硬件加速 32 1.7.11 FFmpeg Device 32 第二章 FFmpeg框架 34 2.1 FFmpeg概述 34 2.1.1简介 34 2.1.2功能 34 2.1.3模块组成 35 2.1.4命令集 35 2.2 媒体播放器三大底层框架 37 第三章 编译及简单应用 41 3.1 FFmpeg库编译和入门介绍 41 41 3.2 流媒体数据流程讲解 49 3.3 简单应用 51 3.4 SDL( Simple Direct Layer) 55 3.4.1 SDL显示视频 55 3.4.2 SDL显示音频 55 3.5 ffmpeg程序的使用ffmpeg.exe,ffplay.exe,ffprobe.exe) 56 3.5.1 ffmpeg.exe 56 3.5.2 ffplay.exe 56 3.5.3 ffprobe.exe 56 第四章 数据结构 57 4.1 AVCodec结构体 59 4.2 AVCodecContext结构体 59 4.3 AVInputFormat结构体 60 4.4 AVFormatContext结构体 61 4.5 MovContext结构体 62 4.6 URLProtocol结构体 62 4.7 URLContext结构体 63 4.8 AVIOContext结构体(老版本为:ByteIOContext) 63 4.9 AVStream结构体 64 4.10 MOVStreamContext 结构体 65 4.11 AVPacket 结构体 66 4.12 AVPacketList 结构体 67 4.13 AVFrame结构体 67 第五章 重要模块 76 5.1 libavutil公共模块 76 1 文件列表 76 2 common.h 文件 76 3 bswap.h 文件 78 4 rational.h 文件 79 5 mathematics.h 文件 80 6 avutil.h 文件 80 5.2 libavcodec编解码模块 82 1 文件列表 82 2 avcodec.h 文件 82 3 allcodec.c 文件 87 4 dsputil.h 文件 87 5 dsputil.c 文件 88 6 utils_codec.c 文件 88 7 imgconvert_template.h 文件 99 8 imgconvert.c 文件 121 9 msrle.c 文件 164 10 turespeech_data.h 文件 171 11 turespeech.c 文件 174 5.3 libavformat容器模块 184 1 文件列表 184 2 avformat.h 文件 184 3 allformat.c 文件 190 4 cutils.c 文件 190 5 file.c 文件 192 6 avio.h 文件 194 7 avio.c 文件 196 8 aviobuf.c 文件 200 9 utils_format.c 文件 209 10 avidec.c 文件 220 5.4 libswscale视频色彩空间转换 243 5.5 libswresample音频重采样 243 5.6 libavfilter音视频滤器 243 5.7 libavdevice设备输入和输出容器 243 5.8 libpostproc视频后期处理 243 第六章 播放器 243 6.1 视频播放器 243 6.1.1 ffmpeg库的配置 243 6.1.2 一个简单的视频播放器 244 6.2 音频播放器 247 6.3 一个完整的播放器--ffplay 253 6.3.1 ffplay流程图 253 6.3.2 ffplay源码剖析 254 第七章 应用开发 275 7.1 ffmpeg库的使用:编码 275 第八章 关键函数介绍 280 8.1 avformat_open_input 280 8.2 avcodec_register_all() 281 8.3 av_read_frame() 283 8.4 avcodec_decode_video2() 283 8.5 transcode_init() 283 8.6 transcode() 294 第九章 ffmpeg相关工程 301 9.1 ffdshow 301 ffdshow 源代码分析1 : 整体结构 302 ffdshow 源代码分析 2: 位图覆盖滤镜(对话框部分Dialog) 304 ffdshow 源代码分析 3: 位图覆盖滤镜(设置部分Settings) 312 ffdshow 源代码分析 4: 位图覆盖滤镜(滤镜部分Filter) 317 ffdshow 源代码分析 5: 位图覆盖滤镜(总结) 322 ffdshow 源代码分析 6: 对解码器的dll的封装(libavcodec) 322 ffdshow 源代码分析 8: 视频解码器类(TvideoCodecDec) 344 ffdshow 源代码分析 9: 编解码器有关类的总结 352 9.2 LAV filters 357 LAV Filter 源代码分析 1: 总体结构 357 LAV Filter 源代码分析 2: LAV Splitter 358 LAV Filter 源代码分析 3: LAV Video (1) 382 LAV Filter 源代码分析 4: LAV Video (2) 400 9.3 MPlayer 427 9.3.1 Mplayer支持的格式 427 9.3.2 Mplayer 中头文件的功能分析 427 9.3.3 MPlayer.main 主流程简要说明 428 9.3.4 Mplayer源码分析 429 第十章 开发实例 436 第十一章 mp4文件封装协议分析 436 11.1 概述 436 11.2 mp4的物理结构 436 11.3 数据的组织结构 437 11.4 mp4的时间结构 437 11.5 文件结构分析 438 11.5.1 File Type Box(ftyp) 438 11.5.2 Movie Box(moov) 438 第十二章 flv 文件格式分析 457 12.1 概述 457 12.2 文件总体结构 457 12.3 文件结构分析 458 12.3.1 flv文件头的结构 458 12.3.2 body主体结构 459 附录A:常见问题 465 1 ffmpeg 从内存中读取数据 465 2 MFC中使用SDL播放音频没有声音的解决方法 465 附录B:经典代码示例 466 附录C:ffmpeg参数中文详细解释 477 附录D:ffplay的快捷键以及选项 479 附录E: ffmpeg处理rtmp流媒体 481

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值