Skip to content

Instantly share code, notes, and snippets.

source :rubygems
gem 'mechanize'
gem 'xml-simple', require: 'xmlsimple'
require 'mechanize'
url = 'http://o.x0.com/m/128'
def save url
id = url.split("/").last
alice = Mechanize.new
page = alice.get(url)
@ssig33
ssig33 / convert.rb
Created January 5, 2013 03:33
Convert Youtube Caption to SRT.
#coding:utf-8
require 'xmlsimple'
require 'time'
def generate_time f
hour = (f/60/60).to_i
f += -(hour*60*60)
min = (f/60).to_i
f += -(min*60)
sec = f.to_i
// ==UserScript==
// @name Query Cutter
// @namespace http://www.ftnk.jp/userscripts
// @description Cut '?ref=rss', and so on
// @include http://*
// ==/UserScript==
(function (){
var newUrl = location.href;
// delete rss for Cnet Japan, barks, etc

SRT 形式の字幕を WebVTT に変換します。

srt という変数に字幕のテキストデータが入ってる時にあれこれする感じです。

Caption2Ass_PCR で作成した武装神姫の srt とひだまりスケッチハニカムの srt はこれで大丈夫でした。記号とか適宜もっと変換する必要ある場合もあるかもしれません、頑張ってください。

このバリデーターが便利。 http://quuz.org/webvtt/

#!/usr/bin/env ruby
#coding:utf-8
class String
def remove_space_from_ruby
str = self.dup
self.scan(/<rt>.*?<\/rt>/).each{|x|
str.sub!(/#{x}/ , x.gsub(/ | /, ''))
}
str
end
@ssig33
ssig33 / xvideos.rb
Created November 1, 2012 03:59
xvideo から動画ダウンロードするやつ
#!/usr/bin/env ruby
#coding:utf-8
require 'mechanize'
alice = Mechanize.new
page = alice.get ARGV[0]
url = CGI.unescape page.root.xpath('//*[@id="flash-player-embed"]')[0]['flashvars'].split('&flv_url=').last.split('&').first
title = page.root.xpath('//div[@id="main"]/h2')[0].inner_text.to_s+'.flv'
@ssig33
ssig33 / premire_rename.rb
Created October 30, 2012 09:23
番組情報から NHK BS3 のプレミアムシネマをリネーム
metadata = <<EOS
2012/10/26(金) 13:00〜14:45
NHKBSプレミアム
プレミアムシネマ「近距離恋愛」 <字幕スーパー> <レターボックスサイズ>
【監督】ポール・ウェイランド 【出演】パトリック・デンプシー,ミシェル・モナハン,ケビン・マクキッド 〜2008年/ アメリカ オリジナル・フィルム・プロ制作〜
詳細情報
番組内容
10年来の大親友である女性への愛に気付いた男性が、別の男性との結婚を決めた彼女を何とか奪おうと奔走する姿を描いたロマンチックコメディー。大学時代から友達以上・恋人未満の自由な関係を続けてきたトムとハンナ。だが、ハンナが出張先で出会った男性と電撃婚約し、トムは2週間後の結婚式に花嫁付き添い人として出席してほしいと頼まれる。主演は、海外ドラマ「グレイズ・アナトミー」で人気のパトリック・デンプシー。
"C:\Program Files (x86)\VideoLAN\VLC\VLC.exe" --sout "#transcode{vcodec=h264,vb=600,scale=1,height=360,acodec=mp4a,ab=128,channels=2,samplerate=44100}:http{mux=ts,dst=:8080/}" --sout-keep udp://@:1237
gyazo = function() {
var c, context, url, v;
c = document.querySelector('#canvas');
v = document.querySelector('#play');
context = c.getContext('2d');
c.width = v.videoWidth;
c.height = v.videoHeight;
context.drawImage(v, 0, 0);
data = c.toDataURL();
return $.post('/gyazo', {