-
Notifications
You must be signed in to change notification settings - Fork 57
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
Bad RTSP data framing #26
Comments
I will explain what the error means and then we can work out what is happening. You are using RTSP in the mode where it mixes RTSP messages (which are the high level commands like DESCRIBE, SETUP, PLAY, PAUSE, TEARDOWN) with the low level RTP data which is the video and audio data. The data stream from the video server uses special markers in the data stream to identify if the next bit of data is an RTSP message or if it is Video data or Audio data (ie the RTP data) What the error means is that Yellowstone read some data and was unable to decide of the data was a RTSP message or an RTP message. Now you may get the error if it fails to read any data. If your computer locked, maybe the Socket connection to the video server stopped and that may cause the error. |
I got this error again without a screen lock. This time it took 1 hour before the error occurred. I would like to keep the stream going after this error has happened. What will happen if i remove "throw error" and replace it with console.log? Will it keep streaming and ignore the bad frame or whatever it is? :)
|
Hi, What is the video source that is causing this? |
I use D-Link Vigilance DCS-4602. How do you suggest to catch this error? (To do a reconnect) |
In regards to the reconnect issue. |
Hi |
I did some more testing and managed to pull some data when this error happens.
Here is the console.log that creates the output:
EDIT: However, I removed the "throw error" if none of the if-statements matches (Within _onData()) and changed it to a "break" to throw that buffer away and keep the data flowing. I will test and see if the error at least does not crash Yellowstone with this change. View Changes |
I can now confirm that just throwing the bad buffer is the way to go. At least it works. The changes I linked in the post above contains another commit which can be ignored. Whenever a bad buffer appears, do not throw an error. Just break out of the while loop. |
Hello!
I ran a 15 min test of this library and got this error:
I can do more tests as I have integrated this library into a project that I will work a lot more on.
Tell me what I can do to help solve this issue.
Btw.
When the error occurred my computer had locked the screen(because i did not use the computer). When I unlocked I noticed the error. I ran a longer test while using the computer and no error occurred.
The text was updated successfully, but these errors were encountered: