mirror of
https://github.com/ZLMediaKit/ZLMediaKit.git
synced 2026-07-05 02:38:10 +08:00
添加 http-flv/rtmp/rtsp通用鉴权接口
This commit is contained in:
@@ -150,8 +150,8 @@ void MediaInfo::parse(const string &url){
|
||||
auto pos = steamid.find("?");
|
||||
if(pos != string::npos){
|
||||
m_streamid = steamid.substr(0,pos);
|
||||
auto params = steamid.substr(pos + 1);
|
||||
m_params = Parser::parseArgs(params);
|
||||
m_param_strs = steamid.substr(pos + 1);
|
||||
m_params = Parser::parseArgs(m_param_strs);
|
||||
if(m_params.find(VHOST_KEY) != m_params.end()){
|
||||
m_vhost = m_params[VHOST_KEY];
|
||||
}
|
||||
|
||||
@@ -83,6 +83,8 @@ public:
|
||||
string m_app;
|
||||
string m_streamid;
|
||||
StrCaseMap m_params;
|
||||
string m_param_strs;
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -47,13 +47,13 @@ void loadIniConfig(){
|
||||
}
|
||||
////////////广播名称///////////
|
||||
namespace Broadcast {
|
||||
const char kBroadcastMediaPlayed[] = "kBroadcastMediaPlayed";
|
||||
const char kBroadcastMediaChanged[] = "kBroadcastMediaChanged";
|
||||
const char kBroadcastRecordMP4[] = "kBroadcastRecordMP4";
|
||||
const char kBroadcastHttpRequest[] = "kBroadcastHttpRequest";
|
||||
const char kBroadcastOnGetRtspRealm[] = "kBroadcastOnGetRtspRealm";
|
||||
const char kBroadcastOnRtspAuth[] = "kBroadcastOnRtspAuth";
|
||||
|
||||
const char kBroadcastMediaPlayed[] = "kBroadcastMediaPlayed";
|
||||
const char kBroadcastRtmpPublish[] = "kBroadcastRtmpPublish";
|
||||
} //namespace Broadcast
|
||||
|
||||
//代理失败最大重试次数
|
||||
|
||||
@@ -51,6 +51,7 @@ void loadIniConfig();
|
||||
|
||||
#define SERVER_NAME "ZLMediaKit"
|
||||
#define VHOST_KEY "vhost"
|
||||
#define HTTP_SCHEMA "http"
|
||||
#define RTSP_SCHEMA "rtsp"
|
||||
#define RTMP_SCHEMA "rtmp"
|
||||
#define DEFAULT_VHOST "__defaultVhost__"
|
||||
@@ -59,15 +60,16 @@ void loadIniConfig();
|
||||
|
||||
////////////广播名称///////////
|
||||
namespace Broadcast {
|
||||
extern const char kBroadcastMediaPlayed[];
|
||||
#define BroadcastMediaPlayedArgs const char *schema,const char *vhost,const char *app,const char *stream
|
||||
|
||||
//注册或反注册MediaSource事件广播
|
||||
extern const char kBroadcastMediaChanged[];
|
||||
#define BroadcastMediaChangedArgs bool bRegist, const char *schema,const char *vhost,const char *app,const char *stream
|
||||
|
||||
//录制mp4文件成功后广播
|
||||
extern const char kBroadcastRecordMP4[];
|
||||
#define BroadcastRecordMP4Args const Mp4Info &info
|
||||
|
||||
//收到http api请求广播
|
||||
extern const char kBroadcastHttpRequest[];
|
||||
#define BroadcastHttpRequestArgs const Parser &parser,HttpSession::HttpResponseInvoker &invoker,bool &consumed
|
||||
|
||||
@@ -80,6 +82,18 @@ extern const char kBroadcastOnGetRtspRealm[];
|
||||
extern const char kBroadcastOnRtspAuth[];
|
||||
#define BroadcastOnRtspAuthArgs const char *user_name,bool must_no_encrypt,const RtspSession::onAuth &invoker
|
||||
|
||||
|
||||
//鉴权结果回调对象
|
||||
typedef std::function<void(bool success)> AuthInvoker;
|
||||
|
||||
//收到rtmp推流事件广播,通过该事件控制推流鉴权
|
||||
extern const char kBroadcastRtmpPublish[];
|
||||
#define BroadcastRtmpPublishArgs MediaInfo &args,Broadcast::AuthInvoker &invoker
|
||||
|
||||
//播放rtsp或rtmp事件广播,通过该事件控制播放鉴权
|
||||
extern const char kBroadcastMediaPlayed[];
|
||||
#define BroadcastMediaPlayedArgs MediaInfo &args,Broadcast::AuthInvoker &invoker
|
||||
|
||||
} //namespace Broadcast
|
||||
|
||||
//代理失败最大重试次数
|
||||
|
||||
Reference in New Issue
Block a user