node-rtsp-stream质量在浏览器中很低,尽管vlc质量很好

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

我使用node-rtsp-stream和jsmpeg在浏览器中流和显示来自IP摄像机的视频。我使用rtsp://:554 / Steaming / Channels / 102地址在vlc中获得了良好的质量。但是,当我使用jsmpeg在浏览器中显示流时,其质量太低。

我的机器是Windows 10,

ip摄像机不在我的本地网络中,因此可以通过Internet访问它(在vlc中没有问题,],>

我尝试了以下一些选项,但没有帮助。

wsPort: 9999,
width: 352,
height: 288,
fps: '24',
kbs: '2048k',
ffmpegOptions: { // options ffmpeg flags
'-stats': '', // an option with no neccessary value uses a blank string
'-r': 20, // options with required values specify the value after the key
'-q:v': 32, // quality video in scale [2, 32]
'-b': '2000K' // video bitrate
}

这是我的源代码,

app.js

Stream = require('node-rtsp-stream')
stream = new Stream({
    name: 'name',
    streamUrl: rtspUrlAddress,
    wsPort: 9999,
    width: 352,
    height: 288,
    fps: '24',
    kbs: '2048k',
    ffmpegOptions: { 
        '-stats': '', 
        '-r': 20, 
        '-q:v': 32, 
        '-b': '2000K' 
    }
})

index.html

<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>rtsp-stream</title>

    <div><canvas id="videoCanvas" width="352" height="288"></canvas></div>

    <script type="text/javascript" src="jsmpeg.js"></script>
    <script type="text/javascript">
        var canvas = document.getElementById("videoCanvas");

        var ws = new WebSocket("ws://localhost:9999")

        var player = new jsmpeg(ws, {
            canvas: canvas,
            autoplay: true,
            audio: false,
            loop: true
        });
    </script>
</head>

<body>
    <div class="jsmpeg" data-url=""></div>
</body>

</html>

它没有给出任何错误,因此它似乎没有问题。任何帮助表示赞赏。预先感谢。

我使用node-rtsp-stream和jsmpeg在浏览器中流和显示来自IP摄像机的视频。我使用rtsp://:554 / Steaming / Channels / 102地址在vlc中获得了良好的质量。但是,当我使用jsmpeg进行...

rtsp rtsp-client
1个回答
0
投票

遇到相同的问题,并使用新版本的JSMpeg(jsmpeg.min.js)进行修复。还使用了node-rtsp-stream-es6。

© www.soinside.com 2019 - 2024. All rights reserved.