1. 首页
  2. 技术

类似cdnbye使用p2p Novage 在线播放视频,使用p2p技术

P2P Media Loader是一个开放源代码的JavaScript库,它使用现代Web浏览器(即HTML5视频和WebRTC)的功能通过P2P传递媒体并通过与许多流行的HTML5视频播放器集成来进行播放。它不需要任何Web浏览器插件或附加组件即可运行(请参阅演示)。

它允许创建点对点网络(也称为P2P CDN或P2PTV),以便通过HLS或MPEG-DASH协议实时观看同一媒体流或VOD的用户(对等)之间的流量共享。

它可以大大减少传统的CDN流量和成本,同时将媒体流交付给更多用户。

  • 通过HLS或MPEG-DASH协议支持实时和VOD流

  • 支持多个HTML5视频播放器和引擎:

    • 引擎:Hls.js,Shaka Player

    • 视频播放器:JWPlayer,Clappr,Flowplayer,MediaElement,VideoJS

  • 支持HLS和MPEG-DASH协议的自适应比特率流

  • 无需服务器端软件。默认情况下,P2P Media Loader使用公开可用的服务器:

实现代码:

根据国外大佬修复了不隐藏控件的

<!DOCTYPE html>
<!--
    Copyright 2018 Novage LLC.
    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at
        http://www.apache.org/licenses/LICENSE-2.0
    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
-->
<html>
<head>

    <meta charset="UTF-8">

    <title>JWPlayer with hls.js engine and P2P demo</title>

    <script src="https://cdn.jsdelivr.net/npm/[email protected]/build/p2p-media-loader-core.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/[email protected]/build/p2p-media-loader-hlsjs.min.js"></script>
    <script src="./hola-jwplayer-hlsjs.min.js"></script>

    <script src="https://content.jwplatform.com/libraries/aG3IMhIy.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/[email protected]"></script>

    <style>
        #wrapper {
            width: 720px;
            margin-left: auto;
            margin-right: auto;
            display: block;
        }
    </style>

</head>
<body>
    <div id="wrapper">
        <div id="player"></div>
    </div>

    <script>
      jwplayer.key = "uoW6qHjBL3KNudxKVnwa3rt5LlTakbko9e6aQ6VUyKQ=";
        if (Hls.isSupported() && p2pml.hlsjs.Engine.isSupported()) {
            var engine = new p2pml.hlsjs.Engine();
            var player = jwplayer("player");
            player.setup({
                file: "<?php echo($_GET['url']);?>",
               playbackRateControls: true,
            });
            var provider = require("@hola.org/jwplayer-hlsjs");
            provider.attach();
            p2pml.hlsjs.initJwPlayer(player, {
                liveSyncDurationCount: 7, // To have at least 7 segments in queue
                loader: engine.createLoaderClass()
            });
        } else {
           var player = jwplayer("player");
          player.setup({
            autostart: true,
                sources: [{
                  file: "<?php echo($_GET['url']);?>",
                   type: "mp4"
                }],
          });
        }
    </script>

</body>
</html>

2

原创文章,作者:admin,如若转载,请注明出处:https://www.huiyingwu.com/1185/

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注