ReVanced / revanced-patches

🧩 Patches for ReVanced
https://revanced.app
GNU General Public License v3.0
2.41k stars 277 forks source link

feat(YouTube - DeArrow): Add an option to show only crowd sourced thumbnails and not random screen captures #2621

Open Jeanfeels opened 9 months ago

Jeanfeels commented 9 months ago

Bug description

Expected behaviour with DeArrow enabled: Screenshot_20240116-222919 (1) Screenshot_20240116-221835 (1)_1

Actual behaviour with DeArrow enabled: Screenshot_20240116-221921 (1)

Proof video has no submitted thumbnails, and thus should be using the original thumbnail: Screenshot_20240116-222755_Discord (1)

Proof of correct settings in revanced: Screenshot_20240116-215740

Error logs

n/a

Solution

Check implementation and ensure this behaviour is adhered to properly by default Screenshot_20240116-222919 (1)

Additional context

No response

Acknowledgements

LisoUseInAIKyrios commented 9 months ago

What you are seeing is the expected behavior for the current implementation.

The DeArrow thumbnail service provides a user selected thumbnail, or if no user selected thumbnail is available it sometimes provides a screen capture of a random video time.

Currently the /api/v1/getThumbnail end point does not allow requesting only user selected thumbnails.

This could be fixed by either:

  1. ReVanced can make an additional DeArrow API call (/api/branding) and check if any user generated thumbnails exist, and then not use DeArrow if a video has only random screen captures. This will increase the loading time of thumbnails since it adds an extra round trip API call.

  2. DeArrow thumbnail end point could add an extra parameter to return only user selected thumbnails.

Option 2 is the best solution, but it requires DeArrow to add the API parameter.

indrastorms commented 9 months ago

What you are seeing is the expected behavior for the current implementation.

The DeArrow thumbnail service provides a user selected thumbnail, or if no user selected thumbnail is available it sometimes provides a screen capture of a random video time.

Currently the /api/v1/getThumbnail end point does not allow requesting only user generated thumbnails.

This could be fixed by either:

1. ReVanced can make an additional DeArrow API call (`/api/branding`) and check if any user generated thumbnails exist, and then not use DeArrow if a video has only random screen captures.  This will increase the loading time of thumbnails since it adds an extra round trip API call.

2. DeArrow thumbnail end point could add an extra parameter to return only user generated thumbnails.

Option 2 is the best solution, but it requires DeArrow to add the API parameter.

@ajayyy what do you think about this?