Novage / p2p-media-loader

An open-source engine for P2P streaming of live and on demand video directly in a web browser HTML page
https://novage.com.ua/p2p-media-loader/demo.html
Apache License 2.0
1.41k stars 311 forks source link

p2p不工作 #326

Closed sxh-netizen closed 6 months ago

sxh-netizen commented 8 months ago

我现在照着demo进行操作,但是打印的日志只有http连接,没有p2p连接,请问是我哪里弄错了吗 8e0ba7f0e8057569eb3195b0dd871bf

以下是html代码:

<html lang="en">
<head>
    <meta charset="UTF-8"/>

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

     <script src="https://cdn.jsdelivr.net/npm/p2p-media-loader-core@0.6.2/build/p2p-media-loader-core.js"></script>
        <script src="https://cdn.jsdelivr.net/npm/p2p-media-loader-hlsjs@0.6.2/build/p2p-media-loader-hlsjs.js"></script>

        <script src="https://cdn.jsdelivr.net/npm/clappr@latest"></script>

    <style>
        #video {
            width: 720px;
            margin-left: auto;
            margin-right: auto;
            display: block;
        }
    </style>
</head>
<body>
<div id="video"></div>

<script>
    const config = {
        loader: {
            trackerAnnounce: [
                "wss://tracker.webtorrent.dev"],       // here config the tracker url
        },
        rtcConfig: {
            iceServers: [
                {
                    urls: ["stun:stun.l.google.com:19302", "stun:global.stun.twilio.com:3478"]
                }
            ]
        }
    };
    if (p2pml.hlsjs.Engine.isSupported()) {
        var engine = new p2pml.hlsjs.Engine(config);

        var player = new Clappr.Player({
            parentId: "#video",
            source: "https://xxx.xxxxxx.89iot.cn:8466/api/profile/ts/test/test.m3u8",
            playback: {
                hlsjsConfig: {
                    liveSyncDurationCount: 7, // To have at least 7 segments in queue
                    loader: engine.createLoaderClass(),
                },
            },
        });

        p2pml.hlsjs.initClapprPlayer(player);
        player.setVolume(1); // 1%
        player.play();
        engine.on("peer_connect", peer => console.log("peer_connect", peer.id, peer.remoteAddress));
        engine.on("peer_close", peerId => console.log("peer_close", peerId));
        engine.on("segment_loaded", (segment, peerId) => console.log("segment_loaded from", peerId ? `peer ${peerId}` : "HTTP", segment.url));
    } else {
        document.write("Not supported :(");
    }
</script>
</body>
</html>
sxh-netizen commented 8 months ago

我用的流是我们服务器的视频流,所以不便公开

sxh-netizen commented 8 months ago

目前已得知,根据demo代码运行, tracker 服务器虽然 返回 101 但是没有任何数据返回

sxh-netizen commented 8 months ago

image

neonfuz commented 7 months ago

@sxh-netizen Do you have an ad-blocker installed? For me ublock origin was blocking the tracker...