ページ

2010年4月6日火曜日

YouTubプラグインの2010.4.1仕様変更対応

2010.4.1 よりYouTubeのプレイヤーが変わったため、Ubuntu9.04のYouTubeプラグインがうまく動かなくなりました。
そのため、/etc/lib/plugin/youtube/youtube.py 以下のような修正を施しました。

■YouTubeクラスのresolve_t_param関数を以下に置き換え

1. この変更はyoutube-dl.pyを元にしている。
2. この変更はyanbe.diffさんのパッチを当てた上で行っている。
    - http://subtech.g.hatena.ne.jp/y_yanbe/20090423/1240550210
3. 以下はタブを空白4文字で記述している。使うときにはタブに変換する必要がある。
    こんな感じ? %s/ {4}/\t/g


    def resolve_t_param (self, youtube_id):
        """We have to get the t parameter from the actual video page, since Google changed how their URLs work"""

        print "Start resolve_t_param()"
        # Get video info
        video_info_url = 'http://www.youtube.com/get_video_info?&video_id=%s&el=detailpage&ps=default&eurl=&gl=US&hl=en' % youtube_id
        print "T:   video_info_url = ", video_info_url

        stream = urllib2.urlopen(video_info_url)
        video_info_webpage = stream.read ()
        if video_info_webpage == "":
            print "Error : get_video_info url=", video_info_url
            return ""

        mobj = re.search(r'(?m)&token=([^&]+)(?:&|$)', video_info_webpage)
        if (mobj == None):
            print "Error :get token"
            print video_info_webpage
            return ""

        token = urllib.unquote(mobj.group(1))

        if self.debug:
            print "t_param = ", token
        return token

2010年4月1日木曜日

NetWalkerのTotemでYouTubeをストリーミング再生する

NetWalkerYouTube
Created 火曜日 06 4月 2010


色々と弄くっているので、これだけでうまく再生されるかは分かりませんが、
うまくいけばかなり綺麗にストリーミング再生出来ます。
※ これを記述している最中にYouTubeの仕様変更がありましたので次のエントリも読んでください。

■totem-xineをインストール
(アプリケーションの「追加と削除」からインストールしたほうが良いかも…)
$ sudo apt-get install totem-xine

■totemの起動確認
$ totem-xinet
確認できたら終了させてください。

■youtubeプラグインのパッチを取得
以下のblogのyanbe.diffさんのパッチを使わせていただきます。
    - http://subtech.g.hatena.ne.jp/y_yanbe/20090423/1240550210
$ cd /tmp
$ wget -O youtube.tar.gz http://gist.github.com/gists/100963/download youtube.tar.gz
$ tar zxvf youtube.tar.gz

■youtubeプラグインにパッチを当てる
$ cd gist100963-990c9e34895312d01eeee2c4706e144c4dbf004
$ sudo cp youtube.py.patch /usr/lib/totem/plugins/youtube
$ cd /usr/lib/totem/plugins/youtube
$ sudo patch < youtube.py.patch

■プラグインを有効にする
totem-xinet を起動してyoutubeプラグインを有効にして
右側のコンボボックスからyoutubeを選択。
適当な言葉を選んで検索
検索結果をクリックすると再生される…はず…