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

Corrupt videoStream is received on the start_livestream event #2

Closed
davyrolink opened this issue Mar 14, 2021 · 8 comments
Closed

Corrupt videoStream is received on the start_livestream event #2

davyrolink opened this issue Mar 14, 2021 · 8 comments
Assignees
Labels
bug Something isn't working fixed

Comments

@davyrolink
Copy link

Describe the bug
Corrupt videoStream is received on the start_livestream event (blockiness/colour artifacts).

To Reproduce

  1. git clone git@github.com:davyrolink/eufy-test-stream.git
  2. cd eufy-test-stream
  3. nano src/App/Parameters.ts (edit this file; enter your username, password and cameraDeviceId)
  4. npm install
  5. npm run start-dev (takes +/- 15sec)
  6. ffplay output/test-stream.dump (ffplay / ffmpeg must be installed)

The video stream that is captured is corrupt and shows blockiness/colour artifacts.

Expected behavior
A video stream dump without artifacts.

Screenshots & Logfiles
test-stream dump example01

Versions:

  • eufy-security-client: 0.6.0
  • Operating system: macOS
  • Device: Battery Doorbell 2K (T8210)

Additional context
The Eufy app settings for the camera "Video Quality" make a difference to the amount of corruption.
Worst case: Steaming Quality -> High, Video Encoding Format -> High

The problem is almost not visible during night time (black&white), only some small artifacts

@bropat bropat self-assigned this Mar 16, 2021
@bropat bropat added bug Something isn't working work in progress Working on it labels Mar 16, 2021
@bropat
Copy link
Owner

bropat commented Mar 17, 2021

Hi @davyrolink ,
I think I have found the error. I am working on fixing it. As soon as I have a test version available I will let you know (unfortunately I don't have a doorbell to test).

@bropat
Copy link
Owner

bropat commented Mar 17, 2021

Hi @davyrolink,
please try the attached version 0.6.1 and let me know if the problem is fixed.

PS: Please rename attached file to eufy-security-client-0.6.1.tgz (.tgz is an unsupported attachment on github).

eufy-security-client-0.6.1.tgz.zip

To install use the following command:

npm install eufy-security-client-0.6.1.tgz

@bropat bropat added fixed. waiting for feedback Issue should be fixed. Waiting on feedback and removed work in progress Working on it labels Mar 17, 2021
@davyrolink
Copy link
Author

Hi @bropat,

I just tested the new version, but unfortunately the issue seems unchanged. I sent you a mail to your gmail mail address to exchange some additional debug details.

bropat added a commit that referenced this issue Mar 30, 2021
Added new P2P feature: lock/unlock smart lock products
Optimized speed of P2P connection establishment
Trying to solve issue #2
Dropped support for NodeJS 10.x (min. requirement 12)
Updated versions of the package dependencies
@bropat bropat removed the fixed. waiting for feedback Issue should be fixed. Waiting on feedback label Apr 2, 2021
@bropat
Copy link
Owner

bropat commented Apr 4, 2021

Hi @davyrolink,

one reason for this glitch could also be the change of resolution during the stream, because Eufy provides that the resolution and FPS are adjusted depending on the connectivity. This is of course not handled by ffplay. From the source code I see that behind the scenes Eufy reinitializes and restarts the stream when it detects that the resolution has changed.

PS: If you enable the debug logs you can also see if the resolution has changed at runtime.

@bropat
Copy link
Owner

bropat commented May 16, 2021

@davyrolink

I tested it with version 0.8.1 and it seems to work:

image

Did you change something on your side? Some settings of the doorbell?

@davyrolink
Copy link
Author

@bropat I just updated my test repo ( https://github.com/davyrolink/eufy-test-stream ) to use 0.8.1

Unfortunately the issue seems unchanged for me, first few seconds ok, then artifacts/corruption..

eufy_20210516_110432

@bropat bropat added the work in progress Working on it label May 18, 2021
bropat added a commit that referenced this issue May 26, 2021
Added new high level property "type" for devices/stations
Updated versions of the package dependencies
@bropat bropat added fixed and removed work in progress Working on it labels May 26, 2021
@bropat
Copy link
Owner

bropat commented May 26, 2021

@davyrolink

Good news, finally found and fixed the issue after deep troubleshooting. :)

@davyrolink
Copy link
Author

Great work @bropat !! I can confirm that this resolves the issue, thanks 👍

jimmyfortinx added a commit to jimmyfortinx/eufy-security-client that referenced this issue Feb 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working fixed
Projects
None yet
Development

No branches or pull requests

2 participants