Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Any way of detecting multi-section downloads (slugs)? #7250

Closed
artphotodude opened this issue Oct 20, 2015 · 7 comments
Closed

Any way of detecting multi-section downloads (slugs)? #7250

artphotodude opened this issue Oct 20, 2015 · 7 comments

Comments

@artphotodude
Copy link

@artphotodude artphotodude commented Oct 20, 2015

Have noticed a number of new videos (like Vimeo) download in multiple sections that get combined at the end - VERY COOL.

Is there a way I can test for this ahead of time? Am hoping that in cases were they will download in this fashion to have them go to a temp folder and then get moved when all done.

@yan12125
Copy link
Collaborator

@yan12125 yan12125 commented Oct 21, 2015

Which video are you downloading? Please provide the full verbose log with --verbose.

@artphotodude
Copy link
Author

@artphotodude artphotodude commented Oct 21, 2015

Here is an example:

it produces a series of '.part-Frag' files that get put together at the end. Am wondering if there is a way can tell when a video like this is coming in and set it to download to a hidden file and then appear on the desktop once youtube-dl finishes with it. I saw the m3u8 in the output. Would that be the thing to watch for??

theMachine:~ pcUser$ youtube-dl https://vimeo.com/channels/staffpicks/141041381 --verbose
[debug] System config: []
[debug] User config: []
[debug] Command-line args: [u'https://vimeo.com/channels/staffpicks/141041381', u'--verbose']
[debug] Encodings: locale US-ASCII, fs utf-8, out US-ASCII, pref US-ASCII
[debug] youtube-dl version 2015.10.18
[debug] Python version 2.7.8 - Darwin-8.11.0-Power_Macintosh-powerpc-32bit
[debug] exe versions: none
[debug] Proxy map: {}
[vimeo] 141041381: Downloading webpage
[vimeo] 141041381: Extracting information
[vimeo] 141041381: Downloading webpage
[vimeo] 141041381: Downloading m3u8 information
[debug] Invoking downloader on u'https://skyfire.vimeocdn.com/1445446580-0x7b674f9da5f2b8bdb2d5720a8572e27c020a03f5/141041381/video/429965026/playlist.m3u8?p=6'
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 75
[download] Destination: DARKLIGHT - 4K Full Film by Sweetgrass Productions-141041381.mp4

@dstftw
Copy link
Collaborator

@dstftw dstftw commented Oct 21, 2015

What do you mean by test it ahead of time? You can extract metadata and check protocol field for selected format. If it's m3u8, m3u8_native, f4m or http_dash_segments it will be downloaded in chunks since that's the way media delivered via these protocols. There is no option in youtube-dl to download in temp since it will only complicate download resuming and generally pointless.

@dstftw dstftw closed this Oct 21, 2015
@artphotodude
Copy link
Author

@artphotodude artphotodude commented Oct 21, 2015

My application already can download it to a temp directory. I am just trying to find how to query it to get that data. So you are saying it is in the use of the protocol flag, how is that called?

@artphotodude
Copy link
Author

@artphotodude artphotodude commented Oct 21, 2015

If I do a --get-url on it I get:
youtube-dl --get-url https://vimeo.com/channels/staffpicks/141041381
https://skyfire.vimeocdn.com/1445451522-0xeb221cc73fec3eca725d950b4b6fdde974cbc99a/141041381/video/429965026/playlist.m3u8?p=6

So should I grab the m3u8 off the end as my flag? AND would the 'f4m' or 'dash-segments' show up in the same way?

@yan12125
Copy link
Collaborator

@yan12125 yan12125 commented Oct 21, 2015

A possible solution can be always downloading to a hidden folder and then moving the downloaded file via --exec option.

@artphotodude
Copy link
Author

@artphotodude artphotodude commented Oct 21, 2015

yan12125 -> Why would I do something so sane and obvious, when there must be a Rube Goldberg approach to the problem??!?!? But seriously, I probably will do just that!!

The only real incentive to be able to check this, is because my app also runs a player on top of youtube-dl, and these multi-section files are tough to play in some instances => so I would maybe have it download and then play, or if the player kicks back an error pop up some blurb about... "the file requested must be downloaded to play...".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
3 participants
You can’t perform that action at this time.