Miracast开发4——-应用层rtsp协议

本文深入探讨Miracast协议中的应用层rtsp协议,包括rtsp的控制和传输部分,rtsp与rtp、rtcp的关系,以及如何解码播放拿到的ts数据流。内容涵盖rtsp的基本方法、ts封包结构、PTS/DTS计算等关键技术。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Mircacast协议介绍---------应用层rtsp协议

前面说到 Miracast协议框架,以及重点讲了发现的过程,物理层链接链接的过程,IP分配的过程,如果获取对端IP等等。下面我们来讲讲,拿到对端ip之后,如果建立应用层的链接,如果和传输数据,解码播放。
1,先说说rtsp协议,rtsp协议是实时的流媒体传输协议,用作视频的点播、直播拉流推流,开源的支持rtsp框架有live555,ffmpeg,vlc等等。技术上rtsp协议分为控制协议和视频传输协议两部分。
1.1,rtsp是基于tcp的,类似http一样,以可见的报文的方式传输信息,像http一样,rtsp定义了很多方法,比如option、description、setup、play、 terndown 等等。但是要知道miracast 的rtsp协议是经过修改的。详细的请看mircast的开发者白皮书。
1.2,rtp数据流传输协议,像其他视频流传输协议一样,rtsp数据流也是采用了rtp协议,支持rtp标准的协议头,封包。rtp一般使用udp协议,也可以采用tcp协议,端口是rtsp协议在setup的方法中指定的。
1.3,rtcp协议,是rtp一个姊妹协议,对rtp协议补充,比如视频质量控制,流量控制,丢包重传,这个协议在mircast里面是可选的,有的手机需要支持rtcp,有的不需要。他的端口一般是rtp端口的加1.。

2,建立了rtsp协议,就可以拿到对端的视频流,经过测试miracast视频一般是mpeg2-ts封包,ts封包可以包含音频和视频,音频一般是aac编码,视频是264编码,也可以只有音频或者只有视频。如果直接使用rtp封包,需要使用两路rtp数据链接,一路传音频,一路传视频。下面的 附件是网上摘抄的关于ts封包的说明。
3,拿到到ts数据流,知道了封包格式和特点,就可以解包了,解包后获得h264视频流和aac音频流,然后分别解码播放。

附件ts 说明:
Ts层: ts包大小固定为188字节,ts层分为三个部分:ts header、adaptation field、payload。ts header固定4个字节;adaptation field可能存在也可能不存在,主要作用是给不足188字节的数据做填充;payload是pes数据。
ts header
sync_byte 8b 同步字节,固定为0x47

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值