Linux clive(コマンドラインの動画ダウンロードツール)のインストールと動作確認

Tux
Pocket

Tux cliveとはコマンドライン(CUI)上で動作する動画ダウンロードツールです。cliveはLinuxで標準でインストールされているPerlで記述されています。

 cliveを導入するメリットですが、コマンドラインベースである為にcronに組み込むことができたり、既存の(あるいは新規の)アプリケーションに組み込むことが出来たりと、汎用性が高いという点でしょう。URLをそのまま引数として指定するだけでダウンロードを行ってくれる点や、タイトル名を自動でファイル名にしてくれる点(日本語にも対応)も魅力的です。
 また、対応している動画サイトもメジャーなところは抑えていると思います。動画サイトの仕様変更に合わせて、cliveのバージョンの更新も頻繁に行われているようです。

 cliveはgoogle codeで公開されているオープンなソースコードであり、Gitリポジトリを利用して管理されています。

 上記のgoogle code上のcliveのページからもダウンロード出来ますが、今回はGitリポジトリから最新ソースを取得してインストールする方法を書いてみます。

 注意:お約束ですが著作権物のダウンロードは違法です。自己責任でお願いしますです。

スポンサードリンク


cliveの取得

 Gitを利用してソースコードを取得するには、Git本体がインストールされている必要があります。「バージョン管理 LinuxへのGitのインストールと軽い動作確認」でGitのインストールについて書きましたのでインストールをしていない方はご参考に。(とは言ってもyumで一発なんですが)以下はGitがインストール済みであることを前提に書いていきます。
  1. 初期のダウンロード
  2. $ cd /usr/local/src
    sudo git clone git://repo.or.cz/clive.git

  3. 2回目以降で最新のソースをダウンロード
  4. $ cd /usr/local/src/clive
    $ sudo git fetch

  5. バージョンの確認
  6. $ sudo git tag
    ・・・
    2.2.7
    2.2.8
    2.2.9
 現時点での最新バージョンは2.2.9です。

cliveに必要なperlモジュールのインストール

 僕の環境は64bit CentOSですが、以下のモジュールのインストールが必要でした。cpanを利用してインストールします。
 モジュールは/usr/lib/perl5/site_perl/[version]/と、いくつかのモジュールは64bit環境だと/usr/lib64/perl5/site_perl/[version]/にインストールされます。(32bitだとたぶんすべてlibディレクトリ配下になるのかな?)
$ sudo cpan
  1. Class::Singleton
  2. cpan> install Class::Singleton

  3. Config::Tiny
  4. cpan> install Config::Tiny

  5. Digest::SHA
  6. cpan> install Digest::SHA

  7. Getopt::ArgvFile
  8. cpan> install Getopt::ArgvFile

  9. HTML::TokeParser
  10. cpan> install HTML::TokeParser
    ・・・
    Writing Makefile for HTML::Parser
    ---- Unsatisfied dependencies detected during [G/GA/GAAS/HTML-Parser-3.68.tar.gz] -----
        HTML::Tagset
    Shall I follow them and prepend them to the queue
    of modules we are processing right now? [yes] yes ### yesを入力するとHTML::TokeParserが依存するモジュールもインストールされる

  11. URI::Escape
  12. cpan> install URI::Escape

  13. WWW::Curl
  14. cpan> install WWW::Curl
    ・・・
    Running make install
      make had returned bad status, install seems impossible
     makeに失敗。curl-configというパッケージが見つからないらしい。curl-configはcurl-develパッケージに含まれているのでyumでインストールする。
    $ sudo yum -y install curl-devel
     再度、cpanでinstall WWW::Curlを打っても上手くいかなかったので、手動でmake installすることにする。
    $ cd /root/.cpan/build/WWW-Curl-[バージョン]
    $ sudo perl Makefile.PL
    $ sudo make
    $ sudo make test
    $ sudo make install
    $ whereis curl-config
    curl-config: /usr/bin/curl-config /usr/share/man/man1/curl-config.1.gz

cliveのインストール

 cliveディレクトリのREADMEファイルにインストール方法が記述されています。

perl Makefile.PL INSTALL_BASE=/usr/local

perl Makefile.PL
make
make test # optional
make install


$ cd /usr/local/src/clive
$ sudo perl Makefile.PL INSTALL_BASE=/usr/local
$ sudo make
$ sudo make install

$ whereis clive
clive: /usr/bin/clive /usr/share/man/man1/clive.1

cliveの動作確認

 ためしにyoutubeの公式動画である「ようこそ、YouTube Japanへ」をダウンロードしてみます。
$ clive http://www.youtube.com/watch?v=aFhvWOgg-YU
fetch http://www.youtube.com/watch?v=aFhvWOgg-YU ...done.
verify video link ...done.
ようこそJapanへ.flv  100%   1.7M /  1.7M                            132.3K/s     13s

$ ls
ようこそJapanへ.flv
 なんか微妙にファイル名が違う(”youtube”の文字が入ってない)けど気にしない(ぁ

cliveが対応している動画サイト

 以下のコマンドで確認できます。
$ clive with --hosts
youtube.com     default|mobile|sd_270p|sd_360p|hq_480p|hd_720p|hd_1080p|webm_480p|webm_720p
video.google.   default|mp4
sevenload.com   default
break.com       default
liveleak.com    default
evisor.tv       default
dailymotion.com default|hq|hd
tv.cctv.com     default
vimeo.com       default|hd
spiegel.de      default|vp6_928|vp6_576|vp6_64|h264_1400
golem.de        default|ipod|high
ehrensenf.de    default
clipfish.de     default
funnyhub.com    default
myubo.com       default
buzzhumor.com   default

 ヽ(´~`;)ウーン。個人的にはveohに対応していないのが残念。

cliveの設定

 cliveはユーザのホームディレクトリにある.clivercで設定した条件で動作します。(無くても取りあえず動きますし、コマンドラインで引数指定することもできます。なので必須ではありません。)

 詳細についてはman cliveに色々書いてありますので割愛します(特に最後の方に有用なサンプルが記載されているので要チェックです!)。.clivercのサンプルは/usr/local/src/clive/examples/configにありますので、これとman cliveで見れるオプションを参考に試行錯誤してみると良いですね。


 まだ使い倒していないのですが、途中でダウンロードが止まってしまった場合のリトライ機能も付いているようです。(-lオプション)ただし、manをざっと見た感じだと、リトライするロジックは自分で書かないといけないのかな?あくまでもcliveで実装しているのはレジューム機能(ダウンロードを中断した場合、続きから再開できる)だけって感じがします。

 URLリスト(テキストファイル)を引数にして一括ダウンロード!って機能は無さそうですが、これはshとかperlとかphpでちょこっと書けば簡単に実装できるかな。

 こういう汎用性がCUIアプリの利点ですよね(^∇^)

参考サイト

clive公式サイト




お役に立てましたか?

ブックマークをどうぞ!

スポンサード リンク

“Linux clive(コマンドラインの動画ダウンロードツール)のインストールと動作確認” への 1 件のフィードバック

  1. ピンバック: さくらのVPS

コメントを残す