2009年12月8日

ffmpegでFLV

tsをflvに変換成功!記念にここにカキコする。


うまく行かなかった要因は、MP3の設定。

地デジはpcm(?)の48000Hzで放送されているらしい。
しかし、ffmpegは、mp3は44100Hzとか、それ以下しか対応していないため、エラーが出ていたようだ。

ただし、ffmpegのみを使ってエンコードするわけではない。

ここで使うのは、tsの自動エンコードに特化した「BonTsDemux」を使用する。
そしてこのBonTsDemuxがffmpegを操作する形になる。

BonTsDemuxを使うのは、DOSコマンドで操作できる事と、二ヶ国語なども目的の音声を選べるからだ。

このBonTsDemuxは、「cap_sts_sea.ini」で書かれた設定ファイルをffmpegに受け渡してエンコードする。
中身は単純に、ffmpegのオプションが書かれていた。
つまりその「cap_sts_sea.ini」に、FLV用のオプションを書き加えれば良い。。。

サンプルはこんな感じ。

FLV =-f flv -s 704x396 -aspect 16:9 -b 1500k -r 24 -acodec libmp3lame -ar 44100 -ab 125 -y
FLV_EXT =flv


私も、正解にたどり着くまでにGoogleでヒントを探し回った、
だが行き着く先たいていは、コマンドを書いてあるのみで、そのオプションがどういう意味をもたらすのか、書かれていないことがほとんどだった。

なので私は解説をいれることにする。。。


まず、使用した「BonTsDemux」は、ここで落とした。
残念ながら、総合的なアップローダで他のファイルも混ざっている上、検索できないこまったちゃんだ。
こんきよく、ブラウザの文字列検索を駆使して見つけて欲しい。

この「BonTsDemux」に含まれるffmpegのバージョンは「12910」
古いほうだがよく見かける。。。安定してるのかな?


-f flv  どういった形に出力するか宣言してある。
-s 704x396  縦横の大きさ。
-aspect 16:9  アスペクト比
-b 1500k  ビデオのビットレート。高いほど高画質☆
-r 24  フレームレート。容量ケチれるかなーと思ってつけてみた。
-acodec libmp3lame  オーディオのコーデック指定。よく見ると真ん中に「mp3」の文字が!バージョンによって書き方が異なるらしいので注意!
-ar 44100  オーディオのサンプリングレート。CDと同じ44100でないとダメだった。
-ab 125  オーディオのビットレート。こちらは直結に音質にかかわる。容量も変わる。
-y  同じ名前のやつがいたら、容赦なく上書きしますよ。


以上
あくまで一例なので、ここからいろんな設定を見出してくれたら幸いです。

0 件のコメント:

コメントを投稿

OpenIDからもお気軽にどうぞ!