うまく行かなかった要因は、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からもお気軽にどうぞ!