音视频入门基础:FLV专题(25)——通过FFprobe显示FLV文件每个packet的信息

=================================================================

音视频入门基础:FLV专题系列文章:

音视频入门基础:FLV专题(1)------FLV官方文档下载

音视频入门基础:FLV专题(2)------使用FFmpeg命令生成flv文件

音视频入门基础:FLV专题(3)------FLV header简介

音视频入门基础:FLV专题(4)------使用flvAnalyser工具分析FLV文件

音视频入门基础:FLV专题(5)------FFmpeg源码中,判断某文件是否为FLV文件的实现

音视频入门基础:FLV专题(6)------FFmpeg源码中,解码FLV header的实现

音视频入门基础:FLV专题(7)------Tag header简介

音视频入门基础:FLV专题(8)------FFmpeg源码中,解码Tag header的实现

音视频入门基础:FLV专题(9)------Script Tag简介

音视频入门基础:FLV专题(10)------Script Tag实例分析

音视频入门基础:FLV专题(11)------FFmpeg源码中,解析SCRIPTDATASTRING类型的ScriptDataValue的实现

音视频入门基础:FLV专题(12)------FFmpeg源码中,解析DOUBLE类型的ScriptDataValue的实现

音视频入门基础:FLV专题(13)------FFmpeg源码中,解析任意Type值的SCRIPTDATAVALUE类型的实现

音视频入门基础:FLV专题(14)------FFmpeg源码中,解码Script Tag的实现

音视频入门基础:FLV专题(15)------Video Tag简介

音视频入门基础:FLV专题(16)------FFmpeg源码中,解码Video Tag的VideoTagHeader的实现

音视频入门基础:FLV专题(17)------FFmpeg源码中,提取Video Tag的VIDEODATA的实现

音视频入门基础:FLV专题(18)------Audio Tag简介

音视频入门基础:FLV专题(19)------FFmpeg源码中,解码Audio Tag的AudioTagHeader,并提取AUDIODATA的实现

音视频入门基础:FLV专题(20)------FFmpeg源码中,获取FLV文件major_brand、minor_version、compatible_brands、encoder、Duration的实现

音视频入门基础:FLV专题(21)------FFmpeg源码中,获取FLV文件音频信息的实现(上)

音视频入门基础:FLV专题(22)------FFmpeg源码中,获取FLV文件音频信息的实现(中)

音视频入门基础:FLV专题(23)------FFmpeg源码中,获取FLV文件音频信息的实现(下)

音视频入门基础:FLV专题(24)------FFmpeg源码中,获取FLV文件视频信息的实现

音视频入门基础:FLV专题(25)------通过FFprobe显示FLV文件每个packet的信息

=================================================================

通过FFprobe命令:

cpp 复制代码
ffprobe -of json -show_packets XXX.flv

可以显示FLV文件每个packet(也称为数据包或多媒体包)的信息:

其中:

codec_type:该数据包对应的这路流是视频还是音频。

stream_index:该数据包对应的这路流的流索引,即这路流是FLV文件中的第几路音视频流。

dts:该数据包的以AVStream的time_base为单位的解码时间戳,来源于该Tag的Tag header中的Timestamp和TimestampExtended属性。具体可以参考:《音视频入门基础:FLV专题(7)------Tag header简介》。

dts_time:该数据包的以秒为单位的解码时间戳。

pts:该数据包的以AVStream的time_base为单位的显示时间戳。对于音频,显示时间戳等于解码时间戳。对于视频,其数据包对应的Video Tag中存在一个CompositionTime属性表示Composition time offset(简称CTS),即PTS相对于DTS的偏移值。所以对于视频,显示时间戳(PTS) = DTS + CTS。具体可以参考:《音视频入门基础:FLV专题(15)------Video Tag简介》。

pts_time:该数据包的以秒为单位的显示时间戳。

duration:即AVPacket结构体中的成员变量duration,为该packet占用的以AVStream的time_base为单位的时间值。

duration_time:该packet占用的以秒为单位的时间值。

size:即AVPacket结构体中的成员变量size,为AVPacket的成员变量data指向的缓冲区的大小,也就是该packet的大小(以字节为单位)。该值是以Tag header的DataSize属性为基础,计算出来的。

相关文章:《音视频入门基础:H.264专题(22)------通过FFprobe显示H.264裸流每个packet的信息》

相关推荐
h39745 小时前
DirectShow过滤器开发-视频源过滤器
c++·windows·音视频·directshow
美狐美颜sdk8 小时前
直播APP源码可以直接接入视频美颜sdk吗?技术方案详解
android·人工智能·音视频·美颜sdk·直播美颜sdk
揽秀亭长9 小时前
从音频到五线谱|扒谱过程中的关键技术环节
人工智能·音视频
乐橙开放平台13 小时前
智慧连锁客流检测和离岗检测怎么对接
大数据·人工智能·笔记·物联网·自动化·音视频·智能家居
Anhty15 小时前
2026最新免费手机音频处理工具 !!
android·功能测试·ios·智能手机·音视频
企业数字化笔记16 小时前
AI工具参数很多怎么办?预设、表单校验、危险参数与配置审计
java·spring boot·python·音视频
VidDown17 小时前
上传 2GB 文件别让 Django 接:分片上传、对象存储直传与秒传
python·django·音视频·状态模式·实时音视频·视频编解码·视频
阿明副业观察17 小时前
AI视频生成工具功能与作用全面解析:赋能高效内容创作
大数据·人工智能·aigc·音视频·ai写作
EasyDSS18 小时前
告别视频资源浪费!云点播/本地点播/网络点播EasyDSS平台点播实现企业视频高效复用
音视频·媒体·easydss
智能直播18 小时前
RK3528 Tinyalsa/ALSA框架:输入源声音获取与HDMI out声音输出,一文讲透直播音频链路
音视频·实时音视频·视频编解码