Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
Z
ZLMediaKit
概览
Overview
Details
Activity
Cycle Analytics
版本库
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
问题
0
Issues
0
列表
Board
标记
里程碑
合并请求
0
Merge Requests
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
Snippets
成员
Collapse sidebar
Close sidebar
活动
图像
聊天
创建新问题
作业
提交
Issue Boards
Open sidebar
张翔宇
ZLMediaKit
Commits
3c8f96f2
Commit
3c8f96f2
authored
5 years ago
by
xiongziliang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加rtsps rtmps客户端支持
parent
1c89c609
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
28 行增加
和
5 行删除
+28
-5
server/CMakeLists.txt
+1
-1
src/Player/PlayerBase.cpp
+11
-0
src/Pusher/PusherBase.cpp
+11
-0
src/Rtsp/RtspPlayer.h
+5
-4
没有找到文件。
server/CMakeLists.txt
查看文件 @
3c8f96f2
...
@@ -9,7 +9,7 @@ else()
...
@@ -9,7 +9,7 @@ else()
file
(
GLOB MediaServer_src_list ./*.cpp ./*.h
)
file
(
GLOB MediaServer_src_list ./*.cpp ./*.h
)
endif
()
endif
()
message
(
STATUS
${
MediaServer_src_list
}
)
#
message(STATUS ${MediaServer_src_list})
add_executable
(
MediaServer
${
MediaServer_src_list
}
)
add_executable
(
MediaServer
${
MediaServer_src_list
}
)
...
...
This diff is collapsed.
Click to expand it.
src/Player/PlayerBase.cpp
查看文件 @
3c8f96f2
...
@@ -40,12 +40,23 @@ PlayerBase::Ptr PlayerBase::createPlayer(const EventPoller::Ptr &poller,const st
...
@@ -40,12 +40,23 @@ PlayerBase::Ptr PlayerBase::createPlayer(const EventPoller::Ptr &poller,const st
ptr
->
teardown
();
ptr
->
teardown
();
};
};
string
prefix
=
FindField
(
strUrl
.
data
(),
NULL
,
"://"
);
string
prefix
=
FindField
(
strUrl
.
data
(),
NULL
,
"://"
);
if
(
strcasecmp
(
"rtsps"
,
prefix
.
data
())
==
0
)
{
return
PlayerBase
::
Ptr
(
new
TcpClientWithSSL
<
RtspPlayerImp
>
(
poller
),
releasePlayer
);
}
if
(
strcasecmp
(
"rtsp"
,
prefix
.
data
())
==
0
)
{
if
(
strcasecmp
(
"rtsp"
,
prefix
.
data
())
==
0
)
{
return
PlayerBase
::
Ptr
(
new
RtspPlayerImp
(
poller
),
releasePlayer
);
return
PlayerBase
::
Ptr
(
new
RtspPlayerImp
(
poller
),
releasePlayer
);
}
}
if
(
strcasecmp
(
"rtmps"
,
prefix
.
data
())
==
0
)
{
return
PlayerBase
::
Ptr
(
new
TcpClientWithSSL
<
RtmpPlayerImp
>
(
poller
),
releasePlayer
);
}
if
(
strcasecmp
(
"rtmp"
,
prefix
.
data
())
==
0
)
{
if
(
strcasecmp
(
"rtmp"
,
prefix
.
data
())
==
0
)
{
return
PlayerBase
::
Ptr
(
new
RtmpPlayerImp
(
poller
),
releasePlayer
);
return
PlayerBase
::
Ptr
(
new
RtmpPlayerImp
(
poller
),
releasePlayer
);
}
}
return
PlayerBase
::
Ptr
(
new
RtspPlayerImp
(
poller
),
releasePlayer
);
return
PlayerBase
::
Ptr
(
new
RtspPlayerImp
(
poller
),
releasePlayer
);
}
}
...
...
This diff is collapsed.
Click to expand it.
src/Pusher/PusherBase.cpp
查看文件 @
3c8f96f2
...
@@ -44,12 +44,23 @@ PusherBase::Ptr PusherBase::createPusher(const EventPoller::Ptr &poller,
...
@@ -44,12 +44,23 @@ PusherBase::Ptr PusherBase::createPusher(const EventPoller::Ptr &poller,
ptr
->
teardown
();
ptr
->
teardown
();
};
};
string
prefix
=
FindField
(
strUrl
.
data
(),
NULL
,
"://"
);
string
prefix
=
FindField
(
strUrl
.
data
(),
NULL
,
"://"
);
if
(
strcasecmp
(
"rtsps"
,
prefix
.
data
())
==
0
)
{
return
PusherBase
::
Ptr
(
new
TcpClientWithSSL
<
RtspPusher
>
(
poller
,
dynamic_pointer_cast
<
RtspMediaSource
>
(
src
)),
releasePusher
);
}
if
(
strcasecmp
(
"rtsp"
,
prefix
.
data
())
==
0
)
{
if
(
strcasecmp
(
"rtsp"
,
prefix
.
data
())
==
0
)
{
return
PusherBase
::
Ptr
(
new
RtspPusher
(
poller
,
dynamic_pointer_cast
<
RtspMediaSource
>
(
src
)),
releasePusher
);
return
PusherBase
::
Ptr
(
new
RtspPusher
(
poller
,
dynamic_pointer_cast
<
RtspMediaSource
>
(
src
)),
releasePusher
);
}
}
if
(
strcasecmp
(
"rtmps"
,
prefix
.
data
())
==
0
)
{
return
PusherBase
::
Ptr
(
new
TcpClientWithSSL
<
RtmpPusher
>
(
poller
,
dynamic_pointer_cast
<
RtmpMediaSource
>
(
src
)),
releasePusher
);
}
if
(
strcasecmp
(
"rtmp"
,
prefix
.
data
())
==
0
)
{
if
(
strcasecmp
(
"rtmp"
,
prefix
.
data
())
==
0
)
{
return
PusherBase
::
Ptr
(
new
RtmpPusher
(
poller
,
dynamic_pointer_cast
<
RtmpMediaSource
>
(
src
)),
releasePusher
);
return
PusherBase
::
Ptr
(
new
RtmpPusher
(
poller
,
dynamic_pointer_cast
<
RtmpMediaSource
>
(
src
)),
releasePusher
);
}
}
return
PusherBase
::
Ptr
(
new
RtspPusher
(
poller
,
dynamic_pointer_cast
<
RtspMediaSource
>
(
src
)),
releasePusher
);
return
PusherBase
::
Ptr
(
new
RtspPusher
(
poller
,
dynamic_pointer_cast
<
RtspMediaSource
>
(
src
)),
releasePusher
);
}
}
...
...
This diff is collapsed.
Click to expand it.
src/Rtsp/RtspPlayer.h
查看文件 @
3c8f96f2
...
@@ -93,6 +93,11 @@ protected:
...
@@ -93,6 +93,11 @@ protected:
* @param uiLen
* @param uiLen
*/
*/
virtual
void
onRtcpPacket
(
int
iTrackidx
,
SdpTrack
::
Ptr
&
track
,
unsigned
char
*
pucData
,
unsigned
int
uiLen
);
virtual
void
onRtcpPacket
(
int
iTrackidx
,
SdpTrack
::
Ptr
&
track
,
unsigned
char
*
pucData
,
unsigned
int
uiLen
);
/////////////TcpClient override/////////////
void
onConnect
(
const
SockException
&
err
)
override
;
void
onRecv
(
const
Buffer
::
Ptr
&
pBuf
)
override
;
void
onErr
(
const
SockException
&
ex
)
override
;
private
:
private
:
void
onRecvRTP_l
(
const
RtpPacket
::
Ptr
&
pRtppt
,
const
SdpTrack
::
Ptr
&
track
);
void
onRecvRTP_l
(
const
RtpPacket
::
Ptr
&
pRtppt
,
const
SdpTrack
::
Ptr
&
track
);
void
onPlayResult_l
(
const
SockException
&
ex
);
void
onPlayResult_l
(
const
SockException
&
ex
);
...
@@ -102,10 +107,6 @@ private:
...
@@ -102,10 +107,6 @@ private:
int
getTrackIndexByTrackType
(
TrackType
trackType
)
const
;
int
getTrackIndexByTrackType
(
TrackType
trackType
)
const
;
void
play
(
const
string
&
strUrl
,
const
string
&
strUser
,
const
string
&
strPwd
,
Rtsp
::
eRtpType
eType
);
void
play
(
const
string
&
strUrl
,
const
string
&
strUser
,
const
string
&
strPwd
,
Rtsp
::
eRtpType
eType
);
void
onConnect
(
const
SockException
&
err
)
override
;
void
onRecv
(
const
Buffer
::
Ptr
&
pBuf
)
override
;
void
onErr
(
const
SockException
&
ex
)
override
;
void
handleResSETUP
(
const
Parser
&
parser
,
unsigned
int
uiTrackIndex
);
void
handleResSETUP
(
const
Parser
&
parser
,
unsigned
int
uiTrackIndex
);
void
handleResDESCRIBE
(
const
Parser
&
parser
);
void
handleResDESCRIBE
(
const
Parser
&
parser
);
bool
handleAuthenticationFailure
(
const
string
&
wwwAuthenticateParamsStr
);
bool
handleAuthenticationFailure
(
const
string
&
wwwAuthenticateParamsStr
);
...
...
This diff is collapsed.
Click to expand it.
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论