云端录制stop时返回435

问题和 微信小程序集成云端录制,结束录制时报错435 一样(已被关闭,所以只好新发一个)

没有录制文件产生。频道内没有用户发流,无录制对象。 也就是说至少要保证频道里有你一个录制机器外加一个主播两个uid在里头

我是 start 时 subscribeAudioUids / subscribeVideoUids 只填了主播的 uid (通过手机网页开的直播),刚开始看到报 435 错误时,我也是这样想的,所以调用 update 多加了一个观众的 uid (通过电脑网页观看的直播,没有摄像头的)进去,发现还是返回 435。

因为是直播场景,所以只需要录制主播的,oss上只有 m3u8 文件,没有 ts 文件

你本身的录制机器的uid多少,是否和主播的id重复了, 你看下频道号有咩,我查下

确定是没有重复的,cname 是 8b926ae9-3695-4135-81e7-cc7e02f06b09

image
互踢了,你的录制机器被一个Web加入的用户踹了

这样啊,那是我观众端调用的方法不对,我先查一下,谢谢!

互踢是因为两个uid相同吗?要是互踢是不是其中一个就看不了,可是发现两端都正常啊。

这是观众端的代码,我看了也没发现什么问题。

function hello_demo(app_id, channel, uid, token) {

            // Options for joining a channel

            var option = {

                appID: app_id,

                channel: channel,

                uid: uid,

                token: token,

            };

            if (!AgoraRTS.checkSystemRequirements()) {

                alert('Your web browser not support AgoraRTS!')

            } else {

                console.log('check success');

            }

            // Create a client

            rtc.client = AgoraRTC.createClient({mode: "live", codec: "h264"});

            AgoraRTS.init(AgoraRTC, {

                // 设置 SDK 文件夹中的解码库文件的线上访问地址。

                // SDK 会根据这里填写的路径来动态请求相应的解码库文件。

                wasmDecoderPath: "/js/AgoraRTS.wasm",

                asmDecoderPath: "/js/AgoraRTS.asm",

                // 保证流畅度,拉大延迟到 5s

                bufferDelay: 1000,

            });

            AgoraRTS.proxy(rtc.client);

            // Initialize the client

            rtc.client.init(option.appID, function () {

                console.log("init success");

                // 设置为观众

                rtc.client.setClientRole("audience", function (e) {

                    if (!e) {

                        console.log("setHost success");

                    } else {

                        console.log("setHost error", e);

                        alert('setHost');

                    }

                });

                // Join a channel

                rtc.client.join(option.token ? option.token : null, option.channel, option.uid ? +option.uid : null, function (uid) {

                    console.log("join channel: " + option.channel + " success, uid: " + uid);

                    rtc.params.uid = uid;

                    // 远端音视频已添加。

                    rtc.client.on("stream-added", function (evt) {

                        var stream = evt.stream; // 该 stream 为 rtsStream

                        console.log("new stream added ", stream.getId());

                        // Subscribe the stream.

                        rtc.client.subscribe(stream, {video: true, audio: true}, console.log);

                    });

                    rtc.client.on("stream-subscribed", function (e) {

                        var stream = e.stream; // 该 stream 为 rtsStream

                        // 播放

                        stream.play('video_view'); // 視頻播放窗口id

                    });

                }, function (err) {

                    console.error("client join failed", err);

                    alert('client join failed: ' + err);

                })

            }, function (err) {

                console.error(err);

                alert('init: ' + err.message);

            });

        }

踢的是你的录制服务器,录制服务器也拥有一个uid的,是在你请求录制的时候传入的

问题已解决,多谢!

不客气