RTSP协议与G711 AAC
文章目录
- 文档
- RTSP/RTP over TCP + G711
- OPTIONS
- DESCRIBE
- SETUP
- PLAY
- TEARDOWN
- RTP over TCP的封装格式
- RTPS/RTP over UDP + AAC
文档
如果想要完全理解rtsp相关的技术, 需要阅读以下文档资料:
rtsp协议 https://tools.ietf.org/html/rfc2326
sdp协议 https://tools.ietf.org/html/rfc2327
rtp/rtcp协议 https://tools.ietf.org/html/rfc3550
rtp H.264数据格式封装 https://tools.ietf.org/html/rfc6184
rtp/sdp中aac/mpeg4的相关协议 https://tools.ietf.org/html/rfc3640
rtp/sdp中G.711相关协议 https://tools.ietf.org/html/rfc5391
RTSP客户端工具vlc: https://www.videolan.org/
RTSP服务端工具: 考虑到搭建rtsp服务器很费事, 可以使用vlc的串流功能
本机的网络抓包工具: https://www.netresec.com/?page=RawCap
RTSP/RTP over TCP + G711
OPTIONS
客户端发送
OPTIONS rtsp://192.168.2.232:8456/test RTSP/1.0
CSeq: 2
User-Agent: LibVLC/3.0.5 (LIVE555 Streaming Media v2016.11.28)
服务器回复
RTSP/1.0 200 OK
CSeq: 2
Content-Length: 0
Cache-Control: no-cache
Public: DESCRIBE,SETUP,TEARDOWN,PLAY
DESCRIBE
VLC发送
DESCRIBE rtsp://192.168.2.232:8456/test RTSP/1.0
CSeq: 3
User-Agent: LibVLC/3.0.5 (LIVE555 Streaming Media v2016.11.28)
Accept: application/sdp
method: describe
服务端回复
RTSP/1.0 200 OK
CSeq: 3
Accept: application/sdp
Cache-Control: no-cache
Content-Length: 522v=0
o=- 1546226325720 1546226325720 IN IP4 Eques
s=Unnamed
i=N/A
c=IN IP4 0.0.0.0
t=0 0
a=recvonly
a=type:broadcast
a=control:rtsp://192.168.2.232:8456/test/
m=audio 0 RTP/AVP 98
a=rtpmap:98 PCMA/22050/1
a=fmtp:98 complaw=al;
a=control:rtsp://192.168.2.232:8456/test/trackID=0
m=video 0 RTP/AVP 96
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1;profile-level-id=42c014;sprop-parameter-sets=Z0LAFKtAoP0IAAADAAgAAAMBRwIABkAAAMgBaxsDxQqo,KM48gA==;
a=control:rtsp://192.168.2.232:8456/test/trackID=1
SETUP
因为有音频和视频两路流, 所以需要setup两次
SETUP rtsp://192.168.2.232:8456/test/trackID=0 RTSP/1.0
CSeq: 4
User-Agent: LibVLC/3.0.5 (LIVE555 Streaming Media v2016.11.28)
Transport: RTP/AVP/TCP;unicast;interleaved=0-1
method: setup
handle setup request
RTSP/1.0 200 OK
CSeq: 4
Cache-Control: no-cache
Content-Length: 0
Session: uYu2RlouWJBByDn1;timeout=60
Transport: RTP/AVP/TCP;unicast;interleaved=0-1
SETUP rtsp://192.168.2.232:8456/test/trackID=1 RTSP/1.0
CSeq: 5
User-Agent: LibVLC/3.0.5 (LIVE555 Streaming Media v2016.11.28)
Transport: RTP/AVP/TCP;unicast;interleaved=2-3
Session: uYu2RlouWJBByDn1
method: setup
handle setup request
RTSP/1.0 200 OK
CSeq: 5
Cache-Control: no-cache
Content-Length: 0
Session: uYu2RlouWJBByDn1;timeout=60
Transport: RTP/AVP/TCP;unicast;interleaved=2-3
PLAY
PLAY rtsp://192.168.2.232:8456/test/ RTSP/1.0
CSeq: 6
User-Agent: LibVLC/3.0.5 (LIVE555 Streaming Media v2016.11.28)
Session: uYu2RlouWJBByDn1
Range: npt=0.000-
method: play
RTSP/1.0 200 OK
CSeq: 6
Content-Length: 0
Cache-Control: no-cache
Session: uYu2RlouWJBByDn1;timeout=60
RTP-Info: url=rtsp://192.168.2.232:8456/test/trackID=0;seq=0;rtptime=0,url=rtsp://192.168.2.232:8456/test/trackID=1;seq=0;rtptime=0
Range: npt=0.000-
TEARDOWN
TEARDOWN rtsp://192.168.2.232:8456/test/ RTSP/1.0
CSeq: 7
User-Agent: LibVLC/3.0.5 (LIVE555 Streaming Media v2016.11.28)
Session: uYu2RlouWJBByDn1
RTP over TCP的封装格式
文档在 https://tools.ietf.org/html/rfc2326#page-40
音视频数据添加RTP头之后, 还要再添加4个字节头, 它的格式为
0 1 2 3----------------------------------------------------------------------------------| $ (美元符号) | channel id | rtp包大小(2字节, 网络字节序)----------------------------------------------------------------------------------
RTPS/RTP over UDP + AAC
rtsp的基本流程还是一样的, 只是部分参数的差别
DESCRIBE rtsp://192.168.2.232:8456/test RTSP/1.0
CSeq: 3
User-Agent: LibVLC/3.0.5 (LIVE555 Streaming Media v2016.11.28)
Accept: application/sdp
RTSP/1.0 200 OK
CSeq: 3
Accept: application/sdp
Cache-Control: no-cache
Content-Length: 635v=0
o=- 1546233621391 1546233621391 IN IP4 Eques
s=Unnamed
i=N/A
c=IN IP4 0.0.0.0
t=0 0
a=recvonly
a=type:broadcast
a=control:rtsp://192.168.2.232:8456/test/
m=audio 0 RTP/AVP 97
a=rtpmap:97 mpeg4-generic/22050/1
a=fmtp:97 mode=AAC-hbr;streamtype=5;IndexDeltaLength=3;profile-level-id=15;config=0b88;SizeLength=13;IndexLength=3;Profile=1;
a=control:rtsp://192.168.2.232:8456/test/trackID=0
m=video 0 RTP/AVP 96
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1;profile-level-id=42c014;sprop-parameter-sets=Z0LAFKtAoP0IAAADAAgAAAMBRwIABkAAAMgBaxsDxQqo,KM48gA==;
a=control:rtsp://192.168.2.232:8456/test/trackID=1
SETUP rtsp://192.168.2.232:8456/test/trackID=0 RTSP/1.0
CSeq: 4
User-Agent: LibVLC/3.0.5 (LIVE555 Streaming Media v2016.11.28)
Transport: RTP/AVP;unicast;client_port=52122-52123
method: setup
RTSP/1.0 200 OK
CSeq: 4
Cache-Control: no-cache
Content-Length: 0
Session: gixEa5aMd6gd3ZWZ;timeout=60
Transport: RTP/AVP;unicast;client_port=52122-52123;server_port=33697-33698
SETUP rtsp://192.168.2.232:8456/test/trackID=1 RTSP/1.0
CSeq: 5
User-Agent: LibVLC/3.0.5 (LIVE555 Streaming Media v2016.11.28)
Transport: RTP/AVP;unicast;client_port=52124-52125
Session: gixEa5aMd6gd3ZWZ
RTSP/1.0 200 OKCSeq: 5Cache-Control: no-cacheContent-Length: 0Session: gixEa5aMd6gd3ZWZ;timeout=60Transport: RTP/AVP;unicast;client_port=52124-52125;server_port=51830-51831
PLAY rtsp://192.168.2.232:8456/test/ RTSP/1.0CSeq: 6User-Agent: LibVLC/3.0.5 (LIVE555 Streaming Media v2016.11.28)Session: gixEa5aMd6gd3ZWZRange: npt=0.000-
RTSP/1.0 200 OKCSeq: 6Content-Length: 0Cache-Control: no-cacheSession: gixEa5aMd6gd3ZWZ;timeout=60RTP-Info: url=rtsp://192.168.2.232:8456/test/trackID=0;seq=0;rtptime=0,url=rtsp://192.168.2.232:8456/test/trackID=1;seq=0;rtptime=0Range: npt=0.000-
RTSP协议与G711 AAC相关推荐
- RTMP协议和RTSP协议的区别
一.RTMP协议: 1.是流媒体协议 2.RTMP是Adobe的私有协议,没有完全公开 3.RTMP协议一般传输的是flv.f4v格式流 4.RTMP协议一般在TCP的一个通道传输命令和数据 二.RT ...
- Java 监控直播流rtsp协议转rtmp、hls、httpflv协议返回浏览器
Java 监控直播流rtsp协议转rtmp.hls.httpflv协议返回浏览器 目录 一:了解音视频流协议: 二:方案一 rtsp 转rtmp 1.下载nginx + nginx-rtmp-modu ...
- RTMP协议与RTSP协议比较
考虑做一个手机直播系统,首先需要指定一个合理的技术方案.由于自己以前不是搞多媒体这块,对流媒体开发不熟悉,自己的理解思维总习惯用java web开发的惯性走,先指定一个大体的框架.不管对还是错,先考虑 ...
- 海康大华等安防摄像机采用通用RTSP协议流转RTMP推送至Web无插件播放展示的流程方法
行业现状 中国互联网化的进程已经越来越快了,各个行业都在进行着互联网化的改造,流媒体.音视频,作为跑在互联网上最大量级的数据类型,其从编码方式到传输协议到终端兼容都成为各家标准抢占的高点,RTMP.H ...
- Miracast开发4——-应用层rtsp协议
Mircacast协议介绍---------应用层rtsp协议 前面说到 Miracast协议框架,以及重点讲了发现的过程,物理层链接链接的过程,IP分配的过程,如果获取对端IP等等.下面我们来讲讲, ...
- RTSP协议视频智能分析平台EasyNVR在编码格式不同的情况下会导致视频无法播放吗?
RTSP协议的视频智能分析平台EasyNVR内接入的视频通道可以通过平台进行网页直播,并且支持市面上大部分的RTSP/Onvif协议设备:IP Camera/NVR/DVR/编码器等,直播便捷稳定,是 ...
- FFmpeg入门详解之84:RTSP协议讲解
RTSP亲手搭建直播点播 测试工具:VLC 数据源: 文件或本地摄像头 测试功能:RTSP直播点播 播放地址:rtsp://127.0.0.1:8554/rtspa001 服务端:推流 客户端:拉流 ...
- RTSP协议探秘:从原理到C++实践,解锁实时流媒体传输之道
目录标题 引言 RTSP协议基础 RTSP协议的组成与工作原理 RTSP协议的组成 RTSP协议的工作原理 RTSP协议与其他流媒体协议的比较 RTSP协议的基本功能与用途 RTSP协议详解 RTSP ...
- H.264NLU和RTSP协议理解
h.264分为两部分组成:VCL 和 NAL VCL: 是指如何进行视频压缩算法的纯视频流的部分,这里不做说明(这里是大公司给完成的部分) NAL:是指网络抽象层部分(Network Abstract ...
- 网络流媒体协议 RTSP协议
RTSP(Real-Time Stream Protocol)协议是一个基于文本的多媒体播放控制协议,属于应用层.RTSP以客户端方式工作,对流媒体提供播放.暂停.后退.前进等操作.该标准由IETF ...
最新文章
- 【小程序】刘一哥课堂随机点名提问神器V1.0(附源程序)
- [html] html的元素有哪些(包含H5)?
- Spring Boot 2.1 版本变化[翻译]
- 基于YARN集群构建运行PySpark Application
- golang.org/x/lint安装失败
- 值得所有设计师拥有的国内外“设计导航网站”
- iptables,haproxy转发ftp(21端口)
- 进入阿里做测试员遥不可及?这里或许有你想要的答案
- lintcode 中等题:Palindrome Linked List 回文链表
- 【优化求解】基于matlab粒子群与遗传算法混合算法求解切削参数优化问题(以成本和碳排放量为目标函数)【含Matlab源码 1619期】
- 性能评测|影驰RTX4090金属大师系列显卡正式发售!
- Mac上 安装Drozer 并使用
- 还在用百度找资源?试试这3个顶级资源搜索网站,没有找不到的!
- Markdown表格之表格内换行
- win7系统 将 IE11 改为 IE8
- (五)通过pygame搭建游戏框架
- Svelte框架实现表格协同文档
- (七)Linux搭载4G模块——AT指令实现短信包的获取和删除
- 在Java项目中打印错误日志的正确姿势,排查问题更方便,非常实用!
- python屏幕找图_Python图片识别找坐标(appium通过识别图片点击坐标)
热门文章
- scrapy爬取时出现错误:Forbidden by robots.txt: <GET https://www.xinpianchang.com/channel/index/sor
- java用户登录进入系统_Java CRM系统用户登录功能实现代码实例
- win10设置vmware 虚拟机开机自启动
- 分手纪念网页-分手了就用这个看看吧(移动端)
- lisp线段两端同时缩短的命令_cad中有没有办法同时对多条线段偏移?
- 首次曝光 唯一全域最高等级背后的阿里云云原生安全全景图
- 跳妹儿学编程之ScratchJr(三):什么是儿童编程语言?初识ScratchJr和Scratch
- 拼多多被“薅羊毛” 交千万学费学到了什么?
- 敏捷开发scrum详解 敏捷项目管理流程
- 【互联网大厂研究】让千千万万底层人民脱贫致富的【快手】,他有何等魔力?