diff --git a/trunk/research/players/js/srs.js b/trunk/research/players/js/srs.js index b5f105f32..cc89c4f8a 100755 --- a/trunk/research/players/js/srs.js +++ b/trunk/research/players/js/srs.js @@ -82,7 +82,7 @@ function error(code, desc) { */ function parse_query_string(){ var obj = {}; - + // parse the host(hostname:http_port), pathname(dir/filename) obj.host = window.location.host; obj.hostname = window.location.hostname; @@ -95,19 +95,19 @@ function parse_query_string(){ obj.dir = obj.pathname.substr(0, obj.pathname.lastIndexOf("/")); obj.filename = obj.pathname.substr(obj.pathname.lastIndexOf("/")); } - + // parse the query string. var query_string = String(window.location.search).replace(" ", "").split("?")[1]; if(query_string == undefined){ return obj; } - + var queries = query_string.split("&"); $(queries).each(function(){ var query = this.split("="); obj[query[0]] = query[1]; }); - + return obj; } @@ -169,7 +169,7 @@ function build_default_hls_url() { } else if (query.hls_vhost != undefined) { server = query.hls_vhost; } - + var port = (query.hls_port == undefined)? window.location.port:query.hls_port; var app = (query.app == undefined)? "live":query.app; var stream = (query.stream == undefined)? "livestream":query.stream; @@ -177,7 +177,7 @@ function build_default_hls_url() { if (port == "" || port == null || port == undefined) { port = 80; } - + return "http://" + server + ":" + port + "/" + app + "/" + stream + ".m3u8"; } @@ -190,7 +190,7 @@ function srs_parse_rtmp_url(rtmp_url) { // @see: http://stackoverflow.com/questions/10469575/how-to-use-location-object-to-parse-url-without-redirecting-the-page-in-javascri var a = document.createElement("a"); a.href = rtmp_url.replace("rtmp://", "http://"); - + var vhost = a.hostname; var port = (a.port == "")? "1935":a.port; var app = a.pathname.substr(1, a.pathname.lastIndexOf("/") - 1); @@ -201,7 +201,7 @@ function srs_parse_rtmp_url(rtmp_url) { if (app.indexOf("?") >= 0) { var params = app.substr(app.indexOf("?")); app = app.substr(0, app.indexOf("?")); - + if (params.indexOf("vhost=") > 0) { vhost = params.substr(params.indexOf("vhost=") + "vhost=".length); if (vhost.indexOf("&") > 0) { @@ -209,12 +209,12 @@ function srs_parse_rtmp_url(rtmp_url) { } } } - + var ret = { - server: a.hostname, port: port, + server: a.hostname, port: port, vhost: vhost, app: app, stream: stream }; - + return ret; } @@ -226,7 +226,7 @@ function srs_parse_rtmp_url(rtmp_url) { */ function srs_init(rtmp_url, hls_url, modal_player) { update_nav(); - + if (rtmp_url) { $(rtmp_url).val(build_default_rtmp_url()); } @@ -238,15 +238,44 @@ function srs_init(rtmp_url, hls_url, modal_player) { $(modal_player).css("margin-left", "-" + srs_get_player_modal() / 2 +"px"); } } + // for the chat to init the publish url. function srs_init_publish(rtmp_url) { update_nav(); - + if (rtmp_url) { $(rtmp_url).val(build_default_publish_rtmp_url()); } } +// for bw to init url +// url: scheme://host:port/path?query#fragment +function srs_init_bwt(rtmp_url, hls_url) { + update_nav(); + + if (rtmp_url) { + //var query = parse_query_string(); + var search_filed = String(window.location.search).replace(" ", "").split("?")[1]; + $(rtmp_url).val("rtmp://" + window.location.host + ":" + 1935 + "/app?" + search_filed); + } + if (hls_url) { + $(hls_url).val(build_default_hls_url()); + } +} + +function srs_bwt_check_url(url) { + if (url.indexOf("key") != -1 && url.indexOf("vhost") != -1) { + return true; + } + + return false; +} + +function srs_bwt_build_default_url() { + var url_default = "rtmp://" + window.location.host + ":" + 1935 + "/app?key=35c9b402c12a7246868752e2878f7e0e&vhost=bandcheck.srs.com"; + return url_default; +} + /** * when publisher ready, init the page elements. */ @@ -265,59 +294,59 @@ function srs_publisher_initialize_page( break; } } - + $(sl_microphones).empty(); for (var i = 0; i < microphones.length; i++) { $(sl_microphones).append("