EasyPusher实现将asterisk直播流以RTSP转发实现通话直播与录像
本文转自博客:http://blog.csdn.net/jinlong0603/article/details/56047145
EasyPusher RTP直播推送介绍
EasyPusher是一个推送RTSP流媒体音/视频流给RTSP流媒体服务器的标准RTSP/RTP协议推送库,全平台支持(包括Windows/Linux(32 & 64),ARM各平台,Android、iOS),通过EasyPusher就可以避免接触到稍显复杂的RTSP(ANNOUNCE、SETUP、PLAY)/RTP/RTCP推送流程,只需要调用EasyPusher的几个API接口,就能轻松、稳定地把流媒体音视频数据推送给RTSP服务器(Darwin Streaming Server、EasyDarwin、live555)进行转发和分发,EasyPusher经过长时间的用户检验测试,稳定性非常高。
EasyPusher基本调用流程 ##
asterisk视频通话转发 ##
asterisk话机,配置H264视频。在callback函数中可以获取到H264视频流和音频流。调用上图中的EasyPusher_PushFrame()接口,将音视频流推送到EasyDarwin等RTSP服务器。
值得注意的是callback返回的视频流,可能没有H264的帧间隔00 00 00 01,推送的时候需要在帧数据前手动加上这个帧间隔。另外对于返回的SPS和PPS帧,不单独调用EasyPusher_PushFrame()接口推送,而是暂时保存,遇到IDR帧时拼接到IDR帧前面一次性调用接口推送,格式为00 00 00 01 07 … 00 00 00 01 08 … 00 00 00 01 05 …
通过这种方式就可以将实时通话的过程通过RTSP、RTP的形式推送给第三方流媒体服务器做视频通话监视,第三方录像,级联等等功能;
下载地址
Android EasyPusher版本下载:https://fir.im/EasyPusher
Github下载:https://github.com/EasyDarwin/EasyPusher
获取更多信息
Copyright © EasyDarwin.org 2012-2017