empty downloaded file from youtube
problem description
I was thinking of using a proxy instead of cookies (since making new accounts other day is becoming really hard), but when I tried this in my local environment, without cookies, the downloaded file ends up as an empty 0-byte file. The same happens when I use a proxy.
I tested the proxy, and it seems to work because, when I don't use the proxy on a server (with a data center IP), I get a youtube login error. But when I use the proxy, there's no login error anymore. However, the downloaded file is still empty.
I noticed that when using cookies, the YouTube info I logged shows that the download links ( those googlevideo.com links ) work, but without a proxy or without cookies, the links return a 403 error.
I am using cobalt v10.0.0
UPDATE: I tested the proxy more on my phone and pc and youtube is working perfectly fine.
tldr: without using cookies youtube downloading doesn't give any API error but an empty file is received ( 0-bytes )
my instance configuration
API_URL=http://localhost:9000/
API_PORT=9000
API_NAME=local
API_EXTERNAL_PROXY=http://user:pass@ip:port
you need to use cookies
you need to use cookies
yeah that's what I am currently doing but can't we use proxy to do the same thing as using ISP proxy doesn't give Youtube login error ( youtube seems to work )
youtube probably changed something
Strangely i got it fixed by changing the client from IOS to always using ANDROID
info = await yt.getBasicInfo(o.id, 'ANDROID'); in /api/src/processing/services/youtube.js
I don't know why IOS client was there but this fixed for me.
@wukko was there is any specific reason you were using IOS client when there was no youtube session present as I don't want to break the downloader in long term.
@2shiraz Hello bro i have same issue in my side can you help me when i click to donwload button 0 byte file is downlaod my site is based on django
I have the same issue but on the main server