1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-03-09 15:49:59 +00:00

Detect whether flash enabled for srs-player. 3.0.73

This commit is contained in:
winlin 2019-12-18 11:06:01 +08:00
parent 33c7f6d0e4
commit b0afc00733
5 changed files with 250 additions and 353 deletions

View file

@ -145,6 +145,7 @@ For previous versions, please read:
## V3 changes ## V3 changes
* v3.0, 2019-12-18, Detect whether flash enabled for srs-player. 3.0.73
* v3.0, 2019-12-17, Fix HTTP CORS bug when sending response for OPTIONS. 3.0.72 * v3.0, 2019-12-17, Fix HTTP CORS bug when sending response for OPTIONS. 3.0.72
* v3.0, 2019-12-17, Enhance HTTP response write for final_request. * v3.0, 2019-12-17, Enhance HTTP response write for final_request.
* v3.0, 2019-12-17, Refactor HTTP stream to disconnect client when unpublish. * v3.0, 2019-12-17, Refactor HTTP stream to disconnect client when unpublish.

View file

@ -80,7 +80,7 @@ function build_default_rtmp_url() {
var port = (query.port == undefined)? schema=="http"?80:1935:query.port; var port = (query.port == undefined)? schema=="http"?80:1935:query.port;
var vhost = (query.vhost == undefined)? window.location.hostname:query.vhost; var vhost = (query.vhost == undefined)? window.location.hostname:query.vhost;
var app = (query.app == undefined)? "live":query.app; var app = (query.app == undefined)? "live":query.app;
var stream = (query.stream == undefined)? "demo":query.stream; var stream = (query.stream == undefined)? "livestream":query.stream;
var queries = []; var queries = [];
if (server != vhost && vhost != "__defaultVhost__") { if (server != vhost && vhost != "__defaultVhost__") {

View file

@ -118,6 +118,9 @@ SrsPlayer.prototype.start = function(url) {
flashvars, params, attributes, flashvars, params, attributes,
function(callbackObj){ function(callbackObj){
self.callbackObj = callbackObj; self.callbackObj = callbackObj;
if (!callbackObj.success) {
console.error('Initialize player failed:'); console.error(callbackObj);
}
} }
); );

View file

@ -45,15 +45,29 @@
</div> </div>
</div> </div>
<div class="container"> <div class="container">
<div name="detect_flash">
<div id="main_flash_alert" class="alert alert-danger fade in hide">
<button type="button" class="close" data-dismiss="alert">×</button>
<strong><span>Usage:</span></strong>
<span>
请点击下面的图标启用Flash
</span>
</div>
<div id="main_flash_hdr" class="hide">
</div>
</div>
<div id="main_content" class="hide">
<div class="alert alert-info fade in"> <div class="alert alert-info fade in">
<button type="button" class="close" data-dismiss="alert">×</button> <button type="button" class="close" data-dismiss="alert">×</button>
<strong><span>Usage:</span></strong> <span>输入RTMP/HTTP地址后点击“播放视频”即可播放视频</span> <strong><span>Usage:</span></strong> <span>输入RTMP/HTTP-FLV/HLS地址后点击“播放视频”即可播放视频</span>
</div> </div>
<div class="form-inline"> <div class="form-inline">
URL: URL:
<input type="text" id="txt_url" class="input-xxlarge" value=""> <input type="text" id="txt_url" class="input-xxlarge" value="">
<button class="btn btn-primary" id="btn_play">播放视频</button> <button class="btn btn-primary" id="btn_play">播放视频</button>
<button class="btn" id="btn_generate_link">生成链接</button> <button class="btn" id="btn_generate_link">生成链接</button>
<p></p>
</div> </div>
<div id="link_modal" class="modal hide fade"> <div id="link_modal" class="modal hide fade">
<div class="modal-header"> <div class="modal-header">
@ -108,171 +122,6 @@
</div> </div>
<div class="modal-footer"></div> <div class="modal-footer"></div>
</div> </div>
<div class="container">
<hr/>
<span>
注意:必须按照<a href="https://github.com/ossrs/srs/wiki/SampleDemo">SRS DEMO</a>
启动和设置服务器,下面所有的链接才能观看。
</span>
<div class="accordion" id="main_accordion">
<div class="accordion-group">
<div class="accordion-heading">
<span class="accordion-toggle" data-toggle="collapse" data-parent="#main_accordion" href="#collapse1">
<strong>[1] SRS示例播放流: 原始流</strong>
</span>
</div>
<div id="collapse1" class="accordion-body collapse">
<div class="accordion-inner">
<a href="#" id="srs_publish">rtmp://demo.srs.com/live/livestream</a> <br/>
<span>用户推送过来的唯一一路流,经过服务器的多种变换和再转发。</span>
</div>
</div>
</div>
<div class="accordion-group">
<div class="accordion-heading">
<span class="accordion-toggle" data-toggle="collapse" data-parent="#main_accordion" href="#collapse10">
<strong>[2] SRS示例播放流: 原始流HLS</strong>
</span>
</div>
<div id="collapse10" class="accordion-body collapse">
<div class="accordion-inner">
<a href="#" id="srs_publish_hls" target="_blank">http://demo.srs.com/live/livestream.m3u8</a> <br/>
<span>对用户的流进行HLS切片若编码为非H264/AACHLS流会自动禁用</span>
</div>
</div>
</div>
<div class="accordion-group">
<div class="accordion-heading">
<span class="accordion-toggle" data-toggle="collapse" data-parent="#main_accordion" href="#collapse2">
<strong>[3] SRS示例播放流: 转码配置LD流</strong>
</span>
</div>
<div id="collapse2" class="accordion-body collapse">
<div class="accordion-inner">
<a href="#" id="srs_publish_ld">rtmp://demo.srs.com/live/livestream_ld</a> <br/>
<span>对原始流加了<a href="http://ffmpeg.org/ffmpeg-filters.html#overlay">FFMPEG图片水印</a></span>
</div>
</div>
</div>
<div class="accordion-group">
<div class="accordion-heading">
<span class="accordion-toggle" data-toggle="collapse" data-parent="#main_accordion" href="#collapse11">
<strong>[4] SRS示例播放流: 转码配置LD流HLS</strong>
</span>
</div>
<div id="collapse11" class="accordion-body collapse">
<div class="accordion-inner">
<a href="#" id="srs_publish_ld_hls" target="_blank">http://demo.srs.com/live/livestream_ld.m3u8</a> <br/>
<span>对转码配置LD流进行HLS切片。</span>
</div>
</div>
</div>
<div class="accordion-group">
<div class="accordion-heading">
<span class="accordion-toggle" data-toggle="collapse" data-parent="#main_accordion" href="#collapse3">
<strong>[5] SRS示例播放流: 转码配置SD流</strong>
</span>
</div>
<div id="collapse3" class="accordion-body collapse">
<div class="accordion-inner">
<a href="#" id="srs_publish_sd">rtmp://demo.srs.com/live/livestream_sd</a> <br/>
<span>对原始流应用了<a href="http://ffmpeg.org/ffmpeg-filters.html#Filtering-Introduction">FFMPEG翻转滤镜</a></span>
</div>
</div>
</div>
<div class="accordion-group">
<div class="accordion-heading">
<span class="accordion-toggle" data-toggle="collapse" data-parent="#main_accordion" href="#collapse12">
<strong>[6] SRS示例播放流: 转码配置SD流HLS</strong>
</span>
</div>
<div id="collapse12" class="accordion-body collapse">
<div class="accordion-inner">
<a href="#" id="srs_publish_sd_hls" target="_blank">http://demo.srs.com/live/livestream_sd.m3u8</a> <br/>
<span>对转码配置SD流进行HLS切片。</span>
</div>
</div>
</div>
<div class="accordion-group">
<div class="accordion-heading">
<span class="accordion-toggle" data-toggle="collapse" data-parent="#main_accordion" href="#collapse4">
<strong>[7] SRS示例播放流: 转发原始流</strong>
</span>
</div>
<div id="collapse4" class="accordion-body collapse">
<div class="accordion-inner">
<a href="#" id="srs_publish_fw">rtmp://demo.srs.com:19350/live/livestream</a> <br/>
<span>将用户推送的流转发到另外的vhost或服务器做热备用。</span>
</div>
</div>
</div>
<div class="accordion-group">
<div class="accordion-heading">
<span class="accordion-toggle" data-toggle="collapse" data-parent="#main_accordion" href="#collapse13">
<strong>[8] SRS示例播放流: 转发原始流HLS</strong>
</span>
</div>
<div id="collapse13" class="accordion-body collapse">
<div class="accordion-inner">
<a href="#" id="srs_publish_fw_hls" target="_blank">http://demo.srs.com/forward/live/livestream.m3u8</a> <br/>
<span>对转发原始流进行HLS切片若编码为非H264/AACHLS流会自动禁用</span>
</div>
</div>
</div>
<div class="accordion-group">
<div class="accordion-heading">
<span class="accordion-toggle" data-toggle="collapse" data-parent="#main_accordion" href="#collapse5">
<strong>[9] SRS示例播放流: 转发转码配置LD流</strong>
</span>
</div>
<div id="collapse5" class="accordion-body collapse">
<div class="accordion-inner">
<a href="#" id="srs_publish_fw_ld">rtmp://demo.srs.com:19350/live/livestream_ld</a> <br/>
<span>FFMPEG加水印后的流也会自动转发。</span>
</div>
</div>
</div>
<div class="accordion-group">
<div class="accordion-heading">
<span class="accordion-toggle" data-toggle="collapse" data-parent="#main_accordion" href="#collapse14">
<strong>[10] SRS示例播放流: 转发转码配置LD流HLS</strong>
</span>
</div>
<div id="collapse14" class="accordion-body collapse">
<div class="accordion-inner">
<a href="#" id="srs_publish_fw_ld_hls" target="_blank">http://demo.srs.com/forward/live/livestream_ld.m3u8</a> <br/>
<span>对转发转码配置LD流进行HLS切片所有转发的流会自动支持HLS。</span>
</div>
</div>
</div>
<div class="accordion-group">
<div class="accordion-heading">
<span class="accordion-toggle" data-toggle="collapse" data-parent="#main_accordion" href="#collapse6">
<strong>[11] SRS示例播放流: 转发转码配置SD流</strong>
</span>
</div>
<div id="collapse6" class="accordion-body collapse">
<div class="accordion-inner">
<a href="#" id="srs_publish_fw_sd">rtmp://demo.srs.com:19350/live/livestream_sd</a> <br/>
<span>FFMPEG翻转后的流也会自动转发。</span>
</div>
</div>
</div>
<div class="accordion-group">
<div class="accordion-heading">
<span class="accordion-toggle" data-toggle="collapse" data-parent="#main_accordion" href="#collapse15">
<strong>[12] SRS示例播放流: 转发转码配置SD流HLS</strong>
</span>
</div>
<div id="collapse15" class="accordion-body collapse">
<div class="accordion-inner">
<a href="#" id="srs_publish_fw_sd_hls" target="_blank">http://demo.srs.com/forward/live/livestream_sd.m3u8</a> <br/>
<span>对转发转码配置SD流进行HLS切片所有转发的流会自动支持HLS。</span>
</div>
</div>
</div>
</div>
</div>
<div id="main_modal" class="modal hide fade"> <div id="main_modal" class="modal hide fade">
<div class="modal-header"> <div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
@ -408,6 +257,8 @@
</div> </div>
</div> </div>
</div> </div>
</div>
<footer> <footer>
<p><a href="https://github.com/ossrs/srs">SRS Team &copy; 2013</a></p> <p><a href="https://github.com/ossrs/srs">SRS Team &copy; 2013</a></p>
</footer> </footer>
@ -423,6 +274,48 @@
<script type="text/javascript" src="js/srs.publisher.js"></script> <script type="text/javascript" src="js/srs.publisher.js"></script>
<script type="text/javascript" src="js/srs.utility.js"></script> <script type="text/javascript" src="js/srs.utility.js"></script>
<script type="text/javascript" src="js/winlin.utility.js"></script> <script type="text/javascript" src="js/winlin.utility.js"></script>
<script type="text/javascript">
var __on_flash_ready = null;
$(function(){
// 探测Flash是否正常启用。
$('#main_flash_hdr').html(
'\
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="100%" height="100%"> \
<param name="movie" value="srs_player/release/srs_player.swf"> \
<param name="quality" value="autohigh"> \
<param name="swliveconnect" value="true"> \
<param name="allowScriptAccess" value="always"> \
<param name="bgcolor" value="#0"> \
<param name="allowFullScreen" value="true"> \
<param name="wmode" value="opaque"> \
<param name="FlashVars" value="log=1"> \
<param name="flashvars" value="id=1&on_player_ready=__on_flash_ready"> \
<embed src="srs_player/release/srs_player.swf" width="100%" height="100%" \
quality="autohigh" bgcolor="#0" align="middle" allowfullscreen="true" allowscriptaccess="always" \
type="application/x-shockwave-flash" swliveconnect="true" wmode="opaque" \
flashvars="id=1&on_player_ready=__on_flash_ready" \
pluginspage="http://www.macromedia.com/go/getflashplayer"> \
</object> \
'
);
$('#main_flash_hdr').show();
var showFlashHdr = setTimeout(function(){
$('#main_flash_alert').show();
}, 300);
__on_flash_ready = function (id) {
clearTimeout(showFlashHdr);
$('#main_flash_alert').hide();
$('#main_flash_hdr').hide();
$('#main_content').show();
autoLoadPage();
};
});
</script>
<script type="text/javascript"> <script type="text/javascript">
var srs_player = null; var srs_player = null;
var url = null; var url = null;
@ -504,7 +397,7 @@
* http://localhost:8088/players/srs_player.html?vhost=ossrs.net&app=live&stream=livestream&server=ossrs.net&port=1935&autostart=true&schema=rtmp * http://localhost:8088/players/srs_player.html?vhost=ossrs.net&app=live&stream=livestream&server=ossrs.net&port=1935&autostart=true&schema=rtmp
* http://localhost:8088/players/srs_player.html?vhost=ossrs.net&app=live&stream=livestream.flv&server=ossrs.net&port=8080&autostart=true&schema=http * http://localhost:8088/players/srs_player.html?vhost=ossrs.net&app=live&stream=livestream.flv&server=ossrs.net&port=8080&autostart=true&schema=http
*/ */
$(function(){ var autoLoadPage = function() {
var query = parse_query_string(); var query = parse_query_string();
// get the vhost and port to set the default url. // get the vhost and port to set the default url.
@ -806,6 +699,6 @@
} }
apply_url_change(); apply_url_change();
}); };
</script> </script>
</html> </html>

View file

@ -27,7 +27,7 @@
// The version config. // The version config.
#define VERSION_MAJOR 3 #define VERSION_MAJOR 3
#define VERSION_MINOR 0 #define VERSION_MINOR 0
#define VERSION_REVISION 72 #define VERSION_REVISION 73
// The macros generated by configure script. // The macros generated by configure script.
#include <srs_auto_headers.hpp> #include <srs_auto_headers.hpp>