Friday, January 14, 2011

Mac OS X で Youtube から動画をダウンロードして AAC 規格で圧縮する方法

時々しかやらないせいもあって、やり方を忘れるのでメモしておく。

自分の環境は、以下の通り。

  • Mac OS X version 10.6.6
  • brew 0.7.1
  • youtube-dl 2010.12.09
  • ffmpeg 0.6.1
    • libavutil 50.15. 1 / 50.15. 1
    • libavcodec 52.72. 2 / 52.72. 2
    • libavformat 52.64. 2 / 52.64. 2
    • libavdevice 52. 2. 0 / 52. 2. 0
    • libswscale 0.11. 0 / 0.11. 0

youtube-dl, ffmpeg が自分の環境に入っていなかった場合、以下のコマンドでインストールする。

$ brew install youtube-dl
$ brew install ffmpeg

youtube-dl は、youtube-dl の後に youtube からダウンロードしたい動画への URL を貼り付けてコマンドを実行するだけ。

$ youtube-dl "http://www.youtube.com/watch?v=hoge"

ダウンロードした動画を AAC に変換するには、以下のように ffmpeg コマンドを実行する。

$ ffmpeg -i "hoge.flv" -vn -acodec aac -ar 44100 -ac 2 -ab 128k "hoge.m4a"

【参考】
ffmpeg - PukiWiki


と参考リンクにある通り、コマンドを実行しようとしたら怒られた。

encoder 'aac' is experimental and might produce bad results.
Add '-strict experimental' if you want to use it.
Or use the non experimental encoder 'libfaac'.

なので、メッセージにあるように、aac を libfaac に置換して再度、コマンドを実行。

$ ffmpeg -i "hoge.flv" -vn -acodec libfaac -ar 44100 -ac 2 -ab 128k "hoge.m4a"

ファイルが既に存在するので、上書きするかどうかを確認されたが、y を入力して上書き保存する。

きちんと AAC に変換されていることを確認出来たー!


因みに、ffmpeg のそれぞれのオプションの意味は、以下の通り。

-i filename         input file name
-vn                 disable video
-acodec codec       force audio codec ('copy' to copy stream)
-ar rate            set audio sampling rate (in Hz)
-ac channels        set number of audio channels
-ab bitrate         set bitrate (in bits/s)

めでたし。めでたし。

因みに、mp3 として音声だけ抜き出し、動画を mpeg4, H.264 へ変換する方法は、参考にした以下のリンクに置いてあります。

ffmpeg - PukiWiki

No comments:

Post a Comment