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

相关推荐
愚公搬代码12 小时前
【愚公系列】《AI短视频创作一本通》020-AI短视频创作实例精解(文旅宣传AI短视频实例精解)
人工智能·音视频
有位神秘人12 小时前
Android获取设备中本地音频
android·音视频
硫酸锌0112 小时前
使用ffmpeg合并文件夹内的所有*.mp4格式视频
ffmpeg·音视频
源文雨12 小时前
shell调用ffmpeg递归转换所有wav至flac的脚本
ffmpeg·bash·音视频·音频·unix·shell·音频编码
愚公搬代码12 小时前
【愚公系列】《AI短视频创作一本通》019-AI语音及音乐的创作(AI短视频语音创作实例)
人工智能·音视频
iWZXQxBO1 天前
运动控制卡 倒R角程序 G代码 halcon联合运动控制卡联合相机 运动控制卡内容
音视频
woshikejiaih1 天前
**播客听书与有声书区别解析2026指南,适配不同场景的音频
大数据·人工智能·python·音视频
Mr数据杨1 天前
【ComfyUI】AV-FunASR 音频转文本
音视频
凉辰1 天前
使用uni.createInnerAudioContext()播放指定音频(踩坑分享功能)
开发语言·javascript·音视频
AI资源库1 天前
Remotion 一个用 React 程序化制作视频的框架
人工智能·语言模型·音视频