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

相关推荐
ZFSS1 小时前
PixVerse 视频生成 API 实战教程
人工智能·ai·ai作画·音视频·ai编程
byte轻骑兵1 小时前
【LE Audio】CAP精讲[4]: Acceptor合规指南,从程序到协同全流程落地
人工智能·音视频·le audio·音视频控制
YWamy2 小时前
音视频SDK全解析:从技术演进到核心开发要点前瞻
音视频
Mr数据杨3 小时前
【CanMV K210】音频实验 I2S 数字麦克风与 FFT 频谱可视化
人工智能·音视频·硬件开发·canmv k210
2601_958352904 小时前
手撕环境噪音:双麦降噪模块AN-93上板实测,降噪36dB是真是假?
人工智能·音视频·嵌入式·降噪
木斯佳5 小时前
HarmonyOS 实战(源码教学篇):从一次语音识别率排查,讲透音频采集、PCM 与 ASR 同源校验
音视频·语音识别·harmonyos
AI创界者5 小时前
【2026前沿】LTX 2.3 深度实战:结合 Gemma 4完全体 打造电影级文生视频/图生视频全流程
人工智能·音视频
不爱学英文的码字机器6 小时前
被 AE 的关键帧折磨过的人,应该试试这个用 React 写视频的路子
前端·react.js·音视频
zhangfeng11336 小时前
Remotion 渲染视频脚本 ,自动化编辑视频 Node.js 层面是“单线程 JS”,但在实际渲染时是“高度并行”的。
node.js·自动化·音视频
程序员大辉6 小时前
ltx2.3 最强开源视频生成模型,支持图生视频、文生视频、消费级显卡可本地部署,一键整合包
语言模型·音视频