音视频入门基础: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的信息

相关推荐
启雀AI3 小时前
培训平台移动端离线学习方案设计与实现:视频缓存、断点续传与进度同步的工程实践
android·学习·缓存·音视频·企业lms
科技新资讯7 小时前
跨境出海视频翻译怎么落地?专业出海级视频翻译工具能力解析
音视频
AI服务老曹10 小时前
摄像机安装AI视频分析完整流程:从现场物理安装、硬解配置到算法POC效果验证
人工智能·算法·音视频
Black蜡笔小新10 小时前
塔吊监测、安全帽、烟火检测:国标GB28181视频平台EasyCVR在智慧工地视频汇聚中的实战应用
人工智能·音视频·easycvr
小柯南敲键盘10 小时前
跨马翻译:跨境电商批量图片翻译与视频字幕工具推荐
人工智能·python·音视频
ai产品老杨1 天前
AI视频分析并发优化完整流程:解决多路视频并发不足与高延迟排查指南
人工智能·音视频
小柯南敲键盘1 天前
电商图片翻译工具推荐,批量处理主图视频字幕,免费试用
大数据·人工智能·python·音视频
程序员老陆1 天前
FFmpeg的AVFrame全部数据操作函数详解
ffmpeg·音视频·avframe
tech讯息2 天前
商业化内容生产适用企业级视频生成模型云平台推荐|从模型生成至审核分发全链路 AWS 选型方案
人工智能·音视频·aws
杀生丸学AI2 天前
【稀疏重建】StructSplat:基于非校准稀疏视图的可泛化3DGS
深度学习·3d·音视频·transformer·三维重建·空间智能