音视频入门基础:H.264专题(22)——通过FFprobe显示H.264裸流每个packet的信息

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

音视频入门基础:H.264专题系列文章:

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

音视频入门基础:H.264专题(2)------使用FFmpeg命令生成H.264裸流文件

音视频入门基础:H.264专题(3)------EBSP, RBSP和SODB

音视频入门基础:H.264专题(4)------NALU Header:forbidden_zero_bit、nal_ref_idc、nal_unit_type简介

音视频入门基础:H.264专题(5)------FFmpeg源码中 解析NALU Header的函数分析

音视频入门基础:H.264专题(6)------FFmpeg源码:从H.264码流中提取NALU Header、EBSP、RBSP和SODB

音视频入门基础:H.264专题(7)------FFmpeg源码中 指数哥伦布编码的解码实现

音视频入门基础:H.264专题(8)------H.264官方文档的描述符

音视频入门基础:H.264专题(9)------SPS简介

音视频入门基础:H.264专题(10)------FFmpeg源码中,存放SPS属性的结构体和解码SPS的函数分析

音视频入门基础:H.264专题(11)------计算视频分辨率的公式

音视频入门基础:H.264专题(12)------FFmpeg源码中通过SPS属性计算视频分辨率的实现

音视频入门基础:H.264专题(13)------FFmpeg源码中通过SPS属性获取视频色彩格式的实现

音视频入门基础:H.264专题(14)------计算视频帧率的公式

音视频入门基础:H.264专题(15)------FFmpeg源码中通过SPS属性获取视频帧率的实现

音视频入门基础:H.264专题(16)------FFmpeg源码中,判断某文件是否为H.264裸流文件的实现

音视频入门基础:H.264专题(17)------FFmpeg源码中,获取H.264视频的profile的实现

音视频入门基础:H.264专题(18)------FFmpeg源码获取H.264裸流文件信息(视频压缩编码格式、色彩格式、视频分辨率、帧率)的总流程

音视频入门基础:H.264专题(19)------AVCDecoderConfigurationRecord简介

音视频入门基础:H.264专题(20)------FFmpeg源码中,获取avcC封装的H.264码流中每个NALU的长度的实现

音视频入门基础:H.264专题(21)------FFmpeg源码中,解码AVCDecoderConfigurationRecord的实现

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

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

通过FFprobe命令:

bash 复制代码
ffprobe -of json -show_packets XXX.h264

可以显示H.264裸流每个packet(也称为数据包或多媒体包)的信息:

其中:

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

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

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

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

size:即AVPacket结构体中的成员变量size,为AVPacket的成员变量data指向的缓冲区的大小,也就是该packet的大小(以字节为单位)。

这里对比通过同样的FFprobe命令显示WAV音频文件(具体参考:《音视频入门基础:WAV专题(10)------FFmpeg源码中计算WAV音频文件每个packet的pts、dts的实现》)、AAC裸流(具体参考:《音视频入门基础:AAC专题(10)------FFmpeg源码中计算AAC裸流每个packet的pts、dts、pts_time、dts_time的实现》)、FLV文件的信息,会发现通过FFprobe显示H.264裸流packet信息时没有显示pts和dts。这是因为H.264裸流是不携带任何时间戳信息的,时间戳是文件Header中携带的。比如对于FLV文件,其时间戳信息包含在每个Video Tag和Audio Tag的Tag header中。所以要想获取到H.264视频的时间戳得把H.264裸流封装成FLV或MP4等文件格式。

相关推荐
龙腾-虎跃17 小时前
基于 SIP 协议的自研电话终端:FreeSWITCH 语音与视频通信实战
android·音视频·freeswitch·sip协议终端·wertc
2601_9656196918 小时前
AI视频制作:财经数据可视化视频怎么做:AI 自动生成图表动画的实操流程
人工智能·nginx·音视频
2601_9656196918 小时前
历史解说视频怎么做:青铜器瓷器文物画面自动对齐的完整教程
运维·nginx·音视频
2601_9654542319 小时前
AI视频制作:券商研报怎么转口播视频:PDF 解读、配音和图表自动成片的方法
人工智能·pdf·音视频
Latchh19 小时前
iLovePDF免费版能批量压缩吗?4款替代对比2026
图像处理·人工智能·计算机视觉·音视频
goujunwe1 天前
短视频怎么做 GEO:优化字幕和文稿,提升 AI 文本抓取采信率
大数据·人工智能·音视频
ZenasLDR1 天前
LDR6021Q音频转接器应用介绍
音视频·音频·接口
apple_692658851 天前
一个开源 KTV 点歌项目电视大屏点歌系统,免激活码家庭K歌方案
开源·音视频
国产化创客1 天前
ESP32音频/语音技术(7)ESP-NOW无线音频方案
音视频
AI视频工具指南2 天前
怎么用 AI 做一两分钟的小故事视频?
人工智能·aigc·音视频