diff --git a/README.md b/README.md
index b0bb23c7d..7fb4df96f 100755
--- a/README.md
+++ b/README.md
@@ -278,6 +278,7 @@ usr sys idl wai hiq siq| read writ| recv send| in out | int csw
* nginx v1.5.0: 139524 lines
### History
+* v1.0, 2013-12-27, merge from wenjie, the bandwidth test feature.
* v0.9, 2013-12-25, [v0.9](https://github.com/winlinvip/simple-rtmp-server/releases/tag/0.9) released. 20926 lines.
* v0.9, 2013-12-25, fix the bitrate bug(in Bps), use enhanced microphone.
* v0.9, 2013-12-22, demo video meeting or chat(srs+cherrypy+jquery+bootstrap).
diff --git a/trunk/conf/srs.conf b/trunk/conf/srs.conf
index 18482fbf8..232c1238e 100755
--- a/trunk/conf/srs.conf
+++ b/trunk/conf/srs.conf
@@ -223,7 +223,7 @@ vhost bandcheck.srs.com {
enabled on;
# the key for server to valid,
# if invalid key, server disconnect and abort the bandwidth check.
- key 35c9b402c12a7246868752e2878f7e0e;
+ key "35c9b402c12a7246868752e2878f7e0e";
# the interval in seconds for bandwidth check,
# server donot allow new test request.
# default: 30
diff --git a/trunk/configure b/trunk/configure
index ba8b1b4fa..5be8cc473 100755
--- a/trunk/configure
+++ b/trunk/configure
@@ -47,22 +47,27 @@ echo "" >> $SRS_AUTO_HEADERS_H
echo "generate Makefile"
cat << END > ${SRS_MAKEFILE}
-.PHONY: default help clean server _prepare_dir
-default: server
+.PHONY: default help clean server bandwidth _prepare_dir
+default: server bandwidth
help:
- @echo "Usage: make ||"
+ @echo "Usage: make |||"
@echo " help display this help menu"
@echo " clean cleanup project"
@echo " server build the srs(simple rtmp server) over st(state-threads)"
+ @echo " bandwidth build the bandwidth test client tool."
clean:
- (rm -f Makefile; cd ${SRS_OBJS}; rm -rf srs Makefile *.hpp src st_*_load)
+ (rm -f Makefile; cd ${SRS_OBJS}; rm -rf srs bandwidth Makefile *.hpp src st_*_load)
server: _prepare_dir
@echo "build the srs(simple rtmp server) over st(state-threads)"
\$(MAKE) -f ${SRS_OBJS}/${SRS_MAKEFILE} srs
+bandwidth: _prepare_dir
+ @echo "build the bandwidth test client tool"
+ \$(MAKE) -f ${SRS_OBJS}/${SRS_MAKEFILE} bandwidth
+
# the ./configure will generate it.
_prepare_dir:
@mkdir -p ${SRS_OBJS}
@@ -87,7 +92,7 @@ GCC = g++
LINK = \$(GCC)
AR = ar
-.PHONY: default srs
+.PHONY: default srs bandwidth
default:
@@ -124,12 +129,12 @@ CORE_OBJS="${MODULE_OBJS[@]}"
MODULE_ID="MAIN"
MODULE_DEPENDS=("CORE")
ModuleLibIncs=(${LibSTRoot} ${SRS_OBJS})
-MODULE_FILES=("srs_main_server")
+MODULE_FILES=("srs_main_server" "srs_main_bandcheck")
MODULE_DIR="src/main" . auto/modules.sh
MAIN_OBJS="${MODULE_OBJS[@].o}"
# all main entrances
-MAIN_ENTRANCES=("srs_main_server")
+MAIN_ENTRANCES=("srs_main_server" "srs_main_bandcheck")
# srs(simple rtmp server) over st(state-threads)
ModuleLibFiles=(${LibSTfile})
@@ -143,6 +148,7 @@ else
LINK_OPTIONS="-ldl"
fi
BUILD_KEY="srs" APP_MAIN="srs_main_server" APP_NAME="srs" SO_PATH="" . auto/apps.sh
+BUILD_KEY="bandwidth" APP_MAIN="srs_main_bandcheck" APP_NAME="bandwidth" SO_PATH="" . auto/apps.sh
echo 'configure ok! '
diff --git a/trunk/research/players/js/srs.bandwidth.js b/trunk/research/players/js/srs.bandwidth.js
new file mode 100755
index 000000000..79c51e2f8
--- /dev/null
+++ b/trunk/research/players/js/srs.bandwidth.js
@@ -0,0 +1,27 @@
+// 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;
+}
\ No newline at end of file
diff --git a/trunk/research/players/srs_bwt.html b/trunk/research/players/srs_bwt.html
index e12b64c58..3f68ea6b5 100755
--- a/trunk/research/players/srs_bwt.html
+++ b/trunk/research/players/srs_bwt.html
@@ -13,15 +13,112 @@
+
@@ -44,6 +141,34 @@
+
+
+ URL:
+
+
+
+
+
+