From 2e75c9f45f915a235ba6457a4bd461c4e48a109d Mon Sep 17 00:00:00 2001 From: winlin Date: Tue, 19 Apr 2016 18:15:47 +0800 Subject: [PATCH] add more buffer --- trunk/research/players/srs_player.html | 42 ++++++++++++++++++++++++-- 1 file changed, 39 insertions(+), 3 deletions(-) diff --git a/trunk/research/players/srs_player.html b/trunk/research/players/srs_player.html index 839830335..b037a1353 100755 --- a/trunk/research/players/srs_player.html +++ b/trunk/research/players/srs_player.html @@ -319,8 +319,13 @@
  • 1秒(低延迟)
  • 2秒(较低延时)
  • 3秒(流畅播放)
  • +
  • 4秒(流畅播放)
  • 5秒(网速较低)
  • +
  • 6秒(网速较低)
  • +
  • 8秒(网速较低)
  • 10秒(无所谓延迟)
  • +
  • 15秒(无所谓延迟)
  • +
  • 20秒(无所谓延迟)
  • 30秒(流畅第一)
  • @@ -334,8 +339,13 @@
  • 3秒(低延迟)
  • 6秒(较低延时)
  • 9秒(流畅播放)
  • +
  • 12秒(流畅播放)
  • 15秒(网速较低)
  • +
  • 18秒(网速较低)
  • +
  • 24秒(网速较低)
  • 30秒(无所谓延迟)
  • +
  • 45秒(无所谓延迟)
  • +
  • 60秒(无所谓延迟)
  • 90秒(流畅第一)
  • @@ -479,6 +489,7 @@ * app, the app of url. * stream, the stream of url, can endwith .flv or .mp4 or nothing for RTMP. * autostart, whether auto play the stream. + * buffer, the buffer time in seconds. * extra params: * shp_identify, hls+ param. * for example: @@ -493,6 +504,10 @@ // url set to: rtmp://demo:1935/live/livestream srs_init_rtmp("#txt_url", "#main_modal"); + // consts for buffer and max buffer. + var bts = [0.1, 0.2, 0.3, 0.5, 0.8, 1, 2, 3, 4, 5, 6, 8, 10, 15, 20, 30]; + var mbts = [0.6, 0.9, 1.5, 2.4, 3, 6, 9, 12, 15, 18, 24, 30, 45, 60, 90]; + $("#main_modal").on("show", function(){ if (srs_player) { return; @@ -511,7 +526,20 @@ srs_player = new SrsPlayer("player_id", srs_get_player_width(), srs_get_player_height()); srs_player.on_player_ready = function() { - select_buffer(0.5); + var buffer_time = 0.5; + + if (query.buffer) { + for (var i = 0; i < bts.length - 1; i++) { + var cur = bts[i]; + var next = bts[i+1]; + if (Number(query.buffer) >= cur && Number(query.buffer) < next) { + buffer_time = cur; + break; + } + } + } + + select_buffer(buffer_time); this.play(url); }; srs_player.on_player_status = function(code, desc) { @@ -591,6 +619,9 @@ if (rtmp.schema == "http") { url += "&schema=http"; } + if (query.buffer) { + url += "&buffer=" + query.buffer; + } $("#player_url").text($("#txt_url").val()).attr("href", url); $("#link_server").text(rtmp.server); @@ -708,7 +739,6 @@ } if (true) { - var bts = [0.1, 0.2, 0.3, 0.5, 0.8, 1, 2, 3, 5, 10, 30]; for (var i = 0; i < bts.length; i++) { var bt = bts[i]; var bt_id = "#btn_bt_" + bt.toFixed(1).replace(".", "_"); @@ -716,13 +746,19 @@ var bt_fun = function(id, v){ $(bt_id).click(function(){ select_buffer_time(id, v); + + // remember the chagned buffer. + if (Number(query.buffer) != srs_player.buffer_time) { + query.buffer = srs_player.buffer_time; + apply_url_change(); + } + }); }; bt_fun(bt_id, bt); } } if (true) { - var mbts = [0.6, 0.9, 1.5, 2.4, 3, 6, 9, 15, 30, 90]; for (var i = 0; i < mbts.length; i++) { var mbt = mbts[i]; var mbt_id = "#btn_mbt_" + mbt.toFixed(1).replace(".", "_");