音视频入门基础:RTP专题(20)——通过FFprobe显示RTP流每个packet的信息

通过FFprobe命令:

bash 复制代码
ffprobe -protocol_whitelist "file,rtp,udp" -of json -show_packets XXX.sdp

可以显示SDP描述的RTP流每个packet(数据包)的信息:

对于RTP流,上述的"packet"(数据包)是指:该RTP Packet去掉RTP header后的数据,即RTP payload中的数据。

其中:

codec_type:该RTP Packet的payload中存贮的是视频还是音频数据。

stream_index:该RTP Packet对应的这路流的流索引,即这路流是RTP流中的第几路音视频流。

dts:该RTP Packet的以AVStream的time_base为单位的解码时间戳。

dts_time:该RTP Packet的以秒为单位的解码时间戳。

pts:该RTP Packet的以AVStream的time_base为单位的显示时间戳。该值是以其RTP header中的timestamp属性为基准计算出来的显示时间戳。

pts_time:该RTP Packet的以秒为单位的显示时间戳。

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

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

size:即AVPacket结构体中的成员变量size,为AVPacket的成员变量data指向的缓冲区的大小。如果该RTP Packet的有效载荷类型为H.264,该值等于:RTP Packet的payload中的数据加上"0001"起始码的总长度。

如果该RTP Packet的有效载荷类型为H.264:

1.当有效载荷结构为Single NAL Unit Packet时,该RTP packet的有效载荷中只包含一个NALU,AVPacket的成员变量data存贮该RTP packet的payload加上"0001"(四字节)的起始码后的数据。

2.当有效载荷结构为STAP-A时,该RTP packet的有效载荷中可能包含多个NALU,AVPacket的成员变量data存贮该RTP packet的payload中的每个NALU的数据(可能包含多个NALU,每个NALU的数据之间以"0001"分隔)。

3.当有效载荷结构为FU-A,一个NALU可能会被分割成多个RTP Packet,AVPacket的成员变量data存贮该FU-A的FU payload(前面加上"0001"的起始码)中的数据,即该NALU在该RTP Packet中的分片数据。

具体可以参考:《音视频入门基础:RTP专题(14)------FFmpeg源码中,对H.264的各种RTP有效载荷结构的解析》。

相关推荐
沐禾安信14 小时前
AVI 视频打不开?2026 四款转 MP4 工具封神
音视频·电脑录屏
兵叔物联16 小时前
基于FFmpeg的短视频自动剪辑工具
ffmpeg·音视频
AORUO奥偌16 小时前
从“拼凑”到“集成”:音视频系统如何重塑弱电智能化建设逻辑
音视频·公共广播系统·音视频系统·多媒体会议与ip广播系统·多媒体会议系统
禹亮科技17 小时前
大型国企会议室音视频集成实战:3间120㎡空间Poly G7500+LED大屏+讯飞多语言会议系统落地方案
音视频·视频会议系统集成·上海禹亮科技·讯飞听见多语言会议系统·poly g7500
音视频牛哥19 小时前
SmartMediaKit macOS版RTSP/RTMP低延迟播放器:技术架构、核心能力与应用实践
音视频·低延迟rtsp播放器·macos直播播放器·macos rtsp播放器·macos rtmp播放器·rtsp播放器mac版·rtmp播放器mac版
潜创微科技21 小时前
沁恒CH9339:USB3.0超高速对拷,两台电脑一根线共享一切
音视频
Cxiaomu21 小时前
从 TRTC Demo 到独立音视频服务:React + TRTC Web SDK 服务化实践
前端·react.js·音视频
EasyGBS1 天前
政务视频资源汇聚:国标GB28181视频平台EasyGBS在“一网统管”中的定位和落地路径
网络·音视频·政务
蝉蜕日记2 天前
视频压缩 v1.1.31:高效压缩,无损画质,释放存储空间
音视频·生活·视频编解码·视频·软件需求
lumengabc2 天前
视频制作流程MP4旁白语音生成裁剪视频压缩python处理ppt转视频M4a格式
音视频