Giter Club home page Giter Club logo

vimeo-private-downloader's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vimeo-private-downloader's Issues

FFMPEG could not be found

I managed to get everything done. Video File is downloaded, Audio File is downloaded, both works.

I managed to run the bash script "sh vimeo-combine.sh" but then it says "FFMPEG" is not recognized or something.

Don't know how to get around...

M4v but no audio

Hi there — first time posting an issue on Github. vimeo-private-downloader is downloading all parts of the video file and generating a m4v file, and then not continuing to download the audio segments. Any idea where the error may be? I'm not seeing an error message thrown in command line, the process simply stops.

Error: connect ETIMEDOUT 2001:4450:3a::ca8a:b370:443

Getting this error:
Video to be downloaded is uploaded in a private vimeo account, not sure if its encrypted, but it is embedded in a portal site.

Error: connect ETIMEDOUT 2001:4450:3a::ca8a:b370:443

Appears when:

  1. Master.json - has base64_init=1&query_string_ranges=1

  2. Tried removing &query_string_ranges=1, still occurs

  3. Tried removing ?base64_init=1, still occurs

Incompleted downloads are skipped if restart is needed

If occurs an error while you are downloading you'll need to stop the app in some cases.

Then, when you restart it, it considers that you already downloaded the incompleted file and just skip it. Then when you use the 'vimeo-combine' tool, the final video can be either with incomplete audio or video.

Expired links crashes the app

When there is a link in 'videojson.js' list that is expired the app crashes and finish.

What would you think could be a better solution? I was thinking that it could log a message to user set a new link, skip this one and try the next link.

undefined:1
410 Gone
    ^

SyntaxError: Unexpected token G in JSON at position 4
    at JSON.parse (<anonymous>)
    at IncomingMessage.<anonymous> ([...]/vimeo-private-downloader/vimeomaster.js:130:41)
    at IncomingMessage.emit (events.js:322:22)
    at endReadableNT (_stream_readable.js:1187:12)
    at processTicksAndRejections (internal/process/task_queues.js:84:21)

Audio/Video Cutoff

Your script is great! Thank you so much!
But I found one issue:
If I fill my videojson.js with a lot of master.json urls, which belong to huge videos, the audio and video source files are being downloaded corruptly.
Is there a way to download the files sequentially?

Error when launching the script

Hello and thank you for this very good work!

But I've got errors launching this script :

screenshot

Do you think you can help me?
Thank you very much from France!
Sylvain

audio is incomplete

Downloading video segment 81/82 of ./parts/vesica.m4v
→ 🏁 ./parts/vesica.m4v - video done
→ 📦 🎧 Downloading audio segment 0/82 of ./parts/vesica.m4a
→ 🏁 ./parts/vesica.m4v - video done
⚠️ vesica.m4a - audio is incomplete, restarting the download
→ 📦 🎧 Downloading audio segment 0/82 of ./parts/vesica.m4a
node:events:371
throw er; // Unhandled 'error' event
^

Error [ERR_STREAM_WRITE_AFTER_END]: write after end
at new NodeError (node:internal/errors:371:5)
at _write (node:internal/streams/writable:319:11)
at WriteStream.Writable.write (node:internal/streams/writable:334:10)
at IncomingMessage. (/Users/username/Documents/GitHub/vimeo-private-downloader/index.js:114:34)
at IncomingMessage.emit (node:events:394:28)
at addChunk (node:internal/streams/readable:312:12)
at readableAddChunk (node:internal/streams/readable:287:9)
at IncomingMessage.Readable.push (node:internal/streams/readable:226:10)
at HTTPParser.parserOnBody (node:_http_common:141:24)
at HTTPParser.execute ()
Emitted 'error' event on WriteStream instance at:
at emitErrorNT (node:internal/streams/destroy:157:8)
at emitErrorCloseNT (node:internal/streams/destroy:122:3)
at processTicksAndRejections (node:internal/process/task_queues:83:21) {
code: 'ERR_STREAM_WRITE_AFTER_END'
}

Error while running vimeo-combine.sh script

Hi guys, Thanks so much for this awesome script. I tried it today and it didn't work for me. not sure if I'm doing something wrong, so apologize if this is something basic I'm missing.

I ran it using this node vimeo-combine.sh

Everything else ran perfectly fine, but when I got to combining the audio and video file, it returned this error. Has anyone else had this issue?

SyntaxError: Invalid or unexpected token at wrapSafe (internal/modules/cjs/loader.js:1054:16) at Module._compile (internal/modules/cjs/loader.js:1102:27) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1158:10) at Module.load (internal/modules/cjs/loader.js:986:32) at Function.Module._load (internal/modules/cjs/loader.js:879:14) at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12) at internal/main/run_main_module.js:17:47

Not currently working

No longer works with current private videos unfortunatly.

`undefined:1

^

SyntaxError: Unexpected token < in JSON at position 0
at JSON.parse ()
at IncomingMessage. (C:\Users\Helium\Downloads\vimeo-private-downloader-master\vimeo-private-downloader-master\vimeomaster.js:135:41)
←[90m at IncomingMessage.emit (events.js:327:22)←[39m
←[90m at endReadableNT (internal/streams/readable.js:1327:12)←[39m
←[90m at processTicksAndRejections (internal/process/task_queues.js:80:21)←[39m
`

Error: read ECONNRESET

At some point when downloading video segments, I have a ECONNRESET error and it automatically switches to downloading audio segments.

...
→ 📦 📹 Downloading video segment 24/728 of ./parts/lm.m4v
→ 📦 📹 Downloading video segment 25/728 of ./parts/lm.m4v
→ 📦 📹 Downloading video segment 26/728 of ./parts/lm.m4v
→ ⚠️  Error: read ECONNRESET
→ 📦 🎧 Downloading audio segment 0/728 of ./parts/lm.m4a
→ 📦 🎧 Downloading audio segment 1/728 of ./parts/lm.m4a
→ 📦 🎧 Downloading audio segment 2/728 of ./parts/lm.m4a
...
→ 📦 🎧 Downloading audio segment 725/728 of ./parts/lm.m4a
→ 📦 🎧 Downloading audio segment 726/728 of ./parts/lm.m4a
→ 📦 🎧 Downloading audio segment 727/728 of ./parts/lm.m4a
→ 🏁  ./parts/lm.m4a - audio done

The audio segments finish successfully though.

Multithreading File Downloading

the download process usually starts with video files then audio files ,is it possible to use some threading to download both the files to save waiting time.

Error: connect ECONNREFUSED 88.221.27.153:443

Hello,

Thank you for this project.
I would like to know if it is still alive?

I got this message:

 ▶ node index.js
 → ⚠️  Error: connect ECONNREFUSED 88.221.27.153:443 

Sometimes it goes for some segments and then connection refused.

 ▶ node index.js
→ 📦 📹 Downloading video segment 0/2536 of ./parts/test.m4v
→ 📦 📹 Downloading video segment 1/2536 of ./parts/test.m4v
......
→ 📦 📹 Downloading video segment 94/2536 of ./parts/test.m4v
→ ⚠️  Error: connect ECONNREFUSED 88.221.27.153:443
→ 📦 🎧 Downloading audio segment 0/2536 of ./parts/test.m4a
→ ⚠️  Error: connect ECONNREFUSED 88.221.27.153:443

Not working anymore?

I have followed all steps. Video and Audio is downloading but not working. it was working few months back not any more.
I tried on both Mac and Windows 10 but same result. Event combine script is not working.

Only works with some videos

From my experience the script works for some videos and doesn't work for others.

Looking at master.json file of failed videos, I noticed that all of them have base_url='../../../', while the successful videos had base_url='../'. This is just an observation, not sure if it is actually causing the error.

Failed videos seem to be downloading fine, however they can't be previewed nor combined using the combine tool. Ffmpeg complains about not being able to find the moov atom during the combine process.

I wanted to paste the contents of master.json but it is rather large and is not accepted in pastebin.

error with characters from the titles of the list of "master.json"

sorry i'm learning i'm still learning to program and i still don't know how github works (unfortunately).

but I found a problem with characters in the titles of the lists.

when using ["], [?], ['] and ["] errors occur when saving the files in the "fs" (file System) and also with the executable "combine.sh"

Re: videojson.js file

Hi Tusko,
Thanks for the the instructions. I have a question about 4th point, please.

  • [OK] Open the browser developer tools on the network tab (F12 on Windows/Linux, CMD + Option + I on Mac OS).
  • [OK] Start the video (or move mouse over the video).
  • [OK] In the "Network" tab, locate the load of the "master.json" file, copy its full URL.
  • [Not OK] Fill in url and name(using as filename) fields in videojson.js file -- where does one fill these?

Many thanks!

a candy for run.sh

  1. get file name
ls *.m4a *.m4v | sed 's/.m4a//g;s/.m4v//g' | uniq
  1. format cmd string
ls *.m4a *.m4v | sed 's/.m4a//g;s/.m4v//g' | uniq | awk '{m4a=$0".m4a";m4v=$0".m4v";mp4=$0".mp4"; printf("ffmpeg -y -loglevel quiet -i \"%s\" -i \"%s\" -c copy \"%s\"\n", m4a, m4v, mp4) }'
  1. add some bash echo information and save to run.sh
ls *.m4a *.m4v | sed 's/.m4a//g;s/.m4v//g' | uniq | awk '{print "echo Runing Task "NR" - " $0}{m4a=$0".m4a";m4v=$0".m4v";mp4=$0".mp4"; printf("ffmpeg -y -loglevel quiet -i \"%s\" -i \"%s\" -c copy \"%s\"\n", m4a, m4v, mp4) }' > combine.sh
  1. run
chmod +x combine.sh
./combine.sh

quality options

is there any way to select the download quality?

thx so much for this script! it works amazingly well

node index.js throws an error

⚠️ The master.json file is expired or crushed. Please update or remove it from the sequence (broken on 0 position)

Any ideas why?

Error while running vimeomaster.js

Hi, I have node.js installed but encountered the following error while running node vimeomaster.js


c:\node\node-v12.18.1-win-x86>node vimeomaster.js
undefined:1
<HTML><HEAD>
^

SyntaxError: Unexpected token < in JSON at position 0
    at JSON.parse (<anonymous>)
    at IncomingMessage.<anonymous> (c:\node\node-v12.18.1-win-x86\node vimeomaster.js:123:41)
�[90m    at IncomingMessage.emit (events.js:327:22)�[39m
�[90m    at endReadableNT (_stream_readable.js:1221:12)�[39m
�[90m    at processTicksAndRejections (internal/process/task_queues.js:84:21)�[39m

I don’t know why I can’t download the video

Hello everyone, today I was preparing to download a video as usual, but I was prompted that the json was incorrect. I have confirmed that my operation was correct, and this is the URL I obtained:
https://179vod-adaptive.akamaized.net/exp=1714915362~acl=%2Fefcf1c6a-82c3-4629-82e1-e658a1cda6f2%2F%2A~hmac=60e86ad7793c5342198eee12d428f5f5e5a078d845ef4ee8cf5eda440c5e659a/efcf1c6a-82c3-4629-82e1-e658a1cda6f2/sep/video/18d065ce,46330b00,639288d3,a7f36529,d6628b67/audio/4682c1ac,96058176,a8449bea/master.json?base64_init=1&query_string_ranges=1
This is the error message:
1234567
I noticed that the URL I obtained today seems different from the ones I used to get. I was still able to use it on April 20th. I don't know if Vimeo has changed their format. If any of you friends have encountered the same issue and know how to resolve it, please let me know. I would be sincerely grateful.

Can't combine audio and video

Hello, I'm trying to combine audio and video and this message appears:

Runing Task 1 - ep110.mp4
./combine.sh: line 2: ffmpeg: command not found
Waiting for the debugger to disconnect...

Can you help please?

No subtitles downloaded

Hi Tusko,

I've managed to follow all the steps, but the subtitles have not been downloaded. Do I need to do anything else to grab those as well?

Many thanks,
G

Feature request: Make a simple GUI

Hi,

Thank you so much for this excellent tool! It has earned me some impressed remarks regarding "computer magic". I am aware that making the tool more user friendly might cause legal consequences. However, I believe that your software could be even more awesome by providing the full user-friendliness. I envision a simple GUI where the user only has to provide a URL or even a list of URLs. Then, the code opens the webpage (e. g. using Selenium), looks for the master.js file, writes the videojson.js file and then calls the existing code.

I'm looking forward to hearing your thoughts about my suggestion.

Cheers!

THANK YOU!

I just wanted to say "thank you!" for sharing this project. It really helped me out. ❤️

'sh' is not recognized as an internal or external command

PS D:\Downloads\VimeoPrivateDownloader> npm run combine

> [email protected] combine D:\Downloads\VimeoPrivateDownloader
> sh vimeo-combine.sh

'sh' is not recognized as an internal or external command,
operable program or batch file.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] combine: `sh vimeo-combine.sh`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] combine script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm WARN Local package.json exists, but node_modules missing, did you mean to install?

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\USER\AppData\Roaming\npm-cache\_logs\2021-06-04T09_07_09_038Z-debug.log

video is incomplete, restarting the download - ERROR

Error: found a segment with an empty url: {"start":0,"end":6.066666666666666,"url":"","size":1568577,"range":"8495-1577072"}
at D:\Downloads\vimeo-private-downloader-master\index.js:88:13
at Array.map ()
at processFile (D:\Downloads\vimeo-private-downloader-master\index.js:86:32)
at D:\Downloads\vimeo-private-downloader-master\index.js:40:5
at IncomingMessage. (D:\Downloads\vimeo-private-downloader-master\index.js:154:29)
at IncomingMessage.emit (node:events:526:35)
at endReadableNT (node:internal/streams/readable:1359:12)
at process.processTicksAndRejections (node:internal/process/task_queues:82:21)

SyntaxError: Unexpected token in JSON at position 0

I have 2 files ,one is completed and after running video master I have this error

SyntaxError: Unexpected token G in JSON at position 0
    at JSON.parse (<anonymous>)
    at IncomingMessage.<anonymous> (E:\temp\vimeo-private-downloader-master\vimeo-private-downloader-master\vimeomaster.js:131:41)
    at IncomingMessage.emit (events.js:327:22)
    at endReadableNT (_stream_readable.js:1220:12)
    at processTicksAndRejections (internal/process/task_queues.js:84:21)

hint : getJson function returns empty data.

ffmpeg: command not found

When running vimeo-combine.sh i am getting the below error:

./combine.sh: line 2: ffmpeg: command not found

downloaded video can not play and throw error on console

with the latest version, the downloaded video can not be played successfully and throw the blew error.
can you help to fix it, thank you very much?

my node version is 13.14.0

fs.js:1061
return binding.unlink(pathModule._makeLong(path));
^

Error: ENOENT: no such file or directory, unlink 'C:\Users\Administrator\Desktop\temporary\vimeo-private-downloader-master\parts.Beluga test.m4a~'
at Object.fs.unlinkSync (fs.js:1061:18)
at combineSegments (C:\Users\Administrator.ZGC-20130905TJJ\Desktop\temporary\vimeo-private-downloader-master\index.js:98:8)
at IncomingMessage.res.on (C:\Users\Administrator.ZGC-20130905TJJ\Desktop\temporary\vimeo-private-downloader-master\index.js:114:9)
at emitNone (events.js:111:20)
at IncomingMessage.emit (events.js:208:7)
at endReadableNT (_stream_readable.js:1064:12)
at _combinedTickCallback (internal/process/next_tick.js:139:11)
at process._tickCallback (internal/process/next_tick.js:181:9)

Can not change video quality

Hello,
Is there a way to change video quality? I tried with a video in 4k, 2k, 1080p, 720p, etc., changing this in the code:

const videoData = json.video.sort(v => v.height == 1080)

But the downloaded video is in 720p instead of 1080p.
Regards and thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.