Open valenium opened 11 months ago
Still an issue?
Ive been having this issue for a while. Sometimes it works sometimes it doesnt
https://youtu.be/Eim2GpHNQDg?feature=shared
could the issue have anything to do with '?feature=shared'
always have this issue, I've confirmed that the original video's transcript is NOT DISABLED and tried multiple different network environment.
I am goin through the exact same thing right now. It was working well all week long then boom - "Transcript is disabled on this video". I tried it on a video that I had a transcript for before and I got the same result.
Based on a previous issue (the specific one escapes me), someone mentioned that the root cause is YouTube's official ban on the IP address where the script is executed. Unfortunately, there's nothing we can do to resolve this directly. The only workaround is to route the request through a proxy with an IP address that hasn't been banned.
Based on a previous issue (the specific one escapes me), someone mentioned that the root cause is YouTube's official ban on the IP address where the script is executed. Unfortunately, there's nothing we can do to resolve this directly. The only workaround is to route the request through a proxy with an IP address that hasn't been banned.
any way to fix it?
it works on my home wifi but not on the server
it works on my home wifi but not on the server
I have been meaning to get to this. I discovered this library is just a scrapper. Google banned a lot of public IP’s from being able to do that so the only way you can run it is through your own IP or a proxy and that’s a big risk because you’d probably be ban too. My current workaround is using a web scrapper that scrapes from a website that has it figured out. I am hoping to deploy another type of scraper in the cloud that works with a dynamic link and returns the transcript that way I wouldn’t be dealing with YouTube directly. Since it’s for personal use I shouldn’t draw too much attention to the website.
if youre stuck on this youtubei.js
package worked for me but its a bit more involved
if youre stuck on this
youtubei.js
package worked for me but its a bit more involved
@9EED do you have working code you could share with the library or just explain how you got it to work
@9EED do you have working code you could share with the library or just explain how you got it to work
yeah here is it @OpeyemiSanusi i only got the text snippets here but you can get the times too
import {Innertube} from 'youtubei.js/web';
const youtube = await Innertube.create({
lang: 'en',
location: 'US',
retrieve_player: false,
});
const fetchTranscript = async (): Promise<string[]> => {
try {
const info = await youtube.getInfo(url);
const transcriptData = await info.getTranscript();
return transcriptData.transcript.content.body.initial_segments.map((segment) => segment.snippet.text)
} catch (error) {
console.error('Error fetching transcript:', error);
throw error;
}
};
@9EED do you have working code you could share with the library or just explain how you got it to work
yeah here is it @OpeyemiSanusi i only got the text snippets here but you can get the times too
import {Innertube} from 'youtubei.js/web'; const youtube = await Innertube.create({ lang: 'en', location: 'US', retrieve_player: false, }); const fetchTranscript = async (): Promise<string[]> => { try { const info = await youtube.getInfo(url); const transcriptData = await info.getTranscript(); return transcriptData.transcript.content.body.initial_segments.map((segment) => segment.snippet.text) } catch (error) { console.error('Error fetching transcript:', error); throw error; } };
@9EED I can't thank you enough! I got it to work! The transcript is a bit messy with the ([Â __Â ]) but it's way better than what i was working on. I appreciate this so much!
@9EED Thanks a lot man! was struggling for almost 8 hours. This helped.
@hexxt-git thanks so much, that works for me too.
Tried youtube-transcript
on Cloudflare, Firebase functions, Digital Ocean docker, they seem all banned or rate limited by Google. Then tried youtubei.js and it works! Used video ID instead of url
in youtube.getInfo(url);
though.
That is due to Youtube banning ISP ips. I have made a working solution using oauth2 that doesn't uses proxies and avoids Youtube ban. You can use it for free on Apify: https://apify.com/invideoiq/video-transcript-scraper. You only pay for Apify usage, however Apify gives you free credit of 5$ which will give you around 5000 transcripts
i have the same issue on my Ubuntu server (local works fine) and I can confirm using youtubei.js
does work (for now) using @hexxt-git's above method, except I pass in the ID of the video to getInfo
not the URL.
I have received this error message, despite putting a youtube video through that I had previously received a transcript for the day before.
Wondering if I have made too many requests?