关于利用live555,RTSP取流

本文介绍了如何使用live555库中的TestRTSPClient从媒体服务器获取RTSP码流的详细过程,包括下载源码、编译、运行服务器、通过VLC验证、RTSP请求流程(OPTIONS、DESCRIBE、SETUP、PLAY)等步骤,旨在为live555入门提供参考。
摘要由CSDN通过智能技术生成

对于live555和RTSP,相信看到这篇博文的朋友应该很熟悉了,分享一些皮毛,大家尽量吐槽:
首先说一下做的功能:利用live555里面的一个live555mediaserver来作为媒体服务器,然后利用里面的TestRTSPClient来取得码流,当然官网上说了:RTSPClient只是个测试程序,如果用作产品还需要进行优化,不过可以作为参考,我也是用他来作为一个队live555入门的东西,看了一下里面的流程,好了不说废话了,这里主要讲的利用RTSP来从媒体服务器中取得码流,如下:

1.首先下载live555源码,然后进行编译(我的环境是ubuntu11.10),得到源码即可编译通过,然后里面有个mediaServer目录进去运行

./live555MediaServer
Play streams from this server using the URL
rtsp://192.168.1.106/<filename> //这里假设我们的文件名是:VideoFile.h264;
where <filename> is a file present in the current directory.

得到上面这一串字符,我们可以看到有一个是rtsp://192.168.1.06/<filename>,这个就是我们在利用rtsp编写代码的时候需要用的url;现在你可以进入上层目录下testProgs,执行:
./testRTSPClient rtsp://192.168.1.106/<filename>,然后就可以看到有码流过来了,这些码流就是filename文件,当然这个文件是在mediaServer当前目录中存在的,当你运行前你可以尝试用抓包工具看到码流申请的流程;这里我用的是vlc来代替这一步

2.当第一步证实我们的mediaServer是可用的了,接下来的步骤就是在vlc中找到打开网路流–>然后把上面的rtsp url输入vlc中,然后开启网络抓包工具,单击播放,通过抓包工具可以清楚的看到码流申请的流程:

1.
==>vlc—>mediaserver 请求
OPTIONS rtsp://192.168.1.106/client.264 RTSP/1.0 //OPTIONS请求,最后面的RTSP/1.0是rtsp版本
CSeq: 2 //这个是会话的序号,回复的序号跟这个必须一致,并且应该是递增的
User-Agent: LibVLC/2.0.1 (LIVE555 Streaming Media v2011.12.23)//可以不用管
==> mediaserver–>vlc 回复
RTSP/1.0 200 OK //200 OK 表示我们求的OPTIONS请求成功
CSeq: 2 //注意与上面的一样
Date: Sat, Jun 08 2013 14:01:34 GMT //服务器当前时间
//服务器支持的方法,也就是说我们可以发送下面的这些请求过去
Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE, GET_PARAMETER, SET_PARAMET

2.
==>vlc—>mediaserver 请求
DESCRIBE rtsp://192.168.1.106/client.264 RTSP/1.0 //DESCRIBE请求
CSeq: 3 //序号递增
User-Agent: LibVLC/2.0.1 (LIVE555 Streaming Media v2011.12.23)
Accept: application/sdp //这段表示我们请求得到回复的数据应该是sdp(关于sdp请百度)
==&g

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值