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
7e85be76
Commit
7e85be76
authored
4 years ago
by
xiongziliang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加rtmps服务器
parent
f9df7f52
显示空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
34 行增加
和
12 行删除
+34
-12
server/main.cpp
+28
-12
src/Rtmp/RtmpSession.h
+6
-0
没有找到文件。
server/main.cpp
查看文件 @
7e85be76
...
...
@@ -75,8 +75,10 @@ onceToken token1([](){
namespace
Rtmp
{
#define RTMP_FIELD "rtmp."
const
string
kPort
=
RTMP_FIELD
"port"
;
const
string
kSSLPort
=
RTMP_FIELD
"sslport"
;
onceToken
token1
([](){
mINI
::
Instance
()[
kPort
]
=
1935
;
mINI
::
Instance
()[
kSSLPort
]
=
19350
;
},
nullptr
);
}
//namespace RTMP
...
...
@@ -255,9 +257,10 @@ int start_main(int argc,char *argv[]) {
uint16_t
rtspPort
=
mINI
::
Instance
()[
Rtsp
::
kPort
];
uint16_t
rtspsPort
=
mINI
::
Instance
()[
Rtsp
::
kSSLPort
];
uint16_t
rtmpPort
=
mINI
::
Instance
()[
Rtmp
::
kPort
];
uint16_t
rtmpsPort
=
mINI
::
Instance
()[
Rtmp
::
kSSLPort
];
uint16_t
httpPort
=
mINI
::
Instance
()[
Http
::
kPort
];
uint16_t
httpsPort
=
mINI
::
Instance
()[
Http
::
kSSLPort
];
uint16_t
rtp
_proxy
=
mINI
::
Instance
()[
RtpProxy
::
kPort
];
uint16_t
rtp
Port
=
mINI
::
Instance
()[
RtpProxy
::
kPort
];
//设置poller线程数,该函数必须在使用ZLToolKit网络相关对象之前调用才能生效
EventPollerPool
::
setPoolSize
(
threads
);
...
...
@@ -265,38 +268,51 @@ int start_main(int argc,char *argv[]) {
//简单的telnet服务器,可用于服务器调试,但是不能使用23端口,否则telnet上了莫名其妙的现象
//测试方法:telnet 127.0.0.1 9000
TcpServer
::
Ptr
shellSrv
(
new
TcpServer
());
//rtsp[s]服务器, 可用于诸如亚马逊echo show这样的设备访问
TcpServer
::
Ptr
rtspSrv
(
new
TcpServer
());
TcpServer
::
Ptr
rtspSSLSrv
(
new
TcpServer
());
//rtmp[s]服务器
TcpServer
::
Ptr
rtmpSrv
(
new
TcpServer
());
TcpServer
::
Ptr
rtmpsSrv
(
new
TcpServer
());
//http[s]服务器
TcpServer
::
Ptr
httpSrv
(
new
TcpServer
());
//如果支持ssl,还可以开启https服务器
TcpServer
::
Ptr
httpsSrv
(
new
TcpServer
());
//支持ssl加密的rtsp服务器,可用于诸如亚马逊echo show这样的设备访问
TcpServer
::
Ptr
rtspSSLSrv
(
new
TcpServer
());
#if defined(ENABLE_RTPPROXY)
//GB28181 rtp推流端口,支持UDP/TCP
UdpRecver
recver
;
TcpServer
::
Ptr
tcpRtpServer
(
new
TcpServer
());
#endif//defined(ENABLE_RTPPROXY)
try
{
//rtsp服务器,端口默认554
rtspSrv
->
start
<
RtspSession
>
(
rtspPort
);
//默认554
if
(
rtspPort
)
{
rtspSrv
->
start
<
RtspSession
>
(
rtspPort
);
}
//rtsps服务器,端口默认322
rtspSSLSrv
->
start
<
RtspSessionWithSSL
>
(
rtspsPort
);
if
(
rtspsPort
)
{
rtspSSLSrv
->
start
<
RtspSessionWithSSL
>
(
rtspsPort
);
}
//rtmp服务器,端口默认1935
rtmpSrv
->
start
<
RtmpSession
>
(
rtmpPort
);
if
(
rtmpPort
)
{
rtmpSrv
->
start
<
RtmpSession
>
(
rtmpPort
);
}
//rtmps服务器,端口默认19350
if
(
rtmpsPort
)
{
rtmpsSrv
->
start
<
RtmpSessionWithSSL
>
(
rtmpsPort
);
}
//http服务器,端口默认80
httpSrv
->
start
<
HttpSession
>
(
httpPort
);
if
(
httpPort
)
{
httpSrv
->
start
<
HttpSession
>
(
httpPort
);
}
//https服务器,端口默认443
httpsSrv
->
start
<
HttpsSession
>
(
httpsPort
);
if
(
httpsPort
)
{
httpsSrv
->
start
<
HttpsSession
>
(
httpsPort
);
}
//telnet远程调试服务器
shellSrv
->
start
<
ShellSession
>
(
shellPort
);
if
(
shellPort
)
{
shellSrv
->
start
<
ShellSession
>
(
shellPort
);
}
#if defined(ENABLE_RTPPROXY)
if
(
rtpPort
){
//创建rtp udp服务器
recver
.
initSock
(
rtp_proxy
);
recver
.
initSock
(
rtpPort
);
//创建rtp tcp服务器
tcpRtpServer
->
start
<
RtpSession
>
(
rtp_proxy
);
tcpRtpServer
->
start
<
RtpSession
>
(
rtpPort
);
}
#endif//defined(ENABLE_RTPPROXY)
}
catch
(
std
::
exception
&
ex
){
...
...
This diff is collapsed.
Click to expand it.
src/Rtmp/RtmpSession.h
查看文件 @
7e85be76
...
...
@@ -91,6 +91,12 @@ private:
};
/**
* 支持ssl加密的rtmp服务器
*/
typedef
TcpSessionWithSSL
<
RtmpSession
>
RtmpSessionWithSSL
;
}
/* namespace mediakit */
#endif
/* SRC_RTMP_RTMPSESSION_H_ */
This diff is collapsed.
Click to expand it.
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论