牛人对RTSP的android实现

本文作者分享了在Android设备上实现RTSP服务器的历程,包括RTSP协议的TCP和UDP使用阶段,以及如何在手机内部搭建RTSP服务器的详细步骤。通过精简和优化代码,实现了手机内部的硬解码,减少了代码量并解决了UDP穿透等问题。作者还提供了部分代码示例,为Android RTSP硬解码提供了入门指导。
摘要由CSDN通过智能技术生成

1.学习rtsp的一点心得   发表于 2011-6-15 


rtsp初步来说分为两阶段:
第一阶段:

客户端和rtsp服务器端进行交互,也就是术语中所说的会话阶段

第二阶段:
流媒体数据交互阶段,将数据按照rtp+rfc3984拆包由流媒体服务器发送到播放器客户端,然后客户端这边重新组包

上面的理解的比较的肤浅,我本人是用VLC和自己写的程序在自己的电脑上做的测试。

现在要跟大家说的核心,是数据发送的协议问题,这个协议指的是UDP还是TCP的Stream模式。

最初我是这样认为的:
RTSP走UDP形式,所以最先开始,我直接在在vlc中调用rtsp://192.168.1.143:2725这样,然后在用JAVA写了个监听程序来监听2725端口,但是压根就没有数据过来,于是我猜测难不成走的是tcp形式,于是我用ServerSocket来监听2725的端口,重新用VLC来了一次,令我惊奇的是,接受到了数据:

ESCRIBE rtsp://120.197.4.28:554/ RTSP/1.0
CSeq: 3
User-Agent: LibVLC/1.1.9 (LIVE555 Streaming Media v2011.01.06)
Accept: application/sdp

后来用wireshark抓包分析了很多码流,得出了结论:
在RTSP的会话阶段用的走的TCP协议,或者专业术语叫RTSP协议,然后具体的到了数据交互的过程中的时候,就走的是UDP的形式了或者专业术语叫做RTP协议.

++++++++++++++++++++++++++

  • 3
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 22
    评论
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值