koush / scrypted

Scrypted is a high performance video integration and automation platform
https://scrypted.app
Other
4.12k stars 247 forks source link

RTSP Rebroadcast Error #1543

Closed BrianInAz closed 1 month ago

BrianInAz commented 1 month ago

Describe the bug I am pulling a stream from Blue Iris via RTSP. Address is 'rtsp://192.168.30.98:8081/FDOORv3'.

Attempting to add to Scrypted, if I have the rebroadcast plugin enabled it fails repeatedly (see logs below). If I disable rebroadcast for this, the RTSP stream pops up just fine in Scrypted. The Rebroadcast log mentions an invalid url of '/FDOORv3/trackID=0'. I see log mention of 'a=control:trackID=0' but that's the limit of my research/knowledge.

To Reproduce Steps to reproduce the behavior:

  1. Add RTSP source (mine from Blue Iris) to Scrypted via RTSP plugin. (rtsp://192.168.30.98:8081/FDOORv3)

Expected behavior Rebroadcast should work. Intending to link to HomeKit.

Logs linux x64 #1 SMP PREEMPT_DYNAMIC PMX 6.8.4-2 (2024-04-10T17:36Z) server version: 0.114.0 plugin version: @scrypted/rtsp 0.0.55 ######################## 8/6/2024, 5:47:06 AM ######################## Rebroadcast Plugin: prebuffer sessions starting in 5 seconds Rebroadcast Plugin: prebuffer sessions starting in 5 seconds Rebroadcast Plugin: prebuffer sessions releasing if started Rebroadcast Plugin: error retrieving getVideoStreamOptions TypeError: Cannot read properties of undefined (reading 'map') Rebroadcast Plugin: at Object.onGet (/@scrypted/prebuffer-mixin/main.nodejs.js:1:118144) Rebroadcast Plugin: at async t.StorageSettings.getSettings (/@scrypted/prebuffer-mixin/main.nodejs.js:1:12462) Rebroadcast Plugin: at async Y.getMixinSettings (/@scrypted/prebuffer-mixin/main.nodejs.js:1:101512) Rebroadcast Plugin: at async Y.getSettings (/@scrypted/prebuffer-mixin/main.nodejs.js:1:66696) Rebroadcast Plugin: at async RpcPeer.handleMessageInternal (/root/.scrypted/node_modules/@scrypted/server/dist/rpc.js:602:37) Rebroadcast Plugin: error retrieving getVideoStreamOptions TypeError: Cannot read properties of undefined (reading 'map') Rebroadcast Plugin: at Object.onGet (/@scrypted/prebuffer-mixin/main.nodejs.js:1:118144) Rebroadcast Plugin: at async t.StorageSettings.getSettings (/@scrypted/prebuffer-mixin/main.nodejs.js:1:12462) Rebroadcast Plugin: at async Y.getMixinSettings (/@scrypted/prebuffer-mixin/main.nodejs.js:1:101512) Rebroadcast Plugin: Stream 1 prebuffer session started Rebroadcast Plugin: Stream 1 prebuffer session starting stream url rtsp://192.168.30.98:8081/FDOORv3 Rebroadcast Plugin: rtsp outgoing message Rebroadcast Plugin: OPTIONS rtsp://192.168.30.98:8081/FDOORv3 RTSP/1.0 Rebroadcast Plugin: CSeq: 0 Rebroadcast Plugin: User-Agent: Scrypted Rebroadcast Plugin: Rebroadcast Plugin: rtsp incoming message Rebroadcast Plugin: RTSP/1.0 200 OK Rebroadcast Plugin: CSeq: 0 Rebroadcast Plugin: Public: DESCRIBE, SETUP, TEARDOWN, PLAY Rebroadcast Plugin: Rebroadcast Plugin: rtsp outgoing message Rebroadcast Plugin: DESCRIBE rtsp://192.168.30.98:8081/FDOORv3 RTSP/1.0 Rebroadcast Plugin: Accept: application/sdp Rebroadcast Plugin: CSeq: 1 Rebroadcast Plugin: User-Agent: Scrypted Rebroadcast Plugin: Rebroadcast Plugin: rtsp incoming message Rebroadcast Plugin: RTSP/1.0 200 OK Rebroadcast Plugin: CSeq: 1 Rebroadcast Plugin: Content-Base: /FDOORv3 Rebroadcast Plugin: Content-Type: application/sdp Rebroadcast Plugin: Content-Length: 551 Rebroadcast Plugin: Rebroadcast Plugin: sdp v=0 Rebroadcast Plugin: o=- 29437 29437 IN IP4 0.0.0.0 Rebroadcast Plugin: s=Blue Iris

Rebroadcast Plugin: t=0 0

Rebroadcast Plugin: m=video 0 RTP/AVP 96 Rebroadcast Plugin: c=IN IP4 0.0.0.0

Rebroadcast Plugin: a=rtpmap:96 H264/90000 Rebroadcast Plugin: a=fmtp:96 packetization-mode=1;profile-level-id=42c028;sprop-parameter-sets=Z0LAKNoB4AiflmyAAAADAIAAABQHjBlQAA==,aM4PyA==

Rebroadcast Plugin: m=audio 0 RTP/AVP 97

Rebroadcast Plugin: a=rtpmap:97 MPEG4-GENERIC/16000/1 Rebroadcast Plugin: a=fmtp:97 streamtype=5;profile-level-id=1;mode=AAC-hbr;sizelength=13;indexlength=3;indexdeltalength=3;config=140856e500

Rebroadcast Plugin: rtsp outgoing message Rebroadcast Plugin: TEARDOWN rtsp://192.168.30.98:8081/FDOORv3 RTSP/1.0 Rebroadcast Plugin: CSeq: 2 Rebroadcast Plugin: User-Agent: Scrypted Rebroadcast Plugin: Rebroadcast Plugin: FDOORv3 restarting prebuffer session in 5 seconds Rebroadcast Plugin: Stream 1 prebuffer session ended with error TypeError: Invalid URL Rebroadcast Plugin: at new URL (node:internal/url:796:36) Rebroadcast Plugin: at t.RtspClient.writeRequest (/@scrypted/prebuffer-mixin/main.nodejs.js:1:50504) Rebroadcast Plugin: at t.RtspClient.request (/@scrypted/prebuffer-mixin/main.nodejs.js:1:53745) Rebroadcast Plugin: at t.RtspClient.setup (/@scrypted/prebuffer-mixin/main.nodejs.js:1:55127) Rebroadcast Plugin: at _ (/@scrypted/prebuffer-mixin/main.nodejs.js:1:111770) Rebroadcast Plugin: at t.startRtspSession (/@scrypted/prebuffer-mixin/main.nodejs.js:1:112226) Rebroadcast Plugin: at process.processTicksAndRejections (node:internal/process/task_queues:95:5) Rebroadcast Plugin: at async G.startPrebufferSession (/@scrypted/prebuffer-mixin/main.nodejs.js:1:84107) { Rebroadcast Plugin: code: 'ERR_INVALID_URL',

Server (please complete the following information): Proxmox 8.2.2

Hardware Model (please complete the following information): This RTSP stream is hosted by Blue Iris and works great when opened in VLC (File -> Open Network)

Client (please complete the following information, if applicable): I am using the Web GUI to add this to Scrypted via the RTSP plugin.

Additional context

koush commented 1 month ago

fixed