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

During fingerprinting, AVHashes returns empty when specifying secondsToProcess and startAtSecond while creating both audio and video fingerprints #207

Closed
jack4455667788 opened this issue Jul 3, 2023 · 3 comments

Comments

@jack4455667788
Copy link

jack4455667788 commented Jul 3, 2023

Describe the bug
When fingerprinting (haven't tested query yet) both audio and video simultaneously, if you supply secondsToProcess and startsAtSecond paramaters the AVHashes returned is always empty (isEmpty=true). Fingerprints are returned as expected if only MediaType.Audio or MediaType.Video are specified, but both (MediaType.Audio | MediaType.Video) does not. Based on the time it takes, it seems likely it is doing neither video or audio hashing of any kind, and just returning the empty AVHash.

To Reproduce
Steps to reproduce the behavior:

  1. Try to fingerprint a file (containing audio and video) specifying secondsToProcess, startsAtSecond, and "MediaType.Audio | MediaType.Video" paramaters in the .from method of the FingerprintCommandBuilder.Instance.

Expected behavior
Returned fingerprint hashes for both video and audio from the timerange specified by secondsToProcess and startsAtSecond, instead of an empty AVHashes containing no fingerprints.

@jack4455667788 jack4455667788 changed the title During fingerprinting, AVHash returns empty when specifying secondsToProcess and statrtAtSecond while creating both audio and video fingerprints During fingerprinting, AVHashes returns empty when specifying secondsToProcess and statrtAtSecond while creating both audio and video fingerprints Jul 3, 2023
@jack4455667788 jack4455667788 changed the title During fingerprinting, AVHashes returns empty when specifying secondsToProcess and statrtAtSecond while creating both audio and video fingerprints During fingerprinting, AVHashes returns empty when specifying secondsToProcess and startAtSecond while creating both audio and video fingerprints Jul 3, 2023
@AddictedCS
Copy link
Owner

Can you please attach a file and provide the exact parameter values for both secondsToProcess and startsAtSecond so I can reproduce the issue?

@jack4455667788
Copy link
Author

Here is the sample file (downloaded format #22 with yt-dlp)

yt-dlp -f 22 https://www.youtube.com/watch?v=4sebEgloQEM

secondsToProcess = 10
startsAtSecond = 33

While playing around with it, it does seem that the particular values above are involved in the issue. There were some, like secondsToProcess = 10, and startsAtSecond = 1 which did appear to work.

In my use case, the secondsToProcess and startsAtSecond values are always doubles (many decimals) and are retrieved from previous query result matches. The above is just a contrived example with a sample file.

@AddictedCS
Copy link
Owner

It is fixed in v8.24.0, you will need to upgrade SoundFingerprinting.Emy to fix version.
Also, I suggest you re-index your database if you've used secondsToProcess parameter with both Audio | Video flags during track insertion.

Link to NuGet package: https://www.nuget.org/packages/SoundFingerprinting.Emy/8.24.0

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