JSMpeg 无法从 RTSP 获取流

问题描述 投票:0回答:1

我正在尝试在网页内获取 RTSP 流,但实际上没有成功。

为此,我完全遵循了 JSMpeg 的教程:https://github.com/phoboslab/jsmpeg

使用自定义 FFMPEG 命令:

ffmpeg -i "rtsp://myurl/media.smp" \
 -vcodec h264 -f mpegts -codec:v mpeg1video -s 1290x980 -b:v 8000k \
 -r 25 -max_muxing_queue_size 9999 http://localhost:8081/supersecret

我的 websocket 可以很好地接收我的连接。

但我的画布仍然是一个白色的正方形:

奇怪的是,当我用 false 更改 websocket url 时,在我的代码中,画布会变成黑色。

所以我猜当它收到东西时它会变成白色。

感谢帮助

javascript websocket ffmpeg rtsp jsmpeg
1个回答
0
投票

您很可能已经解决了这个问题,只需将这些问题留在这里供其他遇到相同问题的人使用。

就我而言,我忘记了在新创建的流对象上调用

start()

下面的函数是我创建的对象的一部分,用于跟踪实例化中的流,对于多客户端多流情况很有用。

createStream: async function (rtspURL) {
        const myPort=9999
        console.log(`Assigning port ${myPort} to new stream` );
        try {
            this.streams[rtspURL] = new Stream({
                name: 'stream:'+rtspURL,
                url: rtspURL,
                wsPort: myPort
            });
            console.log("New stream instance created");
            console.log(this.streams[rtspURL] );
            this.streams[rtspURL].start();
            return myPort;
        } catch (error) {
            console.error("Error while instanciating new stream")
        }
    }
© www.soinside.com 2019 - 2024. All rights reserved.