FreeBSDのportsの

  • /usr/ports/www/youtube_dl

を使うと、youtubeのflvファイルをダウンロードできる。
ffmpegと組み合わせて、プレイリストのファイルをダウンロードしたり。


#!/usr/local/bin/ruby
$KCODE="u"
require 'rubygems'
require 'hpricot'
require 'open-uri'

plist = ARGV[0].scan(/p=(\w*)/).first.first
s = open “http://www.youtube.com/view_play_list?p=#{plist}”

doc = Hpricot s.read

YOUTUBE_ADDR = “http://www.youtube.com”
i = ARGV[1].to_i || 1

doc.search(“a.video-thumb-120″).each do |l|
addr = l.to_html.scan(/href=”([^"&]*).*”/)
title = l.to_html.scan(/img title=”([^"]*).*”/).first.first.gsub(” “,””).gsub(“/”,”-”)
downaddr = YOUTUBE_ADDR + addr.first.first
filename = “#{Time.now.strftime(“%Y%m%d”) + ‘_’ + sprintf(“%04d”,i) + ‘_’ + title}”
`/usr/local/bin/youtube-dl -o #{filename}.flv #{downaddr}`
`/usr/local/bin/ffmpeg -i #{filename}.flv -acodec copy #{filename}.mp3`
i += 1
end

Pocket

2 thoughts on “freebsdで、youtubeのファイルをダウンロードするports youtube_dlが便利

  1. youtube-dlのオプションは -bにしたほうがよりおい音でdownloadできると思いますがどうでしょうか?

Comments are closed.