Ubuntu 8.10でflv,mp4から音楽を抽出
ニコニコ動画でVOCALOID曲をよく聴いています。
たいていの場合、楽曲はmp3としてピアプロや作者さんのブログなどで公開されていますが、ときどき、ニコニコにupされているものがすべてのときも…
そういったときには、Mitter Toolbarなどでflv/mp4のファイルをダウンロードして、mp3/aacを取り出すようにしています。
# ニコニコ動画の利用規約には反しているようなのですが↓
ニコニコ動画のFLVダウンロードは利用規約に反してますよっと。。。
Comment by ひろゆき | 2008/01/24 Thursday
本人?コメントありがとうございます!
ご指摘を受け、記事内容を修正しました。
Comment by admin | 2008/01/25 Friday
MOONGIFT: » CUIでニコニコ「ニコニコ動画保存 Nicovideo Downloader」:オープンソースを毎日紹介
便利さには勝てないです。
やりくちは以下のとおり。
動画をダウンロードできるようにする
FirefoxアドオンのMitter Toolbarを使うのが楽です。
Mitter – ツール
http://mitter.jp/tools
UbuntuのFirefoxに最初から入っている、「Ubuntu Firefox Modification」とは相性が悪いようなので、Mitter Toolbarを使うのであれば、無効化しておきましょう。
以降の内容は、
Ubuntu 8.10でflv,mp4,swfから音楽を抽出 | 君のてのひらから
に置き換えられました。
ご確認ください。
抽出のためのコマンドffmpegをインストール
apt-get install ffmpeg
で終了です。
動画や、音声コーデックのコンバートをしようとするとライブラリが取り込まれておらず、全然使えない…
しかしながら、抽出の用途には十分使えます。
シェルで一気に抽出
Mitter Toolbarでのダウンロード先を $HOME/nico
音楽ファイルのライブラリがあるディレクトリを $HOME/Music
とします。
$HOME/nico に music_split.sh として下記内容のファイルを作ります。
#!/bin/sh # music_split.sh # ---------------- # flv -> mp3, mp4 -> aac # depends on "ffmpeg" MUSICDIR=$HOME/Music for FLV in `ls *.flv` do BASE=`basename $FLV .flv` echo "$FLVからmp3を抽出..." ffmpeg -i $FLV -acodec copy $BASE.mp3 echo "完了" done for MP4 in `ls *.mp4` do BASE=`basename $MP4 .mp4` echo "$MP4からaacを抽出..." ffmpeg -i $MP4 -acodec copy $BASE.aac echo "完了" done echo "音楽フォルダにmp3ファイルを移動..." mv *.mp3 $MUSICDIR echo "完了" echo "音楽フォルダにaacファイルを移動..." mv *.aac $MUSICDIR echo "完了" exit 0
作成したら、実行権限をつけておきましょう。
chmod 755 music_split.sh
そして、$HOME/nico配下にflv/mp4を配置してシェルを実行!
./music_split.sh
すると、$HOME/Music配下にmp3/aacファイルができあがっていると思います。
前提と免責
たいていの場合、
- flv → h.263 + mp3
- mp4 → h.264 + aac
であると前提を置いています。
50曲くらいそれぞれ抽出してみましたが、とりあえず、はずれなしです。
とはいえ、いろいろ保証するものではないので、ご利用は自己責任で。
課題
swfファイル
swfからmp3の抽出ができるとうれしいのですが、Ubuntu 8.10のffmpegでは、swfファイルの処理ができない模様。
Ubuntu 8.04 Hardy 対応のmedibuntuのレポジトリからffmpegをインストールすればできるらしいですが、8.10ではインストールそのものがうまくいきませんでした。
うーん、やるなら自前でコンパイルするしかないか…
できればパッケージ管理から離れたくないけど、今度トライしてみます。
[4/18] Ubuntu 8.10でflv,mp4,swfから音楽を抽出 | 君のてのひらからを公開による一部内容削除。