Open sarmong opened 3 months ago
YouTube did not rolled out this change globally yet. This is working fine for me at the moment. Will have to wait to see what is the actual change on YouTube.
Miniflux looks for a <meta>
object on the page with itemprop="duration"
, however this is missing in some rollouts of their interface. This seems to correspond to the new login prompt, however I'm not entirely sure because I don't have a google account. With a bit of casual searching through the page contents, I've been unable to find a replacement data source.
Youtube has started showing duration in ISO 8601 duration notation which miniflux is not able to parse. The format is also documented here https://tc39.es/proposal-temporal/docs/duration.html
As an example the following video https://www.youtube.com/watch?v=E55uSCO5D2w
contains this element <meta itemprop="duration" content="PT13M56S">
The existing behavior is to parse ISO 8601 from a <meta itemprop="duration">
tag, unless I am mistaken.
I missed the regex part, that makes it even more weird that it fails to parse them correctly most of the time for me.
It's due to Youtube's ongoing campaign against scraping/downloading/using the site without an account. Parsing will fail if it flags your IP, as the meta tag will be missing.
Yes, I downloaded the html page the way youtube returns it to my VPS and on top of the video there is this. (Which doesn't happen if I download the html from my PC).
Any ways to work around it?
Any ways to work around it?
There are a lot of people who would like to know the answer to that question.
Looking at yt-dlp and invidious issues regarding the same problems, seems like the only way around is somehow signing in and using tokens. I doubt that youtube will unblock DC IPs.
One workaround that I thought of for miniflux is that video html may be downloaded on the frontend, scraped for duration and it being sent to backend. I assume it will be very much against the app architecture, so doubt that the maintainers will approve such PR.
I am encountering the same issue where the meta
element is missing from the YouTube website, so I opened PR #2951 to optionally fetch the watch time from the YouTube API instead of the website.
Instead, every video shows
1 minute read
Apparently there has been some changes to Youtube, because invidious is also experiencing problems.