平安校园
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

71 lines
2.9 KiB

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta http-equiv="x-ua-compatible" content="IE=edge">
  6. <meta name="viewport"
  7. content="width=device-width, height=device-height, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no" />
  8. <title>Aliplayer Rts Demo</title>
  9. <link rel="stylesheet"
  10. href="https://g.alicdn.com/apsara-media-box/imp-web-player/2.16.3/skins/default/aliplayer-min.css" />
  11. <script type="text/javascript" charset="utf-8"
  12. src="./ali.js"></script>
  13. </head>
  14. <body>
  15. <div class="prism-player" id="player-con"></div>
  16. <script>
  17. /**
  18. * 播放器默认播放 source 提供的 rts 拉流地址,如果失败,则会自动降级至 rtsFallbackSource 提供的拉流地址(如 HLS 地址)。
  19. * 可能的降级场景包括:
  20. * 1. 浏览器不支持 RTS,直接降级
  21. * 2. RTS 信令请求失败(拉流地址无效、https配置无效、RTS配置无效等),直接降级
  22. * 3. RTS 起播超时或中途断流,按自定义策略重试失败后降级
  23. **/
  24. // 更多播放器配置请参考 https://player.alicdn.com/aliplayer/index.html
  25. var options = {
  26. "id": "player-con",
  27. "source": "artc://rts-pull-live.deepeleph.com/quanjiang_DEMO00001/SXT003-0?auth_key=1724921782-0-0-d7ac627dd65378c195ced9de16c63bc4&aliyun_uuid=edbaf313fe5a4102bfcf4951f38ebbf8",
  28. "rtsFallbackSource": "降级地址,如HLS",
  29. "width": "100%",
  30. "height": "400px",
  31. "autoplay": true,
  32. "isLive": true,
  33. "playsinline": true,
  34. "skipRtsSupportCheck": false, // 对于不在 https://help.aliyun.com/document_detail/397569.html 中的浏览器,可以传 true 跳过检查,强制使用 RTS(有风险,需要自测保证)
  35. /**
  36. * RTS 拉流超时会默认重试
  37. * 以下两个参数用来控制降级之前的重试策略,比如 3000 毫秒超时,重试一次,如果再拉不到流就降级,那么总共等待 6000 毫秒降级
  38. **/
  39. // RTS 多久拉不到流会重试,默认 3000 ms
  40. // rtsLoadDataTimeout: 2000,
  41. // RTS 拉不到流重试的次数,默认 5,此参数建议设为 1,即重试 1 次后降级,可以减少降级等待时间
  42. liveRetry: 1,
  43. };
  44. var player = new Aliplayer(options, function () {/* player ready */ });
  45. // 降级时会触发此事件
  46. player.on('rtsFallback', function (event) {
  47. console.log('[EVENT]rtsFallback', event.paramData);
  48. // event.paramData.reason 降级的原因
  49. // event.paramData.fallbackUrl 降级到的地址
  50. })
  51. player.on('error', function (event) {
  52. console.log('[EVENT]error', event.paramData);
  53. })
  54. // 当RTS拉流成功时触发,通过订阅该事件,可以获取到RTS TraceId
  55. player.on('rtsTraceId', function (data) {
  56. console.log('[EVENT]rtsTraceId', data.paramData);
  57. // event.paramData.traceId 拉流的TraceId
  58. // event.paramData.source 当前RTS流的播放地址
  59. })
  60. </script>
  61. </body>