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

Issue with RTSP server on a Panasonic camera through TcpWsProxyPipeline #1045

Open
Erikmmkarlsson opened this issue Oct 4, 2024 · 1 comment
Labels
bug Something isn't working

Comments

@Erikmmkarlsson
Copy link

I am currently testing out this library with a panasonic camera where a RTSP server is running. I use the provided websocket proxy to communicate with the camera, and I run the example-streams-web/test/h264.html example, where I have modified the the rtsp to my camera:

ws: { uri: `ws://${host}:8854/` },
rtsp: { uri: `rtsp://192.168.100.56:554/mediainput/h264/stream_1` },

I see in the debug logs that I have established connection with the following headers:

msl:rtsp:outgoing OPTIONS rtsp://192.168.100.56:554/mediainput/h264/stream_1 RTSP/1.0

msl:rtsp:incoming RTSP/1.0 200 OK

msl:rtsp:outgoing DESCRIBE rtsp://192.168.100.56:554/mediainput/h264/stream_1 RTSP/1.0

msl:rtsp:incoming RTSP/1.0 200 OK

And then it sends a setup that looks like this:

msl:rtsp:outgoing SETUP rtsp://192.168.100.56/MediaInput/h264/trackID=1 RTSP/1.0
CSeq: 3
Blocksize: 64000
Transport: RTP/AVP/TCP;unicast;interleaved=0-1

And then I get an error:

closing socket due to incoming error RangeError: "value" argument is out of bounds
    j index.js:1395
    writeUInt32BE index.js:1484
    y isom.ts:167
    copy isom.ts:1183
    copy isom.ts:1183
    copy isom.ts:1183
    transform index.ts:44
    _read _stream_transform.js:166
    _write _stream_transform.js:155
    bn _stream_writable.js:390
    Du _stream_writable.js:381
    write _stream_writable.js:302
    p _stream_readable.js:629
    emit events.js:153
    ...

msl:websocket:close 1005 +0ms
index.ts:84 msl:websocket:outgoing finish +0ms

I can reach the camera with vlc without any issues. This error seems to be happening from the websocket source when receiving the message from the camera. In the writeUInt32BE, when the error itself occurs the "value" is -1441792.

In Wireshark I can see that the rtsp server on the camera responds with 200 ok after the outgoing setup, and the complete message looks like this:
image

@Erikmmkarlsson Erikmmkarlsson added the question Discussion about functionality label Oct 4, 2024
@steabert
Copy link
Member

steabert commented Oct 14, 2024

Could be a bug or some thing that it wasn't designed to handle. You can have a look at the discussion in #294. Going to mark this as a bug for now until we know more.

If you can find out more about where exactly it happens (what kind of data it is processing at that moment) that would help!
From your report's line numbers it seems to be in the moov box, you can log the entire data of the box in the transform function.

@steabert steabert added bug Something isn't working and removed question Discussion about functionality labels Oct 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants