Skip to content

Instantly share code, notes, and snippets.

@SynnaxCrab
Forked from venj/down_celebrating_steve.rb
Created October 29, 2011 13:10
Show Gist options
  • Save SynnaxCrab/1324429 to your computer and use it in GitHub Desktop.
Save SynnaxCrab/1324429 to your computer and use it in GitHub Desktop.
Download "A Celebration of Steve's Life" from apple. http://events.apple.com.edgesuite.net/10oiuhfvojb23/event/index.html This script is based on previous WWDC keynote download script: https://gist.github.com/1012426
#!/usr/bin/env ruby
require 'open-uri'
if ["--help", "help", "-h"].include?(ARGV[0]) || ARGV.size < 1
puts "Usage: #{File.basename __FILE__} ( 540p | 540i | 360p | 360i | 360is | 224p )"
exit 0
end
size_hash = {"540p" => "2540", "540i" => "1840", "360p" => "1240", "360i" => "0640", "360is" => "0440", "224p" => "0240"}
video_size = size_hash[ARGV[0]]
outfilename = "celebrating_steve.ts"
File.unlink outfilename if File.exists? outfilename
if video_size
baseurl = "http://qthttp.apple.com.edgesuite.net/11ajdjnvkjnd10weoihf23ohfoihqw/"
outfile = open outfilename, 'w+'
puts baseurl + video_size + "/prog_index.m3u8"
listfile = open baseurl + video_size + "/prog_index.m3u8"
listfile.each_line do |line|
next if line =~ /^#/
file = line.strip.split("/").last
print "Downloading fragment file: #{file}..."
begin
infile = open baseurl + "/#{video_size}/" + line.strip
rescue StandardError => ex
puts "retry..."
retry
raise
end
outfile.write infile.read
infile.close
puts "Done"
end
outfile.close
else
puts "Wrong option."
exit 1
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment