ラベル youtube の投稿を表示しています。 すべての投稿を表示
ラベル youtube の投稿を表示しています。 すべての投稿を表示

金曜日, 5月 13, 2011

FLV ファイルから音声を無劣化で抽出

ついに見つけた!!

色々とソフトウェアをインストールしたり、Mac、Windows の環境を行ったり来たりしてたけど、ようやく本当に FLV ファイルから音声を無劣化で抽出する方法を見つけました。


こちらがその方法。

flv/mp4ファイルから音声のみ劣化無しに抽出 - 堕落した人生を目指す日記


ffmpeg と mp4box というのを使うらしい。

ffmpeg は既にインストール済みだったので、mp4box をインストール。brew でインストール出来た。

$ brew install mp4box

音声部 aac を劣化無しに抜き出す。

$ ffmpeg -i [infile (flv/mp4)] -vn -acodec copy [outfile (aac)]

抜き出した aac ファイルを MPEG4 Audio 形式でパックする。

$ mp4box -add [infile (aac)] [outfile (m4a)]


出来たー。音質良くなったし、ファイルサイズも小さくなった!!それに、FLV だけじゃなくて MP4 からも音声を無劣化で抽出することが出来た!!

一石三鳥ですね。これは本当に嬉しい!!!

(・∀・)!!

iExtractMP3 - FLV から MP3 ファイルを抽出

Mac で FLV から音声部分のみを抽出する方法を以前に紹介した。

自分のための日記: Mac OS X で Youtube から動画をダウンロードして AAC 規格で圧縮する方法

しかし、この方法よりももっと良い方法が Moongift で紹介されていました。

気に入ったFlashビデオからMP3ファイルを抽出する「iExtractMP3」 - MOONGIFT|オープンソース・ソフトウェア紹介を軸としたITエンジニア、Webデザイナー向けブログ


これはスゴイ。ということで、早速試してみることにした。


環境

  • Mac OS X version 10.6.7


インストール

以下から iExtractMP3 をダウンロード。

iExtractMP3 -- BONNOH FRACTION 14

展開して、/Applications フォルダに置くだけ。


FLV から音声部分のみを抽出

実際に使ってみたところ、抽出出来たファイルと抽出できなかったファイルがあった。処理が正常に終了したように見えるけれども、再生してみると音声が全く流れない。。。そんなファイルが半分くらい。

あと、自分が保存していた動画は FLV だけでなく、MP4 もあった。そういう訳で、家に帰ったら以下の Windows + SplitFLV の方法を試してみようと思う。


SplitFLV

Windows では、SplitFLV というのがあるらしい。

FLVからMP3を高速抽出「SplitFLV」

iExtractMP3 は、SplitFLV に影響受けて開発されたようだ。

家に帰ったら、SplitFLV を試してみよう。SplitFLV でも MP4 からの音声抽出は出来なそうなので、MP4 ファイルについては、別のソフトウェアを探してみようと思う。





家に帰って来て SplitFLV で音声ファイルの抽出にトライしてみた。すべてのファイルのファイルサイズが 0KB でした。

( ̄□ ̄;)

また別のソフトを探してみよう。。。

金曜日, 1月 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

水曜日, 7月 07, 2010

YouTubeの動画をiPod Touchで見られるようにする

YouTubeの動画をiPod Touchで見られるようにするには、2つの手順が必要。

  1. YouTubeから動画をダウンロードする
  2. ダウンロードした動画をmp4に変換する

ここでは、Linux (Ubuntu) 上でyoutube-dlを使ってYouTube上の動画をダウンロードし、ffmpegを使って動画をmp4に変換する方法を説明する。

# apt-get install youtube-dl
# apt-get install ffmpeg libavcodec-dev libavformat-dev libavutil-dev libmpeg4ip-0 libmpeg4ip-dev liba52-dev libamrnb-dev

$ youtube-dl 'http://www.youtube.com/watch?v=hoge'
$ ffmpeg -i hoge.flv hoge.mpg

説明は以上です。。。(ぇー)


動画をmp4に変換する際に、以下のエラーが出て変換することが出来ない動画があった。

[mpeg1video @ 0x99cdf60]MPEG1/2 does not support 15/1 fps
Error while opening codec for output stream #0.0 - maybe incorrect parameters such as bit_rate, rate, width or height

"MPEG1/2 does not support 15/1 fps"とあるように、MPEGがサポートしているフレームレート(30 fps)を指定してエンコードしたところ、無事、エンコードすることが出来た。

$ ffmpeg -i hoge.flv -r 30 hoge.mpg

【参考】
YouTube Downloader for Linux? - Ubuntu Forums
How to Convert FLV Files to MPEG4 in Linux | eHow.com
FLV2MPEG4 : Convert FLV to MPEG4 : mypapit gnu/linux blog