简单的RTSP服务器和手机推流服务器

本文相关代码位于:点击打开链接


整个服务器基于我自己封装的跨平台网络中间件k_util开发,包含手机推流服务器和RTSP服务器。实现的功能就是,手机采集音视频流推到服务器,再通过RTSP客户端向服务器请求观看手机采集流。


推流服务器与我之前开发的Android采集音视频流客户端配合,它们之间交互用的是我定的私有协议。但信令部分还是用的Json格式,Json解析通过集成JsonCpp代码实现。音视频流都通过RTP打包,这样后面的RTSP服务器只需要透传RTP包即可。视频为H264裸流,音频为AAC,采用RFC3640打包方式。里面还打包括H264裸流写文件的测试代码,主要是在代码调试阶段看手机端视频编码打包是否正确的。H264拼帧的代码是参考FFmpeg的相关代码。还包括AAC写文件的测试代码,这个只有AAC编码后打上ADTS头才有效,也是用于调试阶段看音频编码是否正确的。在确认代码正确后,AAC码流就没有打ADTS头了,而是打上了AU Header,这样AAC写文件的测试代码就没用了。


RTSP服务器实现得比较简单,只支持RTP Over TCP方式。协议解析都是我自己实现的,没有参考第三方代码。Describe返回SDP信息在网上找了一个样例再自己修改的,AAC的fmtp信息的构造参考了网上的代码。RTSP服务器通过Vlc,ffplay和我自己写的RTSP播放器都测试通过。


Android采集音视频流客户端代码在这里:点击打开链接

我自己写的RTSP播放器代码在这里:点击打开链接

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值