mirror of
				https://github.com/ossrs/srs.git
				synced 2025-03-09 15:49:59 +00:00 
			
		
		
		
	RTMP: Support publish with Server without StreamKey using OBS.(#3018)
This commit is contained in:
		
							parent
							
								
									f492d8b03a
								
							
						
					
					
						commit
						96add9be3d
					
				
					 1 changed files with 27 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -456,6 +456,33 @@ srs_error_t SrsRtmpConn::stream_service_cycle()
 | 
			
		|||
    }
 | 
			
		||||
    
 | 
			
		||||
    srs_discovery_tc_url(req->tcUrl, req->schema, req->host, req->vhost, req->app, req->stream, req->port, req->param);
 | 
			
		||||
 | 
			
		||||
    // guess stream name
 | 
			
		||||
    if (req->stream.empty()) {
 | 
			
		||||
        srs_trace("client no stream, guess stream from app=%s and param=%s", req->app.c_str(), req->param.c_str());
 | 
			
		||||
 | 
			
		||||
        size_t pos = std::string::npos;
 | 
			
		||||
        std::string app = req->app;
 | 
			
		||||
        std::string param = req->param;
 | 
			
		||||
 | 
			
		||||
        // app
 | 
			
		||||
        if ((pos = app.find("/")) != std::string::npos) {
 | 
			
		||||
            req->app = app.substr(0, pos);
 | 
			
		||||
            req->stream = app.substr(pos + 1);
 | 
			
		||||
            if ((pos = req->stream.find("?")) != std::string::npos) {
 | 
			
		||||
                req->stream = req->stream.substr(0, pos);
 | 
			
		||||
            }
 | 
			
		||||
        } else {
 | 
			
		||||
            // param
 | 
			
		||||
            if ((pos = param.find("/")) != std::string::npos) {
 | 
			
		||||
                req->stream = param.substr(pos + 1);
 | 
			
		||||
                if ((pos = req->stream.find("?")) != std::string::npos) {
 | 
			
		||||
                    req->stream = req->stream.substr(0, pos);
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    req->strip();
 | 
			
		||||
    srs_trace("client identified, type=%s, vhost=%s, app=%s, stream=%s, param=%s, duration=%dms",
 | 
			
		||||
        srs_client_type_string(info->type).c_str(), req->vhost.c_str(), req->app.c_str(), req->stream.c_str(), req->param.c_str(), srsu2msi(req->duration));
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue