音视频入门基础:RTP专题(21)——使用Wireshark分析海康网络摄像机RTSP的RTP流

一、引言

使用vlc等播放器可以播放海康网络摄像机的RTSP流:

网络摄像机的RTSP流中,RTSP主要用于控制媒体流的传输,如播放、暂停、停止等操作。RTSP本身并不用于转送媒体流数据,而是会通过PLAY方法使用RTP来传输实际的音视频数据。所以播放器播放RTSP流,实际播放的是里面的RTP音视频数据。

二、Wireshark抓包分析

播放器播放摄像机的rtsp流时,对摄像机的数据进行抓包。以我使用的海康摄像机为例:

(一)区分RTSP客户端和服务器

首先我们得搞清楚一个概念:播放器和摄像机哪个是客户端,哪个是服务器。

对于RTSP,其通常使用TCP进行传输,因为它需要可靠的连接来确保控制命令的可靠性:

如下图所示,172.16.25.64是摄像机的ip,172.16.25.63是播放器所在电脑的ip。大家都知道,TCP握手的第一次握手总是:客户端向服务器发送一个SYN报文段。所以从下图的TCP三次握手可以看出来,播放器是TCP(RTSP)客户端,摄像机是TCP(RTSP)服务器:

但是对于传输实际音视频数据的RTP,则是反过来的:播放器是UDP(RTP)服务器,摄像机是UDP(RTP)客户端。具体可以参考:《音视频入门基础:RTP专题(9)------FFmpeg接收RTP流的原理和内部实现》。

(二)SDP分析

RTSP协议中,RTSP(TCP)客户端向RTSP服务器端发送DESCRIBE方法,用于得到URI所指定的媒体描述信息,一般是SDP信息(关于SDP协议可以参考:《音视频入门基础:RTP专题(3)------SDP简介》)。选中RTSP的DESCRIBE方法,右键 -> "追踪流" -> "TCP Stream":

从SDP信息中,可以看到,

对于视频:a=rtpmap:96 H264/90000表示映射PT值为96的负载类型到H.264编码,采样率为90000 Hz。packetization-mode=1表示采用Non-interleaved mode(非交错模式)。

对于音频:a=rtpmap:104 mpeg4-generic/16000/1表示映射PT值为104的负载类型到AAC编码,音频的采样频率为16000Hz,音频声道数为2:

根据SDP找到PT(payload type)值为96的RTP包如下,该RTP包的payload即为H.264格式:

根据SDP找到PT(payload type)值为104的RTP包如下,该RTP包的payload即为AAC格式:

(三)RTP封装H.264时,视频的有效载荷结构

由《音视频入门基础:RTP专题(13)------SDP的packetization-mode》可以知道,当packetization-mode参数的值等于1时,表示使用Non-Interleaved Mode(非交错模式)。它主要用于低延迟应用,只能使用Single NAL Unit Packet、STAP-A和FU-A,不得使用STAP-B、MTAP(MTAP16、MTAP24)和FU-B。NAL单元的传输顺序必须符合 NAL单元解码顺序。通过Wireshark进行抓包,我们可以发现确实如此:

关于Single NAL Unit Packet、STAP-A和FU-A的概念,见《音视频入门基础:RTP专题(12)------RTP封装H.264时,视频的有效载荷结构》。

(四)提取出H.264裸流

通过Wireshark可以提取出摄像机RTP流中的H.264裸流,具体可以参考:《音视频入门基础:RTP专题(8)------使用Wireshark分析RTP》。

相关推荐
hbugs00110 分钟前
【案例分享】全网首个华三数据中心流量可视化实验,基于EVE-NG V7平台
网络·网络协议·安全·devops·eve-ng
不会C语言的男孩1 小时前
第 13 章 网络与分布式系统基础
网络
山东穆柯传感器1 小时前
安全触边损坏如何维修及更换配件
网络·安全
huainingning1 小时前
华三ACL单向TCP互通组网-通过Established状态回包实现
运维·网络·tcp/ip
Johnstons2 小时前
游戏网络测试怎么做?从延迟到丢包,一套完整的游戏弱网测试方案
网络·游戏·php
Rocket-Luo2 小时前
谈谈企业中的网络安全
网络·安全·web安全
byte_conn2 小时前
船舶机舱监控频频瘫痪?CAN转光纤与中继器重塑海事通信底座
网络
技术不好的崎鸣同学3 小时前
[BJDCTF2020]The mystery of ip 思路及解法
网络·安全·web安全
normanhere4 小时前
浪潮云国产化超融合规划和部署案例
服务器·网络
西安老张(AIGC&ComfyUI)5 小时前
第021章:ComfyUI文生音频Qwen3-TTS模型数字人音色设计(一)
aigc·音视频·数字人·comfyui