Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upGitHub is where the world builds software
Millions of developers and companies build, ship, and maintain their software on GitHub — the largest and most advanced development platform in the world.
Vevo 1080p & Other SMIL Streams Not Downloadable #3656
Comments
|
i have the same problem |
|
I have the same problem. Some of videos are downloadable with no problem.
|
|
Yeah, the SMIL codes seem to have changed either in the beginning of May 2014, or the end of April 2014. youtube-dl has been unable to download SMIL info of videos posted since May 2014. Videos uploaded prior to that are downloading fully. |
|
I created a script to download the highest quality available stream for a Vevo video. Just keep in mind that I haven't tested with too many videos and error handling is not great either... Here it is in case anyone find it helpful--it would be nice to have it integrated on youtube-dl: #!/bin/sh
# Video ID
video_id=ABCD12345678 # from http://www.vevo.com/watch/ABCD12345678
# Retrieve OAuth 2 access token
token=`curl --silent --data-urlencode '' http://www.vevo.com/auth | sed -n "s/^.*access_token\": \"\(.*\)\",/\1/p"`
# Retrieve list of available streams
m3u8=`curl --silent https://apiv2.vevo.com/video/$video_id/streams/hls?token=$token | sed -n "s/^.*url\": \"\(.*\)\"/\1/p" | head -2 | tail -1`
if [ "$?" -ne "0" ]; then
echo "Failed to retrieve list of available streams"
exit
fi
if [ -z "$m3u8" ]; then
echo "Failed to retrieve list of available streams"
exit
fi
# Save stream URL
stream_url=${m3u8%/*}/
# Vevo stores available formats in ascending order. Retrieve highest quality (last in the list).
format_hq=`curl --silent $m3u8 | tail -1`
# Store video list sub-folder
format_dir=${format_hq%/*}
if [ -n "$format_dir" ]; then
format_dir=$format_dir/
fi
# Retrieve list of files for HQ format.
file_list=`curl --silent $stream_url$format_hq | grep -v "#"`
# Count number of segments, and prepare list of segments to merge.
count=0
segment_list=""
for file in $file_list
do
segment_list="$segment_list $file"
count=`expr $count + 1`
done
echo "Downloading $count segments..."
for file in $file_list
do
echo -n "wget " $file
echo -n " "
# For progress bar in ubuntu, awk needs `interactive` flag
kernel=`uname -n`
if [ "$kernel" = "ubuntu" ]; then
wget --progress=dot $stream_url$format_dir$file 2>&1 | grep --line-buffered "%" | sed -u -e "s,\.,,g" | awk -W interactive '{printf("\b\b\b\b%4s", $2)}'
echo -n "\b\b\b\b"
else
wget --progress=dot $stream_url$format_dir$file 2>&1 | grep --line-buffered "%" | sed -u -e "s,\.,,g" | awk '{printf("\b\b\b\b%4s", $2)}'
echo -ne "\b\b\b\b"
fi
echo " DONE"
done
sleep 1
echo "Merging segments..."
merged=`echo $file_list | awk -F' ' '{print $1}'`
merged=`echo $merged | sed "s/_0.${merged##*.}/-merged.${merged##*.}/"`
cat $segment_list > $merged
# Remove segments
rm $segment_list |
|
Thank you, but how do I use this? |
|
*eited by @phihag - snip (see below) * |
|
Fabiano, you are, a genius :3 . But, for some reason, I am unable to remux into mp4 container. I could remux into mkv, but the video becomes a little glitchy when I do that. It seems the script is not able to capture all the vital metadata. In mp4box gui, the video fps shows as unknown, and the audio codec and profile info are also unknown. Perhaps this is why muxing programs are unable to mux the raw files into an mp4 container. But again, thank you for the script. This is definitely a step in the right direction. |
|
Thank you very much for your posts, @FabianoGK! In the interest in keeping on-topic, please restrict the discussion to youtube-dl. You are welcome to develop your own tools, but please move the discussion about these tool's issues to their own forum. |
|
@goldensun87 Thank you for the report. youtube-dl 2014.09.24.1 and newer support the 1080p versions. Type |
|
Thank you @phihag. Upon using the new version of youtube-dl, I have found that each of the vevo videos posted after may 2014, have unique sets of format codes. Just a heads up, that users will have to use -F before attempting to download each video. |
|
@goldensun87 Sorry, I don't follow and cannot reproduce this. |
|
Huh, I didn't know it was so easy to download the highest quality available. But, I will show you what I mean.
See, different format codes for different videos. Anyway, I just thought it would be useful to know for anyone who still downloads their videos using the format codes. |
|
The problem with videos from HLS streams is that they are all locked at 25 fps. |
|
@beastbg8: After a certain date, all Vevo videos started being uploaded at the 25 fps framerate, before HLS extraction was implemented into youtube-dl. Anyway, that's why I keep a copy of the 2014.09.24.0 version of youtube-dl in my Desktop folder. |
|
@goldensun87 What exactly does 2014.09.24.0 do better than the current version? We can simply add that back to the current version then. Can you give some context? I am under the impression that the best video format is correctly found by youtube-dl. Isn't that the case? |
|
@phihag I'm using both that version and the current version. I kept that old version because, versions after 2014.09.24.0 cannot detect Vevo's old SMIL codes. More recent vevo videos do not use SMIL anymore of course, but the SMIL streams are still present for the older videos. The reason I want those old streams is because, the HLS streams contain an extra file with the audio and video, and it looks like this: Menu This extra file is usually 10-12 MB, and it makes the file unable to be processed in video editors like mp4box. I am able to input the video into mkvmerge, and when I do, this 'Menu' stream gets left behind. After that I am able to repack into MP4 container. Anyway, if it's possible to add SMIL detection back in, you can do that if you want, but you don't really have to. As for the "best video format" thing, it's just my personal preference that I use the -F and -f options while downloading, nothing to worry about there xD . |
|
It's fine to privately use an old version, but please do report regressions so that we can fix them. And of course, if something breaks in the old version, you're on your own. Also bear in mind that (at least in our experience), as soon as you publicly suggest to use an old version you can bet that dozens if not hundred of users who do not comment here will stick to the old version and tell their friends to do the same, resulting in bad experiences and additional bug reports. We've seen this for |
|
youtube-dl 2015.02.02.3 and newer correct SMIL support, so you don't need that old version any more. Please do report any issues that persist. |
|
@phihag Thank you for the update. Heh, I had no idea that people here would stick to an old version based on one comment. I'll remember that. |
|
Is SMIL broken again? Old videos still work, but I've been getting 404 - Not Found errors for newer videos. youtube-dl.exe -F http://www.vevo.com/watch/adele/Hello/GBH481500074 -v
|
|
@ds115 Please open a new issue. |
|
HI all ! I "I ran into a problem. From this URL : https://i.imgur.com/qqvYWIN.png I can't download the video with option 1080p and m3u8. Help me ! |
|
@nguoiaode: Please open a new issue and paste verbose logs as texts. No screenshots, please! |
Here is an example URL:
http://www.vevo.com/watch/owl-city/beautiful-times/USUV71400914
And, here is what comes out when I use --verbose: