美文网首页
六、ffprobe 分析音视频参数

六、ffprobe 分析音视频参数

作者: LucXion | 来源:发表于2023-06-07 09:23 被阅读0次

在终端中通过命令行将当前目录切换到视频文件的目录,使用ffprobe分析音视频文件、音视频流信息。音视频格式信息(show_format)->音视频流信息(show_stream)->音视频包信息(show_packets)->音视频帧信息(show_frames)

1.> 在终端中通过命令行将当前目录切换到视频文件的目录
2.1> 视频容器格式分析
// 容器格式、持续时间、比特率等等
/**
nb_streams = 2  :表示容器格式有两个流
nb_programs :常见于广电用的 mpegts 流里,比如某个卫视频道的节目
bit_rate :码率
*/
ffprobe -i jump.m4a -show_format 

2.2> 音视频流分析
// 编解码器、码率、分辨率、帧率等等
/**
[STREAM]
index=0 //流的索引号
codec_name=h264 //流的编码名
codec_long_name=H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 //流的编码详细描述
profile=High //流的profile
codec_type=video //流的codec类型
codec_tag_string=avc1 // 流的codec tag 字符串
codec_tag=0x31637661 // 流的codec tag,也是字符串,只不过以16进制方式存储
width=1920 //视频的宽,流内容部分
height=800 //视频的高,流内容部分
coded_width=1920 // 编码视频的宽,编解码时的部分,对齐的数据,显示时不用
coded_height=800 // 编码视频的高,编解码时的部分,对齐的数据,显示时不用
has_b_frames=2 // IPB 帧排列时两个P之间包含两个B
sample_aspect_ratio=1:1 //像素点采样比例
display_aspect_ratio=12:5 // 显示图像比例
pix_fmt=yuv420p // 像素点格式
level=40 // 与profile一起出现,对应的是参考标准中有对应的参数描述
color_range=unknown //调色必备参数
color_space=unknown //调色必备参数
color_transfer=unknown  //调色必备参数
color_primaries=unknown //调色必备参数
field_order=progressive // 隔行扫描逐行扫描标识
r_frame_rate=24/1  // 实际帧率
avg_frame_rate=24/1 // 平均帧率
time_base=1/24 //时间基,通常和帧率有对应关系
start_pts=0 // 开始时间戳
start_time=0.000000 // 开始时间
duration_ts=17620 //duration 时间戳
duration=734.166667 // duration 时间
bit_rate=7862427 // 码率
max_bit_rate=N/A // 最大码率
bits_per_raw_sample=8 // 原始数据每个采样占位
nb_frames=17620 // 总帧数
extradata_size=42 // extradata 大小
TAG:language=eng // 这个是TAG,主要是展示语种
TAG:handler_name=VideoHandle // 句柄名
TAG:vendor_id=FFMP // 生成MP4文件的工具
TAG:encoder=libx264 // 视频编码器标识
[/STREAM]

sample_aspect_ratio(SAR)数据采样宽高比,
display_aspect_ratio(DAR)显示宽高比,
这两个数值中间如果有差别的话,说明像素点不是矩形的,假设视频像素点的实际宽度为 4,实际高度为 3,但是为了适应某个显示设备,需要将像素点压缩成宽度为 16,高度为 9 的矩形。这种情况下,采样宽高比为 4:3,而显示宽高比为 16:9,两者之间存在差异。

垂直分辨率为 720 像素的视频通常被称为 720P 视频,而垂直分辨率为 1080 像素的视频则被称为 1080P 视频,如果垂直分辨率为800的视频,因为800P不是常见的视频格式,我们一般把它归为1080P
*/
ffprobe -i jump.m4a -show_streams 

2.3>音视频包分析(可以分析文件和音视频流URL)
/**
packet codec_type=audio stream_index=1 pts=2744311 pts_time=62.229274 dts=2744311 dts_time=62.229274 duration=2029 duration_time=0.046009 size=27 pos=3105584 flags=K__
packet codec_type=video stream_index=0 pts=992896 pts_time=62.056000 dts=991840 dts_time=61.990000 duration=533 duration_time=0.033313 size=60 pos=3104195 flags=___
*/
// 分析视频包,并以xml的格式输出
ffprobe -show_packets -select_streams v -of xml input.mp4
// 分析音频包,并以xml的格式输出
ffprobe -show_packets -select_streams a -of xml jump.mp4
// 分析所有音视频包,并以xml的格式输出
ffprobe -show_packets -of xml jump.mp4         

2.4> 音视频帧信息
/**
GOP 是 Group of Pictures 的缩写,意为“图像组”。在视频编码中,GOP 通常是指由多个连续的视频帧组成的一个组,其中包含一个关键帧(I 帧)和若干个预测帧(P 帧)和参考帧(B 帧)等
key_frame=1 关键帧I,key_frame=0 预测帧P、B
*/
// 使用 show_entries 指定输出的信息字段
ffprobe -show_frames -select_streams v -of xml -show_entries packet=pts_time,dts_time,flags  jump.mp4

相关文章

  • 执行编译FFmpeg库

    FFmpeg工具 FFmpeg FFplay FFprobe FFmpeg开发库 Libavcodec 音视频编解...

  • FFmpeg命令行练习(3)

    多媒体分析工具ffprobe

  • 调试

    ffprobe分析视频文件dts、pts等信息 ./ffprobe -show_frames -select_st...

  • ffplay基本使用

    ffmpeg/ffplay/ffprobe的区别:ffmpeg:超快音视频编码器(类似于爱剪辑)ffplay:简单...

  • ffprobe常用命令

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

  • ffmpeg编码x264

    协助查看编码的工具有:Elecard、Bitrate Viewer、ffprobe prest的参数有:ultra...

  • 使用ffprobe进行音视频流的分析(一)

    音视频流的结构的分析对进行音视频的处理或者对直播过程中的直播流的卡顿等情况的分析处理起到了至关重要的作用。目前刚刚...

  • ffmpeg相关常用命令及可选参数

    ffmpeg相关常用命令及可选参数, 包括ffmpeg.exe、 ffplay.exe、 ffprobe.exe,...

  • ffprobe 使用小结

    ffprobe 是ffmpeg的一个工具包,主要用于探测音视频文件的各种信息,这篇文章主要是总结记录下ffprob...

  • ffprobe常用命令

    ffprobe -of son -show_packets input.flv 输出json格式 ffprobe ...

网友评论

      本文标题:六、ffprobe 分析音视频参数

      本文链接:https://www.haomeiwen.com/subject/iuynedtx.html