RTSP协议抓包及讲解(一)

简介: RTSP协议抓包及讲解

前言

本节主要讲解 RTSP 协议,通过 wireshark 抓包的方式对协议进行分析。


一、RTSP 亲手搭建直播点播

测试工具:VLC

数据源:文件或本地摄像头

测试功能:RTSP 直播点播

播放地址: rtsp://127.0.0.1:554/test

服务端: 推流

客户端: 拉流

1、数据源为视频文件

参考我之前的博客 “音视频开发常用工具” 下图部分

2、数据源为摄像头

①、搭建 RTSP 流媒体服务器

<1>、点击媒体 -> 流

<2>、选择捕获设备,视频设备我们选择笔记本电脑内置摄像头,电击串流

<3>、点击下一个

<4>、新目标选择 RTSP,点击添加

<5>、修改路径,并点击下一个

<6>、配置文件选择 Video - H.264 + MP3 (TS),点击下一个

<7>、点击流

<8>、可以看到进度条开始动了,这样一个 RTSP 流媒体服务器就搭建好了,目前正在进行推流

②、客户端拉流

<1>、再打开一个 VLC media player,选择媒体 -> 打开网络串流

<2>、网络 URL 修改为:rtsp://:8554/test2,点击播放

<3>、下图左边是服务端在推流,右边是客户端在拉流

上面两个例子实现了数据源分别是文件和摄像头时,搭建了 RTSP 直播点播功能

二、RTSP 协议简介

RTSP(Real Time Streaming Protocol),RFC2326,实时流传输协议,是 TCP/IP 协议体系中的一个应用层协议,由哥伦比亚大学、网景和 RealNetworks 公司提交的 IETF RFC 标准。该协议定义了一对多应用程序如何有效地通过 IP 网络传送多媒体数据。RTSP 是用来控制声音或影像的多媒体串流协议, 并允许同时多个串流需求控制。

RTSP 在体系结构上位于 RTP 和 RTCP 之上,它使用 TCP 或 UDP 完成数据传输。

HTTP 与 RTSP 相比,HTTP 请求由客户机发出,服务器作出响应;使用 RTSP 时,客户机和服务器都可以发出请求,即 RTSP 可以是双向的。

实时流媒体会话协议

  • SDP(会话描述协议)Session Description Protocol
  • RTP(实时传输协议)Realtime Transfer Protocol:音视频流

RTSP 是基于文本的协议,采用 ISO10646 字符集,使用 UTF-8 编码方案

行以 CRLF 中断( \r\n:10,13:0x0A,0x0D),包括消息类型、消息头、消息体和消息长。但接收者本身可将 CR 和 LF 解释成行终止符。基于文本的协议使其以自描述方式增加可选参数更容易,接口中采用 SDP 作为描述语言。

RTSP 是应用级协议, 控制实时数据的发送。

RTSP 提供了一个可扩展框架,使实时数据,如音频与视频的受控点播成为可能。数据源包括现场数据与存储在剪辑中数据。该协议目的在于控制多个数据发送连接,为选择发送通道,如 UDP、组播 UDP 与 TCP 提供途径,并为选择基于 RTP 上发送机制提供方法。

RTSP 协议支持:

  • 从媒体服务器上检索媒体
  • 媒体服务器邀请进入会议
  • 将媒体加到现成讲座中


RTSP协议抓包及讲解(二)https://developer.aliyun.com/article/1472296

目录
相关文章
|
9月前
|
存储 网络协议 网络安全
RTSP协议抓包及讲解(三)
RTSP协议抓包及讲解
128 1
|
Web App开发 编解码 Android开发
2023年音视频开发知识技术合集(基础入门到高级进阶)
2023年音视频开发知识技术合集(基础入门到高级进阶)
|
9月前
|
网络协议 Linux
音视频学习之rtsp推拉流学习2(流媒体服务器ZLMediaKit)
音视频学习之rtsp推拉流学习2(流媒体服务器ZLMediaKit)
729 0
|
9月前
|
移动开发 网络协议 Windows
RTSP协议抓包及讲解(二)
RTSP协议抓包及讲解
195 1
|
5月前
|
编解码 监控 网络协议
如何用魔法般的步骤实现RTSP推送H.264与H.265(HEVC),打造震撼视听盛宴,让每一帧都充满魔力!
【9月更文挑战第3天】实现RTSP流媒体服务推送H.264和H.265编码视频是现代视频监控及直播平台的关键技术。本文详细介绍环境搭建、编码配置及服务器与客户端实现方法。首先,通过FFmpeg捕获视频并编码成RTSP流,接着使用VLC等工具接收播放。此外,还提供了C++示例代码,演示如何利用libv4l2和FFmpeg自定义服务器端实现。希望本文能帮助读者成功搭建RTSP视频流系统。
811 1
|
8月前
|
Linux
Linux中的Base64编码与解码:`base64`命令详解
Linux的`base64`命令用于Base64编码和解码文本数据,常在邮件和HTTP中传输二进制信息。编码示例:`base64 input.txt`,解码示例:`base64 -d encoded.txt`或`echo &quot;SGVsbG8sIFdvcmxkIQo=&quot; | base64 -d`。注意,编码后数据会增大33%,且可能含换行符。广泛应用于多种系统和协议,如MIME。
|
9月前
|
监控 网络协议 网络安全
【专栏】RTMP和RTSP是流媒体传输常用的协议:秒懂
【4月更文挑战第28天】RTMP和RTSP是流媒体传输常用的协议。RTMP由Adobe开发,适合低延迟的实时通信,常用于网络直播和在线游戏;而RTSP是IETF定义的协议,侧重于流媒体播放控制,适用于视频监控和VoD服务。RTMP在业界普及度高,RTSP则在专业领域更常见。选择时需考虑延迟、应用场景和安全性等因素。
937 1
|
9月前
|
存储 网络协议 网络安全
RTMP协议详解及Wiresahrk抓包分析(一)
RTMP协议详解及Wiresahrk抓包分析
467 2
|
9月前
|
存储 编解码 内存技术
RTMP协议详解及Wiresahrk抓包分析(二)
RTMP协议详解及Wiresahrk抓包分析
199 0
|
9月前
Qt程序打包发布记录使用windeployqt工具
Qt程序打包发布记录使用windeployqt工具
172 0

热门文章

最新文章