fawazahmed0 / youtube-uploader

Free youtube video uploader with no limits
MIT License
360 stars 84 forks source link

Upload stuck on "Details" #168

Open suikula opened 2 years ago

suikula commented 2 years ago

Im using latest version of youtube-uploader, but uploader gets stuck after video is uploaded to youtube. Title or description is never set.

It seems like uploadCompletePromise never happens.

        // Wait for upload to complete
        const uploadCompletePromise = page.waitForXPath('//*[contains(text(),"Upload complete")]', { timeout: 0 }).then(() => 'uploadComplete');

Im running puppeteer headless:false and I can see that there is not popups or anything else preventing the progress to go on.

I have set default upload settings in youtube, but do I have to use those same values in anywhere else (I understood that this is not needed) ?

progress { progress: 0, stage: 0 }
(node:254735) UnhandledPromiseRejectionWarning: TypeError: Promise.any is not a function
    at ./node_modules/youtube-videos-uploader/dist/upload.js:163:44
    at Generator.next (<anonymous>)
    at fulfilled (./node_modules/youtube-videos-uploader/dist/upload.js:5:58)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
(node:254735) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:254735) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
progress { progress: 80, stage: 0 }
progress { progress: 95, stage: 0 }
progress { progress: 0, stage: 0 }
progress { progress: 1, stage: 0 }
progress { progress: 2, stage: 0 }
progress { progress: 3, stage: 0 }

https://imgbox.com/9o5ErE7h <--- screenshot

EDIT:

upload gets stuck on "Details" not in "checks" as originally on title. Title, Description, thumbnail and playlist is not set automatically.

github-actions[bot] commented 2 years ago

Paid support is available for quick resolution, new features etc. For paid support, please write mail to youtube-uploader@datascraping.pp.ua

suikula commented 2 years ago

Im not node.js or js expert in any means and I was hoping to someone help me out to debug this problem.

suikula commented 2 years ago

Can this be the problem ?

        if (videoJSON.onProgress) {
            clearInterval(progressChecker);
            progressChecker = undefined;
            progress = { progress: 100, stage: types_1.ProgressEnum.Done };
            videoJSON.onProgress(progress);
        }

but in my case progress never gets to 100, but instead it finishes at 95..

progress { progress: 95, stage: 0 } progress { progress: 0, stage: 0 }

If this is the reason, do anyone have any workaround to try for this problem ? Any help is appreciated, thank you.

suikula commented 2 years ago

Not sure why but commenting these lines:

        const uploadResult = yield Promise.any([uploadCompletePromise, dailyUploadPromise]);
        if (uploadResult === 'dailyUploadReached') {
            yield browser.close();
            throw new Error('Daily upload limit reached');
        }

solved the problem

RDKclick commented 2 years ago

Have you solved it @suikula

RDKclick commented 2 years ago

With the latest version of node, this issue is resolved

torch2424 commented 2 years ago

I also came across this issue, and I was able to figure out what was going wrong by running in non-headless mode, for example:

update(credentials, [videoUpdate1, videoUpdate2], { headless: false }).then(console.log)

Then I was able to see that since I had JUST made the Youtube Channel, there was various verification things Youtube Requires before you can upload a video longer than 15 minutes or add any links to the description. Also! I learned that angle brackets (< or >) are not allowed in the Youtube Description.

And because of these things, things would break. Once I resolved these issues, everything ran great! 😄 🎉

pierreminiggio commented 2 years ago

(< or >) are not allowed in the Youtube Description.

Yup, I've always hated that, cauz' I then have to use unicode arrows rather than "->"