liusuyi
2024-10-10 38f29e38fcc668171dc05c53d40a36b895c86102
ard-work/src/main/resources/templates/preview.html
@@ -101,7 +101,7 @@
            <button class="toggle-button" onclick="changeGrid(7, 7)">7x7</button>
            <button class="toggle-button" onclick="changeGrid(8, 8)">8x8</button>
            <button class="toggle-button" onclick="changeGrid(9, 9)">9x9</button>
            <input id="videoUrl" type="text" value="http://192.168.1.227:8889/164/" style="width: 250px"/>
            <input id="videoUrl" type="text" value="http://192.168.1.227:8889/0d1c9f80a7b4480c8b401ba6b140b581_1/" style="width: 250px"/>
        </div>
    </div>
</div>
@@ -110,6 +110,10 @@
    console.log(RTCRtpReceiver.getCapabilities('video').codecs)
    console.log(RTCRtpReceiver.getCapabilities('audio').codecs)
    //whep操作方法
    const restartPause = 2000;
    const unquoteCredential = (v) => (
        JSON.parse(`"${v}"`)
    );
    const linkToIceServers = (links) => (
        (links !== null) ? links.split(', ').map((link) => {
            const m = link.match(/^<(.+?)>; rel="ice-server"(; username="(.*?)"; credential="(.*?)"; credential-type="password")?/i);
@@ -190,9 +194,6 @@
            console.log("requesting ICE servers");
            fetch(this.wurl, {
                method: 'OPTIONS',
                headers: {
                    'Referer': this.wurl,
                },
            })
                .then((res) => this.onIceServers(res))
                .catch((err) => {
@@ -232,7 +233,6 @@
                method: 'POST',
                headers: {
                    'Content-Type': 'application/sdp',
                    'Referer': this.wurl,
                },
                body: offer.sdp,
            })
@@ -240,8 +240,9 @@
                    if (res.status !== 201) {
                        throw new Error('bad status code');
                    }
                   // this.eTag = res.headers.get('ETag');
                    // this.eTag = res.headers.get('ETag');
                    this.eTag = res.headers.get("ETag") || res.headers.get('E-Tag');
                    this.wurl = new URL(res.headers.get('location'),  this.wurl.origin).toString();
                    return res.text();
                })
                .then((sdp) => this.onRemoteAnswer(new RTCSessionDescription({
@@ -300,7 +301,6 @@
                headers: {
                    'Content-Type': 'application/trickle-ice-sdpfrag',
                    'If-Match': this.eTag,
                    'Referer': this.wurl,
                },
                body: generateSdpFragment(this.offerData, candidates),