2019-10-09 zlmediakit主要代码流程整理

2019-10-09 zlmediakit主要代码流程整理,第1张

rtsp_push

main

|

|->domain //两个参数 第一个playurl(rtsps/rtsp/rtmp/rtmps), 第二个pushurl

|

|->Logger::add //设置日志

|

|->Logger::setWriter

|

|->EventPollerPool::getPoller

|

|->new PlayerProxy //可指定拉流方式,默认tcp,PlayerProxy继承MediaPlayer

|

|->PlayerProxy::play //开始拉流播放

|

|->setOnPlayResult //lambda 做函数参数,这里为了方便理解,直接用层层调用的方式展示调用关系

|

|->setOnShutdown

|

|->MediaPlayer::play //PlayerProxy继承MediaPlayer, MediaPlayer继承PlayerBase

|

|->PlayerBase::createPlayer //根据url中带的rtsps/rtsp/rtmp/rtmps来创建对应实例,RtspPlayer/RtmpPlayer/

|

|->RtspPlayer::play //这里只看rtsp方式,创建tcp连接,开始收数据

|

|->RtspPlayer::play //重载,支持url中带用户名密码

|

|->RtspPlayer::teardown //如果是alive的 先调下teardown去关闭流,并清理下资源

|

|->TcpClient::startConnect //解析出ip port 和域名

|

|->Socket::connect //TcpClient中保存socket智能指针,创建tcp客户端,url可以是ip或域名

| //connect不成功,回调设置错误状态

|->SockUtil::connect//套接字工具类,封装了socket、网络的一些基本 *** 作

|

|->TcpClient::onSockConnect //connect成功后,回调中再在网络线程中触发 senddescribe

| //这里为了方便显示调用顺序,实际onSockConnect是回调触发

|->RtspPlayer::onErr //被动断开连接回调,这里只看rtspplayer

|

|->onPlayResult_l

|

|->onFlush //这里并没有做什么

|

|->TcpClient::onSockRecv//

|

|->RtspPlayer::onRecv//这里已经开始收服务端的数据了

|

|->>

rtmp的视频流使用video-js插件即可直接播放。

rtsp的视频流无法直接在浏览器端播放,>

以上就是关于2019-10-09 zlmediakit主要代码流程整理全部的内容,包括:2019-10-09 zlmediakit主要代码流程整理、FFmpeg 代码实现流媒体推流(RTSP)、记:rtmp,rtsp,http视频流播放等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9787051.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存