Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Is decoding performed on the client(jsmpeg.min.js) or the server(node-rtsp-web)? #428

Open
Goohyun3436 opened this issue Mar 26, 2024 · 1 comment

Comments

@Goohyun3436
Copy link

Goohyun3436 commented Mar 26, 2024

I tried streaming multichannel using server(node-rtsp-web) and client(jsmpeg.min.js).

When I register more than 4 channels, the frame breaks.

Is "jsmpeg.min.js" simply the role of converting base64 values to suit canvas or does it perform decoding?

Or is it transmitting the decoding value from ffmpeg on server(node-rtsp-web) to the client(jsmpeg.min.js) using webSocket?



index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>node-rtsp-web</title>
</head>
<body>
    <canvas id="canvas"></canvas>
    <script type="text/javascript" src="/jsmpeg.min.js"></script>
    <script type="text/javascript">
        player = new JSMpeg.Player(`ws://SERVER_URL:STREAM_PORT`, {
            canvas: document.getElementById('canvas')
        })
    </script>
</body>

</html>

server.js

Stream = require('node-rtsp-stream')

stream = new Stream({
    name: `STREAM`,
    streamUrl: RTSP_URL,
    wsPort: WS_PORT,
    ffmpegOptions: {
        '-s': '640x360',
        '-b:v': '1000k',
        '-r': 20
    }
})
@phoboslab
Copy link
Owner

phoboslab commented Mar 26, 2024

I'm not familiar with node-rtsp-web, but it seems to transcode any(?) input video into MPEG1 on the server. So MPEG1 video goes over the wire.

JSMpeg decodes MPEG1 on the client.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants