当前位置: 首页 > news >正文

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

通过FFprobe命令:

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有效载荷结构的解析》。

相关文章:

  • RabbitMQ 基本原理详解
  • mysql数据库中多张表导出成excel方式
  • 【蓝桥杯速成】| 4.递归
  • CTP开发爬坑指北(九)
  • spring声明式事务原理01-调用第1层@Transactional方法(事务访问入口)
  • [蓝桥杯]花束搭配【算法赛】
  • Ubuntu从源码安装Webots
  • 网络编程、URI和URL的区别、TCP/IP协议、IP和端口、URLConnection
  • MySQL相关参数
  • 【C++多线程】thread
  • SDL3 游戏开发 Windows 环境搭建
  • 介绍如何使用YOLOv8模型进行基于深度学习的吸烟行为检测
  • Matlab 矢量控制和SVPWM的感应电机控制
  • 算法——图论——关键活动
  • Blender插件NodeWrangler导入贴图报错解决方法
  • Docker生存手册:安装到服务一本通
  • Razor C# 变量
  • 数据结构(全)
  • 机器学习 [白板推导](二)[线性回归]
  • 第四章-PHP文件包含
  • 国外做微课的网站/常用的搜索引擎有哪些?
  • 微官网和公众号的区别/奇零seo赚钱培训
  • 挂马网站教程/广州seo公司
  • 阿里巴巴怎么做企业网站/奖券世界推广网站
  • 夷陵网/百度seo怎么收费
  • 网站建设报价明细表/东莞疫情最新数据