import { Connection } from "./webrtc/connection.js"; import { uuid } from "./webrtc/uuid.js"; document.addEventListener("DOMContentLoaded", async () => { const connection = new Connection(); window.connection = connection; const testConfig = { userId: uuid(16, 16), roomId: "22s1111ss", sdkAppId: 1400653314, sceneCode: "2111", }; console.log("testConfig", testConfig); connection.init(testConfig, async () => { if (connection.client) { await connection.client.join({ roomId: testConfig.roomId }); console.log("userSig", connection.userSig); // connection.socket.on("init-scene", { // videos: ["0/0_1_0", "1/0_2_0"], // range: [start, end], // isRotate: true, // }); connection.socket.emit("getPush", { userId: testConfig.userId, roomId: testConfig.roomId, sceneCode: testConfig.sceneCode, userSig: connection.userSig, }); connection.socket.on("getPush", (data) => { console.log( "getPush", `ffmpeg -loglevel info -re -stream_loop -1 -i output.mp4 -c:v libx264 -preset fast -profile:v baseline -g 30 -sc_threshold 0 -b:v 1500k -f flv "${data}"` ); }); connection.socket.emit("init-webrtc"); console.log("connection.client", connection.client); connection.client.on("peer-join", (event) => { console.log("peer-join", event); }); connection.client.on("client-banned", () => { location.reload(); }); connection.client.on("stream-added", (event) => { const remoteStream = event.stream; const remoteUserId = remoteStream.getUserId(); console.warn("stream-added", remoteStream); console.warn( "received a remoteStream ID: " + remoteStream.getId() + " from user: " + remoteUserId ); // 若需要观看该远端流,则需要订阅它 connection.client.subscribe(remoteStream); }); // connection.client.on('network-quality', event => { // console.log(`network-quality, uplinkNetworkQuality:${event.uplinkNetworkQuality}, downlinkNetworkQuality: ${event.downlinkNetworkQuality}`) // // 自 v4.10.3 支持获取上、下行的 RTT 及丢包率 // console.log(`uplink rtt:${event.uplinkRTT} loss:${event.uplinkLoss}`) // console.log(`downlink rtt:${event.downlinkRTT} loss:${event.downlinkLoss}`) // }) connection.client.on("stream-subscribed", (event) => { const remoteStream = event.stream; // 远端流订阅成功,在HTML页面中创建一个