mirror of
https://github.com/ZLMediaKit/ZLMediaKit.git
synced 2026-07-03 17:27:33 +08:00
初步提交2.0版本,支持虚拟主机
This commit is contained in:
@@ -34,7 +34,7 @@ using namespace ZL::Thread;
|
||||
class MediaSender {
|
||||
public:
|
||||
static ThreadPool & sendThread() {
|
||||
static ThreadPool pool(1);
|
||||
static ThreadPool pool(1,ThreadPool::PRIORITY_HIGHEST);
|
||||
return pool;
|
||||
}
|
||||
private:
|
||||
|
||||
@@ -47,9 +47,8 @@ void loadIniConfig(){
|
||||
}
|
||||
////////////广播名称///////////
|
||||
namespace Broadcast {
|
||||
const char kBroadcastRtspSessionPlay[] = "kBroadcastRtspSessionPlay";
|
||||
const char kBroadcastRtspSrcRegisted[] = "kBroadcastRtspSrcRegisted";
|
||||
const char kBroadcastRtmpSrcRegisted[] = "kBroadcastRtmpSrcRegisted";
|
||||
const char kBroadcastMediaPlayed[] = "kBroadcastMediaPlayed";
|
||||
const char kBroadcastMediaChanged[] = "kBroadcastMediaChanged";
|
||||
const char kBroadcastRecordMP4[] = "kBroadcastRecordMP4";
|
||||
const char kBroadcastHttpRequest[] = "kBroadcastHttpRequest";
|
||||
const char kBroadcastOnGetRtspRealm[] = "kBroadcastOnGetRtspRealm";
|
||||
@@ -105,10 +104,6 @@ const char kMaxReqCount[] = HTTP_FIELD"maxReqCount";
|
||||
#endif
|
||||
const char kCharSet[] = HTTP_FIELD"charSet";
|
||||
|
||||
//http 服务器名称
|
||||
#define HTTP_SERVER_NAME "ZLServer"
|
||||
const char kServerName[] = HTTP_FIELD"serverName";
|
||||
|
||||
//http 服务器根目录
|
||||
#define HTTP_ROOT_PATH (exeDir() + "httpRoot")
|
||||
const char kRootPath[] = HTTP_FIELD"rootPath";
|
||||
@@ -119,17 +114,12 @@ const char kRootPath[] = HTTP_FIELD"rootPath";
|
||||
"<body bgcolor=\"white\">"\
|
||||
"<center><h1>您访问的资源不存在!</h1></center>"\
|
||||
"<hr><center>"\
|
||||
HTTP_SERVER_NAME\
|
||||
SERVER_NAME\
|
||||
"</center>"\
|
||||
"</body>"\
|
||||
"</html>"
|
||||
const char kNotFound[] = HTTP_FIELD"notFound";
|
||||
|
||||
//HTTP访问url前缀
|
||||
#define HTTP_PREFIX (StrPrinter << "http://" \
|
||||
<< SockUtil::get_local_ip() \
|
||||
<< ":" << HTTP_PORT << endl)
|
||||
const char kHttpPrefix[] = HTTP_FIELD"httpPrefix";
|
||||
|
||||
onceToken token([](){
|
||||
mINI::Instance()[kPort] = HTTP_PORT;
|
||||
@@ -139,10 +129,8 @@ onceToken token([](){
|
||||
mINI::Instance()[kKeepAliveSecond] = HTTP_KEEP_ALIVE_SECOND;
|
||||
mINI::Instance()[kMaxReqCount] = HTTP_MAX_REQ_CNT;
|
||||
mINI::Instance()[kCharSet] = HTTP_CHAR_SET;
|
||||
mINI::Instance()[kServerName] = HTTP_SERVER_NAME;
|
||||
mINI::Instance()[kRootPath] = HTTP_ROOT_PATH;
|
||||
mINI::Instance()[kNotFound] = HTTP_NOT_FOUND;
|
||||
mINI::Instance()[kHttpPrefix] = HTTP_PREFIX;
|
||||
},nullptr);
|
||||
|
||||
}//namespace Http
|
||||
@@ -154,15 +142,11 @@ namespace Shell {
|
||||
#define SHELL_PORT 9000
|
||||
const char kPort[] = SHELL_FIELD"port";
|
||||
|
||||
#define SHELL_SERVER_NAME "ZLServer"
|
||||
const char kServerName[] = SHELL_FIELD"serverName";
|
||||
|
||||
#define SHELL_MAX_REQ_SIZE 1024
|
||||
const char kMaxReqSize[] = SHELL_FIELD"maxReqSize";
|
||||
|
||||
onceToken token([](){
|
||||
mINI::Instance()[kPort] = SHELL_PORT;
|
||||
mINI::Instance()[kServerName] = SHELL_SERVER_NAME;
|
||||
mINI::Instance()[kMaxReqSize] = SHELL_MAX_REQ_SIZE;
|
||||
},nullptr);
|
||||
} //namespace Shell
|
||||
@@ -174,14 +158,10 @@ namespace Rtsp {
|
||||
#define RTSP_PORT 554
|
||||
const char kPort[] = RTSP_FIELD"port";
|
||||
|
||||
#define RTSP_SERVER_NAME "ZLServer"
|
||||
const char kServerName[] = RTSP_FIELD"serverName";
|
||||
|
||||
const char kAuthBasic[] = RTSP_FIELD"authBasic";
|
||||
|
||||
onceToken token([](){
|
||||
mINI::Instance()[kPort] = RTSP_PORT;
|
||||
mINI::Instance()[kServerName] = RTSP_SERVER_NAME;
|
||||
//默认Md5方式认证
|
||||
mINI::Instance()[kAuthBasic] = 0;
|
||||
},nullptr);
|
||||
@@ -278,12 +258,6 @@ const char kSampleMS[] = RECORD_FIELD"sampleMS";
|
||||
#define RECORD_FILE_SECOND (10*60)
|
||||
const char kFileSecond[] = RECORD_FIELD"fileSecond";
|
||||
|
||||
//Rtsp访问url前缀
|
||||
#define RECORD_RTSP_PREFIX (StrPrinter << "rtsp://" \
|
||||
<< SockUtil::get_local_ip() \
|
||||
<< ":" << RTSP_PORT << endl)
|
||||
const char kRtspPrefix[] = RECORD_FIELD"rtspPrefix";
|
||||
|
||||
//录制文件路径
|
||||
#define RECORD_FILE_PATH HTTP_ROOT_PATH
|
||||
const char kFilePath[] = RECORD_FIELD"filePath";
|
||||
@@ -293,7 +267,6 @@ onceToken token([](){
|
||||
mINI::Instance()[kSampleMS] = RECORD_SAMPLE_MS;
|
||||
mINI::Instance()[kFileSecond] = RECORD_FILE_SECOND;
|
||||
mINI::Instance()[kFilePath] = RECORD_FILE_PATH;
|
||||
mINI::Instance()[kRtspPrefix] = RECORD_RTSP_PREFIX;
|
||||
},nullptr);
|
||||
|
||||
} //namespace Record
|
||||
@@ -318,11 +291,21 @@ const char kFileBufSize[] = HLS_FIELD"fileBufSize";
|
||||
#define HLS_FILE_PATH (HTTP_ROOT_PATH)
|
||||
const char kFilePath[] = HLS_FIELD"filePath";
|
||||
|
||||
//HTTP访问url前缀
|
||||
#define HTTP_PREFIX (StrPrinter << "http://${" << VHOST_KEY << "}:" << HTTP_PORT << endl)
|
||||
const char kHttpPrefix[] = HLS_FIELD"httpPrefix";
|
||||
|
||||
#define HTTP_PREFIX_DEFAULT_VHOST (StrPrinter << "http://" << SockUtil::get_local_ip() << ":" << HTTP_PORT << endl)
|
||||
const char kHttpPrefixDefaultVhost[] = HLS_FIELD"httpPrefixDefaultVhost";
|
||||
|
||||
onceToken token([](){
|
||||
mINI::Instance()[kSegmentDuration] = HLS_SEGMENT_DURATION;
|
||||
mINI::Instance()[kSegmentNum] = HLS_SEGMENT_NUM;
|
||||
mINI::Instance()[kFileBufSize] = HLS_FILE_BUF_SIZE;
|
||||
mINI::Instance()[kFilePath] = HLS_FILE_PATH;
|
||||
mINI::Instance()[kHttpPrefix] = HTTP_PREFIX;
|
||||
mINI::Instance()[kHttpPrefixDefaultVhost] = HTTP_PREFIX_DEFAULT_VHOST;
|
||||
|
||||
},nullptr);
|
||||
|
||||
} //namespace Hls
|
||||
|
||||
@@ -25,8 +25,8 @@
|
||||
*/
|
||||
|
||||
|
||||
#ifndef appConfig_h
|
||||
#define appConfig_h
|
||||
#ifndef COMMON_CONFIG_H
|
||||
#define COMMON_CONFIG_H
|
||||
|
||||
#include "Util/mini.h"
|
||||
using namespace ZL::Util;
|
||||
@@ -35,12 +35,7 @@ namespace Config {
|
||||
|
||||
void loadIniConfig();
|
||||
////////////TCP最大连接数///////////
|
||||
#ifdef __x86_64__
|
||||
#define MAX_TCP_SESSION 100000
|
||||
#else
|
||||
#define MAX_TCP_SESSION 128
|
||||
#endif
|
||||
|
||||
////////////其他宏定义///////////
|
||||
#ifndef MAX
|
||||
#define MAX(a,b) ((a) > (b) ? (a) : (b) )
|
||||
@@ -54,17 +49,21 @@ void loadIniConfig();
|
||||
#define CLEAR_ARR(arr) for(auto &item : arr){ item = 0;}
|
||||
#endif //CLEAR_ARR
|
||||
|
||||
#define SERVER_NAME "ZLMediaKit"
|
||||
#define VHOST_KEY "vhost"
|
||||
#define RTSP_SCHEMA "rtsp"
|
||||
#define RTMP_SCHEMA "rtmp"
|
||||
#define DEFAULT_VHOST "__defaultVhost__"
|
||||
#define RTSP_VERSION 1.30
|
||||
#define RTSP_BUILDTIME __DATE__" CST"
|
||||
|
||||
////////////广播名称///////////
|
||||
namespace Broadcast {
|
||||
extern const char kBroadcastRtspSessionPlay[];
|
||||
#define BroadcastRtspSessionPlayArgs const char *app,const char *stream
|
||||
extern const char kBroadcastMediaPlayed[];
|
||||
#define BroadcastMediaPlayedArgs const char *schema,const char *vhost,const char *app,const char *stream
|
||||
|
||||
extern const char kBroadcastRtspSrcRegisted[];
|
||||
#define BroadcastRtspSrcRegistedArgs const char *app,const char *stream
|
||||
|
||||
extern const char kBroadcastRtmpSrcRegisted[];
|
||||
#define BroadcastRtmpSrcRegistedArgs const char *app,const char *stream
|
||||
extern const char kBroadcastMediaChanged[];
|
||||
#define BroadcastMediaChangedArgs bool bRegist, const char *schema,const char *vhost,const char *app,const char *stream
|
||||
|
||||
extern const char kBroadcastRecordMP4[];
|
||||
#define BroadcastRecordMP4Args const Mp4Info &info
|
||||
@@ -103,29 +102,22 @@ extern const char kKeepAliveSecond[];
|
||||
extern const char kMaxReqCount[];
|
||||
//http 字符编码
|
||||
extern const char kCharSet[];
|
||||
//http 服务器名称
|
||||
extern const char kServerName[];
|
||||
//http 服务器根目录
|
||||
extern const char kRootPath[];
|
||||
//http 404错误提示内容
|
||||
extern const char kNotFound[];
|
||||
//HTTP访问url前缀
|
||||
extern const char kHttpPrefix[];
|
||||
|
||||
}//namespace Http
|
||||
|
||||
////////////SHELL配置///////////
|
||||
namespace Shell {
|
||||
extern const char kServerName[];
|
||||
extern const char kMaxReqSize[];
|
||||
extern const char kPort[];
|
||||
} //namespace Shell
|
||||
|
||||
////////////RTSP服务器配置///////////
|
||||
namespace Rtsp {
|
||||
#define RTSP_VERSION 1.30
|
||||
#define RTSP_BUILDTIME __DATE__" CST"
|
||||
|
||||
extern const char kServerName[];
|
||||
extern const char kPort[];
|
||||
//是否优先base64方式认证?默认Md5方式认证
|
||||
extern const char kAuthBasic[];
|
||||
@@ -171,8 +163,6 @@ extern const char kAppName[];
|
||||
extern const char kSampleMS[];
|
||||
//MP4文件录制大小,不能太大,否则MP4Close函数执行事件太长
|
||||
extern const char kFileSecond[];
|
||||
//Rtsp访问url前缀
|
||||
extern const char kRtspPrefix[];
|
||||
//录制文件路径
|
||||
extern const char kFilePath[];
|
||||
} //namespace Record
|
||||
@@ -187,8 +177,12 @@ extern const char kSegmentNum[];
|
||||
extern const char kFileBufSize[];
|
||||
//录制文件路径
|
||||
extern const char kFilePath[];
|
||||
//HTTP访问url前缀
|
||||
extern const char kHttpPrefix[];
|
||||
//HTTP默认vhost访问url前缀
|
||||
extern const char kHttpPrefixDefaultVhost[];
|
||||
} //namespace Hls
|
||||
|
||||
} // namespace Config
|
||||
|
||||
#endif /* appConfig_h */
|
||||
#endif /* COMMON_CONFIG_H */
|
||||
|
||||
Reference in New Issue
Block a user